xref: /linux/scripts/dtc/include-prefixes/arm/vt8500/wm8850.dtsi (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later
2724ba675SRob Herring/*
3724ba675SRob Herring * wm8850.dtsi - Device tree file for Wondermedia WM8850 SoC
4724ba675SRob Herring *
5724ba675SRob Herring * Copyright (C) 2012 Tony Prisk <linux@prisktech.co.nz>
6724ba675SRob Herring */
7724ba675SRob Herring
8724ba675SRob Herring/ {
9724ba675SRob Herring	#address-cells = <1>;
10724ba675SRob Herring	#size-cells = <1>;
11724ba675SRob Herring	compatible = "wm,wm8850";
12724ba675SRob Herring
13724ba675SRob Herring	cpus {
14724ba675SRob Herring		#address-cells = <1>;
15724ba675SRob Herring		#size-cells = <0>;
16724ba675SRob Herring
17724ba675SRob Herring		cpu@0 {
18724ba675SRob Herring			device_type = "cpu";
19724ba675SRob Herring			compatible = "arm,cortex-a9";
20724ba675SRob Herring			reg = <0x0>;
21724ba675SRob Herring		};
22724ba675SRob Herring	};
23724ba675SRob Herring
24724ba675SRob Herring	memory {
25724ba675SRob Herring		device_type = "memory";
26724ba675SRob Herring		reg = <0x0 0x0>;
27724ba675SRob Herring	};
28724ba675SRob Herring
29724ba675SRob Herring	aliases {
30724ba675SRob Herring		serial0 = &uart0;
31724ba675SRob Herring		serial1 = &uart1;
32724ba675SRob Herring		serial2 = &uart2;
33724ba675SRob Herring		serial3 = &uart3;
34724ba675SRob Herring	};
35724ba675SRob Herring
36724ba675SRob Herring	soc {
37724ba675SRob Herring		#address-cells = <1>;
38724ba675SRob Herring		#size-cells = <1>;
39724ba675SRob Herring		compatible = "simple-bus";
40724ba675SRob Herring		ranges;
41724ba675SRob Herring		interrupt-parent = <&intc0>;
42724ba675SRob Herring
43724ba675SRob Herring		intc0: interrupt-controller@d8140000 {
44724ba675SRob Herring			compatible = "via,vt8500-intc";
45724ba675SRob Herring			interrupt-controller;
46724ba675SRob Herring			reg = <0xd8140000 0x10000>;
47724ba675SRob Herring			#interrupt-cells = <1>;
48724ba675SRob Herring		};
49724ba675SRob Herring
50724ba675SRob Herring		/* Secondary IC cascaded to intc0 */
51724ba675SRob Herring		intc1: interrupt-controller@d8150000 {
52724ba675SRob Herring			compatible = "via,vt8500-intc";
53724ba675SRob Herring			interrupt-controller;
54724ba675SRob Herring			#interrupt-cells = <1>;
55724ba675SRob Herring			reg = <0xD8150000 0x10000>;
56724ba675SRob Herring			interrupts = <56 57 58 59 60 61 62 63>;
57724ba675SRob Herring		};
58724ba675SRob Herring
59724ba675SRob Herring		pinctrl: pinctrl@d8110000 {
60724ba675SRob Herring			compatible = "wm,wm8850-pinctrl";
61724ba675SRob Herring			reg = <0xd8110000 0x10000>;
62724ba675SRob Herring			interrupt-controller;
63724ba675SRob Herring			#interrupt-cells = <2>;
64724ba675SRob Herring			gpio-controller;
65724ba675SRob Herring			#gpio-cells = <2>;
66724ba675SRob Herring		};
67724ba675SRob Herring
68724ba675SRob Herring		pmc@d8130000 {
69724ba675SRob Herring			compatible = "via,vt8500-pmc";
70724ba675SRob Herring			reg = <0xd8130000 0x1000>;
71724ba675SRob Herring
72724ba675SRob Herring			clocks {
73724ba675SRob Herring				#address-cells = <1>;
74724ba675SRob Herring				#size-cells = <0>;
75724ba675SRob Herring
76724ba675SRob Herring				ref25: ref25M {
77724ba675SRob Herring					#clock-cells = <0>;
78724ba675SRob Herring					compatible = "fixed-clock";
79724ba675SRob Herring					clock-frequency = <25000000>;
80724ba675SRob Herring				};
81724ba675SRob Herring
82724ba675SRob Herring				ref24: ref24M {
83724ba675SRob Herring					#clock-cells = <0>;
84724ba675SRob Herring					compatible = "fixed-clock";
85724ba675SRob Herring					clock-frequency = <24000000>;
86724ba675SRob Herring				};
87724ba675SRob Herring
88724ba675SRob Herring				plla: plla {
89724ba675SRob Herring					#clock-cells = <0>;
90724ba675SRob Herring					compatible = "wm,wm8850-pll-clock";
91724ba675SRob Herring					clocks = <&ref24>;
92724ba675SRob Herring					reg = <0x200>;
93724ba675SRob Herring				};
94724ba675SRob Herring
95724ba675SRob Herring				pllb: pllb {
96724ba675SRob Herring					#clock-cells = <0>;
97724ba675SRob Herring					compatible = "wm,wm8850-pll-clock";
98724ba675SRob Herring					clocks = <&ref24>;
99724ba675SRob Herring					reg = <0x204>;
100724ba675SRob Herring				};
101724ba675SRob Herring
102724ba675SRob Herring				pllc: pllc {
103724ba675SRob Herring					#clock-cells = <0>;
104724ba675SRob Herring					compatible = "wm,wm8850-pll-clock";
105724ba675SRob Herring					clocks = <&ref24>;
106724ba675SRob Herring					reg = <0x208>;
107724ba675SRob Herring				};
108724ba675SRob Herring
109724ba675SRob Herring				plld: plld {
110724ba675SRob Herring					#clock-cells = <0>;
111724ba675SRob Herring					compatible = "wm,wm8850-pll-clock";
112724ba675SRob Herring					clocks = <&ref24>;
113724ba675SRob Herring					reg = <0x20c>;
114724ba675SRob Herring				};
115724ba675SRob Herring
116724ba675SRob Herring				plle: plle {
117724ba675SRob Herring					#clock-cells = <0>;
118724ba675SRob Herring					compatible = "wm,wm8850-pll-clock";
119724ba675SRob Herring					clocks = <&ref24>;
120724ba675SRob Herring					reg = <0x210>;
121724ba675SRob Herring				};
122724ba675SRob Herring
123724ba675SRob Herring				pllf: pllf {
124724ba675SRob Herring					#clock-cells = <0>;
125724ba675SRob Herring					compatible = "wm,wm8850-pll-clock";
126724ba675SRob Herring					clocks = <&ref24>;
127724ba675SRob Herring					reg = <0x214>;
128724ba675SRob Herring				};
129724ba675SRob Herring
130724ba675SRob Herring				pllg: pllg {
131724ba675SRob Herring					#clock-cells = <0>;
132724ba675SRob Herring					compatible = "wm,wm8850-pll-clock";
133724ba675SRob Herring					clocks = <&ref24>;
134724ba675SRob Herring					reg = <0x218>;
135724ba675SRob Herring				};
136724ba675SRob Herring
137724ba675SRob Herring				clkarm: arm {
138724ba675SRob Herring					#clock-cells = <0>;
139724ba675SRob Herring					compatible = "via,vt8500-device-clock";
140724ba675SRob Herring					clocks = <&plla>;
141724ba675SRob Herring					divisor-reg = <0x300>;
142724ba675SRob Herring				};
143724ba675SRob Herring
144724ba675SRob Herring				clkahb: ahb {
145724ba675SRob Herring					#clock-cells = <0>;
146724ba675SRob Herring					compatible = "via,vt8500-device-clock";
147724ba675SRob Herring					clocks = <&pllb>;
148724ba675SRob Herring					divisor-reg = <0x304>;
149724ba675SRob Herring				};
150724ba675SRob Herring
151724ba675SRob Herring				clkapb: apb {
152724ba675SRob Herring					#clock-cells = <0>;
153724ba675SRob Herring					compatible = "via,vt8500-device-clock";
154724ba675SRob Herring					clocks = <&pllb>;
155724ba675SRob Herring					divisor-reg = <0x320>;
156724ba675SRob Herring				};
157724ba675SRob Herring
158724ba675SRob Herring				clkddr: ddr {
159724ba675SRob Herring					#clock-cells = <0>;
160724ba675SRob Herring					compatible = "via,vt8500-device-clock";
161724ba675SRob Herring					clocks = <&plld>;
162724ba675SRob Herring					divisor-reg = <0x310>;
163724ba675SRob Herring				};
164724ba675SRob Herring
165724ba675SRob Herring				clkuart0: uart0 {
166724ba675SRob Herring					#clock-cells = <0>;
167724ba675SRob Herring					compatible = "via,vt8500-device-clock";
168724ba675SRob Herring					clocks = <&ref24>;
169724ba675SRob Herring					enable-reg = <0x254>;
170724ba675SRob Herring					enable-bit = <24>;
171724ba675SRob Herring				};
172724ba675SRob Herring
173724ba675SRob Herring				clkuart1: uart1 {
174724ba675SRob Herring					#clock-cells = <0>;
175724ba675SRob Herring					compatible = "via,vt8500-device-clock";
176724ba675SRob Herring					clocks = <&ref24>;
177724ba675SRob Herring					enable-reg = <0x254>;
178724ba675SRob Herring					enable-bit = <25>;
179724ba675SRob Herring				};
180724ba675SRob Herring
181724ba675SRob Herring                                clkuart2: uart2 {
182724ba675SRob Herring                                        #clock-cells = <0>;
183724ba675SRob Herring                                        compatible = "via,vt8500-device-clock";
184724ba675SRob Herring                                        clocks = <&ref24>;
185724ba675SRob Herring                                        enable-reg = <0x254>;
186724ba675SRob Herring                                        enable-bit = <26>;
187724ba675SRob Herring                                };
188724ba675SRob Herring
189724ba675SRob Herring                                clkuart3: uart3 {
190724ba675SRob Herring                                        #clock-cells = <0>;
191724ba675SRob Herring                                        compatible = "via,vt8500-device-clock";
192724ba675SRob Herring                                        clocks = <&ref24>;
193724ba675SRob Herring                                        enable-reg = <0x254>;
194724ba675SRob Herring                                        enable-bit = <27>;
195724ba675SRob Herring                                };
196724ba675SRob Herring
197724ba675SRob Herring				clkpwm: pwm {
198724ba675SRob Herring					#clock-cells = <0>;
199724ba675SRob Herring					compatible = "via,vt8500-device-clock";
200724ba675SRob Herring					clocks = <&pllb>;
201724ba675SRob Herring					divisor-reg = <0x350>;
202724ba675SRob Herring					enable-reg = <0x250>;
203724ba675SRob Herring					enable-bit = <17>;
204724ba675SRob Herring				};
205724ba675SRob Herring
206724ba675SRob Herring				clksdhc: sdhc {
207724ba675SRob Herring					#clock-cells = <0>;
208724ba675SRob Herring					compatible = "via,vt8500-device-clock";
209724ba675SRob Herring					clocks = <&pllb>;
210724ba675SRob Herring					divisor-reg = <0x330>;
211724ba675SRob Herring					divisor-mask = <0x3f>;
212724ba675SRob Herring					enable-reg = <0x250>;
213724ba675SRob Herring					enable-bit = <0>;
214724ba675SRob Herring				};
215724ba675SRob Herring			};
216724ba675SRob Herring		};
217724ba675SRob Herring
218724ba675SRob Herring		fb: fb@d8051700 {
219724ba675SRob Herring			compatible = "wm,wm8505-fb";
220724ba675SRob Herring			reg = <0xd8051700 0x200>;
221724ba675SRob Herring		};
222724ba675SRob Herring
223724ba675SRob Herring		ge_rops@d8050400 {
224724ba675SRob Herring			compatible = "wm,prizm-ge-rops";
225724ba675SRob Herring			reg = <0xd8050400 0x100>;
226724ba675SRob Herring		};
227724ba675SRob Herring
228724ba675SRob Herring		pwm: pwm@d8220000 {
229724ba675SRob Herring			#pwm-cells = <3>;
230724ba675SRob Herring			compatible = "via,vt8500-pwm";
231724ba675SRob Herring			reg = <0xd8220000 0x100>;
232724ba675SRob Herring			clocks = <&clkpwm>;
233724ba675SRob Herring		};
234724ba675SRob Herring
235724ba675SRob Herring		timer@d8130100 {
236724ba675SRob Herring			compatible = "via,vt8500-timer";
237724ba675SRob Herring			reg = <0xd8130100 0x28>;
238724ba675SRob Herring			interrupts = <36>;
239724ba675SRob Herring		};
240724ba675SRob Herring
241724ba675SRob Herring		ehci@d8007900 {
242724ba675SRob Herring			compatible = "via,vt8500-ehci";
243724ba675SRob Herring			reg = <0xd8007900 0x200>;
244724ba675SRob Herring			interrupts = <26>;
245724ba675SRob Herring		};
246724ba675SRob Herring
247*dd2118bdSMohammad Shehar Yaar Tausif		usb@d8007b00 {
248724ba675SRob Herring			compatible = "platform-uhci";
249724ba675SRob Herring			reg = <0xd8007b00 0x200>;
250724ba675SRob Herring			interrupts = <26>;
251724ba675SRob Herring		};
252724ba675SRob Herring
253*dd2118bdSMohammad Shehar Yaar Tausif		usb@d8008d00 {
254724ba675SRob Herring			compatible = "platform-uhci";
255724ba675SRob Herring			reg = <0xd8008d00 0x200>;
256724ba675SRob Herring			interrupts = <26>;
257724ba675SRob Herring		};
258724ba675SRob Herring
259724ba675SRob Herring		uart0: serial@d8200000 {
260724ba675SRob Herring			compatible = "via,vt8500-uart";
261724ba675SRob Herring			reg = <0xd8200000 0x1040>;
262724ba675SRob Herring			interrupts = <32>;
263724ba675SRob Herring			clocks = <&clkuart0>;
264724ba675SRob Herring			status = "disabled";
265724ba675SRob Herring		};
266724ba675SRob Herring
267724ba675SRob Herring		uart1: serial@d82b0000 {
268724ba675SRob Herring			compatible = "via,vt8500-uart";
269724ba675SRob Herring			reg = <0xd82b0000 0x1040>;
270724ba675SRob Herring			interrupts = <33>;
271724ba675SRob Herring			clocks = <&clkuart1>;
272724ba675SRob Herring			status = "disabled";
273724ba675SRob Herring		};
274724ba675SRob Herring
275724ba675SRob Herring                uart2: serial@d8210000 {
276724ba675SRob Herring                        compatible = "via,vt8500-uart";
277724ba675SRob Herring                        reg = <0xd8210000 0x1040>;
278724ba675SRob Herring                        interrupts = <47>;
279724ba675SRob Herring                        clocks = <&clkuart2>;
280724ba675SRob Herring			status = "disabled";
281724ba675SRob Herring                };
282724ba675SRob Herring
283724ba675SRob Herring                uart3: serial@d82c0000 {
284724ba675SRob Herring                        compatible = "via,vt8500-uart";
285724ba675SRob Herring                        reg = <0xd82c0000 0x1040>;
286724ba675SRob Herring                        interrupts = <50>;
287724ba675SRob Herring                        clocks = <&clkuart3>;
288724ba675SRob Herring			status = "disabled";
289724ba675SRob Herring                };
290724ba675SRob Herring
291724ba675SRob Herring		rtc@d8100000 {
292724ba675SRob Herring			compatible = "via,vt8500-rtc";
293724ba675SRob Herring			reg = <0xd8100000 0x10000>;
294724ba675SRob Herring			interrupts = <48>;
295724ba675SRob Herring		};
296724ba675SRob Herring
297724ba675SRob Herring		sdhc@d800a000 {
298724ba675SRob Herring			compatible = "wm,wm8505-sdhc";
299724ba675SRob Herring			reg = <0xd800a000 0x1000>;
300724ba675SRob Herring			interrupts = <20 21>;
301724ba675SRob Herring			clocks = <&clksdhc>;
302724ba675SRob Herring			bus-width = <4>;
303724ba675SRob Herring			sdon-inverted;
304724ba675SRob Herring		};
305724ba675SRob Herring
306724ba675SRob Herring		ethernet@d8004000 {
307724ba675SRob Herring			compatible = "via,vt8500-rhine";
308724ba675SRob Herring			reg = <0xd8004000 0x100>;
309724ba675SRob Herring			interrupts = <10>;
310724ba675SRob Herring                };
311724ba675SRob Herring	};
312724ba675SRob Herring};
313