Linux Audio

Check our new training course

Real-Time Linux with PREEMPT_RT training

Feb 18-20, 2025
Register
Loading...
v4.17
  1/*
  2 * Device Tree Source for the r8a7740 SoC
  3 *
  4 * Copyright (C) 2012 Renesas Solutions Corp.
  5 *
  6 * This file is licensed under the terms of the GNU General Public License
  7 * version 2.  This program is licensed "as is" without any warranty of any
  8 * kind, whether express or implied.
  9 */
 10
 
 
 11#include <dt-bindings/clock/r8a7740-clock.h>
 12#include <dt-bindings/interrupt-controller/arm-gic.h>
 13#include <dt-bindings/interrupt-controller/irq.h>
 14
 15/ {
 16	compatible = "renesas,r8a7740";
 17	interrupt-parent = <&gic>;
 18	#address-cells = <1>;
 19	#size-cells = <1>;
 20
 21	cpus {
 22		#address-cells = <1>;
 23		#size-cells = <0>;
 24		cpu@0 {
 25			compatible = "arm,cortex-a9";
 26			device_type = "cpu";
 27			reg = <0x0>;
 28			clock-frequency = <800000000>;
 29			power-domains = <&pd_a3sm>;
 30			next-level-cache = <&L2>;
 31		};
 32	};
 33
 34	gic: interrupt-controller@c2800000 {
 35		compatible = "arm,pl390";
 36		#interrupt-cells = <3>;
 37		interrupt-controller;
 38		reg = <0xc2800000 0x1000>,
 39		      <0xc2000000 0x1000>;
 40	};
 41
 42	L2: cache-controller@f0100000 {
 43		compatible = "arm,pl310-cache";
 44		reg = <0xf0100000 0x1000>;
 45		interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
 46		power-domains = <&pd_a3sm>;
 47		arm,data-latency = <3 3 3>;
 48		arm,tag-latency = <2 2 2>;
 49		arm,shared-override;
 50		cache-unified;
 51		cache-level = <2>;
 52	};
 53
 54	dbsc3: memory-controller@fe400000 {
 55		compatible = "renesas,dbsc3-r8a7740";
 56		reg = <0xfe400000 0x400>;
 57		power-domains = <&pd_a4s>;
 58	};
 59
 60	pmu {
 61		compatible = "arm,cortex-a9-pmu";
 62		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
 63	};
 64
 65	ptm {
 66		compatible = "arm,coresight-etm3x";
 67		power-domains = <&pd_d4>;
 68	};
 69
 70	cmt1: timer@e6138000 {
 71		compatible = "renesas,cmt-48-r8a7740", "renesas,cmt-48";
 72		reg = <0xe6138000 0x170>;
 73		interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
 74		clocks = <&mstp3_clks R8A7740_CLK_CMT1>;
 75		clock-names = "fck";
 76		power-domains = <&pd_c5>;
 
 
 
 77		status = "disabled";
 78	};
 79
 80	/* irqpin0: IRQ0 - IRQ7 */
 81	irqpin0: interrupt-controller@e6900000 {
 82		compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin";
 83		#interrupt-cells = <2>;
 84		interrupt-controller;
 85		reg = <0xe6900000 4>,
 86			<0xe6900010 4>,
 87			<0xe6900020 1>,
 88			<0xe6900040 1>,
 89			<0xe6900060 1>;
 90		interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
 91			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
 92			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
 93			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
 94			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
 95			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
 96			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
 97			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
 98		clocks = <&mstp2_clks R8A7740_CLK_INTCA>;
 99		power-domains = <&pd_a4s>;
100	};
101
102	/* irqpin1: IRQ8 - IRQ15 */
103	irqpin1: interrupt-controller@e6900004 {
104		compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin";
105		#interrupt-cells = <2>;
106		interrupt-controller;
107		reg = <0xe6900004 4>,
108			<0xe6900014 4>,
109			<0xe6900024 1>,
110			<0xe6900044 1>,
111			<0xe6900064 1>;
112		interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
113			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
114			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
115			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
116			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
117			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
118			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
119			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
120		clocks = <&mstp2_clks R8A7740_CLK_INTCA>;
121		power-domains = <&pd_a4s>;
122	};
123
124	/* irqpin2: IRQ16 - IRQ23 */
125	irqpin2: interrupt-controller@e6900008 {
126		compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin";
127		#interrupt-cells = <2>;
128		interrupt-controller;
129		reg = <0xe6900008 4>,
130			<0xe6900018 4>,
131			<0xe6900028 1>,
132			<0xe6900048 1>,
133			<0xe6900068 1>;
134		interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
135			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
136			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
137			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
138			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
139			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
140			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
141			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
142		clocks = <&mstp2_clks R8A7740_CLK_INTCA>;
143		power-domains = <&pd_a4s>;
144	};
145
146	/* irqpin3: IRQ24 - IRQ31 */
147	irqpin3: interrupt-controller@e690000c {
148		compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin";
149		#interrupt-cells = <2>;
150		interrupt-controller;
151		reg = <0xe690000c 4>,
152			<0xe690001c 4>,
153			<0xe690002c 1>,
154			<0xe690004c 1>,
155			<0xe690006c 1>;
156		interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
157			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
158			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
159			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
160			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
161			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
162			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
163			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
164		clocks = <&mstp2_clks R8A7740_CLK_INTCA>;
165		power-domains = <&pd_a4s>;
166	};
167
168	ether: ethernet@e9a00000 {
169		compatible = "renesas,gether-r8a7740";
170		reg = <0xe9a00000 0x800>,
171		      <0xe9a01800 0x800>;
172		interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
173		clocks = <&mstp3_clks R8A7740_CLK_GETHER>;
174		power-domains = <&pd_a4s>;
175		phy-mode = "mii";
176		#address-cells = <1>;
177		#size-cells = <0>;
178		status = "disabled";
179	};
180
181	i2c0: i2c@fff20000 {
182		#address-cells = <1>;
183		#size-cells = <0>;
184		compatible = "renesas,iic-r8a7740", "renesas,rmobile-iic";
185		reg = <0xfff20000 0x425>;
186		interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH
187			      GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH
188			      GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH
189			      GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>;
190		clocks = <&mstp1_clks R8A7740_CLK_IIC0>;
191		power-domains = <&pd_a4r>;
192		status = "disabled";
193	};
194
195	i2c1: i2c@e6c20000 {
196		#address-cells = <1>;
197		#size-cells = <0>;
198		compatible = "renesas,iic-r8a7740", "renesas,rmobile-iic";
199		reg = <0xe6c20000 0x425>;
200		interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH
201			      GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH
202			      GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH
203			      GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
204		clocks = <&mstp3_clks R8A7740_CLK_IIC1>;
205		power-domains = <&pd_a3sp>;
206		status = "disabled";
207	};
208
209	scifa0: serial@e6c40000 {
210		compatible = "renesas,scifa-r8a7740", "renesas,scifa";
211		reg = <0xe6c40000 0x100>;
212		interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
213		clocks = <&mstp2_clks R8A7740_CLK_SCIFA0>;
214		clock-names = "fck";
215		power-domains = <&pd_a3sp>;
216		status = "disabled";
217	};
218
219	scifa1: serial@e6c50000 {
220		compatible = "renesas,scifa-r8a7740", "renesas,scifa";
221		reg = <0xe6c50000 0x100>;
222		interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
223		clocks = <&mstp2_clks R8A7740_CLK_SCIFA1>;
224		clock-names = "fck";
225		power-domains = <&pd_a3sp>;
226		status = "disabled";
227	};
228
229	scifa2: serial@e6c60000 {
230		compatible = "renesas,scifa-r8a7740", "renesas,scifa";
231		reg = <0xe6c60000 0x100>;
232		interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
233		clocks = <&mstp2_clks R8A7740_CLK_SCIFA2>;
234		clock-names = "fck";
235		power-domains = <&pd_a3sp>;
236		status = "disabled";
237	};
238
239	scifa3: serial@e6c70000 {
240		compatible = "renesas,scifa-r8a7740", "renesas,scifa";
241		reg = <0xe6c70000 0x100>;
242		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
243		clocks = <&mstp2_clks R8A7740_CLK_SCIFA3>;
244		clock-names = "fck";
245		power-domains = <&pd_a3sp>;
246		status = "disabled";
247	};
248
249	scifa4: serial@e6c80000 {
250		compatible = "renesas,scifa-r8a7740", "renesas,scifa";
251		reg = <0xe6c80000 0x100>;
252		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
253		clocks = <&mstp2_clks R8A7740_CLK_SCIFA4>;
254		clock-names = "fck";
255		power-domains = <&pd_a3sp>;
256		status = "disabled";
257	};
258
259	scifa5: serial@e6cb0000 {
260		compatible = "renesas,scifa-r8a7740", "renesas,scifa";
261		reg = <0xe6cb0000 0x100>;
262		interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
263		clocks = <&mstp2_clks R8A7740_CLK_SCIFA5>;
264		clock-names = "fck";
265		power-domains = <&pd_a3sp>;
266		status = "disabled";
267	};
268
269	scifa6: serial@e6cc0000 {
270		compatible = "renesas,scifa-r8a7740", "renesas,scifa";
271		reg = <0xe6cc0000 0x100>;
272		interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
273		clocks = <&mstp2_clks R8A7740_CLK_SCIFA6>;
274		clock-names = "fck";
275		power-domains = <&pd_a3sp>;
276		status = "disabled";
277	};
278
279	scifa7: serial@e6cd0000 {
280		compatible = "renesas,scifa-r8a7740", "renesas,scifa";
281		reg = <0xe6cd0000 0x100>;
282		interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
283		clocks = <&mstp2_clks R8A7740_CLK_SCIFA7>;
284		clock-names = "fck";
285		power-domains = <&pd_a3sp>;
286		status = "disabled";
287	};
288
289	scifb: serial@e6c30000 {
290		compatible = "renesas,scifb-r8a7740", "renesas,scifb";
291		reg = <0xe6c30000 0x100>;
292		interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
293		clocks = <&mstp2_clks R8A7740_CLK_SCIFB>;
294		clock-names = "fck";
295		power-domains = <&pd_a3sp>;
296		status = "disabled";
297	};
298
299	pfc: pin-controller@e6050000 {
300		compatible = "renesas,pfc-r8a7740";
301		reg = <0xe6050000 0x8000>,
302		      <0xe605800c 0x20>;
303		gpio-controller;
304		#gpio-cells = <2>;
305		gpio-ranges = <&pfc 0 0 212>;
306		interrupts-extended =
307			<&irqpin0 0 0>, <&irqpin0 1 0>, <&irqpin0 2 0>, <&irqpin0 3 0>,
308			<&irqpin0 4 0>, <&irqpin0 5 0>, <&irqpin0 6 0>, <&irqpin0 7 0>,
309			<&irqpin1 0 0>, <&irqpin1 1 0>, <&irqpin1 2 0>, <&irqpin1 3 0>,
310			<&irqpin1 4 0>, <&irqpin1 5 0>, <&irqpin1 6 0>, <&irqpin1 7 0>,
311			<&irqpin2 0 0>, <&irqpin2 1 0>, <&irqpin2 2 0>, <&irqpin2 3 0>,
312			<&irqpin2 4 0>, <&irqpin2 5 0>, <&irqpin2 6 0>, <&irqpin2 7 0>,
313			<&irqpin3 0 0>, <&irqpin3 1 0>, <&irqpin3 2 0>, <&irqpin3 3 0>,
314			<&irqpin3 4 0>, <&irqpin3 5 0>, <&irqpin3 6 0>, <&irqpin3 7 0>;
315		power-domains = <&pd_c5>;
316	};
317
318	tpu: pwm@e6600000 {
319		compatible = "renesas,tpu-r8a7740", "renesas,tpu";
320		reg = <0xe6600000 0x148>;
321		clocks = <&mstp3_clks R8A7740_CLK_TPU0>;
322		power-domains = <&pd_a3sp>;
323		status = "disabled";
324		#pwm-cells = <3>;
325	};
326
327	mmcif0: mmc@e6bd0000 {
328		compatible = "renesas,mmcif-r8a7740", "renesas,sh-mmcif";
329		reg = <0xe6bd0000 0x100>;
330		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH
331			      GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
332		clocks = <&mstp3_clks R8A7740_CLK_MMC>;
333		power-domains = <&pd_a3sp>;
334		status = "disabled";
335	};
336
337	sdhi0: sd@e6850000 {
338		compatible = "renesas,sdhi-r8a7740";
339		reg = <0xe6850000 0x100>;
340		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH
341			      GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH
342			      GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
343		clocks = <&mstp3_clks R8A7740_CLK_SDHI0>;
344		power-domains = <&pd_a3sp>;
345		cap-sd-highspeed;
346		cap-sdio-irq;
347		status = "disabled";
348	};
349
350	sdhi1: sd@e6860000 {
351		compatible = "renesas,sdhi-r8a7740";
352		reg = <0xe6860000 0x100>;
353		interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH
354			      GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH
355			      GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
356		clocks = <&mstp3_clks R8A7740_CLK_SDHI1>;
357		power-domains = <&pd_a3sp>;
358		cap-sd-highspeed;
359		cap-sdio-irq;
360		status = "disabled";
361	};
362
363	sdhi2: sd@e6870000 {
364		compatible = "renesas,sdhi-r8a7740";
365		reg = <0xe6870000 0x100>;
366		interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH
367			      GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH
368			      GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
369		clocks = <&mstp4_clks R8A7740_CLK_SDHI2>;
370		power-domains = <&pd_a3sp>;
371		cap-sd-highspeed;
372		cap-sdio-irq;
373		status = "disabled";
374	};
375
376	sh_fsi2: sound@fe1f0000 {
377		#sound-dai-cells = <1>;
378		compatible = "renesas,fsi2-r8a7740", "renesas,sh_fsi2";
379		reg = <0xfe1f0000 0x400>;
380		interrupts = <GIC_SPI 9 0x4>;
381		clocks = <&mstp3_clks R8A7740_CLK_FSI>;
382		power-domains = <&pd_a4mp>;
383		status = "disabled";
384	};
385
386	tmu0: timer@fff80000 {
387		compatible = "renesas,tmu-r8a7740", "renesas,tmu";
388		reg = <0xfff80000 0x2c>;
389		interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
390			     <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>,
391			     <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
392		clocks = <&mstp1_clks R8A7740_CLK_TMU0>;
393		clock-names = "fck";
394		power-domains = <&pd_a4r>;
395
396		#renesas,channels = <3>;
397
398		status = "disabled";
399	};
400
401	tmu1: timer@fff90000 {
402		compatible = "renesas,tmu-r8a7740", "renesas,tmu";
403		reg = <0xfff90000 0x2c>;
404		interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
405			     <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>,
406			     <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>;
407		clocks = <&mstp1_clks R8A7740_CLK_TMU1>;
408		clock-names = "fck";
409		power-domains = <&pd_a4r>;
410
411		#renesas,channels = <3>;
412
413		status = "disabled";
414	};
415
416	clocks {
417		#address-cells = <1>;
418		#size-cells = <1>;
419		ranges;
420
421		/* External root clock */
422		extalr_clk: extalr {
423			compatible = "fixed-clock";
424			#clock-cells = <0>;
425			clock-frequency = <32768>;
 
426		};
427		extal1_clk: extal1 {
428			compatible = "fixed-clock";
429			#clock-cells = <0>;
430			clock-frequency = <0>;
 
431		};
432		extal2_clk: extal2 {
433			compatible = "fixed-clock";
434			#clock-cells = <0>;
435			clock-frequency = <0>;
 
436		};
437		dv_clk: dv {
438			compatible = "fixed-clock";
439			#clock-cells = <0>;
440			clock-frequency = <27000000>;
 
441		};
442		fmsick_clk: fmsick {
443			compatible = "fixed-clock";
444			#clock-cells = <0>;
445			clock-frequency = <0>;
 
446		};
447		fmsock_clk: fmsock {
448			compatible = "fixed-clock";
449			#clock-cells = <0>;
450			clock-frequency = <0>;
 
451		};
452		fsiack_clk: fsiack {
453			compatible = "fixed-clock";
454			#clock-cells = <0>;
455			clock-frequency = <0>;
 
456		};
457		fsibck_clk: fsibck {
458			compatible = "fixed-clock";
459			#clock-cells = <0>;
460			clock-frequency = <0>;
 
461		};
462
463		/* Special CPG clocks */
464		cpg_clocks: cpg_clocks@e6150000 {
465			compatible = "renesas,r8a7740-cpg-clocks";
466			reg = <0xe6150000 0x10000>;
467			clocks = <&extal1_clk>, <&extalr_clk>;
468			#clock-cells = <1>;
469			clock-output-names = "system", "pllc0", "pllc1",
470					     "pllc2", "r",
471					     "usb24s",
472					     "i", "zg", "b", "m1", "hp",
473					     "hpp", "usbp", "s", "zb", "m3",
474					     "cp";
475		};
476
477		/* Variable factor clocks (DIV6) */
478		vclk1_clk: vclk1@e6150008 {
479			compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
480			reg = <0xe6150008 4>;
481			clocks = <&pllc1_div2_clk>, <0>, <&dv_clk>,
482				 <&cpg_clocks R8A7740_CLK_USB24S>,
483				 <&extal1_div2_clk>, <&extalr_clk>, <0>,
484				 <0>;
485			#clock-cells = <0>;
 
486		};
487		vclk2_clk: vclk2@e615000c {
488			compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
489			reg = <0xe615000c 4>;
490			clocks = <&pllc1_div2_clk>, <0>, <&dv_clk>,
491				 <&cpg_clocks R8A7740_CLK_USB24S>,
492				 <&extal1_div2_clk>, <&extalr_clk>, <0>,
493				 <0>;
494			#clock-cells = <0>;
 
495		};
496		fmsi_clk: fmsi@e6150010 {
497			compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
498			reg = <0xe6150010 4>;
499			clocks = <&pllc1_div2_clk>, <&fmsick_clk>, <0>, <0>;
500			#clock-cells = <0>;
 
501		};
502		fmso_clk: fmso@e6150014 {
503			compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
504			reg = <0xe6150014 4>;
505			clocks = <&pllc1_div2_clk>, <&fmsock_clk>, <0>, <0>;
506			#clock-cells = <0>;
 
507		};
508		fsia_clk: fsia@e6150018 {
509			compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
510			reg = <0xe6150018 4>;
511			clocks = <&pllc1_div2_clk>, <&fsiack_clk>, <0>, <0>;
512			#clock-cells = <0>;
 
513		};
514		sub_clk: sub@e6150080 {
515			compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
516			reg = <0xe6150080 4>;
517			clocks = <&pllc1_div2_clk>,
518				 <&cpg_clocks R8A7740_CLK_USB24S>, <0>, <0>;
519			#clock-cells = <0>;
 
520		};
521		spu_clk: spu@e6150084 {
522			compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
523			reg = <0xe6150084 4>;
524			clocks = <&pllc1_div2_clk>,
525				 <&cpg_clocks R8A7740_CLK_USB24S>, <0>, <0>;
526			#clock-cells = <0>;
 
527		};
528		vou_clk: vou@e6150088 {
529			compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
530			reg = <0xe6150088 4>;
531			clocks = <&pllc1_div2_clk>, <&extal1_clk>, <&dv_clk>,
532				 <0>;
533			#clock-cells = <0>;
 
534		};
535		stpro_clk: stpro@e615009c {
536			compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
537			reg = <0xe615009c 4>;
538			clocks = <&cpg_clocks R8A7740_CLK_PLLC0>;
539			#clock-cells = <0>;
 
540		};
541
542		/* Fixed factor clocks */
543		pllc1_div2_clk: pllc1_div2 {
544			compatible = "fixed-factor-clock";
545			clocks = <&cpg_clocks R8A7740_CLK_PLLC1>;
546			#clock-cells = <0>;
547			clock-div = <2>;
548			clock-mult = <1>;
 
549		};
550		extal1_div2_clk: extal1_div2 {
551			compatible = "fixed-factor-clock";
552			clocks = <&extal1_clk>;
553			#clock-cells = <0>;
554			clock-div = <2>;
555			clock-mult = <1>;
 
556		};
557
558		/* Gate clocks */
559		subck_clks: subck_clks@e6150080 {
560			compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
561			reg = <0xe6150080 4>;
562			clocks = <&sub_clk>, <&sub_clk>;
563			#clock-cells = <1>;
564			clock-indices = <
565				R8A7740_CLK_SUBCK R8A7740_CLK_SUBCK2
566			>;
567			clock-output-names =
568				"subck", "subck2";
569		};
570		mstp1_clks: mstp1_clks@e6150134 {
571			compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
572			reg = <0xe6150134 4>, <0xe6150038 4>;
573			clocks = <&cpg_clocks R8A7740_CLK_S>,
574				 <&cpg_clocks R8A7740_CLK_S>, <&sub_clk>,
575				 <&cpg_clocks R8A7740_CLK_B>,
576				 <&cpg_clocks R8A7740_CLK_HPP>, <&sub_clk>,
577				 <&cpg_clocks R8A7740_CLK_B>;
578			#clock-cells = <1>;
579			clock-indices = <
580				R8A7740_CLK_CEU21 R8A7740_CLK_CEU20 R8A7740_CLK_TMU0
581				R8A7740_CLK_LCDC1 R8A7740_CLK_IIC0 R8A7740_CLK_TMU1
582				R8A7740_CLK_LCDC0
583			>;
584			clock-output-names =
585				"ceu21", "ceu20", "tmu0", "lcdc1", "iic0",
586				"tmu1", "lcdc0";
587		};
588		mstp2_clks: mstp2_clks@e6150138 {
589			compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
590			reg = <0xe6150138 4>, <0xe6150040 4>;
591			clocks = <&sub_clk>, <&cpg_clocks R8A7740_CLK_HP>,
592				 <&sub_clk>, <&cpg_clocks R8A7740_CLK_HP>,
593				 <&cpg_clocks R8A7740_CLK_HP>,
594				 <&cpg_clocks R8A7740_CLK_HP>,
595				 <&cpg_clocks R8A7740_CLK_HP>,
596				 <&sub_clk>, <&sub_clk>, <&sub_clk>,
597				 <&sub_clk>, <&sub_clk>, <&sub_clk>,
598				 <&sub_clk>;
599			#clock-cells = <1>;
600			clock-indices = <
601				R8A7740_CLK_SCIFA6 R8A7740_CLK_INTCA
602				R8A7740_CLK_SCIFA7
603				R8A7740_CLK_DMAC1 R8A7740_CLK_DMAC2
604				R8A7740_CLK_DMAC3 R8A7740_CLK_USBDMAC
605				R8A7740_CLK_SCIFA5 R8A7740_CLK_SCIFB
606				R8A7740_CLK_SCIFA0 R8A7740_CLK_SCIFA1
607				R8A7740_CLK_SCIFA2 R8A7740_CLK_SCIFA3
608				R8A7740_CLK_SCIFA4
609			>;
610			clock-output-names =
611				"scifa6", "intca",
612				"scifa7", "dmac1", "dmac2", "dmac3",
613				"usbdmac", "scifa5", "scifb", "scifa0", "scifa1",
614				"scifa2", "scifa3", "scifa4";
615		};
616		mstp3_clks: mstp3_clks@e615013c {
617			compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
618			reg = <0xe615013c 4>, <0xe6150048 4>;
619			clocks = <&cpg_clocks R8A7740_CLK_R>,
620				 <&cpg_clocks R8A7740_CLK_HP>,
621				 <&sub_clk>,
622				 <&cpg_clocks R8A7740_CLK_HP>,
623				 <&cpg_clocks R8A7740_CLK_HP>,
624				 <&cpg_clocks R8A7740_CLK_HP>,
625				 <&cpg_clocks R8A7740_CLK_HP>,
626				 <&cpg_clocks R8A7740_CLK_HP>,
627				 <&cpg_clocks R8A7740_CLK_HP>;
628			#clock-cells = <1>;
629			clock-indices = <
630				R8A7740_CLK_CMT1 R8A7740_CLK_FSI R8A7740_CLK_IIC1
631				R8A7740_CLK_USBF R8A7740_CLK_SDHI0 R8A7740_CLK_SDHI1
632				R8A7740_CLK_MMC R8A7740_CLK_GETHER R8A7740_CLK_TPU0
633			>;
634			clock-output-names =
635				"cmt1", "fsi", "iic1", "usbf", "sdhi0", "sdhi1",
636				"mmc", "gether", "tpu0";
637		};
638		mstp4_clks: mstp4_clks@e6150140 {
639			compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
640			reg = <0xe6150140 4>, <0xe615004c 4>;
641			clocks = <&cpg_clocks R8A7740_CLK_HP>,
642				 <&cpg_clocks R8A7740_CLK_HP>,
643				 <&cpg_clocks R8A7740_CLK_HP>,
644				 <&cpg_clocks R8A7740_CLK_HP>;
645			#clock-cells = <1>;
646			clock-indices = <
647				R8A7740_CLK_USBH R8A7740_CLK_SDHI2
648				R8A7740_CLK_USBFUNC R8A7740_CLK_USBPHY
649			>;
650			clock-output-names =
651				"usbhost", "sdhi2", "usbfunc", "usphy";
652		};
653	};
654
655	sysc: system-controller@e6180000 {
656		compatible = "renesas,sysc-r8a7740", "renesas,sysc-rmobile";
657		reg = <0xe6180000 0x8000>, <0xe6188000 0x8000>;
658
659		pm-domains {
660			pd_c5: c5 {
661				#address-cells = <1>;
662				#size-cells = <0>;
663				#power-domain-cells = <0>;
664
665				pd_a4lc: a4lc@1 {
666					reg = <1>;
667					#power-domain-cells = <0>;
668				};
669
670				pd_a4mp: a4mp@2 {
671					reg = <2>;
672					#power-domain-cells = <0>;
673				};
674
675				pd_d4: d4@3 {
676					reg = <3>;
677					#power-domain-cells = <0>;
678				};
679
680				pd_a4r: a4r@5 {
681					reg = <5>;
682					#address-cells = <1>;
683					#size-cells = <0>;
684					#power-domain-cells = <0>;
685
686					pd_a3rv: a3rv@6 {
687						reg = <6>;
688						#power-domain-cells = <0>;
689					};
690				};
691
692				pd_a4s: a4s@10 {
693					reg = <10>;
694					#address-cells = <1>;
695					#size-cells = <0>;
696					#power-domain-cells = <0>;
697
698					pd_a3sp: a3sp@11 {
699						reg = <11>;
700						#power-domain-cells = <0>;
701					};
702
703					pd_a3sm: a3sm@12 {
704						reg = <12>;
705						#power-domain-cells = <0>;
706					};
707
708					pd_a3sg: a3sg@13 {
709						reg = <13>;
710						#power-domain-cells = <0>;
711					};
712				};
713
714				pd_a4su: a4su@20 {
715					reg = <20>;
716					#power-domain-cells = <0>;
717				};
718			};
719		};
720	};
721};
v4.6
  1/*
  2 * Device Tree Source for the r8a7740 SoC
  3 *
  4 * Copyright (C) 2012 Renesas Solutions Corp.
  5 *
  6 * This file is licensed under the terms of the GNU General Public License
  7 * version 2.  This program is licensed "as is" without any warranty of any
  8 * kind, whether express or implied.
  9 */
 10
 11/include/ "skeleton.dtsi"
 12
 13#include <dt-bindings/clock/r8a7740-clock.h>
 14#include <dt-bindings/interrupt-controller/arm-gic.h>
 15#include <dt-bindings/interrupt-controller/irq.h>
 16
 17/ {
 18	compatible = "renesas,r8a7740";
 19	interrupt-parent = <&gic>;
 
 
 20
 21	cpus {
 22		#address-cells = <1>;
 23		#size-cells = <0>;
 24		cpu@0 {
 25			compatible = "arm,cortex-a9";
 26			device_type = "cpu";
 27			reg = <0x0>;
 28			clock-frequency = <800000000>;
 29			power-domains = <&pd_a3sm>;
 30			next-level-cache = <&L2>;
 31		};
 32	};
 33
 34	gic: interrupt-controller@c2800000 {
 35		compatible = "arm,pl390";
 36		#interrupt-cells = <3>;
 37		interrupt-controller;
 38		reg = <0xc2800000 0x1000>,
 39		      <0xc2000000 0x1000>;
 40	};
 41
 42	L2: cache-controller {
 43		compatible = "arm,pl310-cache";
 44		reg = <0xf0100000 0x1000>;
 45		interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
 46		power-domains = <&pd_a3sm>;
 47		arm,data-latency = <3 3 3>;
 48		arm,tag-latency = <2 2 2>;
 49		arm,shared-override;
 50		cache-unified;
 51		cache-level = <2>;
 52	};
 53
 54	dbsc3: memory-controller@fe400000 {
 55		compatible = "renesas,dbsc3-r8a7740";
 56		reg = <0xfe400000 0x400>;
 57		power-domains = <&pd_a4s>;
 58	};
 59
 60	pmu {
 61		compatible = "arm,cortex-a9-pmu";
 62		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
 63	};
 64
 65	ptm {
 66		compatible = "arm,coresight-etm3x";
 67		power-domains = <&pd_d4>;
 68	};
 69
 70	cmt1: timer@e6138000 {
 71		compatible = "renesas,cmt-48-r8a7740", "renesas,cmt-48";
 72		reg = <0xe6138000 0x170>;
 73		interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
 74		clocks = <&mstp3_clks R8A7740_CLK_CMT1>;
 75		clock-names = "fck";
 76		power-domains = <&pd_c5>;
 77
 78		renesas,channels-mask = <0x3f>;
 79
 80		status = "disabled";
 81	};
 82
 83	/* irqpin0: IRQ0 - IRQ7 */
 84	irqpin0: interrupt-controller@e6900000 {
 85		compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin";
 86		#interrupt-cells = <2>;
 87		interrupt-controller;
 88		reg = <0xe6900000 4>,
 89			<0xe6900010 4>,
 90			<0xe6900020 1>,
 91			<0xe6900040 1>,
 92			<0xe6900060 1>;
 93		interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
 94			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
 95			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
 96			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
 97			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
 98			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
 99			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
100			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
101		clocks = <&mstp2_clks R8A7740_CLK_INTCA>;
102		power-domains = <&pd_a4s>;
103	};
104
105	/* irqpin1: IRQ8 - IRQ15 */
106	irqpin1: interrupt-controller@e6900004 {
107		compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin";
108		#interrupt-cells = <2>;
109		interrupt-controller;
110		reg = <0xe6900004 4>,
111			<0xe6900014 4>,
112			<0xe6900024 1>,
113			<0xe6900044 1>,
114			<0xe6900064 1>;
115		interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
116			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
117			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
118			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
119			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
120			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
121			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
122			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
123		clocks = <&mstp2_clks R8A7740_CLK_INTCA>;
124		power-domains = <&pd_a4s>;
125	};
126
127	/* irqpin2: IRQ16 - IRQ23 */
128	irqpin2: interrupt-controller@e6900008 {
129		compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin";
130		#interrupt-cells = <2>;
131		interrupt-controller;
132		reg = <0xe6900008 4>,
133			<0xe6900018 4>,
134			<0xe6900028 1>,
135			<0xe6900048 1>,
136			<0xe6900068 1>;
137		interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
138			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
139			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
140			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
141			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
142			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
143			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
144			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
145		clocks = <&mstp2_clks R8A7740_CLK_INTCA>;
146		power-domains = <&pd_a4s>;
147	};
148
149	/* irqpin3: IRQ24 - IRQ31 */
150	irqpin3: interrupt-controller@e690000c {
151		compatible = "renesas,intc-irqpin-r8a7740", "renesas,intc-irqpin";
152		#interrupt-cells = <2>;
153		interrupt-controller;
154		reg = <0xe690000c 4>,
155			<0xe690001c 4>,
156			<0xe690002c 1>,
157			<0xe690004c 1>,
158			<0xe690006c 1>;
159		interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
160			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
161			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
162			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
163			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
164			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
165			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
166			      GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
167		clocks = <&mstp2_clks R8A7740_CLK_INTCA>;
168		power-domains = <&pd_a4s>;
169	};
170
171	ether: ethernet@e9a00000 {
172		compatible = "renesas,gether-r8a7740";
173		reg = <0xe9a00000 0x800>,
174		      <0xe9a01800 0x800>;
175		interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
176		clocks = <&mstp3_clks R8A7740_CLK_GETHER>;
177		power-domains = <&pd_a4s>;
178		phy-mode = "mii";
179		#address-cells = <1>;
180		#size-cells = <0>;
181		status = "disabled";
182	};
183
184	i2c0: i2c@fff20000 {
185		#address-cells = <1>;
186		#size-cells = <0>;
187		compatible = "renesas,iic-r8a7740", "renesas,rmobile-iic";
188		reg = <0xfff20000 0x425>;
189		interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH
190			      GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH
191			      GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH
192			      GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>;
193		clocks = <&mstp1_clks R8A7740_CLK_IIC0>;
194		power-domains = <&pd_a4r>;
195		status = "disabled";
196	};
197
198	i2c1: i2c@e6c20000 {
199		#address-cells = <1>;
200		#size-cells = <0>;
201		compatible = "renesas,iic-r8a7740", "renesas,rmobile-iic";
202		reg = <0xe6c20000 0x425>;
203		interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH
204			      GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH
205			      GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH
206			      GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
207		clocks = <&mstp3_clks R8A7740_CLK_IIC1>;
208		power-domains = <&pd_a3sp>;
209		status = "disabled";
210	};
211
212	scifa0: serial@e6c40000 {
213		compatible = "renesas,scifa-r8a7740", "renesas,scifa";
214		reg = <0xe6c40000 0x100>;
215		interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
216		clocks = <&mstp2_clks R8A7740_CLK_SCIFA0>;
217		clock-names = "fck";
218		power-domains = <&pd_a3sp>;
219		status = "disabled";
220	};
221
222	scifa1: serial@e6c50000 {
223		compatible = "renesas,scifa-r8a7740", "renesas,scifa";
224		reg = <0xe6c50000 0x100>;
225		interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
226		clocks = <&mstp2_clks R8A7740_CLK_SCIFA1>;
227		clock-names = "fck";
228		power-domains = <&pd_a3sp>;
229		status = "disabled";
230	};
231
232	scifa2: serial@e6c60000 {
233		compatible = "renesas,scifa-r8a7740", "renesas,scifa";
234		reg = <0xe6c60000 0x100>;
235		interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
236		clocks = <&mstp2_clks R8A7740_CLK_SCIFA2>;
237		clock-names = "fck";
238		power-domains = <&pd_a3sp>;
239		status = "disabled";
240	};
241
242	scifa3: serial@e6c70000 {
243		compatible = "renesas,scifa-r8a7740", "renesas,scifa";
244		reg = <0xe6c70000 0x100>;
245		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
246		clocks = <&mstp2_clks R8A7740_CLK_SCIFA3>;
247		clock-names = "fck";
248		power-domains = <&pd_a3sp>;
249		status = "disabled";
250	};
251
252	scifa4: serial@e6c80000 {
253		compatible = "renesas,scifa-r8a7740", "renesas,scifa";
254		reg = <0xe6c80000 0x100>;
255		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
256		clocks = <&mstp2_clks R8A7740_CLK_SCIFA4>;
257		clock-names = "fck";
258		power-domains = <&pd_a3sp>;
259		status = "disabled";
260	};
261
262	scifa5: serial@e6cb0000 {
263		compatible = "renesas,scifa-r8a7740", "renesas,scifa";
264		reg = <0xe6cb0000 0x100>;
265		interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
266		clocks = <&mstp2_clks R8A7740_CLK_SCIFA5>;
267		clock-names = "fck";
268		power-domains = <&pd_a3sp>;
269		status = "disabled";
270	};
271
272	scifa6: serial@e6cc0000 {
273		compatible = "renesas,scifa-r8a7740", "renesas,scifa";
274		reg = <0xe6cc0000 0x100>;
275		interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
276		clocks = <&mstp2_clks R8A7740_CLK_SCIFA6>;
277		clock-names = "fck";
278		power-domains = <&pd_a3sp>;
279		status = "disabled";
280	};
281
282	scifa7: serial@e6cd0000 {
283		compatible = "renesas,scifa-r8a7740", "renesas,scifa";
284		reg = <0xe6cd0000 0x100>;
285		interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
286		clocks = <&mstp2_clks R8A7740_CLK_SCIFA7>;
287		clock-names = "fck";
288		power-domains = <&pd_a3sp>;
289		status = "disabled";
290	};
291
292	scifb: serial@e6c30000 {
293		compatible = "renesas,scifb-r8a7740", "renesas,scifb";
294		reg = <0xe6c30000 0x100>;
295		interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
296		clocks = <&mstp2_clks R8A7740_CLK_SCIFB>;
297		clock-names = "fck";
298		power-domains = <&pd_a3sp>;
299		status = "disabled";
300	};
301
302	pfc: pfc@e6050000 {
303		compatible = "renesas,pfc-r8a7740";
304		reg = <0xe6050000 0x8000>,
305		      <0xe605800c 0x20>;
306		gpio-controller;
307		#gpio-cells = <2>;
308		gpio-ranges = <&pfc 0 0 212>;
309		interrupts-extended =
310			<&irqpin0 0 0>, <&irqpin0 1 0>, <&irqpin0 2 0>, <&irqpin0 3 0>,
311			<&irqpin0 4 0>, <&irqpin0 5 0>, <&irqpin0 6 0>, <&irqpin0 7 0>,
312			<&irqpin1 0 0>, <&irqpin1 1 0>, <&irqpin1 2 0>, <&irqpin1 3 0>,
313			<&irqpin1 4 0>, <&irqpin1 5 0>, <&irqpin1 6 0>, <&irqpin1 7 0>,
314			<&irqpin2 0 0>, <&irqpin2 1 0>, <&irqpin2 2 0>, <&irqpin2 3 0>,
315			<&irqpin2 4 0>, <&irqpin2 5 0>, <&irqpin2 6 0>, <&irqpin2 7 0>,
316			<&irqpin3 0 0>, <&irqpin3 1 0>, <&irqpin3 2 0>, <&irqpin3 3 0>,
317			<&irqpin3 4 0>, <&irqpin3 5 0>, <&irqpin3 6 0>, <&irqpin3 7 0>;
318		power-domains = <&pd_c5>;
319	};
320
321	tpu: pwm@e6600000 {
322		compatible = "renesas,tpu-r8a7740", "renesas,tpu";
323		reg = <0xe6600000 0x100>;
324		clocks = <&mstp3_clks R8A7740_CLK_TPU0>;
325		power-domains = <&pd_a3sp>;
326		status = "disabled";
327		#pwm-cells = <3>;
328	};
329
330	mmcif0: mmc@e6bd0000 {
331		compatible = "renesas,mmcif-r8a7740", "renesas,sh-mmcif";
332		reg = <0xe6bd0000 0x100>;
333		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH
334			      GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
335		clocks = <&mstp3_clks R8A7740_CLK_MMC>;
336		power-domains = <&pd_a3sp>;
337		status = "disabled";
338	};
339
340	sdhi0: sd@e6850000 {
341		compatible = "renesas,sdhi-r8a7740";
342		reg = <0xe6850000 0x100>;
343		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH
344			      GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH
345			      GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
346		clocks = <&mstp3_clks R8A7740_CLK_SDHI0>;
347		power-domains = <&pd_a3sp>;
348		cap-sd-highspeed;
349		cap-sdio-irq;
350		status = "disabled";
351	};
352
353	sdhi1: sd@e6860000 {
354		compatible = "renesas,sdhi-r8a7740";
355		reg = <0xe6860000 0x100>;
356		interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH
357			      GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH
358			      GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
359		clocks = <&mstp3_clks R8A7740_CLK_SDHI1>;
360		power-domains = <&pd_a3sp>;
361		cap-sd-highspeed;
362		cap-sdio-irq;
363		status = "disabled";
364	};
365
366	sdhi2: sd@e6870000 {
367		compatible = "renesas,sdhi-r8a7740";
368		reg = <0xe6870000 0x100>;
369		interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH
370			      GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH
371			      GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
372		clocks = <&mstp4_clks R8A7740_CLK_SDHI2>;
373		power-domains = <&pd_a3sp>;
374		cap-sd-highspeed;
375		cap-sdio-irq;
376		status = "disabled";
377	};
378
379	sh_fsi2: sound@fe1f0000 {
380		#sound-dai-cells = <1>;
381		compatible = "renesas,fsi2-r8a7740", "renesas,sh_fsi2";
382		reg = <0xfe1f0000 0x400>;
383		interrupts = <GIC_SPI 9 0x4>;
384		clocks = <&mstp3_clks R8A7740_CLK_FSI>;
385		power-domains = <&pd_a4mp>;
386		status = "disabled";
387	};
388
389	tmu0: timer@fff80000 {
390		compatible = "renesas,tmu-r8a7740", "renesas,tmu";
391		reg = <0xfff80000 0x2c>;
392		interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
393			     <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>,
394			     <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
395		clocks = <&mstp1_clks R8A7740_CLK_TMU0>;
396		clock-names = "fck";
397		power-domains = <&pd_a4r>;
398
399		#renesas,channels = <3>;
400
401		status = "disabled";
402	};
403
404	tmu1: timer@fff90000 {
405		compatible = "renesas,tmu-r8a7740", "renesas,tmu";
406		reg = <0xfff90000 0x2c>;
407		interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
408			     <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>,
409			     <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>;
410		clocks = <&mstp1_clks R8A7740_CLK_TMU1>;
411		clock-names = "fck";
412		power-domains = <&pd_a4r>;
413
414		#renesas,channels = <3>;
415
416		status = "disabled";
417	};
418
419	clocks {
420		#address-cells = <1>;
421		#size-cells = <1>;
422		ranges;
423
424		/* External root clock */
425		extalr_clk: extalr_clk {
426			compatible = "fixed-clock";
427			#clock-cells = <0>;
428			clock-frequency = <32768>;
429			clock-output-names = "extalr";
430		};
431		extal1_clk: extal1_clk {
432			compatible = "fixed-clock";
433			#clock-cells = <0>;
434			clock-frequency = <0>;
435			clock-output-names = "extal1";
436		};
437		extal2_clk: extal2_clk {
438			compatible = "fixed-clock";
439			#clock-cells = <0>;
440			clock-frequency = <0>;
441			clock-output-names = "extal2";
442		};
443		dv_clk: dv_clk {
444			compatible = "fixed-clock";
445			#clock-cells = <0>;
446			clock-frequency = <27000000>;
447			clock-output-names = "dv";
448		};
449		fmsick_clk: fmsick_clk {
450			compatible = "fixed-clock";
451			#clock-cells = <0>;
452			clock-frequency = <0>;
453			clock-output-names = "fmsick";
454		};
455		fmsock_clk: fmsock_clk {
456			compatible = "fixed-clock";
457			#clock-cells = <0>;
458			clock-frequency = <0>;
459			clock-output-names = "fmsock";
460		};
461		fsiack_clk: fsiack_clk {
462			compatible = "fixed-clock";
463			#clock-cells = <0>;
464			clock-frequency = <0>;
465			clock-output-names = "fsiack";
466		};
467		fsibck_clk: fsibck_clk {
468			compatible = "fixed-clock";
469			#clock-cells = <0>;
470			clock-frequency = <0>;
471			clock-output-names = "fsibck";
472		};
473
474		/* Special CPG clocks */
475		cpg_clocks: cpg_clocks@e6150000 {
476			compatible = "renesas,r8a7740-cpg-clocks";
477			reg = <0xe6150000 0x10000>;
478			clocks = <&extal1_clk>, <&extalr_clk>;
479			#clock-cells = <1>;
480			clock-output-names = "system", "pllc0", "pllc1",
481					     "pllc2", "r",
482					     "usb24s",
483					     "i", "zg", "b", "m1", "hp",
484					     "hpp", "usbp", "s", "zb", "m3",
485					     "cp";
486		};
487
488		/* Variable factor clocks (DIV6) */
489		vclk1_clk: vclk1_clk@e6150008 {
490			compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
491			reg = <0xe6150008 4>;
492			clocks = <&pllc1_div2_clk>, <0>, <&dv_clk>,
493				 <&cpg_clocks R8A7740_CLK_USB24S>,
494				 <&extal1_div2_clk>, <&extalr_clk>, <0>,
495				 <0>;
496			#clock-cells = <0>;
497			clock-output-names = "vclk1";
498		};
499		vclk2_clk: vclk2_clk@e615000c {
500			compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
501			reg = <0xe615000c 4>;
502			clocks = <&pllc1_div2_clk>, <0>, <&dv_clk>,
503				 <&cpg_clocks R8A7740_CLK_USB24S>,
504				 <&extal1_div2_clk>, <&extalr_clk>, <0>,
505				 <0>;
506			#clock-cells = <0>;
507			clock-output-names = "vclk2";
508		};
509		fmsi_clk: fmsi_clk@e6150010 {
510			compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
511			reg = <0xe6150010 4>;
512			clocks = <&pllc1_div2_clk>, <&fmsick_clk>, <0>, <0>;
513			#clock-cells = <0>;
514			clock-output-names = "fmsi";
515		};
516		fmso_clk: fmso_clk@e6150014 {
517			compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
518			reg = <0xe6150014 4>;
519			clocks = <&pllc1_div2_clk>, <&fmsock_clk>, <0>, <0>;
520			#clock-cells = <0>;
521			clock-output-names = "fmso";
522		};
523		fsia_clk: fsia_clk@e6150018 {
524			compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
525			reg = <0xe6150018 4>;
526			clocks = <&pllc1_div2_clk>, <&fsiack_clk>, <0>, <0>;
527			#clock-cells = <0>;
528			clock-output-names = "fsia";
529		};
530		sub_clk: sub_clk@e6150080 {
531			compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
532			reg = <0xe6150080 4>;
533			clocks = <&pllc1_div2_clk>,
534				 <&cpg_clocks R8A7740_CLK_USB24S>, <0>, <0>;
535			#clock-cells = <0>;
536			clock-output-names = "sub";
537		};
538		spu_clk: spu_clk@e6150084 {
539			compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
540			reg = <0xe6150084 4>;
541			clocks = <&pllc1_div2_clk>,
542				 <&cpg_clocks R8A7740_CLK_USB24S>, <0>, <0>;
543			#clock-cells = <0>;
544			clock-output-names = "spu";
545		};
546		vou_clk: vou_clk@e6150088 {
547			compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
548			reg = <0xe6150088 4>;
549			clocks = <&pllc1_div2_clk>, <&extal1_clk>, <&dv_clk>,
550				 <0>;
551			#clock-cells = <0>;
552			clock-output-names = "vou";
553		};
554		stpro_clk: stpro_clk@e615009c {
555			compatible = "renesas,r8a7740-div6-clock", "renesas,cpg-div6-clock";
556			reg = <0xe615009c 4>;
557			clocks = <&cpg_clocks R8A7740_CLK_PLLC0>;
558			#clock-cells = <0>;
559			clock-output-names = "stpro";
560		};
561
562		/* Fixed factor clocks */
563		pllc1_div2_clk: pllc1_div2_clk {
564			compatible = "fixed-factor-clock";
565			clocks = <&cpg_clocks R8A7740_CLK_PLLC1>;
566			#clock-cells = <0>;
567			clock-div = <2>;
568			clock-mult = <1>;
569			clock-output-names = "pllc1_div2";
570		};
571		extal1_div2_clk: extal1_div2_clk {
572			compatible = "fixed-factor-clock";
573			clocks = <&extal1_clk>;
574			#clock-cells = <0>;
575			clock-div = <2>;
576			clock-mult = <1>;
577			clock-output-names = "extal1_div2";
578		};
579
580		/* Gate clocks */
581		subck_clks: subck_clks@e6150080 {
582			compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
583			reg = <0xe6150080 4>;
584			clocks = <&sub_clk>, <&sub_clk>;
585			#clock-cells = <1>;
586			clock-indices = <
587				R8A7740_CLK_SUBCK R8A7740_CLK_SUBCK2
588			>;
589			clock-output-names =
590				"subck", "subck2";
591		};
592		mstp1_clks: mstp1_clks@e6150134 {
593			compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
594			reg = <0xe6150134 4>, <0xe6150038 4>;
595			clocks = <&cpg_clocks R8A7740_CLK_S>,
596				 <&cpg_clocks R8A7740_CLK_S>, <&sub_clk>,
597				 <&cpg_clocks R8A7740_CLK_B>,
598				 <&cpg_clocks R8A7740_CLK_HPP>, <&sub_clk>,
599				 <&cpg_clocks R8A7740_CLK_B>;
600			#clock-cells = <1>;
601			clock-indices = <
602				R8A7740_CLK_CEU21 R8A7740_CLK_CEU20 R8A7740_CLK_TMU0
603				R8A7740_CLK_LCDC1 R8A7740_CLK_IIC0 R8A7740_CLK_TMU1
604				R8A7740_CLK_LCDC0
605			>;
606			clock-output-names =
607				"ceu21", "ceu20", "tmu0", "lcdc1", "iic0",
608				"tmu1", "lcdc0";
609		};
610		mstp2_clks: mstp2_clks@e6150138 {
611			compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
612			reg = <0xe6150138 4>, <0xe6150040 4>;
613			clocks = <&sub_clk>, <&cpg_clocks R8A7740_CLK_HP>,
614				 <&sub_clk>, <&cpg_clocks R8A7740_CLK_HP>,
615				 <&cpg_clocks R8A7740_CLK_HP>,
616				 <&cpg_clocks R8A7740_CLK_HP>,
617				 <&cpg_clocks R8A7740_CLK_HP>,
618				 <&sub_clk>, <&sub_clk>, <&sub_clk>,
619				 <&sub_clk>, <&sub_clk>, <&sub_clk>,
620				 <&sub_clk>;
621			#clock-cells = <1>;
622			clock-indices = <
623				R8A7740_CLK_SCIFA6 R8A7740_CLK_INTCA
624				R8A7740_CLK_SCIFA7
625				R8A7740_CLK_DMAC1 R8A7740_CLK_DMAC2
626				R8A7740_CLK_DMAC3 R8A7740_CLK_USBDMAC
627				R8A7740_CLK_SCIFA5 R8A7740_CLK_SCIFB
628				R8A7740_CLK_SCIFA0 R8A7740_CLK_SCIFA1
629				R8A7740_CLK_SCIFA2 R8A7740_CLK_SCIFA3
630				R8A7740_CLK_SCIFA4
631			>;
632			clock-output-names =
633				"scifa6", "intca",
634				"scifa7", "dmac1", "dmac2", "dmac3",
635				"usbdmac", "scifa5", "scifb", "scifa0", "scifa1",
636				"scifa2", "scifa3", "scifa4";
637		};
638		mstp3_clks: mstp3_clks@e615013c {
639			compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
640			reg = <0xe615013c 4>, <0xe6150048 4>;
641			clocks = <&cpg_clocks R8A7740_CLK_R>,
642				 <&cpg_clocks R8A7740_CLK_HP>,
643				 <&sub_clk>,
644				 <&cpg_clocks R8A7740_CLK_HP>,
645				 <&cpg_clocks R8A7740_CLK_HP>,
646				 <&cpg_clocks R8A7740_CLK_HP>,
647				 <&cpg_clocks R8A7740_CLK_HP>,
648				 <&cpg_clocks R8A7740_CLK_HP>,
649				 <&cpg_clocks R8A7740_CLK_HP>;
650			#clock-cells = <1>;
651			clock-indices = <
652				R8A7740_CLK_CMT1 R8A7740_CLK_FSI R8A7740_CLK_IIC1
653				R8A7740_CLK_USBF R8A7740_CLK_SDHI0 R8A7740_CLK_SDHI1
654				R8A7740_CLK_MMC R8A7740_CLK_GETHER R8A7740_CLK_TPU0
655			>;
656			clock-output-names =
657				"cmt1", "fsi", "iic1", "usbf", "sdhi0", "sdhi1",
658				"mmc", "gether", "tpu0";
659		};
660		mstp4_clks: mstp4_clks@e6150140 {
661			compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
662			reg = <0xe6150140 4>, <0xe615004c 4>;
663			clocks = <&cpg_clocks R8A7740_CLK_HP>,
664				 <&cpg_clocks R8A7740_CLK_HP>,
665				 <&cpg_clocks R8A7740_CLK_HP>,
666				 <&cpg_clocks R8A7740_CLK_HP>;
667			#clock-cells = <1>;
668			clock-indices = <
669				R8A7740_CLK_USBH R8A7740_CLK_SDHI2
670				R8A7740_CLK_USBFUNC R8A7740_CLK_USBPHY
671			>;
672			clock-output-names =
673				"usbhost", "sdhi2", "usbfunc", "usphy";
674		};
675	};
676
677	sysc: system-controller@e6180000 {
678		compatible = "renesas,sysc-r8a7740", "renesas,sysc-rmobile";
679		reg = <0xe6180000 0x8000>, <0xe6188000 0x8000>;
680
681		pm-domains {
682			pd_c5: c5 {
683				#address-cells = <1>;
684				#size-cells = <0>;
685				#power-domain-cells = <0>;
686
687				pd_a4lc: a4lc@1 {
688					reg = <1>;
689					#power-domain-cells = <0>;
690				};
691
692				pd_a4mp: a4mp@2 {
693					reg = <2>;
694					#power-domain-cells = <0>;
695				};
696
697				pd_d4: d4@3 {
698					reg = <3>;
699					#power-domain-cells = <0>;
700				};
701
702				pd_a4r: a4r@5 {
703					reg = <5>;
704					#address-cells = <1>;
705					#size-cells = <0>;
706					#power-domain-cells = <0>;
707
708					pd_a3rv: a3rv@6 {
709						reg = <6>;
710						#power-domain-cells = <0>;
711					};
712				};
713
714				pd_a4s: a4s@10 {
715					reg = <10>;
716					#address-cells = <1>;
717					#size-cells = <0>;
718					#power-domain-cells = <0>;
719
720					pd_a3sp: a3sp@11 {
721						reg = <11>;
722						#power-domain-cells = <0>;
723					};
724
725					pd_a3sm: a3sm@12 {
726						reg = <12>;
727						#power-domain-cells = <0>;
728					};
729
730					pd_a3sg: a3sg@13 {
731						reg = <13>;
732						#power-domain-cells = <0>;
733					};
734				};
735
736				pd_a4su: a4su@20 {
737					reg = <20>;
738					#power-domain-cells = <0>;
739				};
740			};
741		};
742	};
743};