xref: /freebsd/sys/contrib/device-tree/src/arm/st/spear600.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Copyright 2012 Stefan Roese <sr@denx.de>
4*f126890aSEmmanuel Vadot */
5*f126890aSEmmanuel Vadot
6*f126890aSEmmanuel Vadot/ {
7*f126890aSEmmanuel Vadot	#address-cells = <1>;
8*f126890aSEmmanuel Vadot	#size-cells = <1>;
9*f126890aSEmmanuel Vadot	compatible = "st,spear600";
10*f126890aSEmmanuel Vadot
11*f126890aSEmmanuel Vadot	cpus {
12*f126890aSEmmanuel Vadot		#address-cells = <0>;
13*f126890aSEmmanuel Vadot		#size-cells = <0>;
14*f126890aSEmmanuel Vadot
15*f126890aSEmmanuel Vadot		cpu {
16*f126890aSEmmanuel Vadot			compatible = "arm,arm926ej-s";
17*f126890aSEmmanuel Vadot			device_type = "cpu";
18*f126890aSEmmanuel Vadot		};
19*f126890aSEmmanuel Vadot	};
20*f126890aSEmmanuel Vadot
21*f126890aSEmmanuel Vadot	memory {
22*f126890aSEmmanuel Vadot		device_type = "memory";
23*f126890aSEmmanuel Vadot		reg = <0 0x40000000>;
24*f126890aSEmmanuel Vadot	};
25*f126890aSEmmanuel Vadot
26*f126890aSEmmanuel Vadot	ahb {
27*f126890aSEmmanuel Vadot		#address-cells = <1>;
28*f126890aSEmmanuel Vadot		#size-cells = <1>;
29*f126890aSEmmanuel Vadot		compatible = "simple-bus";
30*f126890aSEmmanuel Vadot		ranges = <0xd0000000 0xd0000000 0x30000000>;
31*f126890aSEmmanuel Vadot
32*f126890aSEmmanuel Vadot		vic0: interrupt-controller@f1100000 {
33*f126890aSEmmanuel Vadot			compatible = "arm,pl190-vic";
34*f126890aSEmmanuel Vadot			interrupt-controller;
35*f126890aSEmmanuel Vadot			reg = <0xf1100000 0x1000>;
36*f126890aSEmmanuel Vadot			#interrupt-cells = <1>;
37*f126890aSEmmanuel Vadot		};
38*f126890aSEmmanuel Vadot
39*f126890aSEmmanuel Vadot		vic1: interrupt-controller@f1000000 {
40*f126890aSEmmanuel Vadot			compatible = "arm,pl190-vic";
41*f126890aSEmmanuel Vadot			interrupt-controller;
42*f126890aSEmmanuel Vadot			reg = <0xf1000000 0x1000>;
43*f126890aSEmmanuel Vadot			#interrupt-cells = <1>;
44*f126890aSEmmanuel Vadot		};
45*f126890aSEmmanuel Vadot
46*f126890aSEmmanuel Vadot		clcd: clcd@fc200000 {
47*f126890aSEmmanuel Vadot			compatible = "arm,pl110", "arm,primecell";
48*f126890aSEmmanuel Vadot			reg = <0xfc200000 0x1000>;
49*f126890aSEmmanuel Vadot			interrupt-parent = <&vic1>;
50*f126890aSEmmanuel Vadot			interrupts = <13>;
51*f126890aSEmmanuel Vadot			status = "disabled";
52*f126890aSEmmanuel Vadot		};
53*f126890aSEmmanuel Vadot
54*f126890aSEmmanuel Vadot		dmac: dma@fc400000 {
55*f126890aSEmmanuel Vadot			compatible = "arm,pl080", "arm,primecell";
56*f126890aSEmmanuel Vadot			reg = <0xfc400000 0x1000>;
57*f126890aSEmmanuel Vadot			interrupt-parent = <&vic1>;
58*f126890aSEmmanuel Vadot			interrupts = <10>;
59*f126890aSEmmanuel Vadot			status = "disabled";
60*f126890aSEmmanuel Vadot		};
61*f126890aSEmmanuel Vadot
62*f126890aSEmmanuel Vadot		gmac: ethernet@e0800000 {
63*f126890aSEmmanuel Vadot			compatible = "st,spear600-gmac";
64*f126890aSEmmanuel Vadot			reg = <0xe0800000 0x8000>;
65*f126890aSEmmanuel Vadot			interrupt-parent = <&vic1>;
66*f126890aSEmmanuel Vadot			interrupts = <24 23>;
67*f126890aSEmmanuel Vadot			interrupt-names = "macirq", "eth_wake_irq";
68*f126890aSEmmanuel Vadot			phy-mode = "gmii";
69*f126890aSEmmanuel Vadot			status = "disabled";
70*f126890aSEmmanuel Vadot		};
71*f126890aSEmmanuel Vadot
72*f126890aSEmmanuel Vadot		fsmc: flash@d1800000 {
73*f126890aSEmmanuel Vadot			compatible = "st,spear600-fsmc-nand";
74*f126890aSEmmanuel Vadot			#address-cells = <1>;
75*f126890aSEmmanuel Vadot			#size-cells = <1>;
76*f126890aSEmmanuel Vadot			reg = <0xd1800000 0x1000	/* FSMC Register */
77*f126890aSEmmanuel Vadot			       0xd2000000 0x0010	/* NAND Base DATA */
78*f126890aSEmmanuel Vadot			       0xd2020000 0x0010	/* NAND Base ADDR */
79*f126890aSEmmanuel Vadot			       0xd2010000 0x0010>;	/* NAND Base CMD */
80*f126890aSEmmanuel Vadot			reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd";
81*f126890aSEmmanuel Vadot			status = "disabled";
82*f126890aSEmmanuel Vadot		};
83*f126890aSEmmanuel Vadot
84*f126890aSEmmanuel Vadot		smi: flash@fc000000 {
85*f126890aSEmmanuel Vadot			compatible = "st,spear600-smi";
86*f126890aSEmmanuel Vadot			#address-cells = <1>;
87*f126890aSEmmanuel Vadot			#size-cells = <1>;
88*f126890aSEmmanuel Vadot			reg = <0xfc000000 0x1000>;
89*f126890aSEmmanuel Vadot			interrupt-parent = <&vic1>;
90*f126890aSEmmanuel Vadot			interrupts = <12>;
91*f126890aSEmmanuel Vadot			status = "disabled";
92*f126890aSEmmanuel Vadot		};
93*f126890aSEmmanuel Vadot
94*f126890aSEmmanuel Vadot		ehci_usb0: ehci@e1800000 {
95*f126890aSEmmanuel Vadot			compatible = "st,spear600-ehci", "usb-ehci";
96*f126890aSEmmanuel Vadot			reg = <0xe1800000 0x1000>;
97*f126890aSEmmanuel Vadot			interrupt-parent = <&vic1>;
98*f126890aSEmmanuel Vadot			interrupts = <27>;
99*f126890aSEmmanuel Vadot			status = "disabled";
100*f126890aSEmmanuel Vadot		};
101*f126890aSEmmanuel Vadot
102*f126890aSEmmanuel Vadot		ehci_usb1: ehci@e2000000 {
103*f126890aSEmmanuel Vadot			compatible = "st,spear600-ehci", "usb-ehci";
104*f126890aSEmmanuel Vadot			reg = <0xe2000000 0x1000>;
105*f126890aSEmmanuel Vadot			interrupt-parent = <&vic1>;
106*f126890aSEmmanuel Vadot			interrupts = <29>;
107*f126890aSEmmanuel Vadot			status = "disabled";
108*f126890aSEmmanuel Vadot		};
109*f126890aSEmmanuel Vadot
110*f126890aSEmmanuel Vadot		ohci_usb0: ohci@e1900000 {
111*f126890aSEmmanuel Vadot			compatible = "st,spear600-ohci", "usb-ohci";
112*f126890aSEmmanuel Vadot			reg = <0xe1900000 0x1000>;
113*f126890aSEmmanuel Vadot			interrupt-parent = <&vic1>;
114*f126890aSEmmanuel Vadot			interrupts = <26>;
115*f126890aSEmmanuel Vadot			status = "disabled";
116*f126890aSEmmanuel Vadot		};
117*f126890aSEmmanuel Vadot
118*f126890aSEmmanuel Vadot		ohci_usb1: ohci@e2100000 {
119*f126890aSEmmanuel Vadot			compatible = "st,spear600-ohci", "usb-ohci";
120*f126890aSEmmanuel Vadot			reg = <0xe2100000 0x1000>;
121*f126890aSEmmanuel Vadot			interrupt-parent = <&vic1>;
122*f126890aSEmmanuel Vadot			interrupts = <28>;
123*f126890aSEmmanuel Vadot			status = "disabled";
124*f126890aSEmmanuel Vadot		};
125*f126890aSEmmanuel Vadot
126*f126890aSEmmanuel Vadot		apb {
127*f126890aSEmmanuel Vadot			#address-cells = <1>;
128*f126890aSEmmanuel Vadot			#size-cells = <1>;
129*f126890aSEmmanuel Vadot			compatible = "simple-bus";
130*f126890aSEmmanuel Vadot			ranges = <0xd0000000 0xd0000000 0x30000000>;
131*f126890aSEmmanuel Vadot
132*f126890aSEmmanuel Vadot			uart0: serial@d0000000 {
133*f126890aSEmmanuel Vadot				compatible = "arm,pl011", "arm,primecell";
134*f126890aSEmmanuel Vadot				reg = <0xd0000000 0x1000>;
135*f126890aSEmmanuel Vadot				interrupt-parent = <&vic0>;
136*f126890aSEmmanuel Vadot				interrupts = <24>;
137*f126890aSEmmanuel Vadot				status = "disabled";
138*f126890aSEmmanuel Vadot			};
139*f126890aSEmmanuel Vadot
140*f126890aSEmmanuel Vadot			uart1: serial@d0080000 {
141*f126890aSEmmanuel Vadot				compatible = "arm,pl011", "arm,primecell";
142*f126890aSEmmanuel Vadot				reg = <0xd0080000 0x1000>;
143*f126890aSEmmanuel Vadot				interrupt-parent = <&vic0>;
144*f126890aSEmmanuel Vadot				interrupts = <25>;
145*f126890aSEmmanuel Vadot				status = "disabled";
146*f126890aSEmmanuel Vadot			};
147*f126890aSEmmanuel Vadot
148*f126890aSEmmanuel Vadot			/* local/cpu GPIO */
149*f126890aSEmmanuel Vadot			gpio0: gpio@f0100000 {
150*f126890aSEmmanuel Vadot				#gpio-cells = <2>;
151*f126890aSEmmanuel Vadot				compatible = "arm,pl061", "arm,primecell";
152*f126890aSEmmanuel Vadot				gpio-controller;
153*f126890aSEmmanuel Vadot				reg = <0xf0100000 0x1000>;
154*f126890aSEmmanuel Vadot				interrupt-parent = <&vic0>;
155*f126890aSEmmanuel Vadot				interrupts = <18>;
156*f126890aSEmmanuel Vadot			};
157*f126890aSEmmanuel Vadot
158*f126890aSEmmanuel Vadot			/* basic GPIO */
159*f126890aSEmmanuel Vadot			gpio1: gpio@fc980000 {
160*f126890aSEmmanuel Vadot				#gpio-cells = <2>;
161*f126890aSEmmanuel Vadot				compatible = "arm,pl061", "arm,primecell";
162*f126890aSEmmanuel Vadot				gpio-controller;
163*f126890aSEmmanuel Vadot				reg = <0xfc980000 0x1000>;
164*f126890aSEmmanuel Vadot				interrupt-parent = <&vic1>;
165*f126890aSEmmanuel Vadot				interrupts = <19>;
166*f126890aSEmmanuel Vadot			};
167*f126890aSEmmanuel Vadot
168*f126890aSEmmanuel Vadot			/* appl GPIO */
169*f126890aSEmmanuel Vadot			gpio2: gpio@d8100000 {
170*f126890aSEmmanuel Vadot				#gpio-cells = <2>;
171*f126890aSEmmanuel Vadot				compatible = "arm,pl061", "arm,primecell";
172*f126890aSEmmanuel Vadot				gpio-controller;
173*f126890aSEmmanuel Vadot				reg = <0xd8100000 0x1000>;
174*f126890aSEmmanuel Vadot				interrupt-parent = <&vic1>;
175*f126890aSEmmanuel Vadot				interrupts = <4>;
176*f126890aSEmmanuel Vadot			};
177*f126890aSEmmanuel Vadot
178*f126890aSEmmanuel Vadot			i2c: i2c@d0200000 {
179*f126890aSEmmanuel Vadot				#address-cells = <1>;
180*f126890aSEmmanuel Vadot				#size-cells = <0>;
181*f126890aSEmmanuel Vadot				compatible = "snps,designware-i2c";
182*f126890aSEmmanuel Vadot				reg = <0xd0200000 0x1000>;
183*f126890aSEmmanuel Vadot				interrupt-parent = <&vic0>;
184*f126890aSEmmanuel Vadot				interrupts = <28>;
185*f126890aSEmmanuel Vadot				status = "disabled";
186*f126890aSEmmanuel Vadot			};
187*f126890aSEmmanuel Vadot
188*f126890aSEmmanuel Vadot			rtc: rtc@fc900000 {
189*f126890aSEmmanuel Vadot				compatible = "st,spear600-rtc";
190*f126890aSEmmanuel Vadot				reg = <0xfc900000 0x1000>;
191*f126890aSEmmanuel Vadot				interrupt-parent = <&vic0>;
192*f126890aSEmmanuel Vadot				interrupts = <10>;
193*f126890aSEmmanuel Vadot				status = "disabled";
194*f126890aSEmmanuel Vadot			};
195*f126890aSEmmanuel Vadot
196*f126890aSEmmanuel Vadot			timer@f0000000 {
197*f126890aSEmmanuel Vadot				compatible = "st,spear-timer";
198*f126890aSEmmanuel Vadot				reg = <0xf0000000 0x400>;
199*f126890aSEmmanuel Vadot				interrupt-parent = <&vic0>;
200*f126890aSEmmanuel Vadot				interrupts = <16>;
201*f126890aSEmmanuel Vadot			};
202*f126890aSEmmanuel Vadot
203*f126890aSEmmanuel Vadot			adc: adc@d820b000 {
204*f126890aSEmmanuel Vadot				compatible = "st,spear600-adc";
205*f126890aSEmmanuel Vadot				reg = <0xd820b000 0x1000>;
206*f126890aSEmmanuel Vadot				interrupt-parent = <&vic1>;
207*f126890aSEmmanuel Vadot				interrupts = <6>;
208*f126890aSEmmanuel Vadot				status = "disabled";
209*f126890aSEmmanuel Vadot			};
210*f126890aSEmmanuel Vadot
211*f126890aSEmmanuel Vadot			ssp1: spi@d0100000 {
212*f126890aSEmmanuel Vadot				compatible = "arm,pl022", "arm,primecell";
213*f126890aSEmmanuel Vadot				reg = <0xd0100000 0x1000>;
214*f126890aSEmmanuel Vadot				#address-cells = <1>;
215*f126890aSEmmanuel Vadot				#size-cells = <0>;
216*f126890aSEmmanuel Vadot				interrupt-parent = <&vic0>;
217*f126890aSEmmanuel Vadot				interrupts = <26>;
218*f126890aSEmmanuel Vadot				status = "disabled";
219*f126890aSEmmanuel Vadot			};
220*f126890aSEmmanuel Vadot
221*f126890aSEmmanuel Vadot			ssp2: spi@d0180000 {
222*f126890aSEmmanuel Vadot				compatible = "arm,pl022", "arm,primecell";
223*f126890aSEmmanuel Vadot				reg = <0xd0180000 0x1000>;
224*f126890aSEmmanuel Vadot				#address-cells = <1>;
225*f126890aSEmmanuel Vadot				#size-cells = <0>;
226*f126890aSEmmanuel Vadot				interrupt-parent = <&vic0>;
227*f126890aSEmmanuel Vadot				interrupts = <27>;
228*f126890aSEmmanuel Vadot				status = "disabled";
229*f126890aSEmmanuel Vadot			};
230*f126890aSEmmanuel Vadot
231*f126890aSEmmanuel Vadot			ssp3: spi@d8180000 {
232*f126890aSEmmanuel Vadot				compatible = "arm,pl022", "arm,primecell";
233*f126890aSEmmanuel Vadot				reg = <0xd8180000 0x1000>;
234*f126890aSEmmanuel Vadot				#address-cells = <1>;
235*f126890aSEmmanuel Vadot				#size-cells = <0>;
236*f126890aSEmmanuel Vadot				interrupt-parent = <&vic1>;
237*f126890aSEmmanuel Vadot				interrupts = <5>;
238*f126890aSEmmanuel Vadot				status = "disabled";
239*f126890aSEmmanuel Vadot			};
240*f126890aSEmmanuel Vadot		};
241*f126890aSEmmanuel Vadot	};
242*f126890aSEmmanuel Vadot};
243