Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.8.
  1/*
  2 * Device Tree Source for the r7s72100 SoC
  3 *
  4 * Copyright (C) 2013-14 Renesas Solutions Corp.
  5 * Copyright (C) 2014 Wolfram Sang, Sang Engineering <wsa@sang-engineering.com>
  6 *
  7 * This file is licensed under the terms of the GNU General Public License
  8 * version 2.  This program is licensed "as is" without any warranty of any
  9 * kind, whether express or implied.
 10 */
 11
 12#include <dt-bindings/clock/r7s72100-clock.h>
 13#include <dt-bindings/interrupt-controller/arm-gic.h>
 14#include <dt-bindings/interrupt-controller/irq.h>
 15
 16/ {
 17	compatible = "renesas,r7s72100";
 18	interrupt-parent = <&gic>;
 19	#address-cells = <1>;
 20	#size-cells = <1>;
 21
 22	aliases {
 23		i2c0 = &i2c0;
 24		i2c1 = &i2c1;
 25		i2c2 = &i2c2;
 26		i2c3 = &i2c3;
 27		spi0 = &spi0;
 28		spi1 = &spi1;
 29		spi2 = &spi2;
 30		spi3 = &spi3;
 31		spi4 = &spi4;
 32	};
 33
 34	clocks {
 35		ranges;
 36		#address-cells = <1>;
 37		#size-cells = <1>;
 38
 39		/* External clocks */
 40		extal_clk: extal_clk {
 41			#clock-cells = <0>;
 42			compatible = "fixed-clock";
 43			/* If clk present, value must be set by board */
 44			clock-frequency = <0>;
 45			clock-output-names = "extal";
 46		};
 47
 48		usb_x1_clk: usb_x1_clk {
 49			#clock-cells = <0>;
 50			compatible = "fixed-clock";
 51			/* If clk present, value must be set by board */
 52			clock-frequency = <0>;
 53			clock-output-names = "usb_x1";
 54		};
 55
 56		/* Fixed factor clocks */
 57		b_clk: b_clk {
 58			#clock-cells = <0>;
 59			compatible = "fixed-factor-clock";
 60			clocks = <&cpg_clocks R7S72100_CLK_PLL>;
 61			clock-mult = <1>;
 62			clock-div = <3>;
 63			clock-output-names = "b";
 64		};
 65		p1_clk: p1_clk {
 66			#clock-cells = <0>;
 67			compatible = "fixed-factor-clock";
 68			clocks = <&cpg_clocks R7S72100_CLK_PLL>;
 69			clock-mult = <1>;
 70			clock-div = <6>;
 71			clock-output-names = "p1";
 72		};
 73		p0_clk: p0_clk {
 74			#clock-cells = <0>;
 75			compatible = "fixed-factor-clock";
 76			clocks = <&cpg_clocks R7S72100_CLK_PLL>;
 77			clock-mult = <1>;
 78			clock-div = <12>;
 79			clock-output-names = "p0";
 80		};
 81
 82		/* Special CPG clocks */
 83		cpg_clocks: cpg_clocks@fcfe0000 {
 84			#clock-cells = <1>;
 85			compatible = "renesas,r7s72100-cpg-clocks",
 86				     "renesas,rz-cpg-clocks";
 87			reg = <0xfcfe0000 0x18>;
 88			clocks = <&extal_clk>, <&usb_x1_clk>;
 89			clock-output-names = "pll", "i", "g";
 90			#power-domain-cells = <0>;
 91		};
 92
 93		/* MSTP clocks */
 94		mstp3_clks: mstp3_clks@fcfe0420 {
 95			#clock-cells = <1>;
 96			compatible = "renesas,r7s72100-mstp-clocks", "renesas,cpg-mstp-clocks";
 97			reg = <0xfcfe0420 4>;
 98			clocks = <&p0_clk>;
 99			clock-indices = <R7S72100_CLK_MTU2>;
100			clock-output-names = "mtu2";
101		};
102
103		mstp4_clks: mstp4_clks@fcfe0424 {
104			#clock-cells = <1>;
105			compatible = "renesas,r7s72100-mstp-clocks", "renesas,cpg-mstp-clocks";
106			reg = <0xfcfe0424 4>;
107			clocks = <&p1_clk>, <&p1_clk>, <&p1_clk>, <&p1_clk>,
108				 <&p1_clk>, <&p1_clk>, <&p1_clk>, <&p1_clk>;
109			clock-indices = <
110				R7S72100_CLK_SCIF0 R7S72100_CLK_SCIF1 R7S72100_CLK_SCIF2 R7S72100_CLK_SCIF3
111				R7S72100_CLK_SCIF4 R7S72100_CLK_SCIF5 R7S72100_CLK_SCIF6 R7S72100_CLK_SCIF7
112			>;
113			clock-output-names = "scif0", "scif1", "scif2", "scif3", "scif4", "scif5", "scif6", "scif7";
114		};
115
116		mstp9_clks: mstp9_clks@fcfe0438 {
117			#clock-cells = <1>;
118			compatible = "renesas,r7s72100-mstp-clocks", "renesas,cpg-mstp-clocks";
119			reg = <0xfcfe0438 4>;
120			clocks = <&p0_clk>, <&p0_clk>, <&p0_clk>, <&p0_clk>;
121			clock-indices = <
122				R7S72100_CLK_I2C0 R7S72100_CLK_I2C1 R7S72100_CLK_I2C2 R7S72100_CLK_I2C3
123			>;
124			clock-output-names = "i2c0", "i2c1", "i2c2", "i2c3";
125		};
126
127		mstp10_clks: mstp10_clks@fcfe043c {
128			#clock-cells = <1>;
129			compatible = "renesas,r7s72100-mstp-clocks", "renesas,cpg-mstp-clocks";
130			reg = <0xfcfe043c 4>;
131			clocks = <&p1_clk>, <&p1_clk>, <&p1_clk>, <&p1_clk>,
132				 <&p1_clk>;
133			clock-indices = <
134				R7S72100_CLK_SPI0 R7S72100_CLK_SPI1 R7S72100_CLK_SPI2 R7S72100_CLK_SPI3
135				R7S72100_CLK_SPI4
136			>;
137			clock-output-names = "spi0", "spi1", "spi2", "spi3", "spi4";
138		};
139	};
140
141	cpus {
142		#address-cells = <1>;
143		#size-cells = <0>;
144
145		cpu@0 {
146			device_type = "cpu";
147			compatible = "arm,cortex-a9";
148			reg = <0>;
149			clock-frequency = <400000000>;
150		};
151	};
152
153	scif0: serial@e8007000 {
154		compatible = "renesas,scif-r7s72100", "renesas,scif";
155		reg = <0xe8007000 64>;
156		interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
157			     <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
158			     <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
159			     <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
160		clocks = <&mstp4_clks R7S72100_CLK_SCIF0>;
161		clock-names = "fck";
162		power-domains = <&cpg_clocks>;
163		status = "disabled";
164	};
165
166	scif1: serial@e8007800 {
167		compatible = "renesas,scif-r7s72100", "renesas,scif";
168		reg = <0xe8007800 64>;
169		interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>,
170			     <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>,
171			     <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
172			     <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
173		clocks = <&mstp4_clks R7S72100_CLK_SCIF1>;
174		clock-names = "fck";
175		power-domains = <&cpg_clocks>;
176		status = "disabled";
177	};
178
179	scif2: serial@e8008000 {
180		compatible = "renesas,scif-r7s72100", "renesas,scif";
181		reg = <0xe8008000 64>;
182		interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
183			     <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>,
184			     <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>,
185			     <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
186		clocks = <&mstp4_clks R7S72100_CLK_SCIF2>;
187		clock-names = "fck";
188		power-domains = <&cpg_clocks>;
189		status = "disabled";
190	};
191
192	scif3: serial@e8008800 {
193		compatible = "renesas,scif-r7s72100", "renesas,scif";
194		reg = <0xe8008800 64>;
195		interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>,
196			     <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>,
197			     <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>,
198			     <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>;
199		clocks = <&mstp4_clks R7S72100_CLK_SCIF3>;
200		clock-names = "fck";
201		power-domains = <&cpg_clocks>;
202		status = "disabled";
203	};
204
205	scif4: serial@e8009000 {
206		compatible = "renesas,scif-r7s72100", "renesas,scif";
207		reg = <0xe8009000 64>;
208		interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>,
209			     <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>,
210			     <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>,
211			     <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
212		clocks = <&mstp4_clks R7S72100_CLK_SCIF4>;
213		clock-names = "fck";
214		power-domains = <&cpg_clocks>;
215		status = "disabled";
216	};
217
218	scif5: serial@e8009800 {
219		compatible = "renesas,scif-r7s72100", "renesas,scif";
220		reg = <0xe8009800 64>;
221		interrupts = <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>,
222			     <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>,
223			     <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>,
224			     <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
225		clocks = <&mstp4_clks R7S72100_CLK_SCIF5>;
226		clock-names = "fck";
227		power-domains = <&cpg_clocks>;
228		status = "disabled";
229	};
230
231	scif6: serial@e800a000 {
232		compatible = "renesas,scif-r7s72100", "renesas,scif";
233		reg = <0xe800a000 64>;
234		interrupts = <GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>,
235			     <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>,
236			     <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>,
237			     <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>;
238		clocks = <&mstp4_clks R7S72100_CLK_SCIF6>;
239		clock-names = "fck";
240		power-domains = <&cpg_clocks>;
241		status = "disabled";
242	};
243
244	scif7: serial@e800a800 {
245		compatible = "renesas,scif-r7s72100", "renesas,scif";
246		reg = <0xe800a800 64>;
247		interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>,
248			     <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>,
249			     <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>,
250			     <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>;
251		clocks = <&mstp4_clks R7S72100_CLK_SCIF7>;
252		clock-names = "fck";
253		power-domains = <&cpg_clocks>;
254		status = "disabled";
255	};
256
257	spi0: spi@e800c800 {
258		compatible = "renesas,rspi-r7s72100", "renesas,rspi-rz";
259		reg = <0xe800c800 0x24>;
260		interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>,
261			     <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>,
262			     <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>;
263		interrupt-names = "error", "rx", "tx";
264		clocks = <&mstp10_clks R7S72100_CLK_SPI0>;
265		power-domains = <&cpg_clocks>;
266		num-cs = <1>;
267		#address-cells = <1>;
268		#size-cells = <0>;
269		status = "disabled";
270	};
271
272	spi1: spi@e800d000 {
273		compatible = "renesas,rspi-r7s72100", "renesas,rspi-rz";
274		reg = <0xe800d000 0x24>;
275		interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>,
276			     <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>,
277			     <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
278		interrupt-names = "error", "rx", "tx";
279		clocks = <&mstp10_clks R7S72100_CLK_SPI1>;
280		power-domains = <&cpg_clocks>;
281		num-cs = <1>;
282		#address-cells = <1>;
283		#size-cells = <0>;
284		status = "disabled";
285	};
286
287	spi2: spi@e800d800 {
288		compatible = "renesas,rspi-r7s72100", "renesas,rspi-rz";
289		reg = <0xe800d800 0x24>;
290		interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
291			     <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
292			     <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
293		interrupt-names = "error", "rx", "tx";
294		clocks = <&mstp10_clks R7S72100_CLK_SPI2>;
295		power-domains = <&cpg_clocks>;
296		num-cs = <1>;
297		#address-cells = <1>;
298		#size-cells = <0>;
299		status = "disabled";
300	};
301
302	spi3: spi@e800e000 {
303		compatible = "renesas,rspi-r7s72100", "renesas,rspi-rz";
304		reg = <0xe800e000 0x24>;
305		interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
306			     <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
307			     <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>;
308		interrupt-names = "error", "rx", "tx";
309		clocks = <&mstp10_clks R7S72100_CLK_SPI3>;
310		power-domains = <&cpg_clocks>;
311		num-cs = <1>;
312		#address-cells = <1>;
313		#size-cells = <0>;
314		status = "disabled";
315	};
316
317	spi4: spi@e800e800 {
318		compatible = "renesas,rspi-r7s72100", "renesas,rspi-rz";
319		reg = <0xe800e800 0x24>;
320		interrupts = <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
321			     <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
322			     <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>;
323		interrupt-names = "error", "rx", "tx";
324		clocks = <&mstp10_clks R7S72100_CLK_SPI4>;
325		power-domains = <&cpg_clocks>;
326		num-cs = <1>;
327		#address-cells = <1>;
328		#size-cells = <0>;
329		status = "disabled";
330	};
331
332	gic: interrupt-controller@e8201000 {
333		compatible = "arm,pl390";
334		#interrupt-cells = <3>;
335		#address-cells = <0>;
336		interrupt-controller;
337		reg = <0xe8201000 0x1000>,
338			<0xe8202000 0x1000>;
339	};
340
341	i2c0: i2c@fcfee000 {
342		#address-cells = <1>;
343		#size-cells = <0>;
344		compatible = "renesas,riic-r7s72100", "renesas,riic-rz";
345		reg = <0xfcfee000 0x44>;
346		interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
347			     <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>,
348			     <GIC_SPI 159 IRQ_TYPE_EDGE_RISING>,
349			     <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
350			     <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
351			     <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
352			     <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
353			     <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
354		clocks = <&mstp9_clks R7S72100_CLK_I2C0>;
355		clock-frequency = <100000>;
356		power-domains = <&cpg_clocks>;
357		status = "disabled";
358	};
359
360	i2c1: i2c@fcfee400 {
361		#address-cells = <1>;
362		#size-cells = <0>;
363		compatible = "renesas,riic-r7s72100", "renesas,riic-rz";
364		reg = <0xfcfee400 0x44>;
365		interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>,
366			     <GIC_SPI 166 IRQ_TYPE_EDGE_RISING>,
367			     <GIC_SPI 167 IRQ_TYPE_EDGE_RISING>,
368			     <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>,
369			     <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>,
370			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
371			     <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>,
372			     <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>;
373		clocks = <&mstp9_clks R7S72100_CLK_I2C1>;
374		clock-frequency = <100000>;
375		power-domains = <&cpg_clocks>;
376		status = "disabled";
377	};
378
379	i2c2: i2c@fcfee800 {
380		#address-cells = <1>;
381		#size-cells = <0>;
382		compatible = "renesas,riic-r7s72100", "renesas,riic-rz";
383		reg = <0xfcfee800 0x44>;
384		interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>,
385			     <GIC_SPI 174 IRQ_TYPE_EDGE_RISING>,
386			     <GIC_SPI 175 IRQ_TYPE_EDGE_RISING>,
387			     <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>,
388			     <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>,
389			     <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>,
390			     <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>,
391			     <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
392		clocks = <&mstp9_clks R7S72100_CLK_I2C2>;
393		clock-frequency = <100000>;
394		power-domains = <&cpg_clocks>;
395		status = "disabled";
396	};
397
398	i2c3: i2c@fcfeec00 {
399		#address-cells = <1>;
400		#size-cells = <0>;
401		compatible = "renesas,riic-r7s72100", "renesas,riic-rz";
402		reg = <0xfcfeec00 0x44>;
403		interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
404			     <GIC_SPI 182 IRQ_TYPE_EDGE_RISING>,
405			     <GIC_SPI 183 IRQ_TYPE_EDGE_RISING>,
406			     <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
407			     <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
408			     <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
409			     <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
410			     <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
411		clocks = <&mstp9_clks R7S72100_CLK_I2C3>;
412		clock-frequency = <100000>;
413		power-domains = <&cpg_clocks>;
414		status = "disabled";
415	};
416
417	mtu2: timer@fcff0000 {
418		compatible = "renesas,mtu2-r7s72100", "renesas,mtu2";
419		reg = <0xfcff0000 0x400>;
420		interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
421		interrupt-names = "tgi0a";
422		clocks = <&mstp3_clks R7S72100_CLK_MTU2>;
423		clock-names = "fck";
424		power-domains = <&cpg_clocks>;
425		status = "disabled";
426	};
427};