xref: /openbmc/linux/arch/arm/boot/dts/vt8500/wm8850.dtsi (revision 2612e3bbc0386368a850140a6c9b990cd496a5ec)
1 *724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later
2 *724ba675SRob Herring/*
3 *724ba675SRob Herring * wm8850.dtsi - Device tree file for Wondermedia WM8850 SoC
4 *724ba675SRob Herring *
5 *724ba675SRob Herring * Copyright (C) 2012 Tony Prisk <linux@prisktech.co.nz>
6 *724ba675SRob Herring */
7 *724ba675SRob Herring
8 *724ba675SRob Herring/ {
9 *724ba675SRob Herring	#address-cells = <1>;
10 *724ba675SRob Herring	#size-cells = <1>;
11 *724ba675SRob Herring	compatible = "wm,wm8850";
12 *724ba675SRob Herring
13 *724ba675SRob Herring	cpus {
14 *724ba675SRob Herring		#address-cells = <1>;
15 *724ba675SRob Herring		#size-cells = <0>;
16 *724ba675SRob Herring
17 *724ba675SRob Herring		cpu@0 {
18 *724ba675SRob Herring			device_type = "cpu";
19 *724ba675SRob Herring			compatible = "arm,cortex-a9";
20 *724ba675SRob Herring			reg = <0x0>;
21 *724ba675SRob Herring		};
22 *724ba675SRob Herring	};
23 *724ba675SRob Herring
24 *724ba675SRob Herring	memory {
25 *724ba675SRob Herring		device_type = "memory";
26 *724ba675SRob Herring		reg = <0x0 0x0>;
27 *724ba675SRob Herring	};
28 *724ba675SRob Herring
29 *724ba675SRob Herring	aliases {
30 *724ba675SRob Herring		serial0 = &uart0;
31 *724ba675SRob Herring		serial1 = &uart1;
32 *724ba675SRob Herring		serial2 = &uart2;
33 *724ba675SRob Herring		serial3 = &uart3;
34 *724ba675SRob Herring	};
35 *724ba675SRob Herring
36 *724ba675SRob Herring	soc {
37 *724ba675SRob Herring		#address-cells = <1>;
38 *724ba675SRob Herring		#size-cells = <1>;
39 *724ba675SRob Herring		compatible = "simple-bus";
40 *724ba675SRob Herring		ranges;
41 *724ba675SRob Herring		interrupt-parent = <&intc0>;
42 *724ba675SRob Herring
43 *724ba675SRob Herring		intc0: interrupt-controller@d8140000 {
44 *724ba675SRob Herring			compatible = "via,vt8500-intc";
45 *724ba675SRob Herring			interrupt-controller;
46 *724ba675SRob Herring			reg = <0xd8140000 0x10000>;
47 *724ba675SRob Herring			#interrupt-cells = <1>;
48 *724ba675SRob Herring		};
49 *724ba675SRob Herring
50 *724ba675SRob Herring		/* Secondary IC cascaded to intc0 */
51 *724ba675SRob Herring		intc1: interrupt-controller@d8150000 {
52 *724ba675SRob Herring			compatible = "via,vt8500-intc";
53 *724ba675SRob Herring			interrupt-controller;
54 *724ba675SRob Herring			#interrupt-cells = <1>;
55 *724ba675SRob Herring			reg = <0xD8150000 0x10000>;
56 *724ba675SRob Herring			interrupts = <56 57 58 59 60 61 62 63>;
57 *724ba675SRob Herring		};
58 *724ba675SRob Herring
59 *724ba675SRob Herring		pinctrl: pinctrl@d8110000 {
60 *724ba675SRob Herring			compatible = "wm,wm8850-pinctrl";
61 *724ba675SRob Herring			reg = <0xd8110000 0x10000>;
62 *724ba675SRob Herring			interrupt-controller;
63 *724ba675SRob Herring			#interrupt-cells = <2>;
64 *724ba675SRob Herring			gpio-controller;
65 *724ba675SRob Herring			#gpio-cells = <2>;
66 *724ba675SRob Herring		};
67 *724ba675SRob Herring
68 *724ba675SRob Herring		pmc@d8130000 {
69 *724ba675SRob Herring			compatible = "via,vt8500-pmc";
70 *724ba675SRob Herring			reg = <0xd8130000 0x1000>;
71 *724ba675SRob Herring
72 *724ba675SRob Herring			clocks {
73 *724ba675SRob Herring				#address-cells = <1>;
74 *724ba675SRob Herring				#size-cells = <0>;
75 *724ba675SRob Herring
76 *724ba675SRob Herring				ref25: ref25M {
77 *724ba675SRob Herring					#clock-cells = <0>;
78 *724ba675SRob Herring					compatible = "fixed-clock";
79 *724ba675SRob Herring					clock-frequency = <25000000>;
80 *724ba675SRob Herring				};
81 *724ba675SRob Herring
82 *724ba675SRob Herring				ref24: ref24M {
83 *724ba675SRob Herring					#clock-cells = <0>;
84 *724ba675SRob Herring					compatible = "fixed-clock";
85 *724ba675SRob Herring					clock-frequency = <24000000>;
86 *724ba675SRob Herring				};
87 *724ba675SRob Herring
88 *724ba675SRob Herring				plla: plla {
89 *724ba675SRob Herring					#clock-cells = <0>;
90 *724ba675SRob Herring					compatible = "wm,wm8850-pll-clock";
91 *724ba675SRob Herring					clocks = <&ref24>;
92 *724ba675SRob Herring					reg = <0x200>;
93 *724ba675SRob Herring				};
94 *724ba675SRob Herring
95 *724ba675SRob Herring				pllb: pllb {
96 *724ba675SRob Herring					#clock-cells = <0>;
97 *724ba675SRob Herring					compatible = "wm,wm8850-pll-clock";
98 *724ba675SRob Herring					clocks = <&ref24>;
99 *724ba675SRob Herring					reg = <0x204>;
100 *724ba675SRob Herring				};
101 *724ba675SRob Herring
102 *724ba675SRob Herring				pllc: pllc {
103 *724ba675SRob Herring					#clock-cells = <0>;
104 *724ba675SRob Herring					compatible = "wm,wm8850-pll-clock";
105 *724ba675SRob Herring					clocks = <&ref24>;
106 *724ba675SRob Herring					reg = <0x208>;
107 *724ba675SRob Herring				};
108 *724ba675SRob Herring
109 *724ba675SRob Herring				plld: plld {
110 *724ba675SRob Herring					#clock-cells = <0>;
111 *724ba675SRob Herring					compatible = "wm,wm8850-pll-clock";
112 *724ba675SRob Herring					clocks = <&ref24>;
113 *724ba675SRob Herring					reg = <0x20c>;
114 *724ba675SRob Herring				};
115 *724ba675SRob Herring
116 *724ba675SRob Herring				plle: plle {
117 *724ba675SRob Herring					#clock-cells = <0>;
118 *724ba675SRob Herring					compatible = "wm,wm8850-pll-clock";
119 *724ba675SRob Herring					clocks = <&ref24>;
120 *724ba675SRob Herring					reg = <0x210>;
121 *724ba675SRob Herring				};
122 *724ba675SRob Herring
123 *724ba675SRob Herring				pllf: pllf {
124 *724ba675SRob Herring					#clock-cells = <0>;
125 *724ba675SRob Herring					compatible = "wm,wm8850-pll-clock";
126 *724ba675SRob Herring					clocks = <&ref24>;
127 *724ba675SRob Herring					reg = <0x214>;
128 *724ba675SRob Herring				};
129 *724ba675SRob Herring
130 *724ba675SRob Herring				pllg: pllg {
131 *724ba675SRob Herring					#clock-cells = <0>;
132 *724ba675SRob Herring					compatible = "wm,wm8850-pll-clock";
133 *724ba675SRob Herring					clocks = <&ref24>;
134 *724ba675SRob Herring					reg = <0x218>;
135 *724ba675SRob Herring				};
136 *724ba675SRob Herring
137 *724ba675SRob Herring				clkarm: arm {
138 *724ba675SRob Herring					#clock-cells = <0>;
139 *724ba675SRob Herring					compatible = "via,vt8500-device-clock";
140 *724ba675SRob Herring					clocks = <&plla>;
141 *724ba675SRob Herring					divisor-reg = <0x300>;
142 *724ba675SRob Herring				};
143 *724ba675SRob Herring
144 *724ba675SRob Herring				clkahb: ahb {
145 *724ba675SRob Herring					#clock-cells = <0>;
146 *724ba675SRob Herring					compatible = "via,vt8500-device-clock";
147 *724ba675SRob Herring					clocks = <&pllb>;
148 *724ba675SRob Herring					divisor-reg = <0x304>;
149 *724ba675SRob Herring				};
150 *724ba675SRob Herring
151 *724ba675SRob Herring				clkapb: apb {
152 *724ba675SRob Herring					#clock-cells = <0>;
153 *724ba675SRob Herring					compatible = "via,vt8500-device-clock";
154 *724ba675SRob Herring					clocks = <&pllb>;
155 *724ba675SRob Herring					divisor-reg = <0x320>;
156 *724ba675SRob Herring				};
157 *724ba675SRob Herring
158 *724ba675SRob Herring				clkddr: ddr {
159 *724ba675SRob Herring					#clock-cells = <0>;
160 *724ba675SRob Herring					compatible = "via,vt8500-device-clock";
161 *724ba675SRob Herring					clocks = <&plld>;
162 *724ba675SRob Herring					divisor-reg = <0x310>;
163 *724ba675SRob Herring				};
164 *724ba675SRob Herring
165 *724ba675SRob Herring				clkuart0: uart0 {
166 *724ba675SRob Herring					#clock-cells = <0>;
167 *724ba675SRob Herring					compatible = "via,vt8500-device-clock";
168 *724ba675SRob Herring					clocks = <&ref24>;
169 *724ba675SRob Herring					enable-reg = <0x254>;
170 *724ba675SRob Herring					enable-bit = <24>;
171 *724ba675SRob Herring				};
172 *724ba675SRob Herring
173 *724ba675SRob Herring				clkuart1: uart1 {
174 *724ba675SRob Herring					#clock-cells = <0>;
175 *724ba675SRob Herring					compatible = "via,vt8500-device-clock";
176 *724ba675SRob Herring					clocks = <&ref24>;
177 *724ba675SRob Herring					enable-reg = <0x254>;
178 *724ba675SRob Herring					enable-bit = <25>;
179 *724ba675SRob Herring				};
180 *724ba675SRob Herring
181 *724ba675SRob Herring                                clkuart2: uart2 {
182 *724ba675SRob Herring                                        #clock-cells = <0>;
183 *724ba675SRob Herring                                        compatible = "via,vt8500-device-clock";
184 *724ba675SRob Herring                                        clocks = <&ref24>;
185 *724ba675SRob Herring                                        enable-reg = <0x254>;
186 *724ba675SRob Herring                                        enable-bit = <26>;
187 *724ba675SRob Herring                                };
188 *724ba675SRob Herring
189 *724ba675SRob Herring                                clkuart3: uart3 {
190 *724ba675SRob Herring                                        #clock-cells = <0>;
191 *724ba675SRob Herring                                        compatible = "via,vt8500-device-clock";
192 *724ba675SRob Herring                                        clocks = <&ref24>;
193 *724ba675SRob Herring                                        enable-reg = <0x254>;
194 *724ba675SRob Herring                                        enable-bit = <27>;
195 *724ba675SRob Herring                                };
196 *724ba675SRob Herring
197 *724ba675SRob Herring				clkpwm: pwm {
198 *724ba675SRob Herring					#clock-cells = <0>;
199 *724ba675SRob Herring					compatible = "via,vt8500-device-clock";
200 *724ba675SRob Herring					clocks = <&pllb>;
201 *724ba675SRob Herring					divisor-reg = <0x350>;
202 *724ba675SRob Herring					enable-reg = <0x250>;
203 *724ba675SRob Herring					enable-bit = <17>;
204 *724ba675SRob Herring				};
205 *724ba675SRob Herring
206 *724ba675SRob Herring				clksdhc: sdhc {
207 *724ba675SRob Herring					#clock-cells = <0>;
208 *724ba675SRob Herring					compatible = "via,vt8500-device-clock";
209 *724ba675SRob Herring					clocks = <&pllb>;
210 *724ba675SRob Herring					divisor-reg = <0x330>;
211 *724ba675SRob Herring					divisor-mask = <0x3f>;
212 *724ba675SRob Herring					enable-reg = <0x250>;
213 *724ba675SRob Herring					enable-bit = <0>;
214 *724ba675SRob Herring				};
215 *724ba675SRob Herring			};
216 *724ba675SRob Herring		};
217 *724ba675SRob Herring
218 *724ba675SRob Herring		fb: fb@d8051700 {
219 *724ba675SRob Herring			compatible = "wm,wm8505-fb";
220 *724ba675SRob Herring			reg = <0xd8051700 0x200>;
221 *724ba675SRob Herring		};
222 *724ba675SRob Herring
223 *724ba675SRob Herring		ge_rops@d8050400 {
224 *724ba675SRob Herring			compatible = "wm,prizm-ge-rops";
225 *724ba675SRob Herring			reg = <0xd8050400 0x100>;
226 *724ba675SRob Herring		};
227 *724ba675SRob Herring
228 *724ba675SRob Herring		pwm: pwm@d8220000 {
229 *724ba675SRob Herring			#pwm-cells = <3>;
230 *724ba675SRob Herring			compatible = "via,vt8500-pwm";
231 *724ba675SRob Herring			reg = <0xd8220000 0x100>;
232 *724ba675SRob Herring			clocks = <&clkpwm>;
233 *724ba675SRob Herring		};
234 *724ba675SRob Herring
235 *724ba675SRob Herring		timer@d8130100 {
236 *724ba675SRob Herring			compatible = "via,vt8500-timer";
237 *724ba675SRob Herring			reg = <0xd8130100 0x28>;
238 *724ba675SRob Herring			interrupts = <36>;
239 *724ba675SRob Herring		};
240 *724ba675SRob Herring
241 *724ba675SRob Herring		ehci@d8007900 {
242 *724ba675SRob Herring			compatible = "via,vt8500-ehci";
243 *724ba675SRob Herring			reg = <0xd8007900 0x200>;
244 *724ba675SRob Herring			interrupts = <26>;
245 *724ba675SRob Herring		};
246 *724ba675SRob Herring
247 *724ba675SRob Herring		uhci@d8007b00 {
248 *724ba675SRob Herring			compatible = "platform-uhci";
249 *724ba675SRob Herring			reg = <0xd8007b00 0x200>;
250 *724ba675SRob Herring			interrupts = <26>;
251 *724ba675SRob Herring		};
252 *724ba675SRob Herring
253 *724ba675SRob Herring		uhci@d8008d00 {
254 *724ba675SRob Herring			compatible = "platform-uhci";
255 *724ba675SRob Herring			reg = <0xd8008d00 0x200>;
256 *724ba675SRob Herring			interrupts = <26>;
257 *724ba675SRob Herring		};
258 *724ba675SRob Herring
259 *724ba675SRob Herring		uart0: serial@d8200000 {
260 *724ba675SRob Herring			compatible = "via,vt8500-uart";
261 *724ba675SRob Herring			reg = <0xd8200000 0x1040>;
262 *724ba675SRob Herring			interrupts = <32>;
263 *724ba675SRob Herring			clocks = <&clkuart0>;
264 *724ba675SRob Herring			status = "disabled";
265 *724ba675SRob Herring		};
266 *724ba675SRob Herring
267 *724ba675SRob Herring		uart1: serial@d82b0000 {
268 *724ba675SRob Herring			compatible = "via,vt8500-uart";
269 *724ba675SRob Herring			reg = <0xd82b0000 0x1040>;
270 *724ba675SRob Herring			interrupts = <33>;
271 *724ba675SRob Herring			clocks = <&clkuart1>;
272 *724ba675SRob Herring			status = "disabled";
273 *724ba675SRob Herring		};
274 *724ba675SRob Herring
275 *724ba675SRob Herring                uart2: serial@d8210000 {
276 *724ba675SRob Herring                        compatible = "via,vt8500-uart";
277 *724ba675SRob Herring                        reg = <0xd8210000 0x1040>;
278 *724ba675SRob Herring                        interrupts = <47>;
279 *724ba675SRob Herring                        clocks = <&clkuart2>;
280 *724ba675SRob Herring			status = "disabled";
281 *724ba675SRob Herring                };
282 *724ba675SRob Herring
283 *724ba675SRob Herring                uart3: serial@d82c0000 {
284 *724ba675SRob Herring                        compatible = "via,vt8500-uart";
285 *724ba675SRob Herring                        reg = <0xd82c0000 0x1040>;
286 *724ba675SRob Herring                        interrupts = <50>;
287 *724ba675SRob Herring                        clocks = <&clkuart3>;
288 *724ba675SRob Herring			status = "disabled";
289 *724ba675SRob Herring                };
290 *724ba675SRob Herring
291 *724ba675SRob Herring		rtc@d8100000 {
292 *724ba675SRob Herring			compatible = "via,vt8500-rtc";
293 *724ba675SRob Herring			reg = <0xd8100000 0x10000>;
294 *724ba675SRob Herring			interrupts = <48>;
295 *724ba675SRob Herring		};
296 *724ba675SRob Herring
297 *724ba675SRob Herring		sdhc@d800a000 {
298 *724ba675SRob Herring			compatible = "wm,wm8505-sdhc";
299 *724ba675SRob Herring			reg = <0xd800a000 0x1000>;
300 *724ba675SRob Herring			interrupts = <20 21>;
301 *724ba675SRob Herring			clocks = <&clksdhc>;
302 *724ba675SRob Herring			bus-width = <4>;
303 *724ba675SRob Herring			sdon-inverted;
304 *724ba675SRob Herring		};
305 *724ba675SRob Herring
306 *724ba675SRob Herring		ethernet@d8004000 {
307 *724ba675SRob Herring			compatible = "via,vt8500-rhine";
308 *724ba675SRob Herring			reg = <0xd8004000 0x100>;
309 *724ba675SRob Herring			interrupts = <10>;
310 *724ba675SRob Herring                };
311 *724ba675SRob Herring	};
312 *724ba675SRob Herring};
313