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