xref: /rk3399_rockchip-uboot/arch/arm/dts/keystone.dtsi (revision 8a9bb065da466fe7e26dae7b2f234bb2135c7b9e)
1351f9690SLokesh Vutla/*
2351f9690SLokesh Vutla * Copyright 2013 Texas Instruments, Inc.
3351f9690SLokesh Vutla *
4351f9690SLokesh Vutla * This program is free software; you can redistribute it and/or modify
5351f9690SLokesh Vutla * it under the terms of the GNU General Public License version 2 as
6351f9690SLokesh Vutla * published by the Free Software Foundation.
7351f9690SLokesh Vutla */
8351f9690SLokesh Vutla
9351f9690SLokesh Vutla#include <dt-bindings/interrupt-controller/arm-gic.h>
10351f9690SLokesh Vutla#include <dt-bindings/gpio/gpio.h>
11351f9690SLokesh Vutla
12351f9690SLokesh Vutla#include "skeleton.dtsi"
13351f9690SLokesh Vutla
14351f9690SLokesh Vutla/ {
15351f9690SLokesh Vutla	model = "Texas Instruments Keystone 2 SoC";
16*8a9bb065SLokesh Vutla	#address-cells = <1>;
17*8a9bb065SLokesh Vutla	#size-cells = <1>;
18351f9690SLokesh Vutla	interrupt-parent = <&gic>;
19351f9690SLokesh Vutla
20351f9690SLokesh Vutla	aliases {
21351f9690SLokesh Vutla		serial0	= &uart0;
22351f9690SLokesh Vutla	};
23351f9690SLokesh Vutla
24351f9690SLokesh Vutla	memory {
25*8a9bb065SLokesh Vutla		reg = <0x80000000 0x40000000>;
26351f9690SLokesh Vutla	};
27351f9690SLokesh Vutla
28351f9690SLokesh Vutla	gic: interrupt-controller {
29351f9690SLokesh Vutla		compatible = "arm,cortex-a15-gic";
30351f9690SLokesh Vutla		#interrupt-cells = <3>;
31351f9690SLokesh Vutla		interrupt-controller;
32*8a9bb065SLokesh Vutla		reg = <0x02561000 0x1000>,
33*8a9bb065SLokesh Vutla		      <0x02562000 0x2000>,
34*8a9bb065SLokesh Vutla		      <0x02564000 0x1000>,
35*8a9bb065SLokesh Vutla		      <0x02566000 0x2000>;
36351f9690SLokesh Vutla		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) |
37351f9690SLokesh Vutla				IRQ_TYPE_LEVEL_HIGH)>;
38351f9690SLokesh Vutla	};
39351f9690SLokesh Vutla
40351f9690SLokesh Vutla	timer {
41351f9690SLokesh Vutla		compatible = "arm,armv7-timer";
42351f9690SLokesh Vutla		interrupts =
43351f9690SLokesh Vutla			<GIC_PPI 13
44351f9690SLokesh Vutla				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
45351f9690SLokesh Vutla			<GIC_PPI 14
46351f9690SLokesh Vutla				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
47351f9690SLokesh Vutla			<GIC_PPI 11
48351f9690SLokesh Vutla				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
49351f9690SLokesh Vutla			<GIC_PPI 10
50351f9690SLokesh Vutla				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
51351f9690SLokesh Vutla	};
52351f9690SLokesh Vutla
53351f9690SLokesh Vutla	pmu {
54351f9690SLokesh Vutla		compatible = "arm,cortex-a15-pmu";
55351f9690SLokesh Vutla		interrupts = <GIC_SPI 20 IRQ_TYPE_EDGE_RISING>,
56351f9690SLokesh Vutla			     <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>,
57351f9690SLokesh Vutla			     <GIC_SPI 22 IRQ_TYPE_EDGE_RISING>,
58351f9690SLokesh Vutla			     <GIC_SPI 23 IRQ_TYPE_EDGE_RISING>;
59351f9690SLokesh Vutla	};
60351f9690SLokesh Vutla
61351f9690SLokesh Vutla	soc {
62351f9690SLokesh Vutla		#address-cells = <1>;
63351f9690SLokesh Vutla		#size-cells = <1>;
64351f9690SLokesh Vutla		compatible = "ti,keystone","simple-bus";
65351f9690SLokesh Vutla		interrupt-parent = <&gic>;
66*8a9bb065SLokesh Vutla		ranges;
67351f9690SLokesh Vutla
68351f9690SLokesh Vutla		pllctrl: pll-controller@02310000 {
69351f9690SLokesh Vutla			compatible = "ti,keystone-pllctrl", "syscon";
70351f9690SLokesh Vutla			reg = <0x02310000 0x200>;
71351f9690SLokesh Vutla		};
72351f9690SLokesh Vutla
73351f9690SLokesh Vutla		devctrl: device-state-control@02620000 {
74351f9690SLokesh Vutla			compatible = "ti,keystone-devctrl", "syscon";
75351f9690SLokesh Vutla			reg = <0x02620000 0x1000>;
76351f9690SLokesh Vutla		};
77351f9690SLokesh Vutla
78351f9690SLokesh Vutla		rstctrl: reset-controller {
79351f9690SLokesh Vutla			compatible = "ti,keystone-reset";
80351f9690SLokesh Vutla			ti,syscon-pll = <&pllctrl 0xe4>;
81351f9690SLokesh Vutla			ti,syscon-dev = <&devctrl 0x328>;
82351f9690SLokesh Vutla			ti,wdt-list = <0>;
83351f9690SLokesh Vutla		};
84351f9690SLokesh Vutla
85351f9690SLokesh Vutla		/include/ "keystone-clocks.dtsi"
86351f9690SLokesh Vutla
87351f9690SLokesh Vutla		uart0: serial@02530c00 {
88351f9690SLokesh Vutla			compatible = "ns16550a";
89351f9690SLokesh Vutla			current-speed = <115200>;
90351f9690SLokesh Vutla			reg-shift = <2>;
91351f9690SLokesh Vutla			reg-io-width = <4>;
92351f9690SLokesh Vutla			reg = <0x02530c00 0x100>;
93351f9690SLokesh Vutla			clocks	= <&clkuart0>;
94351f9690SLokesh Vutla			interrupts = <GIC_SPI 277 IRQ_TYPE_EDGE_RISING>;
95351f9690SLokesh Vutla		};
96351f9690SLokesh Vutla
97351f9690SLokesh Vutla		uart1:	serial@02531000 {
98351f9690SLokesh Vutla			compatible = "ns16550a";
99351f9690SLokesh Vutla			current-speed = <115200>;
100351f9690SLokesh Vutla			reg-shift = <2>;
101351f9690SLokesh Vutla			reg-io-width = <4>;
102351f9690SLokesh Vutla			reg = <0x02531000 0x100>;
103351f9690SLokesh Vutla			clocks	= <&clkuart1>;
104351f9690SLokesh Vutla			interrupts = <GIC_SPI 280 IRQ_TYPE_EDGE_RISING>;
105351f9690SLokesh Vutla		};
106351f9690SLokesh Vutla
107351f9690SLokesh Vutla		i2c0: i2c@2530000 {
108351f9690SLokesh Vutla			compatible = "ti,davinci-i2c";
109351f9690SLokesh Vutla			reg = <0x02530000 0x400>;
110351f9690SLokesh Vutla			clock-frequency = <100000>;
111351f9690SLokesh Vutla			clocks = <&clki2c>;
112351f9690SLokesh Vutla			interrupts = <GIC_SPI 283 IRQ_TYPE_EDGE_RISING>;
113351f9690SLokesh Vutla			#address-cells = <1>;
114351f9690SLokesh Vutla			#size-cells = <0>;
115351f9690SLokesh Vutla		};
116351f9690SLokesh Vutla
117351f9690SLokesh Vutla		i2c1: i2c@2530400 {
118351f9690SLokesh Vutla			compatible = "ti,davinci-i2c";
119351f9690SLokesh Vutla			reg = <0x02530400 0x400>;
120351f9690SLokesh Vutla			clock-frequency = <100000>;
121351f9690SLokesh Vutla			clocks = <&clki2c>;
122351f9690SLokesh Vutla			interrupts = <GIC_SPI 286 IRQ_TYPE_EDGE_RISING>;
123351f9690SLokesh Vutla			#address-cells = <1>;
124351f9690SLokesh Vutla			#size-cells = <0>;
125351f9690SLokesh Vutla		};
126351f9690SLokesh Vutla
127351f9690SLokesh Vutla		i2c2: i2c@2530800 {
128351f9690SLokesh Vutla			compatible = "ti,davinci-i2c";
129351f9690SLokesh Vutla			reg = <0x02530800 0x400>;
130351f9690SLokesh Vutla			clock-frequency = <100000>;
131351f9690SLokesh Vutla			clocks = <&clki2c>;
132351f9690SLokesh Vutla			interrupts = <GIC_SPI 289 IRQ_TYPE_EDGE_RISING>;
133351f9690SLokesh Vutla			#address-cells = <1>;
134351f9690SLokesh Vutla			#size-cells = <0>;
135351f9690SLokesh Vutla		};
136351f9690SLokesh Vutla
137351f9690SLokesh Vutla		spi0: spi@21000400 {
138351f9690SLokesh Vutla			compatible = "ti,dm6441-spi";
139351f9690SLokesh Vutla			reg = <0x21000400 0x200>;
140351f9690SLokesh Vutla			num-cs = <4>;
141351f9690SLokesh Vutla			ti,davinci-spi-intr-line = <0>;
142351f9690SLokesh Vutla			interrupts = <GIC_SPI 292 IRQ_TYPE_EDGE_RISING>;
143351f9690SLokesh Vutla			clocks = <&clkspi>;
144351f9690SLokesh Vutla			#address-cells = <1>;
145351f9690SLokesh Vutla			#size-cells = <0>;
146351f9690SLokesh Vutla		};
147351f9690SLokesh Vutla
148351f9690SLokesh Vutla		spi1: spi@21000600 {
149351f9690SLokesh Vutla			compatible = "ti,dm6441-spi";
150351f9690SLokesh Vutla			reg = <0x21000600 0x200>;
151351f9690SLokesh Vutla			num-cs = <4>;
152351f9690SLokesh Vutla			ti,davinci-spi-intr-line = <0>;
153351f9690SLokesh Vutla			interrupts = <GIC_SPI 296 IRQ_TYPE_EDGE_RISING>;
154351f9690SLokesh Vutla			clocks = <&clkspi>;
155351f9690SLokesh Vutla			#address-cells = <1>;
156351f9690SLokesh Vutla			#size-cells = <0>;
157351f9690SLokesh Vutla		};
158351f9690SLokesh Vutla
159351f9690SLokesh Vutla		spi2: spi@21000800 {
160351f9690SLokesh Vutla			compatible = "ti,dm6441-spi";
161351f9690SLokesh Vutla			reg = <0x21000800 0x200>;
162351f9690SLokesh Vutla			num-cs = <4>;
163351f9690SLokesh Vutla			ti,davinci-spi-intr-line = <0>;
164351f9690SLokesh Vutla			interrupts = <GIC_SPI 300 IRQ_TYPE_EDGE_RISING>;
165351f9690SLokesh Vutla			clocks = <&clkspi>;
166351f9690SLokesh Vutla			#address-cells = <1>;
167351f9690SLokesh Vutla			#size-cells = <0>;
168351f9690SLokesh Vutla		};
169351f9690SLokesh Vutla
170351f9690SLokesh Vutla		usb_phy: usb_phy@2620738 {
171351f9690SLokesh Vutla			compatible = "ti,keystone-usbphy";
172351f9690SLokesh Vutla			#address-cells = <1>;
173351f9690SLokesh Vutla			#size-cells = <1>;
174351f9690SLokesh Vutla			reg = <0x2620738 24>;
175351f9690SLokesh Vutla			status = "disabled";
176351f9690SLokesh Vutla		};
177351f9690SLokesh Vutla
178351f9690SLokesh Vutla		usb: usb@2680000 {
179351f9690SLokesh Vutla			compatible = "ti,keystone-dwc3";
180351f9690SLokesh Vutla			#address-cells = <1>;
181351f9690SLokesh Vutla			#size-cells = <1>;
182351f9690SLokesh Vutla			reg = <0x2680000 0x10000>;
183351f9690SLokesh Vutla			clocks = <&clkusb>;
184351f9690SLokesh Vutla			clock-names = "usb";
185351f9690SLokesh Vutla			interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>;
186351f9690SLokesh Vutla			ranges;
187351f9690SLokesh Vutla			dma-coherent;
188351f9690SLokesh Vutla			dma-ranges;
189351f9690SLokesh Vutla			status = "disabled";
190351f9690SLokesh Vutla
191351f9690SLokesh Vutla			dwc3@2690000 {
192351f9690SLokesh Vutla				compatible = "synopsys,dwc3";
193351f9690SLokesh Vutla				reg = <0x2690000 0x70000>;
194351f9690SLokesh Vutla				interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>;
195351f9690SLokesh Vutla				usb-phy = <&usb_phy>, <&usb_phy>;
196351f9690SLokesh Vutla			};
197351f9690SLokesh Vutla		};
198351f9690SLokesh Vutla
199351f9690SLokesh Vutla		wdt: wdt@022f0080 {
200351f9690SLokesh Vutla			compatible = "ti,keystone-wdt","ti,davinci-wdt";
201351f9690SLokesh Vutla			reg = <0x022f0080 0x80>;
202351f9690SLokesh Vutla			clocks = <&clkwdtimer0>;
203351f9690SLokesh Vutla		};
204351f9690SLokesh Vutla
205351f9690SLokesh Vutla		clock_event: timer@22f0000 {
206351f9690SLokesh Vutla			compatible = "ti,keystone-timer";
207351f9690SLokesh Vutla			reg = <0x022f0000 0x80>;
208351f9690SLokesh Vutla			interrupts = <GIC_SPI 110 IRQ_TYPE_EDGE_RISING>;
209351f9690SLokesh Vutla			clocks = <&clktimer15>;
210351f9690SLokesh Vutla		};
211351f9690SLokesh Vutla
212351f9690SLokesh Vutla		gpio0: gpio@260bf00 {
213351f9690SLokesh Vutla			compatible = "ti,keystone-gpio";
214351f9690SLokesh Vutla			reg = <0x0260bf00 0x100>;
215351f9690SLokesh Vutla			gpio-controller;
216351f9690SLokesh Vutla			#gpio-cells = <2>;
217351f9690SLokesh Vutla			/* HW Interrupts mapped to GPIO pins */
218351f9690SLokesh Vutla			interrupts = <GIC_SPI 120 IRQ_TYPE_EDGE_RISING>,
219351f9690SLokesh Vutla					<GIC_SPI 121 IRQ_TYPE_EDGE_RISING>,
220351f9690SLokesh Vutla					<GIC_SPI 122 IRQ_TYPE_EDGE_RISING>,
221351f9690SLokesh Vutla					<GIC_SPI 123 IRQ_TYPE_EDGE_RISING>,
222351f9690SLokesh Vutla					<GIC_SPI 124 IRQ_TYPE_EDGE_RISING>,
223351f9690SLokesh Vutla					<GIC_SPI 125 IRQ_TYPE_EDGE_RISING>,
224351f9690SLokesh Vutla					<GIC_SPI 126 IRQ_TYPE_EDGE_RISING>,
225351f9690SLokesh Vutla					<GIC_SPI 127 IRQ_TYPE_EDGE_RISING>,
226351f9690SLokesh Vutla					<GIC_SPI 128 IRQ_TYPE_EDGE_RISING>,
227351f9690SLokesh Vutla					<GIC_SPI 129 IRQ_TYPE_EDGE_RISING>,
228351f9690SLokesh Vutla					<GIC_SPI 130 IRQ_TYPE_EDGE_RISING>,
229351f9690SLokesh Vutla					<GIC_SPI 131 IRQ_TYPE_EDGE_RISING>,
230351f9690SLokesh Vutla					<GIC_SPI 132 IRQ_TYPE_EDGE_RISING>,
231351f9690SLokesh Vutla					<GIC_SPI 133 IRQ_TYPE_EDGE_RISING>,
232351f9690SLokesh Vutla					<GIC_SPI 134 IRQ_TYPE_EDGE_RISING>,
233351f9690SLokesh Vutla					<GIC_SPI 135 IRQ_TYPE_EDGE_RISING>,
234351f9690SLokesh Vutla					<GIC_SPI 136 IRQ_TYPE_EDGE_RISING>,
235351f9690SLokesh Vutla					<GIC_SPI 137 IRQ_TYPE_EDGE_RISING>,
236351f9690SLokesh Vutla					<GIC_SPI 138 IRQ_TYPE_EDGE_RISING>,
237351f9690SLokesh Vutla					<GIC_SPI 139 IRQ_TYPE_EDGE_RISING>,
238351f9690SLokesh Vutla					<GIC_SPI 140 IRQ_TYPE_EDGE_RISING>,
239351f9690SLokesh Vutla					<GIC_SPI 141 IRQ_TYPE_EDGE_RISING>,
240351f9690SLokesh Vutla					<GIC_SPI 142 IRQ_TYPE_EDGE_RISING>,
241351f9690SLokesh Vutla					<GIC_SPI 143 IRQ_TYPE_EDGE_RISING>,
242351f9690SLokesh Vutla					<GIC_SPI 144 IRQ_TYPE_EDGE_RISING>,
243351f9690SLokesh Vutla					<GIC_SPI 145 IRQ_TYPE_EDGE_RISING>,
244351f9690SLokesh Vutla					<GIC_SPI 146 IRQ_TYPE_EDGE_RISING>,
245351f9690SLokesh Vutla					<GIC_SPI 147 IRQ_TYPE_EDGE_RISING>,
246351f9690SLokesh Vutla					<GIC_SPI 148 IRQ_TYPE_EDGE_RISING>,
247351f9690SLokesh Vutla					<GIC_SPI 149 IRQ_TYPE_EDGE_RISING>,
248351f9690SLokesh Vutla					<GIC_SPI 150 IRQ_TYPE_EDGE_RISING>,
249351f9690SLokesh Vutla					<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
250351f9690SLokesh Vutla			clocks = <&clkgpio>;
251351f9690SLokesh Vutla			clock-names = "gpio";
252351f9690SLokesh Vutla			ti,ngpio = <32>;
253351f9690SLokesh Vutla			ti,davinci-gpio-unbanked = <32>;
254351f9690SLokesh Vutla		};
255351f9690SLokesh Vutla
256351f9690SLokesh Vutla		aemif: aemif@21000A00 {
257351f9690SLokesh Vutla			compatible = "ti,keystone-aemif", "ti,davinci-aemif";
258351f9690SLokesh Vutla			#address-cells = <2>;
259351f9690SLokesh Vutla			#size-cells = <1>;
260351f9690SLokesh Vutla			clocks = <&clkaemif>;
261351f9690SLokesh Vutla			clock-names = "aemif";
262351f9690SLokesh Vutla			clock-ranges;
263351f9690SLokesh Vutla
264351f9690SLokesh Vutla			reg = <0x21000A00 0x00000100>;
265351f9690SLokesh Vutla			ranges = <0 0 0x30000000 0x10000000
266351f9690SLokesh Vutla				  1 0 0x21000A00 0x00000100>;
267351f9690SLokesh Vutla		};
268351f9690SLokesh Vutla
269351f9690SLokesh Vutla		kirq0: keystone_irq@26202a0 {
270351f9690SLokesh Vutla			compatible = "ti,keystone-irq";
271351f9690SLokesh Vutla			interrupts = <GIC_SPI 4 IRQ_TYPE_EDGE_RISING>;
272351f9690SLokesh Vutla			interrupt-controller;
273351f9690SLokesh Vutla			#interrupt-cells = <1>;
274351f9690SLokesh Vutla			ti,syscon-dev = <&devctrl 0x2a0>;
275351f9690SLokesh Vutla		};
276351f9690SLokesh Vutla
277351f9690SLokesh Vutla		pcie0: pcie@21800000 {
278351f9690SLokesh Vutla			compatible = "ti,keystone-pcie", "snps,dw-pcie";
279351f9690SLokesh Vutla			clocks = <&clkpcie>;
280351f9690SLokesh Vutla			clock-names = "pcie";
281351f9690SLokesh Vutla			#address-cells = <3>;
282351f9690SLokesh Vutla			#size-cells = <2>;
283351f9690SLokesh Vutla			reg =  <0x21801000 0x2000>, <0x21800000 0x1000>, <0x02620128 4>;
284351f9690SLokesh Vutla			ranges = <0x81000000 0 0 0x23250000 0 0x4000
285351f9690SLokesh Vutla				0x82000000 0 0x50000000 0x50000000 0 0x10000000>;
286351f9690SLokesh Vutla
287351f9690SLokesh Vutla			status = "disabled";
288351f9690SLokesh Vutla			device_type = "pci";
289351f9690SLokesh Vutla			num-lanes = <2>;
290351f9690SLokesh Vutla
291351f9690SLokesh Vutla			#interrupt-cells = <1>;
292351f9690SLokesh Vutla			interrupt-map-mask = <0 0 0 7>;
293351f9690SLokesh Vutla			interrupt-map = <0 0 0 1 &pcie_intc0 0>, /* INT A */
294351f9690SLokesh Vutla					<0 0 0 2 &pcie_intc0 1>, /* INT B */
295351f9690SLokesh Vutla					<0 0 0 3 &pcie_intc0 2>, /* INT C */
296351f9690SLokesh Vutla					<0 0 0 4 &pcie_intc0 3>; /* INT D */
297351f9690SLokesh Vutla
298351f9690SLokesh Vutla			pcie_msi_intc0: msi-interrupt-controller {
299351f9690SLokesh Vutla				interrupt-controller;
300351f9690SLokesh Vutla				#interrupt-cells = <1>;
301351f9690SLokesh Vutla				interrupt-parent = <&gic>;
302351f9690SLokesh Vutla				interrupts = <GIC_SPI 30 IRQ_TYPE_EDGE_RISING>,
303351f9690SLokesh Vutla					<GIC_SPI 31 IRQ_TYPE_EDGE_RISING>,
304351f9690SLokesh Vutla					<GIC_SPI 32 IRQ_TYPE_EDGE_RISING>,
305351f9690SLokesh Vutla					<GIC_SPI 33 IRQ_TYPE_EDGE_RISING>,
306351f9690SLokesh Vutla					<GIC_SPI 34 IRQ_TYPE_EDGE_RISING>,
307351f9690SLokesh Vutla					<GIC_SPI 35 IRQ_TYPE_EDGE_RISING>,
308351f9690SLokesh Vutla					<GIC_SPI 36 IRQ_TYPE_EDGE_RISING>,
309351f9690SLokesh Vutla					<GIC_SPI 37 IRQ_TYPE_EDGE_RISING>;
310351f9690SLokesh Vutla			};
311351f9690SLokesh Vutla
312351f9690SLokesh Vutla			pcie_intc0: legacy-interrupt-controller {
313351f9690SLokesh Vutla				interrupt-controller;
314351f9690SLokesh Vutla				#interrupt-cells = <1>;
315351f9690SLokesh Vutla				interrupt-parent = <&gic>;
316351f9690SLokesh Vutla				interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>,
317351f9690SLokesh Vutla					<GIC_SPI 27 IRQ_TYPE_EDGE_RISING>,
318351f9690SLokesh Vutla					<GIC_SPI 28 IRQ_TYPE_EDGE_RISING>,
319351f9690SLokesh Vutla					<GIC_SPI 29 IRQ_TYPE_EDGE_RISING>;
320351f9690SLokesh Vutla			};
321351f9690SLokesh Vutla		};
322351f9690SLokesh Vutla	};
323351f9690SLokesh Vutla};
324