blob: 702d866b6f57dbba2aac76f34537a176587176a7 [file] [log] [blame]
Tony Priskcb935e72012-08-03 20:54:16 +12001/*
2 * wm8505.dtsi - Device tree file for Wondermedia WM8505 SoC
3 *
4 * Copyright (C) 2012 Tony Prisk <linux@prisktech.co.nz>
5 *
6 * Licensed under GPLv2 or later
7 */
8
9/include/ "skeleton.dtsi"
10
11/ {
12 compatible = "wm,wm8505";
13
14 cpus {
Tony Prisk7ec13d42013-04-23 10:33:44 +120015 #address-cells = <0>;
16 #size-cells = <0>;
17
18 cpu {
19 device_type = "cpu";
20 compatible = "arm,arm926ej-s";
Tony Priskcb935e72012-08-03 20:54:16 +120021 };
22 };
23
Tony Prisk55954f82013-04-23 14:23:26 +120024 aliases {
25 serial0 = &uart0;
26 serial1 = &uart1;
27 serial2 = &uart2;
28 serial3 = &uart3;
29 serial4 = &uart4;
30 serial5 = &uart5;
31 };
32
Tony Priskcb935e72012-08-03 20:54:16 +120033 soc {
34 #address-cells = <1>;
35 #size-cells = <1>;
36 compatible = "simple-bus";
37 ranges;
38 interrupt-parent = <&intc0>;
39
40 intc0: interrupt-controller@d8140000 {
41 compatible = "via,vt8500-intc";
42 interrupt-controller;
43 reg = <0xd8140000 0x10000>;
44 #interrupt-cells = <1>;
45 };
46
47 /* Secondary IC cascaded to intc0 */
48 intc1: interrupt-controller@d8150000 {
49 compatible = "via,vt8500-intc";
50 interrupt-controller;
51 #interrupt-cells = <1>;
52 reg = <0xD8150000 0x10000>;
53 interrupts = <56 57 58 59 60 61 62 63>;
54 };
55
Tony Prisk649a59c2013-02-20 09:52:23 +130056 pinctrl: pinctrl@d8110000 {
57 compatible = "wm,wm8505-pinctrl";
Tony Priskcb935e72012-08-03 20:54:16 +120058 reg = <0xd8110000 0x10000>;
Tony Prisk649a59c2013-02-20 09:52:23 +130059 interrupt-controller;
60 #interrupt-cells = <2>;
61 gpio-controller;
62 #gpio-cells = <2>;
Tony Priskcb935e72012-08-03 20:54:16 +120063 };
64
65 pmc@d8130000 {
66 compatible = "via,vt8500-pmc";
67 reg = <0xd8130000 0x1000>;
68 clocks {
69 #address-cells = <1>;
70 #size-cells = <0>;
71
72 ref24: ref24M {
73 #clock-cells = <0>;
74 compatible = "fixed-clock";
75 clock-frequency = <24000000>;
76 };
Tony Prisk12faa352013-01-18 15:05:31 +130077
Tony Prisk3e875152013-04-12 07:00:29 +120078 ref25: ref25M {
79 #clock-cells = <0>;
80 compatible = "fixed-clock";
81 clock-frequency = <25000000>;
82 };
83
Tony Prisk5c2b0a82013-05-10 17:35:11 +120084 plla: plla {
85 #clock-cells = <0>;
86 compatible = "via,vt8500-pll-clock";
87 clocks = <&ref25>;
88 reg = <0x200>;
89 };
90
Tony Prisk3e875152013-04-12 07:00:29 +120091 pllb: pllb {
92 #clock-cells = <0>;
93 compatible = "via,vt8500-pll-clock";
94 clocks = <&ref25>;
95 reg = <0x204>;
96 };
97
Tony Prisk5c2b0a82013-05-10 17:35:11 +120098 pllc: pllc {
99 #clock-cells = <0>;
100 compatible = "via,vt8500-pll-clock";
101 clocks = <&ref25>;
102 reg = <0x208>;
103 };
104
105 plld: plld {
106 #clock-cells = <0>;
107 compatible = "via,vt8500-pll-clock";
108 clocks = <&ref25>;
109 reg = <0x20c>;
110 };
111
Tony Prisk12faa352013-01-18 15:05:31 +1300112 clkuart0: uart0 {
113 #clock-cells = <0>;
114 compatible = "via,vt8500-device-clock";
115 clocks = <&ref24>;
116 enable-reg = <0x250>;
117 enable-bit = <1>;
118 };
119
120 clkuart1: uart1 {
121 #clock-cells = <0>;
122 compatible = "via,vt8500-device-clock";
123 clocks = <&ref24>;
124 enable-reg = <0x250>;
125 enable-bit = <2>;
126 };
127
128 clkuart2: uart2 {
129 #clock-cells = <0>;
130 compatible = "via,vt8500-device-clock";
131 clocks = <&ref24>;
132 enable-reg = <0x250>;
133 enable-bit = <3>;
134 };
135
136 clkuart3: uart3 {
137 #clock-cells = <0>;
138 compatible = "via,vt8500-device-clock";
139 clocks = <&ref24>;
140 enable-reg = <0x250>;
141 enable-bit = <4>;
142 };
143
144 clkuart4: uart4 {
145 #clock-cells = <0>;
146 compatible = "via,vt8500-device-clock";
147 clocks = <&ref24>;
148 enable-reg = <0x250>;
149 enable-bit = <22>;
150 };
151
152 clkuart5: uart5 {
153 #clock-cells = <0>;
154 compatible = "via,vt8500-device-clock";
155 clocks = <&ref24>;
156 enable-reg = <0x250>;
157 enable-bit = <23>;
158 };
Tony Prisk3e875152013-04-12 07:00:29 +1200159
160 clksdhc: sdhc {
161 #clock-cells = <0>;
162 compatible = "via,vt8500-device-clock";
163 clocks = <&pllb>;
164 divisor-reg = <0x328>;
165 divisor-mask = <0x3f>;
166 enable-reg = <0x254>;
167 enable-bit = <18>;
168 };
Tony Priskcb935e72012-08-03 20:54:16 +1200169 };
170 };
171
172 timer@d8130100 {
173 compatible = "via,vt8500-timer";
174 reg = <0xd8130100 0x28>;
175 interrupts = <36>;
176 };
177
178 ehci@d8007100 {
179 compatible = "via,vt8500-ehci";
180 reg = <0xd8007100 0x200>;
Tony Prisk5448a272012-10-13 17:18:02 +1300181 interrupts = <1>;
Tony Priskcb935e72012-08-03 20:54:16 +1200182 };
183
184 uhci@d8007300 {
185 compatible = "platform-uhci";
186 reg = <0xd8007300 0x200>;
Tony Prisk5448a272012-10-13 17:18:02 +1300187 interrupts = <0>;
Tony Priskcb935e72012-08-03 20:54:16 +1200188 };
189
Tony Prisk7ab0a482013-04-03 07:20:38 +1300190 fb: fb@d8050800 {
Tony Priskcb935e72012-08-03 20:54:16 +1200191 compatible = "wm,wm8505-fb";
192 reg = <0xd8050800 0x200>;
Tony Priskcb935e72012-08-03 20:54:16 +1200193 };
194
195 ge_rops@d8050400 {
196 compatible = "wm,prizm-ge-rops";
197 reg = <0xd8050400 0x100>;
198 };
199
Tony Prisk55954f82013-04-23 14:23:26 +1200200 uart0: serial@d8200000 {
Tony Priskcb935e72012-08-03 20:54:16 +1200201 compatible = "via,vt8500-uart";
202 reg = <0xd8200000 0x1040>;
203 interrupts = <32>;
Tony Prisk12faa352013-01-18 15:05:31 +1300204 clocks = <&clkuart0>;
Tony Prisk55954f82013-04-23 14:23:26 +1200205 status = "disabled";
Tony Priskcb935e72012-08-03 20:54:16 +1200206 };
207
Tony Prisk55954f82013-04-23 14:23:26 +1200208 uart1: serial@d82b0000 {
Tony Priskcb935e72012-08-03 20:54:16 +1200209 compatible = "via,vt8500-uart";
210 reg = <0xd82b0000 0x1040>;
211 interrupts = <33>;
Tony Prisk12faa352013-01-18 15:05:31 +1300212 clocks = <&clkuart1>;
Tony Prisk55954f82013-04-23 14:23:26 +1200213 status = "disabled";
Tony Priskcb935e72012-08-03 20:54:16 +1200214 };
215
Tony Prisk55954f82013-04-23 14:23:26 +1200216 uart2: serial@d8210000 {
Tony Priskcb935e72012-08-03 20:54:16 +1200217 compatible = "via,vt8500-uart";
218 reg = <0xd8210000 0x1040>;
219 interrupts = <47>;
Tony Prisk12faa352013-01-18 15:05:31 +1300220 clocks = <&clkuart2>;
Tony Prisk55954f82013-04-23 14:23:26 +1200221 status = "disabled";
Tony Priskcb935e72012-08-03 20:54:16 +1200222 };
223
Tony Prisk55954f82013-04-23 14:23:26 +1200224 uart3: serial@d82c0000 {
Tony Priskcb935e72012-08-03 20:54:16 +1200225 compatible = "via,vt8500-uart";
226 reg = <0xd82c0000 0x1040>;
227 interrupts = <50>;
Tony Prisk12faa352013-01-18 15:05:31 +1300228 clocks = <&clkuart3>;
Tony Prisk55954f82013-04-23 14:23:26 +1200229 status = "disabled";
Tony Priskcb935e72012-08-03 20:54:16 +1200230 };
231
Tony Prisk55954f82013-04-23 14:23:26 +1200232 uart4: serial@d8370000 {
Tony Priskcb935e72012-08-03 20:54:16 +1200233 compatible = "via,vt8500-uart";
234 reg = <0xd8370000 0x1040>;
235 interrupts = <31>;
Tony Prisk12faa352013-01-18 15:05:31 +1300236 clocks = <&clkuart4>;
Tony Prisk55954f82013-04-23 14:23:26 +1200237 status = "disabled";
Tony Priskcb935e72012-08-03 20:54:16 +1200238 };
239
Tony Prisk55954f82013-04-23 14:23:26 +1200240 uart5: serial@d8380000 {
Tony Priskcb935e72012-08-03 20:54:16 +1200241 compatible = "via,vt8500-uart";
242 reg = <0xd8380000 0x1040>;
243 interrupts = <30>;
Tony Prisk12faa352013-01-18 15:05:31 +1300244 clocks = <&clkuart5>;
Tony Prisk55954f82013-04-23 14:23:26 +1200245 status = "disabled";
Tony Priskcb935e72012-08-03 20:54:16 +1200246 };
247
248 rtc@d8100000 {
249 compatible = "via,vt8500-rtc";
250 reg = <0xd8100000 0x10000>;
251 interrupts = <48>;
252 };
Tony Prisk3e875152013-04-12 07:00:29 +1200253
254 sdhc@d800a000 {
255 compatible = "wm,wm8505-sdhc";
256 reg = <0xd800a000 0x1000>;
257 interrupts = <20 21>;
258 clocks = <&clksdhc>;
259 bus-width = <4>;
260 };
Tony Priskcb935e72012-08-03 20:54:16 +1200261 };
262};