1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Device Tree Source for AM33XX SoC
4 *
5 * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
6 */
7
8#include <dt-bindings/bus/ti-sysc.h>
9#include <dt-bindings/gpio/gpio.h>
10#include <dt-bindings/pinctrl/am33xx.h>
11#include <dt-bindings/clock/am3.h>
12
13/ {
14	compatible = "ti,am33xx";
15	interrupt-parent = <&intc>;
16	#address-cells = <1>;
17	#size-cells = <1>;
18	chosen { };
19
20	aliases {
21		i2c0 = &i2c0;
22		i2c1 = &i2c1;
23		i2c2 = &i2c2;
24		serial0 = &uart0;
25		serial1 = &uart1;
26		serial2 = &uart2;
27		serial3 = &uart3;
28		serial4 = &uart4;
29		serial5 = &uart5;
30		d-can0 = &dcan0;
31		d-can1 = &dcan1;
32		usb0 = &usb0;
33		usb1 = &usb1;
34		phy0 = &usb0_phy;
35		phy1 = &usb1_phy;
36		ethernet0 = &cpsw_port1;
37		ethernet1 = &cpsw_port2;
38		spi0 = &spi0;
39		spi1 = &spi1;
40		mmc0 = &mmc1;
41		mmc1 = &mmc2;
42		mmc2 = &mmc3;
43	};
44
45	cpus {
46		#address-cells = <1>;
47		#size-cells = <0>;
48		cpu@0 {
49			compatible = "arm,cortex-a8";
50			enable-method = "ti,am3352";
51			device_type = "cpu";
52			reg = <0>;
53
54			operating-points-v2 = <&cpu0_opp_table>;
55
56			clocks = <&dpll_mpu_ck>;
57			clock-names = "cpu";
58
59			clock-latency = <300000>; /* From omap-cpufreq driver */
60			cpu-idle-states = <&mpu_gate>;
61		};
62
63		idle-states {
64			mpu_gate: mpu_gate {
65				compatible = "arm,idle-state";
66				entry-latency-us = <40>;
67				exit-latency-us = <90>;
68				min-residency-us = <300>;
69				ti,idle-wkup-m3;
70			};
71		};
72	};
73
74	cpu0_opp_table: opp-table {
75		compatible = "operating-points-v2-ti-cpu";
76		syscon = <&scm_conf>;
77
78		/*
79		 * The three following nodes are marked with opp-suspend
80		 * because the can not be enabled simultaneously on a
81		 * single SoC.
82		 */
83		opp-50-300000000{
84			/* OPP50 */
85			opp-hz = /bits/ 64 <300000000>;
86			opp-microvolt = <950000 931000 969000>;
87			opp-supported-hw = <0x06 0x0010>;
88			opp-suspend;
89		};
90
91		opp-100-275000000{
92			/* OPP100-1 */
93			opp-hz = /bits/ 64 <275000000>;
94			opp-microvolt = <1100000 1078000 1122000>;
95			opp-supported-hw = <0x01 0x00FF>;
96			opp-suspend;
97		};
98
99		opp-100-300000000{
100			/* OPP100-2 */
101			opp-hz = /bits/ 64 <300000000>;
102			opp-microvolt = <1100000 1078000 1122000>;
103			opp-supported-hw = <0x06 0x0020>;
104			opp-suspend;
105		};
106
107		opp-100-500000000{
108			/* OPP100-3 */
109			opp-hz = /bits/ 64 <500000000>;
110			opp-microvolt = <1100000 1078000 1122000>;
111			opp-supported-hw = <0x01 0xFFFF>;
112		};
113
114		opp-100-600000000 {
115			/* OPP100-4 */
116			opp-hz = /bits/ 64 <600000000>;
117			opp-microvolt = <1100000 1078000 1122000>;
118			opp-supported-hw = <0x06 0x0040>;
119		};
120
121		opp-120-600000000 {
122			/* OPP120-1 */
123			opp-hz = /bits/ 64 <600000000>;
124			opp-microvolt = <1200000 1176000 1224000>;
125			opp-supported-hw = <0x01 0xFFFF>;
126		};
127
128		opp-120-720000000 {
129			/* OPP120-2 */
130			opp-hz = /bits/ 64 <720000000>;
131			opp-microvolt = <1200000 1176000 1224000>;
132			opp-supported-hw = <0x06 0x0080>;
133		};
134
135		opp-720000000 {
136			/* OPP Turbo-1 */
137			opp-hz = /bits/ 64 <720000000>;
138			opp-microvolt = <1260000 1234800 1285200>;
139			opp-supported-hw = <0x01 0xFFFF>;
140		};
141
142		opp-800000000 {
143			/* OPP Turbo-2 */
144			opp-hz = /bits/ 64 <800000000>;
145			opp-microvolt = <1260000 1234800 1285200>;
146			opp-supported-hw = <0x06 0x0100>;
147		};
148
149		opp-1000000000 {
150			/* OPP Nitro */
151			opp-hz = /bits/ 64 <1000000000>;
152			opp-microvolt = <1325000 1298500 1351500>;
153			opp-supported-hw = <0x04 0x0200>;
154		};
155	};
156
157	target-module@4b000000 {
158		compatible = "ti,sysc-omap4-simple", "ti,sysc";
159		clocks = <&l3_clkctrl AM3_L3_L3_INSTR_CLKCTRL 0>;
160		clock-names = "fck";
161		ti,no-idle;
162		#address-cells = <1>;
163		#size-cells = <1>;
164		ranges = <0x0 0x4b000000 0x1000000>;
165
166		target-module@140000 {
167			compatible = "ti,sysc-omap4-simple", "ti,sysc";
168			clocks = <&l3_aon_clkctrl AM3_L3_AON_DEBUGSS_CLKCTRL 0>;
169			clock-names = "fck";
170			#address-cells = <1>;
171			#size-cells = <1>;
172			ranges = <0x0 0x140000 0xec0000>;
173
174			pmu@0 {
175				compatible = "arm,cortex-a8-pmu";
176				interrupts = <3>;
177			};
178		};
179	};
180
181	/*
182	 * The soc node represents the soc top level view. It is used for IPs
183	 * that are not memory mapped in the MPU view or for the MPU itself.
184	 */
185	soc {
186		compatible = "ti,omap-infra";
187	};
188
189	/*
190	 * XXX: Use a flat representation of the AM33XX interconnect.
191	 * The real AM33XX interconnect network is quite complex. Since
192	 * it will not bring real advantage to represent that in DT
193	 * for the moment, just use a fake OCP bus entry to represent
194	 * the whole bus hierarchy.
195	 */
196	ocp: ocp {
197		compatible = "simple-pm-bus";
198		power-domains = <&prm_per>;
199		clocks = <&l3_clkctrl AM3_L3_L3_MAIN_CLKCTRL 0>;
200		clock-names = "fck";
201		#address-cells = <1>;
202		#size-cells = <1>;
203		ranges;
204
205		l4_wkup: interconnect@44c00000 {
206		};
207		l4_per: interconnect@48000000 {
208		};
209		l4_fw: interconnect@47c00000 {
210		};
211		l4_fast: interconnect@4a000000 {
212		};
213		l4_mpuss: interconnect@4b140000 {
214		};
215
216		intc: interrupt-controller@48200000 {
217			compatible = "ti,am33xx-intc";
218			interrupt-controller;
219			#interrupt-cells = <1>;
220			reg = <0x48200000 0x1000>;
221		};
222
223		target-module@49000000 {
224			compatible = "ti,sysc-omap4", "ti,sysc";
225			reg = <0x49000000 0x4>;
226			reg-names = "rev";
227			clocks = <&l3_clkctrl AM3_L3_TPCC_CLKCTRL 0>;
228			clock-names = "fck";
229			#address-cells = <1>;
230			#size-cells = <1>;
231			ranges = <0x0 0x49000000 0x10000>;
232
233			edma: dma@0 {
234				compatible = "ti,edma3-tpcc";
235				reg = <0 0x10000>;
236				reg-names = "edma3_cc";
237				interrupts = <12 13 14>;
238				interrupt-names = "edma3_ccint", "edma3_mperr",
239						  "edma3_ccerrint";
240				dma-requests = <64>;
241				#dma-cells = <2>;
242
243				ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
244					   <&edma_tptc2 0>;
245
246				ti,edma-memcpy-channels = <20 21>;
247			};
248		};
249
250		target-module@49800000 {
251			compatible = "ti,sysc-omap4", "ti,sysc";
252			reg = <0x49800000 0x4>,
253			      <0x49800010 0x4>;
254			reg-names = "rev", "sysc";
255			ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
256			ti,sysc-midle = <SYSC_IDLE_FORCE>;
257			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
258					<SYSC_IDLE_SMART>;
259			clocks = <&l3_clkctrl AM3_L3_TPTC0_CLKCTRL 0>;
260			clock-names = "fck";
261			#address-cells = <1>;
262			#size-cells = <1>;
263			ranges = <0x0 0x49800000 0x100000>;
264
265			edma_tptc0: dma@0 {
266				compatible = "ti,edma3-tptc";
267				reg = <0 0x100000>;
268				interrupts = <112>;
269				interrupt-names = "edma3_tcerrint";
270			};
271		};
272
273		target-module@49900000 {
274			compatible = "ti,sysc-omap4", "ti,sysc";
275			reg = <0x49900000 0x4>,
276			      <0x49900010 0x4>;
277			reg-names = "rev", "sysc";
278			ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
279			ti,sysc-midle = <SYSC_IDLE_FORCE>;
280			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
281					<SYSC_IDLE_SMART>;
282			clocks = <&l3_clkctrl AM3_L3_TPTC1_CLKCTRL 0>;
283			clock-names = "fck";
284			#address-cells = <1>;
285			#size-cells = <1>;
286			ranges = <0x0 0x49900000 0x100000>;
287
288			edma_tptc1: dma@0 {
289				compatible = "ti,edma3-tptc";
290				reg = <0 0x100000>;
291				interrupts = <113>;
292				interrupt-names = "edma3_tcerrint";
293			};
294		};
295
296		target-module@49a00000 {
297			compatible = "ti,sysc-omap4", "ti,sysc";
298			reg = <0x49a00000 0x4>,
299			      <0x49a00010 0x4>;
300			reg-names = "rev", "sysc";
301			ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
302			ti,sysc-midle = <SYSC_IDLE_FORCE>;
303			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
304					<SYSC_IDLE_SMART>;
305			clocks = <&l3_clkctrl AM3_L3_TPTC2_CLKCTRL 0>;
306			clock-names = "fck";
307			#address-cells = <1>;
308			#size-cells = <1>;
309			ranges = <0x0 0x49a00000 0x100000>;
310
311			edma_tptc2: dma@0 {
312				compatible = "ti,edma3-tptc";
313				reg = <0 0x100000>;
314				interrupts = <114>;
315				interrupt-names = "edma3_tcerrint";
316			};
317		};
318
319		target-module@47810000 {
320			compatible = "ti,sysc-omap2", "ti,sysc";
321			reg = <0x478102fc 0x4>,
322			      <0x47810110 0x4>,
323			      <0x47810114 0x4>;
324			reg-names = "rev", "sysc", "syss";
325			ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
326					 SYSC_OMAP2_ENAWAKEUP |
327					 SYSC_OMAP2_SOFTRESET |
328					 SYSC_OMAP2_AUTOIDLE)>;
329			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
330					<SYSC_IDLE_NO>,
331					<SYSC_IDLE_SMART>;
332			ti,syss-mask = <1>;
333			clocks = <&l3s_clkctrl AM3_L3S_MMC3_CLKCTRL 0>;
334			clock-names = "fck";
335			#address-cells = <1>;
336			#size-cells = <1>;
337			ranges = <0x0 0x47810000 0x1000>;
338
339			mmc3: mmc@0 {
340				compatible = "ti,am335-sdhci";
341				ti,needs-special-reset;
342				interrupts = <29>;
343				reg = <0x0 0x1000>;
344				status = "disabled";
345			};
346		};
347
348		usb: target-module@47400000 {
349			compatible = "ti,sysc-omap4", "ti,sysc";
350			reg = <0x47400000 0x4>,
351			      <0x47400010 0x4>;
352			reg-names = "rev", "sysc";
353			ti,sysc-mask = <(SYSC_OMAP4_FREEEMU |
354					 SYSC_OMAP4_SOFTRESET)>;
355			ti,sysc-midle = <SYSC_IDLE_FORCE>,
356					<SYSC_IDLE_NO>,
357					<SYSC_IDLE_SMART>;
358			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
359					<SYSC_IDLE_NO>,
360					<SYSC_IDLE_SMART>,
361					<SYSC_IDLE_SMART_WKUP>;
362			clocks = <&l3s_clkctrl AM3_L3S_USB_OTG_HS_CLKCTRL 0>;
363			clock-names = "fck";
364			#address-cells = <1>;
365			#size-cells = <1>;
366			ranges = <0x0 0x47400000 0x8000>;
367
368			usb0_phy: usb-phy@1300 {
369				compatible = "ti,am335x-usb-phy";
370				reg = <0x1300 0x100>;
371				reg-names = "phy";
372				ti,ctrl_mod = <&usb_ctrl_mod>;
373				#phy-cells = <0>;
374			};
375
376			usb0: usb@1400 {
377				compatible = "ti,musb-am33xx";
378				reg = <0x1400 0x400>,
379				      <0x1000 0x200>;
380				reg-names = "mc", "control";
381
382				interrupts = <18>;
383				interrupt-names = "mc";
384				dr_mode = "otg";
385				mentor,multipoint = <1>;
386				mentor,num-eps = <16>;
387				mentor,ram-bits = <12>;
388				mentor,power = <500>;
389				phys = <&usb0_phy>;
390
391				dmas = <&cppi41dma  0 0 &cppi41dma  1 0
392					&cppi41dma  2 0 &cppi41dma  3 0
393					&cppi41dma  4 0 &cppi41dma  5 0
394					&cppi41dma  6 0 &cppi41dma  7 0
395					&cppi41dma  8 0 &cppi41dma  9 0
396					&cppi41dma 10 0 &cppi41dma 11 0
397					&cppi41dma 12 0 &cppi41dma 13 0
398					&cppi41dma 14 0 &cppi41dma  0 1
399					&cppi41dma  1 1 &cppi41dma  2 1
400					&cppi41dma  3 1 &cppi41dma  4 1
401					&cppi41dma  5 1 &cppi41dma  6 1
402					&cppi41dma  7 1 &cppi41dma  8 1
403					&cppi41dma  9 1 &cppi41dma 10 1
404					&cppi41dma 11 1 &cppi41dma 12 1
405					&cppi41dma 13 1 &cppi41dma 14 1>;
406				dma-names =
407					"rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
408					"rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
409					"rx14", "rx15",
410					"tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
411					"tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
412					"tx14", "tx15";
413			};
414
415			usb1_phy: usb-phy@1b00 {
416				compatible = "ti,am335x-usb-phy";
417				reg = <0x1b00 0x100>;
418				reg-names = "phy";
419				ti,ctrl_mod = <&usb_ctrl_mod>;
420				#phy-cells = <0>;
421			};
422
423			usb1: usb@1800 {
424				compatible = "ti,musb-am33xx";
425				reg = <0x1c00 0x400>,
426				      <0x1800 0x200>;
427				reg-names = "mc", "control";
428				interrupts = <19>;
429				interrupt-names = "mc";
430				dr_mode = "otg";
431				mentor,multipoint = <1>;
432				mentor,num-eps = <16>;
433				mentor,ram-bits = <12>;
434				mentor,power = <500>;
435				phys = <&usb1_phy>;
436
437				dmas = <&cppi41dma 15 0 &cppi41dma 16 0
438					&cppi41dma 17 0 &cppi41dma 18 0
439					&cppi41dma 19 0 &cppi41dma 20 0
440					&cppi41dma 21 0 &cppi41dma 22 0
441					&cppi41dma 23 0 &cppi41dma 24 0
442					&cppi41dma 25 0 &cppi41dma 26 0
443					&cppi41dma 27 0 &cppi41dma 28 0
444					&cppi41dma 29 0 &cppi41dma 15 1
445					&cppi41dma 16 1 &cppi41dma 17 1
446					&cppi41dma 18 1 &cppi41dma 19 1
447					&cppi41dma 20 1 &cppi41dma 21 1
448					&cppi41dma 22 1 &cppi41dma 23 1
449					&cppi41dma 24 1 &cppi41dma 25 1
450					&cppi41dma 26 1 &cppi41dma 27 1
451					&cppi41dma 28 1 &cppi41dma 29 1>;
452				dma-names =
453					"rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
454					"rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
455					"rx14", "rx15",
456					"tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
457					"tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
458					"tx14", "tx15";
459			};
460
461			cppi41dma: dma-controller@2000 {
462				compatible = "ti,am3359-cppi41";
463				reg =  <0x0000 0x1000>,
464				       <0x2000 0x1000>,
465				       <0x3000 0x1000>,
466				       <0x4000 0x4000>;
467				reg-names = "glue", "controller", "scheduler", "queuemgr";
468				interrupts = <17>;
469				interrupt-names = "glue";
470				#dma-cells = <2>;
471				/* For backwards compatibility: */
472				#dma-channels = <30>;
473				dma-channels = <30>;
474				#dma-requests = <256>;
475				dma-requests = <256>;
476			};
477		};
478
479		target-module@40300000 {
480			compatible = "ti,sysc-omap4-simple", "ti,sysc";
481			clocks = <&l3_clkctrl AM3_L3_OCMCRAM_CLKCTRL 0>;
482			clock-names = "fck";
483			ti,no-idle;
484			#address-cells = <1>;
485			#size-cells = <1>;
486			ranges = <0 0x40300000 0x10000>;
487
488			ocmcram: sram@0 {
489				compatible = "mmio-sram";
490				reg = <0 0x10000>; /* 64k */
491				ranges = <0 0 0x10000>;
492				#address-cells = <1>;
493				#size-cells = <1>;
494
495				pm_sram_code: pm-code-sram@0 {
496					compatible = "ti,sram";
497					reg = <0x0 0x1000>;
498					protect-exec;
499				};
500
501				pm_sram_data: pm-data-sram@1000 {
502					compatible = "ti,sram";
503					reg = <0x1000 0x1000>;
504					pool;
505				};
506			};
507		};
508
509		target-module@4c000000 {
510			compatible = "ti,sysc-omap4-simple", "ti,sysc";
511			reg = <0x4c000000 0x4>;
512			reg-names = "rev";
513			clocks = <&l3_clkctrl AM3_L3_EMIF_CLKCTRL 0>;
514			clock-names = "fck";
515			ti,no-idle;
516			#address-cells = <1>;
517			#size-cells = <1>;
518			ranges = <0x0 0x4c000000 0x1000000>;
519
520			emif: emif@0 {
521				compatible = "ti,emif-am3352";
522				reg = <0 0x1000000>;
523				interrupts = <101>;
524				sram = <&pm_sram_code
525					&pm_sram_data>;
526			};
527		};
528
529		target-module@50000000 {
530			compatible = "ti,sysc-omap2", "ti,sysc";
531			reg = <0x50000000 4>,
532			      <0x50000010 4>,
533			      <0x50000014 4>;
534			reg-names = "rev", "sysc", "syss";
535			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
536					<SYSC_IDLE_NO>,
537					<SYSC_IDLE_SMART>;
538			ti,syss-mask = <1>;
539			clocks = <&l3s_clkctrl AM3_L3S_GPMC_CLKCTRL 0>;
540			clock-names = "fck";
541			#address-cells = <1>;
542			#size-cells = <1>;
543			ranges = <0x50000000 0x50000000 0x00001000>, /* regs */
544				 <0x00000000 0x00000000 0x40000000>; /* data */
545
546			gpmc: gpmc@50000000 {
547				compatible = "ti,am3352-gpmc";
548				reg = <0x50000000 0x2000>;
549				interrupts = <100>;
550				dmas = <&edma 52 0>;
551				dma-names = "rxtx";
552				gpmc,num-cs = <7>;
553				gpmc,num-waitpins = <2>;
554				#address-cells = <2>;
555				#size-cells = <1>;
556				interrupt-controller;
557				#interrupt-cells = <2>;
558				gpio-controller;
559				#gpio-cells = <2>;
560				status = "disabled";
561			};
562		};
563
564		sham_target: target-module@53100000 {
565			compatible = "ti,sysc-omap3-sham", "ti,sysc";
566			reg = <0x53100100 0x4>,
567			      <0x53100110 0x4>,
568			      <0x53100114 0x4>;
569			reg-names = "rev", "sysc", "syss";
570			ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
571					 SYSC_OMAP2_AUTOIDLE)>;
572			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
573					<SYSC_IDLE_NO>,
574					<SYSC_IDLE_SMART>;
575			ti,syss-mask = <1>;
576			/* Domains (P, C): per_pwrdm, l3_clkdm */
577			clocks = <&l3_clkctrl AM3_L3_SHAM_CLKCTRL 0>;
578			clock-names = "fck";
579			#address-cells = <1>;
580			#size-cells = <1>;
581			ranges = <0x0 0x53100000 0x1000>;
582
583			sham: sham@0 {
584				compatible = "ti,omap4-sham";
585				reg = <0 0x200>;
586				interrupts = <109>;
587				dmas = <&edma 36 0>;
588				dma-names = "rx";
589			};
590		};
591
592		aes_target: target-module@53500000 {
593			compatible = "ti,sysc-omap2", "ti,sysc";
594			reg = <0x53500080 0x4>,
595			      <0x53500084 0x4>,
596			      <0x53500088 0x4>;
597			reg-names = "rev", "sysc", "syss";
598			ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
599					 SYSC_OMAP2_AUTOIDLE)>;
600			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
601					<SYSC_IDLE_NO>,
602					<SYSC_IDLE_SMART>,
603					<SYSC_IDLE_SMART_WKUP>;
604			ti,syss-mask = <1>;
605			/* Domains (P, C): per_pwrdm, l3_clkdm */
606			clocks = <&l3_clkctrl AM3_L3_AES_CLKCTRL 0>;
607			clock-names = "fck";
608			#address-cells = <1>;
609			#size-cells = <1>;
610			ranges = <0x0 0x53500000 0x1000>;
611
612			aes: aes@0 {
613				compatible = "ti,omap4-aes";
614				reg = <0 0xa0>;
615				interrupts = <103>;
616				dmas = <&edma 6 0>,
617				       <&edma 5 0>;
618				dma-names = "tx", "rx";
619			};
620		};
621
622		target-module@56000000 {
623			compatible = "ti,sysc-omap4", "ti,sysc";
624			reg = <0x5600fe00 0x4>,
625			      <0x5600fe10 0x4>;
626			reg-names = "rev", "sysc";
627			ti,sysc-midle = <SYSC_IDLE_FORCE>,
628					<SYSC_IDLE_NO>,
629					<SYSC_IDLE_SMART>;
630			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
631					<SYSC_IDLE_NO>,
632					<SYSC_IDLE_SMART>;
633			clocks = <&gfx_l3_clkctrl AM3_GFX_L3_GFX_CLKCTRL 0>;
634			clock-names = "fck";
635			power-domains = <&prm_gfx>;
636			resets = <&prm_gfx 0>;
637			reset-names = "rstctrl";
638			#address-cells = <1>;
639			#size-cells = <1>;
640			ranges = <0 0x56000000 0x1000000>;
641
642			/*
643			 * Closed source PowerVR driver, no child device
644			 * binding or driver in mainline
645			 */
646		};
647	};
648};
649
650#include "am33xx-l4.dtsi"
651#include "am33xx-clocks.dtsi"
652
653&prcm {
654	prm_per: prm@c00 {
655		compatible = "ti,am3-prm-inst", "ti,omap-prm-inst";
656		reg = <0xc00 0x100>;
657		#reset-cells = <1>;
658		#power-domain-cells = <0>;
659	};
660
661	prm_wkup: prm@d00 {
662		compatible = "ti,am3-prm-inst", "ti,omap-prm-inst";
663		reg = <0xd00 0x100>;
664		#reset-cells = <1>;
665		#power-domain-cells = <0>;
666	};
667
668	prm_mpu: prm@e00 {
669		compatible = "ti,am3-prm-inst", "ti,omap-prm-inst";
670		reg = <0xe00 0x100>;
671		#power-domain-cells = <0>;
672	};
673
674	prm_device: prm@f00 {
675		compatible = "ti,am3-prm-inst", "ti,omap-prm-inst";
676		reg = <0xf00 0x100>;
677		#reset-cells = <1>;
678	};
679
680	prm_rtc: prm@1000 {
681		compatible = "ti,am3-prm-inst", "ti,omap-prm-inst";
682		reg = <0x1000 0x100>;
683		#power-domain-cells = <0>;
684	};
685
686	prm_gfx: prm@1100 {
687		compatible = "ti,am3-prm-inst", "ti,omap-prm-inst";
688		reg = <0x1100 0x100>;
689		#power-domain-cells = <0>;
690		#reset-cells = <1>;
691	};
692
693	prm_cefuse: prm@1200 {
694		compatible = "ti,am3-prm-inst", "ti,omap-prm-inst";
695		reg = <0x1200 0x100>;
696		#power-domain-cells = <0>;
697	};
698};
699
700/* Preferred always-on timer for clocksource */
701&timer1_target {
702	clocks = <&l4_wkup_clkctrl AM3_L4_WKUP_TIMER1_CLKCTRL 0>,
703		 <&l4_wkup_clkctrl AM3_L4_WKUP_L4_WKUP_CLKCTRL 0>;
704	clock-names = "fck", "ick";
705	ti,no-reset-on-init;
706	ti,no-idle;
707	timer@0 {
708		assigned-clocks = <&timer1_fck>;
709		assigned-clock-parents = <&sys_clkin_ck>;
710	};
711};
712
713/* Preferred timer for clockevent */
714&timer2_target {
715	clocks = <&l4ls_clkctrl AM3_L4LS_TIMER2_CLKCTRL 0>,
716		 <&l4ls_clkctrl AM3_L4LS_L4_LS_CLKCTRL 0>;
717	clock-names = "fck", "ick";
718	ti,no-reset-on-init;
719	ti,no-idle;
720	timer@0 {
721		assigned-clocks = <&timer2_fck>;
722		assigned-clock-parents = <&sys_clkin_ck>;
723	};
724};
725