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