ralink: add pinctrl driver
[openwrt/staging/wigyori.git] / target / linux / ramips / dts / rt5350.dtsi
1 / {
2 #address-cells = <1>;
3 #size-cells = <1>;
4 compatible = "ralink,rt5350-soc";
5
6 cpus {
7 cpu@0 {
8 compatible = "mips,mips24KEc";
9 };
10 };
11
12 chosen {
13 bootargs = "console=ttyS0,57600";
14 };
15
16 cpuintc: cpuintc@0 {
17 #address-cells = <0>;
18 #interrupt-cells = <1>;
19 interrupt-controller;
20 compatible = "mti,cpu-interrupt-controller";
21 };
22
23 palmbus@10000000 {
24 compatible = "palmbus";
25 reg = <0x10000000 0x200000>;
26 ranges = <0x0 0x10000000 0x1FFFFF>;
27
28 #address-cells = <1>;
29 #size-cells = <1>;
30
31 sysc@0 {
32 compatible = "ralink,rt5350-sysc", "ralink,rt3050-sysc";
33 reg = <0x0 0x100>;
34 };
35
36 timer@100 {
37 compatible = "ralink,rt5350-timer", "ralink,rt2880-timer";
38 reg = <0x100 0x20>;
39
40 interrupt-parent = <&intc>;
41 interrupts = <1>;
42 };
43
44 watchdog@120 {
45 compatible = "ralink,rt5350-wdt", "ralink,rt2880-wdt";
46 reg = <0x120 0x10>;
47
48 resets = <&rstctrl 8>;
49 reset-names = "wdt";
50
51 interrupt-parent = <&intc>;
52 interrupts = <1>;
53 };
54
55 intc: intc@200 {
56 compatible = "ralink,rt5350-intc", "ralink,rt2880-intc";
57 reg = <0x200 0x100>;
58
59 resets = <&rstctrl 19>;
60 reset-names = "intc";
61
62 interrupt-controller;
63 #interrupt-cells = <1>;
64
65 interrupt-parent = <&cpuintc>;
66 interrupts = <2>;
67 };
68
69 memc@300 {
70 compatible = "ralink,rt5350-memc", "ralink,rt3050-memc";
71 reg = <0x300 0x100>;
72
73 resets = <&rstctrl 20>;
74 reset-names = "mc";
75
76 interrupt-parent = <&intc>;
77 interrupts = <3>;
78 };
79
80 uart@500 {
81 compatible = "ralink,rt5350-uart", "ralink,rt2880-uart", "ns16550a";
82 reg = <0x500 0x100>;
83
84 resets = <&rstctrl 12>;
85 reset-names = "uart";
86
87 interrupt-parent = <&intc>;
88 interrupts = <5>;
89
90 reg-shift = <2>;
91
92 status = "disabled";
93 };
94
95 gpio0: gpio@600 {
96 compatible = "ralink,rt5350-gpio", "ralink,rt2880-gpio";
97 reg = <0x600 0x34>;
98
99 resets = <&rstctrl 13>;
100 reset-names = "pio";
101
102 interrupt-parent = <&intc>;
103 interrupts = <6>;
104
105 gpio-controller;
106 #gpio-cells = <2>;
107
108 ralink,gpio-base = <0>;
109 ralink,num-gpios = <24>;
110 ralink,register-map = [ 00 04 08 0c
111 20 24 28 2c
112 30 34 ];
113 };
114
115 gpio1: gpio@638 {
116 compatible = "ralink,rt5350-gpio", "ralink,rt2880-gpio";
117 reg = <0x638 0x24>;
118
119 interrupt-parent = <&intc>;
120 interrupts = <6>;
121
122 gpio-controller;
123 #gpio-cells = <2>;
124
125 ralink,gpio-base = <24>;
126 ralink,num-gpios = <16>;
127 ralink,register-map = [ 00 04 08 0c
128 10 14 18 1c
129 20 24 ];
130
131 status = "disabled";
132 };
133
134 gpio2: gpio@660 {
135 compatible = "ralink,rt5350-gpio", "ralink,rt2880-gpio";
136 reg = <0x660 0x24>;
137
138 interrupt-parent = <&intc>;
139 interrupts = <6>;
140
141 gpio-controller;
142 #gpio-cells = <2>;
143
144 ralink,gpio-base = <40>;
145 ralink,num-gpios = <12>;
146 ralink,register-map = [ 00 04 08 0c
147 10 14 18 1c
148 20 24 ];
149
150 status = "disabled";
151 };
152
153 i2c@900 {
154 compatible = "link,rt5350-i2c", "ralink,rt2880-i2c";
155 reg = <0x900 0x100>;
156
157 resets = <&rstctrl 16>;
158 reset-names = "i2c";
159
160 #address-cells = <1>;
161 #size-cells = <0>;
162
163 pinctrl-names = "default";
164 pinctrl-0 = <&i2c_pins>;
165
166 status = "disabled";
167 };
168
169 spi@b00 {
170 compatible = "ralink,rt5350-spi", "ralink,rt2880-spi";
171 reg = <0xb00 0x100>;
172
173 resets = <&rstctrl 18>;
174 reset-names = "spi";
175
176 #address-cells = <1>;
177 #size-cells = <1>;
178
179 pinctrl-names = "default";
180 pinctrl-0 = <&spi_pins>;
181
182 status = "disabled";
183 };
184
185 uartlite@c00 {
186 compatible = "ralink,rt5350-uart", "ralink,rt2880-uart", "ns16550a";
187 reg = <0xc00 0x100>;
188
189 resets = <&rstctrl 19>;
190 reset-names = "uartl";
191
192 interrupt-parent = <&intc>;
193 interrupts = <12>;
194
195 pinctrl-names = "default";
196 pinctrl-0 = <&uartlite_pins>;
197
198 reg-shift = <2>;
199 };
200
201 systick@d00 {
202 compatible = "ralink,rt5350-systick", "ralink,cevt-systick";
203 reg = <0xd00 0x10>;
204
205 interrupt-parent = <&cpuintc>;
206 interrupts = <7>;
207 };
208 };
209
210 pinctrl {
211 compatible = "ralink,rt2880-pinmux";
212
213 pinctrl-names = "default";
214 pinctrl-0 = <&state_default>;
215
216 state_default: pinctrl0 {
217 };
218
219 spi_pins: spi {
220 spi {
221 ralink,group = "spi";
222 ralink,function = "spi";
223 };
224 };
225 i2c_pins: i2c {
226 i2c {
227 ralink,group = "i2c";
228 ralink,function = "i2c";
229 };
230 };
231 phy_led_pins: phy_led {
232 phy_led {
233 ralink,group = "led";
234 ralink,function = "led";
235 };
236 };
237 uartlite_pins: uartlite {
238 uart {
239 ralink,group = "uartlite";
240 ralink,function = "uartlite";
241 };
242 };
243 };
244
245 rstctrl: rstctrl {
246 compatible = "ralink,rt5350-reset", "ralink,rt2880-reset";
247 #reset-cells = <1>;
248 };
249
250 ubsphy {
251 compatible = "ralink,rt3xxx-usbphy";
252
253 resets = <&rstctrl 22 &rstctrl 25>;
254 reset-names = "host", "device";
255 };
256
257 ethernet@10100000 {
258 compatible = "ralink,rt5350-eth";
259 reg = <0x10100000 10000>;
260
261 interrupt-parent = <&cpuintc>;
262 interrupts = <5>;
263 };
264
265 esw@10110000 {
266 compatible = "ralink,rt3050-esw";
267 reg = <0x10110000 8000>;
268
269 interrupt-parent = <&intc>;
270 interrupts = <17>;
271 };
272
273 wmac@10180000 {
274 compatible = "ralink,rt5350-wmac", "ralink,rt2880-wmac";
275 reg = <0x10180000 40000>;
276
277 interrupt-parent = <&cpuintc>;
278 interrupts = <6>;
279
280 ralink,eeprom = "soc_wmac.eeprom";
281 };
282
283 ehci@101c0000 {
284 compatible = "ralink,rt3xxx-ehci", "ehci-platform";
285 reg = <0x101c0000 0x1000>;
286
287 interrupt-parent = <&intc>;
288 interrupts = <18>;
289 };
290
291 ohci@101c1000 {
292 compatible = "ralink,rt3xxx-ohci", "ohci-platform";
293 reg = <0x101c1000 0x1000>;
294
295 interrupt-parent = <&intc>;
296 interrupts = <18>;
297 };
298 };