xref: /openbmc/u-boot/arch/arm/dts/am33xx.dtsi (revision 3589025867274ff28f689029ab8323301771c8ec)
15cc16cbfSSimon Glass/*
25cc16cbfSSimon Glass * Device Tree Source for AM33XX SoC
35cc16cbfSSimon Glass *
45cc16cbfSSimon Glass * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
55cc16cbfSSimon Glass *
65cc16cbfSSimon Glass * This file is licensed under the terms of the GNU General Public License
75cc16cbfSSimon Glass * version 2.  This program is licensed "as is" without any warranty of any
85cc16cbfSSimon Glass * kind, whether express or implied.
95cc16cbfSSimon Glass */
105cc16cbfSSimon Glass
115cc16cbfSSimon Glass#include <dt-bindings/gpio/gpio.h>
125cc16cbfSSimon Glass#include <dt-bindings/pinctrl/am33xx.h>
13*fdce9d35SFelix Brack#include <dt-bindings/clock/am3.h>
145cc16cbfSSimon Glass
155cc16cbfSSimon Glass/ {
165cc16cbfSSimon Glass	compatible = "ti,am33xx";
175cc16cbfSSimon Glass	interrupt-parent = <&intc>;
18*fdce9d35SFelix Brack	#address-cells = <1>;
19*fdce9d35SFelix Brack	#size-cells = <1>;
20*fdce9d35SFelix Brack	chosen { };
215cc16cbfSSimon Glass
225cc16cbfSSimon Glass	aliases {
231480fdf8STom Rini		i2c0 = &i2c0;
241480fdf8STom Rini		i2c1 = &i2c1;
251480fdf8STom Rini		i2c2 = &i2c2;
265cc16cbfSSimon Glass		serial0 = &uart0;
275cc16cbfSSimon Glass		serial1 = &uart1;
285cc16cbfSSimon Glass		serial2 = &uart2;
295cc16cbfSSimon Glass		serial3 = &uart3;
305cc16cbfSSimon Glass		serial4 = &uart4;
315cc16cbfSSimon Glass		serial5 = &uart5;
32*fdce9d35SFelix Brack		d-can0 = &dcan0;
33*fdce9d35SFelix Brack		d-can1 = &dcan1;
345cc16cbfSSimon Glass		usb0 = &usb0;
355cc16cbfSSimon Glass		usb1 = &usb1;
365cc16cbfSSimon Glass		phy0 = &usb0_phy;
375cc16cbfSSimon Glass		phy1 = &usb1_phy;
381480fdf8STom Rini		ethernet0 = &cpsw_emac0;
391480fdf8STom Rini		ethernet1 = &cpsw_emac1;
40*fdce9d35SFelix Brack		spi0 = &spi0;
41*fdce9d35SFelix Brack		spi1 = &spi1;
425cc16cbfSSimon Glass	};
435cc16cbfSSimon Glass
445cc16cbfSSimon Glass	cpus {
455cc16cbfSSimon Glass		#address-cells = <1>;
465cc16cbfSSimon Glass		#size-cells = <0>;
475cc16cbfSSimon Glass		cpu@0 {
485cc16cbfSSimon Glass			compatible = "arm,cortex-a8";
495cc16cbfSSimon Glass			device_type = "cpu";
505cc16cbfSSimon Glass			reg = <0>;
515cc16cbfSSimon Glass
52*fdce9d35SFelix Brack			operating-points-v2 = <&cpu0_opp_table>;
531480fdf8STom Rini
541480fdf8STom Rini			clocks = <&dpll_mpu_ck>;
551480fdf8STom Rini			clock-names = "cpu";
561480fdf8STom Rini
575cc16cbfSSimon Glass			clock-latency = <300000>; /* From omap-cpufreq driver */
585cc16cbfSSimon Glass		};
595cc16cbfSSimon Glass	};
605cc16cbfSSimon Glass
61*fdce9d35SFelix Brack	cpu0_opp_table: opp-table {
62*fdce9d35SFelix Brack		compatible = "operating-points-v2-ti-cpu";
63*fdce9d35SFelix Brack		syscon = <&scm_conf>;
64*fdce9d35SFelix Brack
65*fdce9d35SFelix Brack		/*
66*fdce9d35SFelix Brack		 * The three following nodes are marked with opp-suspend
67*fdce9d35SFelix Brack		 * because the can not be enabled simultaneously on a
68*fdce9d35SFelix Brack		 * single SoC.
69*fdce9d35SFelix Brack		 */
70*fdce9d35SFelix Brack		opp50-300000000 {
71*fdce9d35SFelix Brack			opp-hz = /bits/ 64 <300000000>;
72*fdce9d35SFelix Brack			opp-microvolt = <950000 931000 969000>;
73*fdce9d35SFelix Brack			opp-supported-hw = <0x06 0x0010>;
74*fdce9d35SFelix Brack			opp-suspend;
75*fdce9d35SFelix Brack		};
76*fdce9d35SFelix Brack
77*fdce9d35SFelix Brack		opp100-275000000 {
78*fdce9d35SFelix Brack			opp-hz = /bits/ 64 <275000000>;
79*fdce9d35SFelix Brack			opp-microvolt = <1100000 1078000 1122000>;
80*fdce9d35SFelix Brack			opp-supported-hw = <0x01 0x00FF>;
81*fdce9d35SFelix Brack			opp-suspend;
82*fdce9d35SFelix Brack		};
83*fdce9d35SFelix Brack
84*fdce9d35SFelix Brack		opp100-300000000 {
85*fdce9d35SFelix Brack			opp-hz = /bits/ 64 <300000000>;
86*fdce9d35SFelix Brack			opp-microvolt = <1100000 1078000 1122000>;
87*fdce9d35SFelix Brack			opp-supported-hw = <0x06 0x0020>;
88*fdce9d35SFelix Brack			opp-suspend;
89*fdce9d35SFelix Brack		};
90*fdce9d35SFelix Brack
91*fdce9d35SFelix Brack		opp100-500000000 {
92*fdce9d35SFelix Brack			opp-hz = /bits/ 64 <500000000>;
93*fdce9d35SFelix Brack			opp-microvolt = <1100000 1078000 1122000>;
94*fdce9d35SFelix Brack			opp-supported-hw = <0x01 0xFFFF>;
95*fdce9d35SFelix Brack		};
96*fdce9d35SFelix Brack
97*fdce9d35SFelix Brack		opp100-600000000 {
98*fdce9d35SFelix Brack			opp-hz = /bits/ 64 <600000000>;
99*fdce9d35SFelix Brack			opp-microvolt = <1100000 1078000 1122000>;
100*fdce9d35SFelix Brack			opp-supported-hw = <0x06 0x0040>;
101*fdce9d35SFelix Brack		};
102*fdce9d35SFelix Brack
103*fdce9d35SFelix Brack		opp120-600000000 {
104*fdce9d35SFelix Brack			opp-hz = /bits/ 64 <600000000>;
105*fdce9d35SFelix Brack			opp-microvolt = <1200000 1176000 1224000>;
106*fdce9d35SFelix Brack			opp-supported-hw = <0x01 0xFFFF>;
107*fdce9d35SFelix Brack		};
108*fdce9d35SFelix Brack
109*fdce9d35SFelix Brack		opp120-720000000 {
110*fdce9d35SFelix Brack			opp-hz = /bits/ 64 <720000000>;
111*fdce9d35SFelix Brack			opp-microvolt = <1200000 1176000 1224000>;
112*fdce9d35SFelix Brack			opp-supported-hw = <0x06 0x0080>;
113*fdce9d35SFelix Brack		};
114*fdce9d35SFelix Brack
115*fdce9d35SFelix Brack		oppturbo-720000000 {
116*fdce9d35SFelix Brack			opp-hz = /bits/ 64 <720000000>;
117*fdce9d35SFelix Brack			opp-microvolt = <1260000 1234800 1285200>;
118*fdce9d35SFelix Brack			opp-supported-hw = <0x01 0xFFFF>;
119*fdce9d35SFelix Brack		};
120*fdce9d35SFelix Brack
121*fdce9d35SFelix Brack		oppturbo-800000000 {
122*fdce9d35SFelix Brack			opp-hz = /bits/ 64 <800000000>;
123*fdce9d35SFelix Brack			opp-microvolt = <1260000 1234800 1285200>;
124*fdce9d35SFelix Brack			opp-supported-hw = <0x06 0x0100>;
125*fdce9d35SFelix Brack		};
126*fdce9d35SFelix Brack
127*fdce9d35SFelix Brack		oppnitro-1000000000 {
128*fdce9d35SFelix Brack			opp-hz = /bits/ 64 <1000000000>;
129*fdce9d35SFelix Brack			opp-microvolt = <1325000 1298500 1351500>;
130*fdce9d35SFelix Brack			opp-supported-hw = <0x04 0x0200>;
131*fdce9d35SFelix Brack		};
132*fdce9d35SFelix Brack	};
133*fdce9d35SFelix Brack
134*fdce9d35SFelix Brack	pmu@4b000000 {
1351480fdf8STom Rini		compatible = "arm,cortex-a8-pmu";
1361480fdf8STom Rini		interrupts = <3>;
137*fdce9d35SFelix Brack		reg = <0x4b000000 0x1000000>;
138*fdce9d35SFelix Brack		ti,hwmods = "debugss";
1391480fdf8STom Rini	};
1401480fdf8STom Rini
1415cc16cbfSSimon Glass	/*
1421480fdf8STom Rini	 * The soc node represents the soc top level view. It is used for IPs
1435cc16cbfSSimon Glass	 * that are not memory mapped in the MPU view or for the MPU itself.
1445cc16cbfSSimon Glass	 */
1455cc16cbfSSimon Glass	soc {
1465cc16cbfSSimon Glass		compatible = "ti,omap-infra";
1475cc16cbfSSimon Glass		mpu {
1485cc16cbfSSimon Glass			compatible = "ti,omap3-mpu";
1495cc16cbfSSimon Glass			ti,hwmods = "mpu";
150*fdce9d35SFelix Brack			pm-sram = <&pm_sram_code
151*fdce9d35SFelix Brack				   &pm_sram_data>;
1525cc16cbfSSimon Glass		};
1535cc16cbfSSimon Glass	};
1545cc16cbfSSimon Glass
1555cc16cbfSSimon Glass	/*
1565cc16cbfSSimon Glass	 * XXX: Use a flat representation of the AM33XX interconnect.
1575cc16cbfSSimon Glass	 * The real AM33XX interconnect network is quite complex. Since
1581480fdf8STom Rini	 * it will not bring real advantage to represent that in DT
1595cc16cbfSSimon Glass	 * for the moment, just use a fake OCP bus entry to represent
1605cc16cbfSSimon Glass	 * the whole bus hierarchy.
1615cc16cbfSSimon Glass	 */
1625cc16cbfSSimon Glass	ocp {
1635cc16cbfSSimon Glass		compatible = "simple-bus";
1645cc16cbfSSimon Glass		#address-cells = <1>;
1655cc16cbfSSimon Glass		#size-cells = <1>;
1665cc16cbfSSimon Glass		ranges;
1675cc16cbfSSimon Glass		ti,hwmods = "l3_main";
1685cc16cbfSSimon Glass
1691480fdf8STom Rini		l4_wkup: l4_wkup@44c00000 {
1701480fdf8STom Rini			compatible = "ti,am3-l4-wkup", "simple-bus";
1711480fdf8STom Rini			#address-cells = <1>;
1721480fdf8STom Rini			#size-cells = <1>;
1731480fdf8STom Rini			ranges = <0 0x44c00000 0x280000>;
1741480fdf8STom Rini
175*fdce9d35SFelix Brack			wkup_m3: wkup_m3@100000 {
176*fdce9d35SFelix Brack				compatible = "ti,am3352-wkup-m3";
177*fdce9d35SFelix Brack				reg = <0x100000 0x4000>,
178*fdce9d35SFelix Brack				      <0x180000	0x2000>;
179*fdce9d35SFelix Brack				reg-names = "umem", "dmem";
180*fdce9d35SFelix Brack				ti,hwmods = "wkup_m3";
181*fdce9d35SFelix Brack				ti,pm-firmware = "am335x-pm-firmware.elf";
182*fdce9d35SFelix Brack			};
183*fdce9d35SFelix Brack
1841480fdf8STom Rini			prcm: prcm@200000 {
185*fdce9d35SFelix Brack				compatible = "ti,am3-prcm", "simple-bus";
1861480fdf8STom Rini				reg = <0x200000 0x4000>;
187*fdce9d35SFelix Brack				#address-cells = <1>;
188*fdce9d35SFelix Brack				#size-cells = <1>;
189*fdce9d35SFelix Brack				ranges = <0 0x200000 0x4000>;
1901480fdf8STom Rini
1911480fdf8STom Rini				prcm_clocks: clocks {
1921480fdf8STom Rini					#address-cells = <1>;
1931480fdf8STom Rini					#size-cells = <0>;
1941480fdf8STom Rini				};
1951480fdf8STom Rini
1961480fdf8STom Rini				prcm_clockdomains: clockdomains {
1971480fdf8STom Rini				};
1981480fdf8STom Rini			};
1991480fdf8STom Rini
2001480fdf8STom Rini			scm: scm@210000 {
2011480fdf8STom Rini				compatible = "ti,am3-scm", "simple-bus";
2021480fdf8STom Rini				reg = <0x210000 0x2000>;
2031480fdf8STom Rini				#address-cells = <1>;
2041480fdf8STom Rini				#size-cells = <1>;
205*fdce9d35SFelix Brack				#pinctrl-cells = <1>;
2061480fdf8STom Rini				ranges = <0 0x210000 0x2000>;
2071480fdf8STom Rini
2081480fdf8STom Rini				am33xx_pinmux: pinmux@800 {
2091480fdf8STom Rini					compatible = "pinctrl-single";
2101480fdf8STom Rini					reg = <0x800 0x238>;
2111480fdf8STom Rini					#address-cells = <1>;
2121480fdf8STom Rini					#size-cells = <0>;
213*fdce9d35SFelix Brack					#pinctrl-cells = <1>;
2141480fdf8STom Rini					pinctrl-single,register-width = <32>;
2151480fdf8STom Rini					pinctrl-single,function-mask = <0x7f>;
2161480fdf8STom Rini				};
2171480fdf8STom Rini
2181480fdf8STom Rini				scm_conf: scm_conf@0 {
219*fdce9d35SFelix Brack					compatible = "syscon", "simple-bus";
2201480fdf8STom Rini					reg = <0x0 0x800>;
2211480fdf8STom Rini					#address-cells = <1>;
2221480fdf8STom Rini					#size-cells = <1>;
223*fdce9d35SFelix Brack					ranges = <0 0 0x800>;
2241480fdf8STom Rini
2251480fdf8STom Rini					scm_clocks: clocks {
2261480fdf8STom Rini						#address-cells = <1>;
2271480fdf8STom Rini						#size-cells = <0>;
2281480fdf8STom Rini					};
2291480fdf8STom Rini				};
2301480fdf8STom Rini
231*fdce9d35SFelix Brack				wkup_m3_ipc: wkup_m3_ipc@1324 {
232*fdce9d35SFelix Brack					compatible = "ti,am3352-wkup-m3-ipc";
233*fdce9d35SFelix Brack					reg = <0x1324 0x24>;
234*fdce9d35SFelix Brack					interrupts = <78>;
235*fdce9d35SFelix Brack					ti,rproc = <&wkup_m3>;
236*fdce9d35SFelix Brack					mboxes = <&mailbox &mbox_wkupm3>;
237*fdce9d35SFelix Brack				};
238*fdce9d35SFelix Brack
239*fdce9d35SFelix Brack				edma_xbar: dma-router@f90 {
240*fdce9d35SFelix Brack					compatible = "ti,am335x-edma-crossbar";
241*fdce9d35SFelix Brack					reg = <0xf90 0x40>;
242*fdce9d35SFelix Brack					#dma-cells = <3>;
243*fdce9d35SFelix Brack					dma-requests = <32>;
244*fdce9d35SFelix Brack					dma-masters = <&edma>;
245*fdce9d35SFelix Brack				};
246*fdce9d35SFelix Brack
2471480fdf8STom Rini				scm_clockdomains: clockdomains {
2481480fdf8STom Rini				};
2491480fdf8STom Rini			};
2501480fdf8STom Rini		};
2511480fdf8STom Rini
2525cc16cbfSSimon Glass		intc: interrupt-controller@48200000 {
2531480fdf8STom Rini			compatible = "ti,am33xx-intc";
2545cc16cbfSSimon Glass			interrupt-controller;
2555cc16cbfSSimon Glass			#interrupt-cells = <1>;
2565cc16cbfSSimon Glass			reg = <0x48200000 0x1000>;
2575cc16cbfSSimon Glass		};
2585cc16cbfSSimon Glass
2591480fdf8STom Rini		edma: edma@49000000 {
260*fdce9d35SFelix Brack			compatible = "ti,edma3-tpcc";
261*fdce9d35SFelix Brack			ti,hwmods = "tpcc";
262*fdce9d35SFelix Brack			reg =	<0x49000000 0x10000>;
263*fdce9d35SFelix Brack			reg-names = "edma3_cc";
2641480fdf8STom Rini			interrupts = <12 13 14>;
265*fdce9d35SFelix Brack			interrupt-names = "edma3_ccint", "edma3_mperr",
266*fdce9d35SFelix Brack					  "edma3_ccerrint";
267*fdce9d35SFelix Brack			dma-requests = <64>;
268*fdce9d35SFelix Brack			#dma-cells = <2>;
269*fdce9d35SFelix Brack
270*fdce9d35SFelix Brack			ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
271*fdce9d35SFelix Brack				   <&edma_tptc2 0>;
272*fdce9d35SFelix Brack
273*fdce9d35SFelix Brack			ti,edma-memcpy-channels = <20 21>;
274*fdce9d35SFelix Brack		};
275*fdce9d35SFelix Brack
276*fdce9d35SFelix Brack		edma_tptc0: tptc@49800000 {
277*fdce9d35SFelix Brack			compatible = "ti,edma3-tptc";
278*fdce9d35SFelix Brack			ti,hwmods = "tptc0";
279*fdce9d35SFelix Brack			reg =	<0x49800000 0x100000>;
280*fdce9d35SFelix Brack			interrupts = <112>;
281*fdce9d35SFelix Brack			interrupt-names = "edma3_tcerrint";
282*fdce9d35SFelix Brack		};
283*fdce9d35SFelix Brack
284*fdce9d35SFelix Brack		edma_tptc1: tptc@49900000 {
285*fdce9d35SFelix Brack			compatible = "ti,edma3-tptc";
286*fdce9d35SFelix Brack			ti,hwmods = "tptc1";
287*fdce9d35SFelix Brack			reg =	<0x49900000 0x100000>;
288*fdce9d35SFelix Brack			interrupts = <113>;
289*fdce9d35SFelix Brack			interrupt-names = "edma3_tcerrint";
290*fdce9d35SFelix Brack		};
291*fdce9d35SFelix Brack
292*fdce9d35SFelix Brack		edma_tptc2: tptc@49a00000 {
293*fdce9d35SFelix Brack			compatible = "ti,edma3-tptc";
294*fdce9d35SFelix Brack			ti,hwmods = "tptc2";
295*fdce9d35SFelix Brack			reg =	<0x49a00000 0x100000>;
296*fdce9d35SFelix Brack			interrupts = <114>;
297*fdce9d35SFelix Brack			interrupt-names = "edma3_tcerrint";
2981480fdf8STom Rini		};
2991480fdf8STom Rini
3005cc16cbfSSimon Glass		gpio0: gpio@44e07000 {
3015cc16cbfSSimon Glass			compatible = "ti,omap4-gpio";
3025cc16cbfSSimon Glass			ti,hwmods = "gpio1";
3035cc16cbfSSimon Glass			gpio-controller;
3045cc16cbfSSimon Glass			#gpio-cells = <2>;
3055cc16cbfSSimon Glass			interrupt-controller;
3061480fdf8STom Rini			#interrupt-cells = <2>;
3075cc16cbfSSimon Glass			reg = <0x44e07000 0x1000>;
3085cc16cbfSSimon Glass			interrupts = <96>;
3095cc16cbfSSimon Glass		};
3105cc16cbfSSimon Glass
3115cc16cbfSSimon Glass		gpio1: gpio@4804c000 {
3125cc16cbfSSimon Glass			compatible = "ti,omap4-gpio";
3135cc16cbfSSimon Glass			ti,hwmods = "gpio2";
3145cc16cbfSSimon Glass			gpio-controller;
3155cc16cbfSSimon Glass			#gpio-cells = <2>;
3165cc16cbfSSimon Glass			interrupt-controller;
3171480fdf8STom Rini			#interrupt-cells = <2>;
3185cc16cbfSSimon Glass			reg = <0x4804c000 0x1000>;
3195cc16cbfSSimon Glass			interrupts = <98>;
3205cc16cbfSSimon Glass		};
3215cc16cbfSSimon Glass
3225cc16cbfSSimon Glass		gpio2: gpio@481ac000 {
3235cc16cbfSSimon Glass			compatible = "ti,omap4-gpio";
3245cc16cbfSSimon Glass			ti,hwmods = "gpio3";
3255cc16cbfSSimon Glass			gpio-controller;
3265cc16cbfSSimon Glass			#gpio-cells = <2>;
3275cc16cbfSSimon Glass			interrupt-controller;
3281480fdf8STom Rini			#interrupt-cells = <2>;
3295cc16cbfSSimon Glass			reg = <0x481ac000 0x1000>;
3305cc16cbfSSimon Glass			interrupts = <32>;
3315cc16cbfSSimon Glass		};
3325cc16cbfSSimon Glass
3335cc16cbfSSimon Glass		gpio3: gpio@481ae000 {
3345cc16cbfSSimon Glass			compatible = "ti,omap4-gpio";
3355cc16cbfSSimon Glass			ti,hwmods = "gpio4";
3365cc16cbfSSimon Glass			gpio-controller;
3375cc16cbfSSimon Glass			#gpio-cells = <2>;
3385cc16cbfSSimon Glass			interrupt-controller;
3391480fdf8STom Rini			#interrupt-cells = <2>;
3405cc16cbfSSimon Glass			reg = <0x481ae000 0x1000>;
3415cc16cbfSSimon Glass			interrupts = <62>;
3425cc16cbfSSimon Glass		};
3435cc16cbfSSimon Glass
3445cc16cbfSSimon Glass		uart0: serial@44e09000 {
345*fdce9d35SFelix Brack			compatible = "ti,am3352-uart", "ti,omap3-uart";
3465cc16cbfSSimon Glass			ti,hwmods = "uart1";
3475cc16cbfSSimon Glass			clock-frequency = <48000000>;
3485cc16cbfSSimon Glass			reg = <0x44e09000 0x2000>;
3495cc16cbfSSimon Glass			interrupts = <72>;
3505cc16cbfSSimon Glass			status = "disabled";
351*fdce9d35SFelix Brack			dmas = <&edma 26 0>, <&edma 27 0>;
3521480fdf8STom Rini			dma-names = "tx", "rx";
3535cc16cbfSSimon Glass		};
3545cc16cbfSSimon Glass
3555cc16cbfSSimon Glass		uart1: serial@48022000 {
356*fdce9d35SFelix Brack			compatible = "ti,am3352-uart", "ti,omap3-uart";
3575cc16cbfSSimon Glass			ti,hwmods = "uart2";
3585cc16cbfSSimon Glass			clock-frequency = <48000000>;
3595cc16cbfSSimon Glass			reg = <0x48022000 0x2000>;
3605cc16cbfSSimon Glass			interrupts = <73>;
3615cc16cbfSSimon Glass			status = "disabled";
362*fdce9d35SFelix Brack			dmas = <&edma 28 0>, <&edma 29 0>;
3631480fdf8STom Rini			dma-names = "tx", "rx";
3645cc16cbfSSimon Glass		};
3655cc16cbfSSimon Glass
3665cc16cbfSSimon Glass		uart2: serial@48024000 {
367*fdce9d35SFelix Brack			compatible = "ti,am3352-uart", "ti,omap3-uart";
3685cc16cbfSSimon Glass			ti,hwmods = "uart3";
3695cc16cbfSSimon Glass			clock-frequency = <48000000>;
3705cc16cbfSSimon Glass			reg = <0x48024000 0x2000>;
3715cc16cbfSSimon Glass			interrupts = <74>;
3725cc16cbfSSimon Glass			status = "disabled";
373*fdce9d35SFelix Brack			dmas = <&edma 30 0>, <&edma 31 0>;
3741480fdf8STom Rini			dma-names = "tx", "rx";
3755cc16cbfSSimon Glass		};
3765cc16cbfSSimon Glass
3775cc16cbfSSimon Glass		uart3: serial@481a6000 {
378*fdce9d35SFelix Brack			compatible = "ti,am3352-uart", "ti,omap3-uart";
3795cc16cbfSSimon Glass			ti,hwmods = "uart4";
3805cc16cbfSSimon Glass			clock-frequency = <48000000>;
3815cc16cbfSSimon Glass			reg = <0x481a6000 0x2000>;
3825cc16cbfSSimon Glass			interrupts = <44>;
3835cc16cbfSSimon Glass			status = "disabled";
3845cc16cbfSSimon Glass		};
3855cc16cbfSSimon Glass
3865cc16cbfSSimon Glass		uart4: serial@481a8000 {
387*fdce9d35SFelix Brack			compatible = "ti,am3352-uart", "ti,omap3-uart";
3885cc16cbfSSimon Glass			ti,hwmods = "uart5";
3895cc16cbfSSimon Glass			clock-frequency = <48000000>;
3905cc16cbfSSimon Glass			reg = <0x481a8000 0x2000>;
3915cc16cbfSSimon Glass			interrupts = <45>;
3925cc16cbfSSimon Glass			status = "disabled";
3935cc16cbfSSimon Glass		};
3945cc16cbfSSimon Glass
3955cc16cbfSSimon Glass		uart5: serial@481aa000 {
396*fdce9d35SFelix Brack			compatible = "ti,am3352-uart", "ti,omap3-uart";
3975cc16cbfSSimon Glass			ti,hwmods = "uart6";
3985cc16cbfSSimon Glass			clock-frequency = <48000000>;
3995cc16cbfSSimon Glass			reg = <0x481aa000 0x2000>;
4005cc16cbfSSimon Glass			interrupts = <46>;
4015cc16cbfSSimon Glass			status = "disabled";
4025cc16cbfSSimon Glass		};
4035cc16cbfSSimon Glass
4045cc16cbfSSimon Glass		i2c0: i2c@44e0b000 {
4055cc16cbfSSimon Glass			compatible = "ti,omap4-i2c";
4065cc16cbfSSimon Glass			#address-cells = <1>;
4075cc16cbfSSimon Glass			#size-cells = <0>;
4085cc16cbfSSimon Glass			ti,hwmods = "i2c1";
4095cc16cbfSSimon Glass			reg = <0x44e0b000 0x1000>;
4105cc16cbfSSimon Glass			interrupts = <70>;
4115cc16cbfSSimon Glass			status = "disabled";
4125cc16cbfSSimon Glass		};
4135cc16cbfSSimon Glass
4145cc16cbfSSimon Glass		i2c1: i2c@4802a000 {
4155cc16cbfSSimon Glass			compatible = "ti,omap4-i2c";
4165cc16cbfSSimon Glass			#address-cells = <1>;
4175cc16cbfSSimon Glass			#size-cells = <0>;
4185cc16cbfSSimon Glass			ti,hwmods = "i2c2";
4195cc16cbfSSimon Glass			reg = <0x4802a000 0x1000>;
4205cc16cbfSSimon Glass			interrupts = <71>;
4215cc16cbfSSimon Glass			status = "disabled";
4225cc16cbfSSimon Glass		};
4235cc16cbfSSimon Glass
4245cc16cbfSSimon Glass		i2c2: i2c@4819c000 {
4255cc16cbfSSimon Glass			compatible = "ti,omap4-i2c";
4265cc16cbfSSimon Glass			#address-cells = <1>;
4275cc16cbfSSimon Glass			#size-cells = <0>;
4285cc16cbfSSimon Glass			ti,hwmods = "i2c3";
4295cc16cbfSSimon Glass			reg = <0x4819c000 0x1000>;
4305cc16cbfSSimon Glass			interrupts = <30>;
4315cc16cbfSSimon Glass			status = "disabled";
4325cc16cbfSSimon Glass		};
4335cc16cbfSSimon Glass
4341480fdf8STom Rini		mmc1: mmc@48060000 {
4351480fdf8STom Rini			compatible = "ti,omap4-hsmmc";
4361480fdf8STom Rini			ti,hwmods = "mmc1";
4371480fdf8STom Rini			ti,dual-volt;
4381480fdf8STom Rini			ti,needs-special-reset;
4391480fdf8STom Rini			ti,needs-special-hs-handling;
440*fdce9d35SFelix Brack			dmas = <&edma_xbar 24 0 0
441*fdce9d35SFelix Brack				&edma_xbar 25 0 0>;
4421480fdf8STom Rini			dma-names = "tx", "rx";
4431480fdf8STom Rini			interrupts = <64>;
4441480fdf8STom Rini			reg = <0x48060000 0x1000>;
4451480fdf8STom Rini			status = "disabled";
4461480fdf8STom Rini		};
4471480fdf8STom Rini
4481480fdf8STom Rini		mmc2: mmc@481d8000 {
4491480fdf8STom Rini			compatible = "ti,omap4-hsmmc";
4501480fdf8STom Rini			ti,hwmods = "mmc2";
4511480fdf8STom Rini			ti,needs-special-reset;
452*fdce9d35SFelix Brack			dmas = <&edma 2 0
453*fdce9d35SFelix Brack				&edma 3 0>;
4541480fdf8STom Rini			dma-names = "tx", "rx";
4551480fdf8STom Rini			interrupts = <28>;
4561480fdf8STom Rini			reg = <0x481d8000 0x1000>;
4571480fdf8STom Rini			status = "disabled";
4581480fdf8STom Rini		};
4591480fdf8STom Rini
4601480fdf8STom Rini		mmc3: mmc@47810000 {
4611480fdf8STom Rini			compatible = "ti,omap4-hsmmc";
4621480fdf8STom Rini			ti,hwmods = "mmc3";
4631480fdf8STom Rini			ti,needs-special-reset;
4641480fdf8STom Rini			interrupts = <29>;
4651480fdf8STom Rini			reg = <0x47810000 0x1000>;
4661480fdf8STom Rini			status = "disabled";
4671480fdf8STom Rini		};
4681480fdf8STom Rini
4691480fdf8STom Rini		hwspinlock: spinlock@480ca000 {
4701480fdf8STom Rini			compatible = "ti,omap4-hwspinlock";
4711480fdf8STom Rini			reg = <0x480ca000 0x1000>;
4721480fdf8STom Rini			ti,hwmods = "spinlock";
4731480fdf8STom Rini			#hwlock-cells = <1>;
4741480fdf8STom Rini		};
4751480fdf8STom Rini
4765cc16cbfSSimon Glass		wdt2: wdt@44e35000 {
4775cc16cbfSSimon Glass			compatible = "ti,omap3-wdt";
4785cc16cbfSSimon Glass			ti,hwmods = "wd_timer2";
4795cc16cbfSSimon Glass			reg = <0x44e35000 0x1000>;
4805cc16cbfSSimon Glass			interrupts = <91>;
4815cc16cbfSSimon Glass		};
4825cc16cbfSSimon Glass
4831480fdf8STom Rini		dcan0: can@481cc000 {
4841480fdf8STom Rini			compatible = "ti,am3352-d_can";
4855cc16cbfSSimon Glass			ti,hwmods = "d_can0";
4861480fdf8STom Rini			reg = <0x481cc000 0x2000>;
4871480fdf8STom Rini			clocks = <&dcan0_fck>;
4881480fdf8STom Rini			clock-names = "fck";
4891480fdf8STom Rini			syscon-raminit = <&scm_conf 0x644 0>;
4905cc16cbfSSimon Glass			interrupts = <52>;
4915cc16cbfSSimon Glass			status = "disabled";
4925cc16cbfSSimon Glass		};
4935cc16cbfSSimon Glass
4941480fdf8STom Rini		dcan1: can@481d0000 {
4951480fdf8STom Rini			compatible = "ti,am3352-d_can";
4965cc16cbfSSimon Glass			ti,hwmods = "d_can1";
4971480fdf8STom Rini			reg = <0x481d0000 0x2000>;
4981480fdf8STom Rini			clocks = <&dcan1_fck>;
4991480fdf8STom Rini			clock-names = "fck";
5001480fdf8STom Rini			syscon-raminit = <&scm_conf 0x644 1>;
5015cc16cbfSSimon Glass			interrupts = <55>;
5025cc16cbfSSimon Glass			status = "disabled";
5035cc16cbfSSimon Glass		};
5045cc16cbfSSimon Glass
505*fdce9d35SFelix Brack		mailbox: mailbox@480c8000 {
5061480fdf8STom Rini			compatible = "ti,omap4-mailbox";
5071480fdf8STom Rini			reg = <0x480C8000 0x200>;
5081480fdf8STom Rini			interrupts = <77>;
5091480fdf8STom Rini			ti,hwmods = "mailbox";
5101480fdf8STom Rini			#mbox-cells = <1>;
5111480fdf8STom Rini			ti,mbox-num-users = <4>;
5121480fdf8STom Rini			ti,mbox-num-fifos = <8>;
5131480fdf8STom Rini			mbox_wkupm3: wkup_m3 {
514*fdce9d35SFelix Brack				ti,mbox-send-noirq;
5151480fdf8STom Rini				ti,mbox-tx = <0 0 0>;
5161480fdf8STom Rini				ti,mbox-rx = <0 0 3>;
5171480fdf8STom Rini			};
5181480fdf8STom Rini		};
5191480fdf8STom Rini
5205cc16cbfSSimon Glass		timer1: timer@44e31000 {
5215cc16cbfSSimon Glass			compatible = "ti,am335x-timer-1ms";
5225cc16cbfSSimon Glass			reg = <0x44e31000 0x400>;
5235cc16cbfSSimon Glass			interrupts = <67>;
5245cc16cbfSSimon Glass			ti,hwmods = "timer1";
5255cc16cbfSSimon Glass			ti,timer-alwon;
526*fdce9d35SFelix Brack			clocks = <&timer1_fck>;
527*fdce9d35SFelix Brack			clock-names = "fck";
5285cc16cbfSSimon Glass		};
5295cc16cbfSSimon Glass
5305cc16cbfSSimon Glass		timer2: timer@48040000 {
5315cc16cbfSSimon Glass			compatible = "ti,am335x-timer";
5325cc16cbfSSimon Glass			reg = <0x48040000 0x400>;
5335cc16cbfSSimon Glass			interrupts = <68>;
5345cc16cbfSSimon Glass			ti,hwmods = "timer2";
535*fdce9d35SFelix Brack			clocks = <&timer2_fck>;
536*fdce9d35SFelix Brack			clock-names = "fck";
5375cc16cbfSSimon Glass		};
5385cc16cbfSSimon Glass
5395cc16cbfSSimon Glass		timer3: timer@48042000 {
5405cc16cbfSSimon Glass			compatible = "ti,am335x-timer";
5415cc16cbfSSimon Glass			reg = <0x48042000 0x400>;
5425cc16cbfSSimon Glass			interrupts = <69>;
5435cc16cbfSSimon Glass			ti,hwmods = "timer3";
5445cc16cbfSSimon Glass		};
5455cc16cbfSSimon Glass
5465cc16cbfSSimon Glass		timer4: timer@48044000 {
5475cc16cbfSSimon Glass			compatible = "ti,am335x-timer";
5485cc16cbfSSimon Glass			reg = <0x48044000 0x400>;
5495cc16cbfSSimon Glass			interrupts = <92>;
5505cc16cbfSSimon Glass			ti,hwmods = "timer4";
5515cc16cbfSSimon Glass			ti,timer-pwm;
5525cc16cbfSSimon Glass		};
5535cc16cbfSSimon Glass
5545cc16cbfSSimon Glass		timer5: timer@48046000 {
5555cc16cbfSSimon Glass			compatible = "ti,am335x-timer";
5565cc16cbfSSimon Glass			reg = <0x48046000 0x400>;
5575cc16cbfSSimon Glass			interrupts = <93>;
5585cc16cbfSSimon Glass			ti,hwmods = "timer5";
5595cc16cbfSSimon Glass			ti,timer-pwm;
5605cc16cbfSSimon Glass		};
5615cc16cbfSSimon Glass
5625cc16cbfSSimon Glass		timer6: timer@48048000 {
5635cc16cbfSSimon Glass			compatible = "ti,am335x-timer";
5645cc16cbfSSimon Glass			reg = <0x48048000 0x400>;
5655cc16cbfSSimon Glass			interrupts = <94>;
5665cc16cbfSSimon Glass			ti,hwmods = "timer6";
5675cc16cbfSSimon Glass			ti,timer-pwm;
5685cc16cbfSSimon Glass		};
5695cc16cbfSSimon Glass
5705cc16cbfSSimon Glass		timer7: timer@4804a000 {
5715cc16cbfSSimon Glass			compatible = "ti,am335x-timer";
5725cc16cbfSSimon Glass			reg = <0x4804a000 0x400>;
5735cc16cbfSSimon Glass			interrupts = <95>;
5745cc16cbfSSimon Glass			ti,hwmods = "timer7";
5755cc16cbfSSimon Glass			ti,timer-pwm;
5765cc16cbfSSimon Glass		};
5775cc16cbfSSimon Glass
5781480fdf8STom Rini		rtc: rtc@44e3e000 {
5791480fdf8STom Rini			compatible = "ti,am3352-rtc", "ti,da830-rtc";
5805cc16cbfSSimon Glass			reg = <0x44e3e000 0x1000>;
5815cc16cbfSSimon Glass			interrupts = <75
5825cc16cbfSSimon Glass				      76>;
5835cc16cbfSSimon Glass			ti,hwmods = "rtc";
584*fdce9d35SFelix Brack			clocks = <&l4_per_clkctrl AM3_CLKDIV32K_CLKCTRL 0>;
585*fdce9d35SFelix Brack			clock-names = "int-clk";
5865cc16cbfSSimon Glass		};
5875cc16cbfSSimon Glass
5885cc16cbfSSimon Glass		spi0: spi@48030000 {
5895cc16cbfSSimon Glass			compatible = "ti,omap4-mcspi";
5905cc16cbfSSimon Glass			#address-cells = <1>;
5915cc16cbfSSimon Glass			#size-cells = <0>;
5925cc16cbfSSimon Glass			reg = <0x48030000 0x400>;
5935cc16cbfSSimon Glass			interrupts = <65>;
5945cc16cbfSSimon Glass			ti,spi-num-cs = <2>;
5955cc16cbfSSimon Glass			ti,hwmods = "spi0";
596*fdce9d35SFelix Brack			dmas = <&edma 16 0
597*fdce9d35SFelix Brack				&edma 17 0
598*fdce9d35SFelix Brack				&edma 18 0
599*fdce9d35SFelix Brack				&edma 19 0>;
6001480fdf8STom Rini			dma-names = "tx0", "rx0", "tx1", "rx1";
6015cc16cbfSSimon Glass			status = "disabled";
6025cc16cbfSSimon Glass		};
6035cc16cbfSSimon Glass
6045cc16cbfSSimon Glass		spi1: spi@481a0000 {
6055cc16cbfSSimon Glass			compatible = "ti,omap4-mcspi";
6065cc16cbfSSimon Glass			#address-cells = <1>;
6075cc16cbfSSimon Glass			#size-cells = <0>;
6085cc16cbfSSimon Glass			reg = <0x481a0000 0x400>;
6095cc16cbfSSimon Glass			interrupts = <125>;
6105cc16cbfSSimon Glass			ti,spi-num-cs = <2>;
6115cc16cbfSSimon Glass			ti,hwmods = "spi1";
612*fdce9d35SFelix Brack			dmas = <&edma 42 0
613*fdce9d35SFelix Brack				&edma 43 0
614*fdce9d35SFelix Brack				&edma 44 0
615*fdce9d35SFelix Brack				&edma 45 0>;
6161480fdf8STom Rini			dma-names = "tx0", "rx0", "tx1", "rx1";
6175cc16cbfSSimon Glass			status = "disabled";
6185cc16cbfSSimon Glass		};
6195cc16cbfSSimon Glass
6205cc16cbfSSimon Glass		usb: usb@47400000 {
6215cc16cbfSSimon Glass			compatible = "ti,am33xx-usb";
6225cc16cbfSSimon Glass			reg = <0x47400000 0x1000>;
6235cc16cbfSSimon Glass			ranges;
6245cc16cbfSSimon Glass			#address-cells = <1>;
6255cc16cbfSSimon Glass			#size-cells = <1>;
6265cc16cbfSSimon Glass			ti,hwmods = "usb_otg_hs";
6275cc16cbfSSimon Glass			status = "disabled";
6285cc16cbfSSimon Glass
6291480fdf8STom Rini			usb_ctrl_mod: control@44e10620 {
6305cc16cbfSSimon Glass				compatible = "ti,am335x-usb-ctrl-module";
6315cc16cbfSSimon Glass				reg = <0x44e10620 0x10
6325cc16cbfSSimon Glass					0x44e10648 0x4>;
6335cc16cbfSSimon Glass				reg-names = "phy_ctrl", "wakeup";
6345cc16cbfSSimon Glass				status = "disabled";
6355cc16cbfSSimon Glass			};
6365cc16cbfSSimon Glass
6375cc16cbfSSimon Glass			usb0_phy: usb-phy@47401300 {
6385cc16cbfSSimon Glass				compatible = "ti,am335x-usb-phy";
6395cc16cbfSSimon Glass				reg = <0x47401300 0x100>;
6405cc16cbfSSimon Glass				reg-names = "phy";
6415cc16cbfSSimon Glass				status = "disabled";
6421480fdf8STom Rini				ti,ctrl_mod = <&usb_ctrl_mod>;
643*fdce9d35SFelix Brack				#phy-cells = <0>;
6445cc16cbfSSimon Glass			};
6455cc16cbfSSimon Glass
6465cc16cbfSSimon Glass			usb0: usb@47401000 {
6475cc16cbfSSimon Glass				compatible = "ti,musb-am33xx";
6485cc16cbfSSimon Glass				status = "disabled";
6495cc16cbfSSimon Glass				reg = <0x47401400 0x400
6505cc16cbfSSimon Glass					0x47401000 0x200>;
6515cc16cbfSSimon Glass				reg-names = "mc", "control";
6525cc16cbfSSimon Glass
6535cc16cbfSSimon Glass				interrupts = <18>;
6545cc16cbfSSimon Glass				interrupt-names = "mc";
6555cc16cbfSSimon Glass				dr_mode = "otg";
6565cc16cbfSSimon Glass				mentor,multipoint = <1>;
6575cc16cbfSSimon Glass				mentor,num-eps = <16>;
6585cc16cbfSSimon Glass				mentor,ram-bits = <12>;
6595cc16cbfSSimon Glass				mentor,power = <500>;
6605cc16cbfSSimon Glass				phys = <&usb0_phy>;
6615cc16cbfSSimon Glass
6625cc16cbfSSimon Glass				dmas = <&cppi41dma  0 0 &cppi41dma  1 0
6635cc16cbfSSimon Glass					&cppi41dma  2 0 &cppi41dma  3 0
6645cc16cbfSSimon Glass					&cppi41dma  4 0 &cppi41dma  5 0
6655cc16cbfSSimon Glass					&cppi41dma  6 0 &cppi41dma  7 0
6665cc16cbfSSimon Glass					&cppi41dma  8 0 &cppi41dma  9 0
6675cc16cbfSSimon Glass					&cppi41dma 10 0 &cppi41dma 11 0
6685cc16cbfSSimon Glass					&cppi41dma 12 0 &cppi41dma 13 0
6695cc16cbfSSimon Glass					&cppi41dma 14 0 &cppi41dma  0 1
6705cc16cbfSSimon Glass					&cppi41dma  1 1 &cppi41dma  2 1
6715cc16cbfSSimon Glass					&cppi41dma  3 1 &cppi41dma  4 1
6725cc16cbfSSimon Glass					&cppi41dma  5 1 &cppi41dma  6 1
6735cc16cbfSSimon Glass					&cppi41dma  7 1 &cppi41dma  8 1
6745cc16cbfSSimon Glass					&cppi41dma  9 1 &cppi41dma 10 1
6755cc16cbfSSimon Glass					&cppi41dma 11 1 &cppi41dma 12 1
6765cc16cbfSSimon Glass					&cppi41dma 13 1 &cppi41dma 14 1>;
6775cc16cbfSSimon Glass				dma-names =
6785cc16cbfSSimon Glass					"rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
6795cc16cbfSSimon Glass					"rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
6805cc16cbfSSimon Glass					"rx14", "rx15",
6815cc16cbfSSimon Glass					"tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
6825cc16cbfSSimon Glass					"tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
6835cc16cbfSSimon Glass					"tx14", "tx15";
6845cc16cbfSSimon Glass			};
6855cc16cbfSSimon Glass
6865cc16cbfSSimon Glass			usb1_phy: usb-phy@47401b00 {
6875cc16cbfSSimon Glass				compatible = "ti,am335x-usb-phy";
6885cc16cbfSSimon Glass				reg = <0x47401b00 0x100>;
6895cc16cbfSSimon Glass				reg-names = "phy";
6905cc16cbfSSimon Glass				status = "disabled";
6911480fdf8STom Rini				ti,ctrl_mod = <&usb_ctrl_mod>;
692*fdce9d35SFelix Brack				#phy-cells = <0>;
6935cc16cbfSSimon Glass			};
6945cc16cbfSSimon Glass
6955cc16cbfSSimon Glass			usb1: usb@47401800 {
6965cc16cbfSSimon Glass				compatible = "ti,musb-am33xx";
6975cc16cbfSSimon Glass				status = "disabled";
6985cc16cbfSSimon Glass				reg = <0x47401c00 0x400
6995cc16cbfSSimon Glass					0x47401800 0x200>;
7005cc16cbfSSimon Glass				reg-names = "mc", "control";
7015cc16cbfSSimon Glass				interrupts = <19>;
7025cc16cbfSSimon Glass				interrupt-names = "mc";
7035cc16cbfSSimon Glass				dr_mode = "otg";
7045cc16cbfSSimon Glass				mentor,multipoint = <1>;
7055cc16cbfSSimon Glass				mentor,num-eps = <16>;
7065cc16cbfSSimon Glass				mentor,ram-bits = <12>;
7075cc16cbfSSimon Glass				mentor,power = <500>;
7085cc16cbfSSimon Glass				phys = <&usb1_phy>;
7095cc16cbfSSimon Glass
7105cc16cbfSSimon Glass				dmas = <&cppi41dma 15 0 &cppi41dma 16 0
7115cc16cbfSSimon Glass					&cppi41dma 17 0 &cppi41dma 18 0
7125cc16cbfSSimon Glass					&cppi41dma 19 0 &cppi41dma 20 0
7135cc16cbfSSimon Glass					&cppi41dma 21 0 &cppi41dma 22 0
7145cc16cbfSSimon Glass					&cppi41dma 23 0 &cppi41dma 24 0
7155cc16cbfSSimon Glass					&cppi41dma 25 0 &cppi41dma 26 0
7165cc16cbfSSimon Glass					&cppi41dma 27 0 &cppi41dma 28 0
7175cc16cbfSSimon Glass					&cppi41dma 29 0 &cppi41dma 15 1
7185cc16cbfSSimon Glass					&cppi41dma 16 1 &cppi41dma 17 1
7195cc16cbfSSimon Glass					&cppi41dma 18 1 &cppi41dma 19 1
7205cc16cbfSSimon Glass					&cppi41dma 20 1 &cppi41dma 21 1
7215cc16cbfSSimon Glass					&cppi41dma 22 1 &cppi41dma 23 1
7225cc16cbfSSimon Glass					&cppi41dma 24 1 &cppi41dma 25 1
7235cc16cbfSSimon Glass					&cppi41dma 26 1 &cppi41dma 27 1
7245cc16cbfSSimon Glass					&cppi41dma 28 1 &cppi41dma 29 1>;
7255cc16cbfSSimon Glass				dma-names =
7265cc16cbfSSimon Glass					"rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
7275cc16cbfSSimon Glass					"rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
7285cc16cbfSSimon Glass					"rx14", "rx15",
7295cc16cbfSSimon Glass					"tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
7305cc16cbfSSimon Glass					"tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
7315cc16cbfSSimon Glass					"tx14", "tx15";
7325cc16cbfSSimon Glass			};
7335cc16cbfSSimon Glass
7341480fdf8STom Rini			cppi41dma: dma-controller@47402000 {
7355cc16cbfSSimon Glass				compatible = "ti,am3359-cppi41";
7365cc16cbfSSimon Glass				reg =  <0x47400000 0x1000
7375cc16cbfSSimon Glass					0x47402000 0x1000
7385cc16cbfSSimon Glass					0x47403000 0x1000
7395cc16cbfSSimon Glass					0x47404000 0x4000>;
7405cc16cbfSSimon Glass				reg-names = "glue", "controller", "scheduler", "queuemgr";
7415cc16cbfSSimon Glass				interrupts = <17>;
7425cc16cbfSSimon Glass				interrupt-names = "glue";
7435cc16cbfSSimon Glass				#dma-cells = <2>;
7445cc16cbfSSimon Glass				#dma-channels = <30>;
7455cc16cbfSSimon Glass				#dma-requests = <256>;
7465cc16cbfSSimon Glass				status = "disabled";
7475cc16cbfSSimon Glass			};
7485cc16cbfSSimon Glass		};
7495cc16cbfSSimon Glass
7505cc16cbfSSimon Glass		epwmss0: epwmss@48300000 {
7515cc16cbfSSimon Glass			compatible = "ti,am33xx-pwmss";
7525cc16cbfSSimon Glass			reg = <0x48300000 0x10>;
7535cc16cbfSSimon Glass			ti,hwmods = "epwmss0";
7545cc16cbfSSimon Glass			#address-cells = <1>;
7555cc16cbfSSimon Glass			#size-cells = <1>;
7565cc16cbfSSimon Glass			status = "disabled";
7575cc16cbfSSimon Glass			ranges = <0x48300100 0x48300100 0x80   /* ECAP */
7585cc16cbfSSimon Glass				  0x48300180 0x48300180 0x80   /* EQEP */
7595cc16cbfSSimon Glass				  0x48300200 0x48300200 0x80>; /* EHRPWM */
7605cc16cbfSSimon Glass
7615cc16cbfSSimon Glass			ecap0: ecap@48300100 {
762*fdce9d35SFelix Brack				compatible = "ti,am3352-ecap",
763*fdce9d35SFelix Brack					     "ti,am33xx-ecap";
7645cc16cbfSSimon Glass				#pwm-cells = <3>;
7655cc16cbfSSimon Glass				reg = <0x48300100 0x80>;
766*fdce9d35SFelix Brack				clocks = <&l4ls_gclk>;
767*fdce9d35SFelix Brack				clock-names = "fck";
7681480fdf8STom Rini				interrupts = <31>;
7691480fdf8STom Rini				interrupt-names = "ecap0";
7705cc16cbfSSimon Glass				status = "disabled";
7715cc16cbfSSimon Glass			};
7725cc16cbfSSimon Glass
773*fdce9d35SFelix Brack			ehrpwm0: pwm@48300200 {
774*fdce9d35SFelix Brack				compatible = "ti,am3352-ehrpwm",
775*fdce9d35SFelix Brack					     "ti,am33xx-ehrpwm";
7765cc16cbfSSimon Glass				#pwm-cells = <3>;
7775cc16cbfSSimon Glass				reg = <0x48300200 0x80>;
778*fdce9d35SFelix Brack				clocks = <&ehrpwm0_tbclk>, <&l4ls_gclk>;
779*fdce9d35SFelix Brack				clock-names = "tbclk", "fck";
7805cc16cbfSSimon Glass				status = "disabled";
7815cc16cbfSSimon Glass			};
7825cc16cbfSSimon Glass		};
7835cc16cbfSSimon Glass
7845cc16cbfSSimon Glass		epwmss1: epwmss@48302000 {
7855cc16cbfSSimon Glass			compatible = "ti,am33xx-pwmss";
7865cc16cbfSSimon Glass			reg = <0x48302000 0x10>;
7875cc16cbfSSimon Glass			ti,hwmods = "epwmss1";
7885cc16cbfSSimon Glass			#address-cells = <1>;
7895cc16cbfSSimon Glass			#size-cells = <1>;
7905cc16cbfSSimon Glass			status = "disabled";
7915cc16cbfSSimon Glass			ranges = <0x48302100 0x48302100 0x80   /* ECAP */
7925cc16cbfSSimon Glass				  0x48302180 0x48302180 0x80   /* EQEP */
7935cc16cbfSSimon Glass				  0x48302200 0x48302200 0x80>; /* EHRPWM */
7945cc16cbfSSimon Glass
7955cc16cbfSSimon Glass			ecap1: ecap@48302100 {
796*fdce9d35SFelix Brack				compatible = "ti,am3352-ecap",
797*fdce9d35SFelix Brack					     "ti,am33xx-ecap";
7985cc16cbfSSimon Glass				#pwm-cells = <3>;
7995cc16cbfSSimon Glass				reg = <0x48302100 0x80>;
800*fdce9d35SFelix Brack				clocks = <&l4ls_gclk>;
801*fdce9d35SFelix Brack				clock-names = "fck";
8021480fdf8STom Rini				interrupts = <47>;
8031480fdf8STom Rini				interrupt-names = "ecap1";
8045cc16cbfSSimon Glass				status = "disabled";
8055cc16cbfSSimon Glass			};
8065cc16cbfSSimon Glass
807*fdce9d35SFelix Brack			ehrpwm1: pwm@48302200 {
808*fdce9d35SFelix Brack				compatible = "ti,am3352-ehrpwm",
809*fdce9d35SFelix Brack					     "ti,am33xx-ehrpwm";
8105cc16cbfSSimon Glass				#pwm-cells = <3>;
8115cc16cbfSSimon Glass				reg = <0x48302200 0x80>;
812*fdce9d35SFelix Brack				clocks = <&ehrpwm1_tbclk>, <&l4ls_gclk>;
813*fdce9d35SFelix Brack				clock-names = "tbclk", "fck";
8145cc16cbfSSimon Glass				status = "disabled";
8155cc16cbfSSimon Glass			};
8165cc16cbfSSimon Glass		};
8175cc16cbfSSimon Glass
8185cc16cbfSSimon Glass		epwmss2: epwmss@48304000 {
8195cc16cbfSSimon Glass			compatible = "ti,am33xx-pwmss";
8205cc16cbfSSimon Glass			reg = <0x48304000 0x10>;
8215cc16cbfSSimon Glass			ti,hwmods = "epwmss2";
8225cc16cbfSSimon Glass			#address-cells = <1>;
8235cc16cbfSSimon Glass			#size-cells = <1>;
8245cc16cbfSSimon Glass			status = "disabled";
8255cc16cbfSSimon Glass			ranges = <0x48304100 0x48304100 0x80   /* ECAP */
8265cc16cbfSSimon Glass				  0x48304180 0x48304180 0x80   /* EQEP */
8275cc16cbfSSimon Glass				  0x48304200 0x48304200 0x80>; /* EHRPWM */
8285cc16cbfSSimon Glass
8295cc16cbfSSimon Glass			ecap2: ecap@48304100 {
830*fdce9d35SFelix Brack				compatible = "ti,am3352-ecap",
831*fdce9d35SFelix Brack					     "ti,am33xx-ecap";
8325cc16cbfSSimon Glass				#pwm-cells = <3>;
8335cc16cbfSSimon Glass				reg = <0x48304100 0x80>;
834*fdce9d35SFelix Brack				clocks = <&l4ls_gclk>;
835*fdce9d35SFelix Brack				clock-names = "fck";
8361480fdf8STom Rini				interrupts = <61>;
8371480fdf8STom Rini				interrupt-names = "ecap2";
8385cc16cbfSSimon Glass				status = "disabled";
8395cc16cbfSSimon Glass			};
8405cc16cbfSSimon Glass
841*fdce9d35SFelix Brack			ehrpwm2: pwm@48304200 {
842*fdce9d35SFelix Brack				compatible = "ti,am3352-ehrpwm",
843*fdce9d35SFelix Brack					     "ti,am33xx-ehrpwm";
8445cc16cbfSSimon Glass				#pwm-cells = <3>;
8455cc16cbfSSimon Glass				reg = <0x48304200 0x80>;
846*fdce9d35SFelix Brack				clocks = <&ehrpwm2_tbclk>, <&l4ls_gclk>;
847*fdce9d35SFelix Brack				clock-names = "tbclk", "fck";
8485cc16cbfSSimon Glass				status = "disabled";
8495cc16cbfSSimon Glass			};
8505cc16cbfSSimon Glass		};
8515cc16cbfSSimon Glass
8525cc16cbfSSimon Glass		mac: ethernet@4a100000 {
853*fdce9d35SFelix Brack			compatible = "ti,am335x-cpsw","ti,cpsw";
8545cc16cbfSSimon Glass			ti,hwmods = "cpgmac0";
8551480fdf8STom Rini			clocks = <&cpsw_125mhz_gclk>, <&cpsw_cpts_rft_clk>;
8561480fdf8STom Rini			clock-names = "fck", "cpts";
8575cc16cbfSSimon Glass			cpdma_channels = <8>;
8585cc16cbfSSimon Glass			ale_entries = <1024>;
8595cc16cbfSSimon Glass			bd_ram_size = <0x2000>;
8605cc16cbfSSimon Glass			mac_control = <0x20>;
8615cc16cbfSSimon Glass			slaves = <2>;
8625cc16cbfSSimon Glass			active_slave = <0>;
8635cc16cbfSSimon Glass			cpts_clock_mult = <0x80000000>;
8645cc16cbfSSimon Glass			cpts_clock_shift = <29>;
8655cc16cbfSSimon Glass			reg = <0x4a100000 0x800
8665cc16cbfSSimon Glass			       0x4a101200 0x100>;
8675cc16cbfSSimon Glass			#address-cells = <1>;
8685cc16cbfSSimon Glass			#size-cells = <1>;
8695cc16cbfSSimon Glass			/*
8705cc16cbfSSimon Glass			 * c0_rx_thresh_pend
8715cc16cbfSSimon Glass			 * c0_rx_pend
8725cc16cbfSSimon Glass			 * c0_tx_pend
8735cc16cbfSSimon Glass			 * c0_misc_pend
8745cc16cbfSSimon Glass			 */
8755cc16cbfSSimon Glass			interrupts = <40 41 42 43>;
8765cc16cbfSSimon Glass			ranges;
8771480fdf8STom Rini			syscon = <&scm_conf>;
8781480fdf8STom Rini			status = "disabled";
8795cc16cbfSSimon Glass
8805cc16cbfSSimon Glass			davinci_mdio: mdio@4a101000 {
881*fdce9d35SFelix Brack				compatible = "ti,cpsw-mdio","ti,davinci_mdio";
8825cc16cbfSSimon Glass				#address-cells = <1>;
8835cc16cbfSSimon Glass				#size-cells = <0>;
8845cc16cbfSSimon Glass				ti,hwmods = "davinci_mdio";
8855cc16cbfSSimon Glass				bus_freq = <1000000>;
8865cc16cbfSSimon Glass				reg = <0x4a101000 0x100>;
8871480fdf8STom Rini				status = "disabled";
8885cc16cbfSSimon Glass			};
8895cc16cbfSSimon Glass
8905cc16cbfSSimon Glass			cpsw_emac0: slave@4a100200 {
8915cc16cbfSSimon Glass				/* Filled in by U-Boot */
8925cc16cbfSSimon Glass				mac-address = [ 00 00 00 00 00 00 ];
8935cc16cbfSSimon Glass			};
8945cc16cbfSSimon Glass
8955cc16cbfSSimon Glass			cpsw_emac1: slave@4a100300 {
8965cc16cbfSSimon Glass				/* Filled in by U-Boot */
8975cc16cbfSSimon Glass				mac-address = [ 00 00 00 00 00 00 ];
8985cc16cbfSSimon Glass			};
8991480fdf8STom Rini
9001480fdf8STom Rini			phy_sel: cpsw-phy-sel@44e10650 {
9011480fdf8STom Rini				compatible = "ti,am3352-cpsw-phy-sel";
9021480fdf8STom Rini				reg= <0x44e10650 0x4>;
9031480fdf8STom Rini				reg-names = "gmii-sel";
9041480fdf8STom Rini			};
9055cc16cbfSSimon Glass		};
9065cc16cbfSSimon Glass
9075cc16cbfSSimon Glass		ocmcram: ocmcram@40300000 {
9081480fdf8STom Rini			compatible = "mmio-sram";
9091480fdf8STom Rini			reg = <0x40300000 0x10000>; /* 64k */
910*fdce9d35SFelix Brack			ranges = <0x0 0x40300000 0x10000>;
911*fdce9d35SFelix Brack			#address-cells = <1>;
912*fdce9d35SFelix Brack			#size-cells = <1>;
913*fdce9d35SFelix Brack
914*fdce9d35SFelix Brack			pm_sram_code: pm-sram-code@0 {
915*fdce9d35SFelix Brack				compatible = "ti,sram";
916*fdce9d35SFelix Brack				reg = <0x0 0x1000>;
917*fdce9d35SFelix Brack				protect-exec;
9185cc16cbfSSimon Glass			};
9195cc16cbfSSimon Glass
920*fdce9d35SFelix Brack			pm_sram_data: pm-sram-data@1000 {
921*fdce9d35SFelix Brack				compatible = "ti,sram";
922*fdce9d35SFelix Brack				reg = <0x1000 0x1000>;
923*fdce9d35SFelix Brack				pool;
924*fdce9d35SFelix Brack			};
9255cc16cbfSSimon Glass		};
9265cc16cbfSSimon Glass
9275cc16cbfSSimon Glass		elm: elm@48080000 {
9285cc16cbfSSimon Glass			compatible = "ti,am3352-elm";
9295cc16cbfSSimon Glass			reg = <0x48080000 0x2000>;
9305cc16cbfSSimon Glass			interrupts = <4>;
9315cc16cbfSSimon Glass			ti,hwmods = "elm";
9325cc16cbfSSimon Glass			status = "disabled";
9335cc16cbfSSimon Glass		};
9345cc16cbfSSimon Glass
9351480fdf8STom Rini		lcdc: lcdc@4830e000 {
9361480fdf8STom Rini			compatible = "ti,am33xx-tilcdc";
9371480fdf8STom Rini			reg = <0x4830e000 0x1000>;
9381480fdf8STom Rini			interrupts = <36>;
9391480fdf8STom Rini			ti,hwmods = "lcdc";
9401480fdf8STom Rini			status = "disabled";
9411480fdf8STom Rini		};
9421480fdf8STom Rini
9435cc16cbfSSimon Glass		tscadc: tscadc@44e0d000 {
9445cc16cbfSSimon Glass			compatible = "ti,am3359-tscadc";
9455cc16cbfSSimon Glass			reg = <0x44e0d000 0x1000>;
9465cc16cbfSSimon Glass			interrupts = <16>;
9475cc16cbfSSimon Glass			ti,hwmods = "adc_tsc";
9485cc16cbfSSimon Glass			status = "disabled";
949*fdce9d35SFelix Brack			dmas = <&edma 53 0>, <&edma 57 0>;
950*fdce9d35SFelix Brack			dma-names = "fifo0", "fifo1";
9515cc16cbfSSimon Glass
9525cc16cbfSSimon Glass			tsc {
9535cc16cbfSSimon Glass				compatible = "ti,am3359-tsc";
9545cc16cbfSSimon Glass			};
9555cc16cbfSSimon Glass			am335x_adc: adc {
9565cc16cbfSSimon Glass				#io-channel-cells = <1>;
9575cc16cbfSSimon Glass				compatible = "ti,am3359-adc";
9585cc16cbfSSimon Glass			};
9595cc16cbfSSimon Glass		};
9605cc16cbfSSimon Glass
961*fdce9d35SFelix Brack		emif: emif@4c000000 {
962*fdce9d35SFelix Brack			compatible = "ti,emif-am3352";
963*fdce9d35SFelix Brack			reg = <0x4c000000 0x1000000>;
964*fdce9d35SFelix Brack			ti,hwmods = "emif";
965*fdce9d35SFelix Brack			interrupts = <101>;
966*fdce9d35SFelix Brack			sram = <&pm_sram_code
967*fdce9d35SFelix Brack				&pm_sram_data>;
968*fdce9d35SFelix Brack			ti,no-idle;
969*fdce9d35SFelix Brack		};
970*fdce9d35SFelix Brack
9715cc16cbfSSimon Glass		gpmc: gpmc@50000000 {
9725cc16cbfSSimon Glass			compatible = "ti,am3352-gpmc";
9735cc16cbfSSimon Glass			ti,hwmods = "gpmc";
9741480fdf8STom Rini			ti,no-idle-on-init;
9755cc16cbfSSimon Glass			reg = <0x50000000 0x2000>;
9765cc16cbfSSimon Glass			interrupts = <100>;
977*fdce9d35SFelix Brack			dmas = <&edma 52 0>;
978*fdce9d35SFelix Brack			dma-names = "rxtx";
9795cc16cbfSSimon Glass			gpmc,num-cs = <7>;
9805cc16cbfSSimon Glass			gpmc,num-waitpins = <2>;
9815cc16cbfSSimon Glass			#address-cells = <2>;
9825cc16cbfSSimon Glass			#size-cells = <1>;
983*fdce9d35SFelix Brack			interrupt-controller;
984*fdce9d35SFelix Brack			#interrupt-cells = <2>;
985*fdce9d35SFelix Brack			gpio-controller;
986*fdce9d35SFelix Brack			#gpio-cells = <2>;
9875cc16cbfSSimon Glass			status = "disabled";
9885cc16cbfSSimon Glass		};
9891480fdf8STom Rini
9901480fdf8STom Rini		sham: sham@53100000 {
9911480fdf8STom Rini			compatible = "ti,omap4-sham";
9921480fdf8STom Rini			ti,hwmods = "sham";
9931480fdf8STom Rini			reg = <0x53100000 0x200>;
9941480fdf8STom Rini			interrupts = <109>;
995*fdce9d35SFelix Brack			dmas = <&edma 36 0>;
9961480fdf8STom Rini			dma-names = "rx";
9971480fdf8STom Rini		};
9981480fdf8STom Rini
9991480fdf8STom Rini		aes: aes@53500000 {
10001480fdf8STom Rini			compatible = "ti,omap4-aes";
10011480fdf8STom Rini			ti,hwmods = "aes";
10021480fdf8STom Rini			reg = <0x53500000 0xa0>;
10031480fdf8STom Rini			interrupts = <103>;
1004*fdce9d35SFelix Brack			dmas = <&edma 6 0>,
1005*fdce9d35SFelix Brack			       <&edma 5 0>;
10061480fdf8STom Rini			dma-names = "tx", "rx";
10071480fdf8STom Rini		};
10081480fdf8STom Rini
10091480fdf8STom Rini		mcasp0: mcasp@48038000 {
10101480fdf8STom Rini			compatible = "ti,am33xx-mcasp-audio";
10111480fdf8STom Rini			ti,hwmods = "mcasp0";
10121480fdf8STom Rini			reg = <0x48038000 0x2000>,
10131480fdf8STom Rini			      <0x46000000 0x400000>;
10141480fdf8STom Rini			reg-names = "mpu", "dat";
10151480fdf8STom Rini			interrupts = <80>, <81>;
10161480fdf8STom Rini			interrupt-names = "tx", "rx";
10171480fdf8STom Rini			status = "disabled";
1018*fdce9d35SFelix Brack			dmas = <&edma 8 2>,
1019*fdce9d35SFelix Brack				<&edma 9 2>;
10201480fdf8STom Rini			dma-names = "tx", "rx";
10211480fdf8STom Rini		};
10221480fdf8STom Rini
1023*fdce9d35SFelix Brack		mcasp1: mcasp@4803c000 {
10241480fdf8STom Rini			compatible = "ti,am33xx-mcasp-audio";
10251480fdf8STom Rini			ti,hwmods = "mcasp1";
10261480fdf8STom Rini			reg = <0x4803C000 0x2000>,
10271480fdf8STom Rini			      <0x46400000 0x400000>;
10281480fdf8STom Rini			reg-names = "mpu", "dat";
10291480fdf8STom Rini			interrupts = <82>, <83>;
10301480fdf8STom Rini			interrupt-names = "tx", "rx";
10311480fdf8STom Rini			status = "disabled";
1032*fdce9d35SFelix Brack			dmas = <&edma 10 2>,
1033*fdce9d35SFelix Brack				<&edma 11 2>;
10341480fdf8STom Rini			dma-names = "tx", "rx";
10351480fdf8STom Rini		};
10361480fdf8STom Rini
10371480fdf8STom Rini		rng: rng@48310000 {
10381480fdf8STom Rini			compatible = "ti,omap4-rng";
10391480fdf8STom Rini			ti,hwmods = "rng";
10401480fdf8STom Rini			reg = <0x48310000 0x2000>;
10411480fdf8STom Rini			interrupts = <111>;
10425cc16cbfSSimon Glass		};
10435cc16cbfSSimon Glass	};
10441480fdf8STom Rini};
10451480fdf8STom Rini
1046*fdce9d35SFelix Brack#include "am33xx-clocks.dtsi"
1047