1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree Source for AM6 SoC Family Main Domain peripherals
4 *
5 * Copyright (C) 2016-2018 Texas Instruments Incorporated - http://www.ti.com/
6 */
7
8&cbass_main {
9	msmc_ram: sram@70000000 {
10		compatible = "mmio-sram";
11		reg = <0x0 0x70000000 0x0 0x200000>;
12		#address-cells = <1>;
13		#size-cells = <1>;
14		ranges = <0x0 0x0 0x70000000 0x200000>;
15
16		atf-sram@0 {
17			reg = <0x0 0x20000>;
18		};
19
20		sysfw-sram@f0000 {
21			reg = <0xf0000 0x10000>;
22		};
23
24		l3cache-sram@100000 {
25			reg = <0x100000 0x100000>;
26		};
27	};
28
29	gic500: interrupt-controller@1800000 {
30		compatible = "arm,gic-v3";
31		#address-cells = <2>;
32		#size-cells = <2>;
33		ranges;
34		#interrupt-cells = <3>;
35		interrupt-controller;
36		reg = <0x00 0x01800000 0x00 0x10000>,	/* GICD */
37		      <0x00 0x01880000 0x00 0x90000>;	/* GICR */
38		/*
39		 * vcpumntirq:
40		 * virtual CPU interface maintenance interrupt
41		 */
42		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
43
44		gic_its: gic-its@18200000 {
45			compatible = "arm,gic-v3-its";
46			reg = <0x00 0x01820000 0x00 0x10000>;
47			msi-controller;
48			#msi-cells = <1>;
49		};
50	};
51
52	secure_proxy_main: mailbox@32c00000 {
53		compatible = "ti,am654-secure-proxy";
54		#mbox-cells = <1>;
55		reg-names = "target_data", "rt", "scfg";
56		reg = <0x00 0x32c00000 0x00 0x100000>,
57		      <0x00 0x32400000 0x00 0x100000>,
58		      <0x00 0x32800000 0x00 0x100000>;
59		interrupt-names = "rx_011";
60		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
61	};
62
63	main_uart0: serial@2800000 {
64		compatible = "ti,am654-uart";
65		reg = <0x00 0x02800000 0x00 0x100>;
66		reg-shift = <2>;
67		reg-io-width = <4>;
68		interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
69		clock-frequency = <48000000>;
70		current-speed = <115200>;
71		power-domains = <&k3_pds 146>;
72	};
73
74	main_uart1: serial@2810000 {
75		compatible = "ti,am654-uart";
76		reg = <0x00 0x02810000 0x00 0x100>;
77		reg-shift = <2>;
78		reg-io-width = <4>;
79		interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
80		clock-frequency = <48000000>;
81		power-domains = <&k3_pds 147>;
82	};
83
84	main_uart2: serial@2820000 {
85		compatible = "ti,am654-uart";
86		reg = <0x00 0x02820000 0x00 0x100>;
87		reg-shift = <2>;
88		reg-io-width = <4>;
89		interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>;
90		clock-frequency = <48000000>;
91		power-domains = <&k3_pds 148>;
92	};
93
94	main_pmx0: pinmux@11c000 {
95		compatible = "pinctrl-single";
96		reg = <0x0 0x11c000 0x0 0x2e4>;
97		#pinctrl-cells = <1>;
98		pinctrl-single,register-width = <32>;
99		pinctrl-single,function-mask = <0xffffffff>;
100	};
101
102	main_pmx1: pinmux@11c2e8 {
103		compatible = "pinctrl-single";
104		reg = <0x0 0x11c2e8 0x0 0x24>;
105		#pinctrl-cells = <1>;
106		pinctrl-single,register-width = <32>;
107		pinctrl-single,function-mask = <0xffffffff>;
108	};
109
110	main_i2c0: i2c@2000000 {
111		compatible = "ti,am654-i2c", "ti,omap4-i2c";
112		reg = <0x0 0x2000000 0x0 0x100>;
113		interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
114		#address-cells = <1>;
115		#size-cells = <0>;
116		clock-names = "fck";
117		clocks = <&k3_clks 110 1>;
118		power-domains = <&k3_pds 110>;
119	};
120
121	main_i2c1: i2c@2010000 {
122		compatible = "ti,am654-i2c", "ti,omap4-i2c";
123		reg = <0x0 0x2010000 0x0 0x100>;
124		interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>;
125		#address-cells = <1>;
126		#size-cells = <0>;
127		clock-names = "fck";
128		clocks = <&k3_clks 111 1>;
129		power-domains = <&k3_pds 111>;
130	};
131
132	main_i2c2: i2c@2020000 {
133		compatible = "ti,am654-i2c", "ti,omap4-i2c";
134		reg = <0x0 0x2020000 0x0 0x100>;
135		interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>;
136		#address-cells = <1>;
137		#size-cells = <0>;
138		clock-names = "fck";
139		clocks = <&k3_clks 112 1>;
140		power-domains = <&k3_pds 112>;
141	};
142
143	main_i2c3: i2c@2030000 {
144		compatible = "ti,am654-i2c", "ti,omap4-i2c";
145		reg = <0x0 0x2030000 0x0 0x100>;
146		interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>;
147		#address-cells = <1>;
148		#size-cells = <0>;
149		clock-names = "fck";
150		clocks = <&k3_clks 113 1>;
151		power-domains = <&k3_pds 113>;
152	};
153
154	ecap0: pwm@3100000 {
155		compatible = "ti,am654-ecap", "ti,am3352-ecap";
156		#pwm-cells = <3>;
157		reg = <0x0 0x03100000 0x0 0x60>;
158		power-domains = <&k3_pds 39>;
159		clocks = <&k3_clks 39 0>;
160		clock-names = "fck";
161	};
162
163	main_spi0: spi@2100000 {
164		compatible = "ti,am654-mcspi","ti,omap4-mcspi";
165		reg = <0x0 0x2100000 0x0 0x400>;
166		interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
167		clocks = <&k3_clks 137 1>;
168		power-domains = <&k3_pds 137>;
169		#address-cells = <1>;
170		#size-cells = <0>;
171	};
172
173	main_spi1: spi@2110000 {
174		compatible = "ti,am654-mcspi","ti,omap4-mcspi";
175		reg = <0x0 0x2110000 0x0 0x400>;
176		interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
177		clocks = <&k3_clks 138 1>;
178		power-domains = <&k3_pds 138>;
179		#address-cells = <1>;
180		#size-cells = <0>;
181		assigned-clocks = <&k3_clks 137 1>;
182		assigned-clock-rates = <48000000>;
183	};
184
185	main_spi2: spi@2120000 {
186		compatible = "ti,am654-mcspi","ti,omap4-mcspi";
187		reg = <0x0 0x2120000 0x0 0x400>;
188		interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
189		clocks = <&k3_clks 139 1>;
190		power-domains = <&k3_pds 139>;
191		#address-cells = <1>;
192		#size-cells = <0>;
193	};
194
195	main_spi3: spi@2130000 {
196		compatible = "ti,am654-mcspi","ti,omap4-mcspi";
197		reg = <0x0 0x2130000 0x0 0x400>;
198		interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
199		clocks = <&k3_clks 140 1>;
200		power-domains = <&k3_pds 140>;
201		#address-cells = <1>;
202		#size-cells = <0>;
203	};
204
205	main_spi4: spi@2140000 {
206		compatible = "ti,am654-mcspi","ti,omap4-mcspi";
207		reg = <0x0 0x2140000 0x0 0x400>;
208		interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
209		clocks = <&k3_clks 141 1>;
210		power-domains = <&k3_pds 141>;
211		#address-cells = <1>;
212		#size-cells = <0>;
213	};
214
215	sdhci0: sdhci@4f80000 {
216		compatible = "ti,am654-sdhci-5.1";
217		reg = <0x0 0x4f80000 0x0 0x260>, <0x0 0x4f90000 0x0 0x134>;
218		power-domains = <&k3_pds 47>;
219		clocks = <&k3_clks 47 0>, <&k3_clks 47 1>;
220		clock-names = "clk_ahb", "clk_xin";
221		interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
222		mmc-ddr-1_8v;
223		mmc-hs200-1_8v;
224		ti,otap-del-sel = <0x2>;
225		ti,trm-icp = <0x8>;
226		dma-coherent;
227	};
228
229	scm_conf: scm_conf@100000 {
230		compatible = "syscon", "simple-mfd";
231		reg = <0 0x00100000 0 0x1c000>;
232		#address-cells = <1>;
233		#size-cells = <1>;
234		ranges = <0x0 0x0 0x00100000 0x1c000>;
235	};
236
237	dwc3_0: dwc3@4000000 {
238		compatible = "ti,am654-dwc3";
239		reg = <0x0 0x4000000 0x0 0x4000>;
240		#address-cells = <1>;
241		#size-cells = <1>;
242		ranges = <0x0 0x0 0x4000000 0x20000>;
243		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
244		dma-coherent;
245		power-domains = <&k3_pds 151>;
246		assigned-clocks = <&k3_clks 151 2>, <&k3_clks 151 7>;
247		assigned-clock-parents = <&k3_clks 151 4>,	/* set REF_CLK to 20MHz i.e. PER0_PLL/48 */
248					 <&k3_clks 151 9>;	/* set PIPE3_TXB_CLK to CLK_12M_RC/256 (for HS only) */
249
250		usb0: usb@10000 {
251			compatible = "snps,dwc3";
252			reg = <0x10000 0x10000>;
253			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
254				     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
255				     <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
256			interrupt-names = "peripheral",
257					  "host",
258					  "otg";
259			maximum-speed = "high-speed";
260			dr_mode = "otg";
261			phys = <&usb0_phy>;
262			phy-names = "usb2-phy";
263			snps,dis_u3_susphy_quirk;
264		};
265	};
266
267	usb0_phy: phy@4100000 {
268		compatible = "ti,am654-usb2", "ti,omap-usb2";
269		reg = <0x0 0x4100000 0x0 0x54>;
270		syscon-phy-power = <&scm_conf 0x4000>;
271		clocks = <&k3_clks 151 0>, <&k3_clks 151 1>;
272		clock-names = "wkupclk", "refclk";
273		#phy-cells = <0>;
274	};
275
276	dwc3_1: dwc3@4020000 {
277		compatible = "ti,am654-dwc3";
278		reg = <0x0 0x4020000 0x0 0x4000>;
279		#address-cells = <1>;
280		#size-cells = <1>;
281		ranges = <0x0 0x0 0x4020000 0x20000>;
282		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
283		dma-coherent;
284		power-domains = <&k3_pds 152>;
285		assigned-clocks = <&k3_clks 152 2>;
286		assigned-clock-parents = <&k3_clks 152 4>;	/* set REF_CLK to 20MHz i.e. PER0_PLL/48 */
287
288		usb1: usb@10000 {
289			compatible = "snps,dwc3";
290			reg = <0x10000 0x10000>;
291			interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
292				     <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
293				     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
294			interrupt-names = "peripheral",
295					  "host",
296					  "otg";
297			maximum-speed = "high-speed";
298			dr_mode = "otg";
299			phys = <&usb1_phy>;
300			phy-names = "usb2-phy";
301		};
302	};
303
304	usb1_phy: phy@4110000 {
305		compatible = "ti,am654-usb2", "ti,omap-usb2";
306		reg = <0x0 0x4110000 0x0 0x54>;
307		syscon-phy-power = <&scm_conf 0x4020>;
308		clocks = <&k3_clks 152 0>, <&k3_clks 152 1>;
309		clock-names = "wkupclk", "refclk";
310		#phy-cells = <0>;
311	};
312};
313