diff options
Diffstat (limited to 'arch/arm/boot/dts/omap3-n900.dts')
-rw-r--r-- | arch/arm/boot/dts/omap3-n900.dts | 484 |
1 files changed, 484 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts new file mode 100644 index 000000000000..c4f20bfe4cce --- /dev/null +++ b/arch/arm/boot/dts/omap3-n900.dts | |||
@@ -0,0 +1,484 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2013 Pavel Machek <pavel@ucw.cz> | ||
3 | * Copyright 2013 Aaro Koskinen <aaro.koskinen@iki.fi> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 (or later) as | ||
7 | * published by the Free Software Foundation. | ||
8 | */ | ||
9 | |||
10 | /dts-v1/; | ||
11 | |||
12 | #include "omap34xx.dtsi" | ||
13 | |||
14 | / { | ||
15 | model = "Nokia N900"; | ||
16 | compatible = "nokia,omap3-n900", "ti,omap3"; | ||
17 | |||
18 | cpus { | ||
19 | cpu@0 { | ||
20 | cpu0-supply = <&vcc>; | ||
21 | }; | ||
22 | }; | ||
23 | |||
24 | memory { | ||
25 | device_type = "memory"; | ||
26 | reg = <0x80000000 0x10000000>; /* 256 MB */ | ||
27 | }; | ||
28 | |||
29 | gpio_keys { | ||
30 | compatible = "gpio-keys"; | ||
31 | |||
32 | camera_lens_cover { | ||
33 | label = "Camera Lens Cover"; | ||
34 | gpios = <&gpio4 14 GPIO_ACTIVE_LOW>; /* 110 */ | ||
35 | linux,input-type = <5>; /* EV_SW */ | ||
36 | linux,code = <0x09>; /* SW_CAMERA_LENS_COVER */ | ||
37 | gpio-key,wakeup; | ||
38 | }; | ||
39 | |||
40 | camera_focus { | ||
41 | label = "Camera Focus"; | ||
42 | gpios = <&gpio3 4 GPIO_ACTIVE_LOW>; /* 68 */ | ||
43 | linux,code = <0x210>; /* KEY_CAMERA_FOCUS */ | ||
44 | gpio-key,wakeup; | ||
45 | }; | ||
46 | |||
47 | camera_capture { | ||
48 | label = "Camera Capture"; | ||
49 | gpios = <&gpio3 5 GPIO_ACTIVE_LOW>; /* 69 */ | ||
50 | linux,code = <0xd4>; /* KEY_CAMERA */ | ||
51 | gpio-key,wakeup; | ||
52 | }; | ||
53 | |||
54 | lock_button { | ||
55 | label = "Lock Button"; | ||
56 | gpios = <&gpio4 17 GPIO_ACTIVE_LOW>; /* 113 */ | ||
57 | linux,code = <0x98>; /* KEY_SCREENLOCK */ | ||
58 | gpio-key,wakeup; | ||
59 | }; | ||
60 | |||
61 | keypad_slide { | ||
62 | label = "Keypad Slide"; | ||
63 | gpios = <&gpio3 7 GPIO_ACTIVE_LOW>; /* 71 */ | ||
64 | linux,input-type = <5>; /* EV_SW */ | ||
65 | linux,code = <0x0a>; /* SW_KEYPAD_SLIDE */ | ||
66 | gpio-key,wakeup; | ||
67 | }; | ||
68 | |||
69 | proximity_sensor { | ||
70 | label = "Proximity Sensor"; | ||
71 | gpios = <&gpio3 25 GPIO_ACTIVE_HIGH>; /* 89 */ | ||
72 | linux,input-type = <5>; /* EV_SW */ | ||
73 | linux,code = <0x0b>; /* SW_FRONT_PROXIMITY */ | ||
74 | }; | ||
75 | }; | ||
76 | |||
77 | }; | ||
78 | |||
79 | &omap3_pmx_core { | ||
80 | pinctrl-names = "default"; | ||
81 | |||
82 | uart2_pins: pinmux_uart2_pins { | ||
83 | pinctrl-single,pins = < | ||
84 | 0x14a (PIN_INPUT | MUX_MODE0) /* uart2_rx */ | ||
85 | 0x148 (PIN_OUTPUT | MUX_MODE0) /* uart2_tx */ | ||
86 | >; | ||
87 | }; | ||
88 | |||
89 | uart3_pins: pinmux_uart3_pins { | ||
90 | pinctrl-single,pins = < | ||
91 | 0x16e (PIN_INPUT | MUX_MODE0) /* uart3_rx */ | ||
92 | 0x170 (PIN_OUTPUT | MUX_MODE0) /* uart3_tx */ | ||
93 | >; | ||
94 | }; | ||
95 | |||
96 | i2c1_pins: pinmux_i2c1_pins { | ||
97 | pinctrl-single,pins = < | ||
98 | 0x18a (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */ | ||
99 | 0x18c (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */ | ||
100 | >; | ||
101 | }; | ||
102 | |||
103 | i2c2_pins: pinmux_i2c2_pins { | ||
104 | pinctrl-single,pins = < | ||
105 | 0x18e (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */ | ||
106 | 0x190 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */ | ||
107 | >; | ||
108 | }; | ||
109 | |||
110 | i2c3_pins: pinmux_i2c3_pins { | ||
111 | pinctrl-single,pins = < | ||
112 | 0x192 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */ | ||
113 | 0x194 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */ | ||
114 | >; | ||
115 | }; | ||
116 | |||
117 | mmc1_pins: pinmux_mmc1_pins { | ||
118 | pinctrl-single,pins = < | ||
119 | 0x114 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk */ | ||
120 | 0x116 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd */ | ||
121 | 0x118 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0 */ | ||
122 | 0x11a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1 */ | ||
123 | 0x11c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2 */ | ||
124 | 0x11e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3 */ | ||
125 | >; | ||
126 | }; | ||
127 | |||
128 | display_pins: pinmux_display_pins { | ||
129 | pinctrl-single,pins = < | ||
130 | 0x0d4 (PIN_OUTPUT | MUX_MODE4) /* RX51_LCD_RESET_GPIO */ | ||
131 | >; | ||
132 | }; | ||
133 | }; | ||
134 | |||
135 | &i2c1 { | ||
136 | pinctrl-names = "default"; | ||
137 | pinctrl-0 = <&i2c1_pins>; | ||
138 | |||
139 | clock-frequency = <2200000>; | ||
140 | |||
141 | twl: twl@48 { | ||
142 | reg = <0x48>; | ||
143 | interrupts = <7>; /* SYS_NIRQ cascaded to intc */ | ||
144 | interrupt-parent = <&intc>; | ||
145 | }; | ||
146 | }; | ||
147 | |||
148 | #include "twl4030.dtsi" | ||
149 | #include "twl4030_omap3.dtsi" | ||
150 | |||
151 | &vaux1 { | ||
152 | regulator-name = "V28"; | ||
153 | regulator-min-microvolt = <2800000>; | ||
154 | regulator-max-microvolt = <2800000>; | ||
155 | regulator-always-on; /* due battery cover sensor */ | ||
156 | }; | ||
157 | |||
158 | &vaux2 { | ||
159 | regulator-name = "VCSI"; | ||
160 | regulator-min-microvolt = <1800000>; | ||
161 | regulator-max-microvolt = <1800000>; | ||
162 | }; | ||
163 | |||
164 | &vaux3 { | ||
165 | regulator-name = "VMMC2_30"; | ||
166 | regulator-min-microvolt = <2800000>; | ||
167 | regulator-max-microvolt = <3000000>; | ||
168 | }; | ||
169 | |||
170 | &vaux4 { | ||
171 | regulator-name = "VCAM_ANA_28"; | ||
172 | regulator-min-microvolt = <2800000>; | ||
173 | regulator-max-microvolt = <2800000>; | ||
174 | }; | ||
175 | |||
176 | &vmmc1 { | ||
177 | regulator-name = "VMMC1"; | ||
178 | regulator-min-microvolt = <1850000>; | ||
179 | regulator-max-microvolt = <3150000>; | ||
180 | }; | ||
181 | |||
182 | &vmmc2 { | ||
183 | regulator-name = "V28_A"; | ||
184 | regulator-min-microvolt = <2800000>; | ||
185 | regulator-max-microvolt = <3000000>; | ||
186 | regulator-always-on; /* due VIO leak to AIC34 VDDs */ | ||
187 | }; | ||
188 | |||
189 | &vpll1 { | ||
190 | regulator-name = "VPLL"; | ||
191 | regulator-min-microvolt = <1800000>; | ||
192 | regulator-max-microvolt = <1800000>; | ||
193 | regulator-always-on; | ||
194 | }; | ||
195 | |||
196 | &vpll2 { | ||
197 | regulator-name = "VSDI_CSI"; | ||
198 | regulator-min-microvolt = <1800000>; | ||
199 | regulator-max-microvolt = <1800000>; | ||
200 | regulator-always-on; | ||
201 | }; | ||
202 | |||
203 | &vsim { | ||
204 | regulator-name = "VMMC2_IO_18"; | ||
205 | regulator-min-microvolt = <1800000>; | ||
206 | regulator-max-microvolt = <1800000>; | ||
207 | }; | ||
208 | |||
209 | &vio { | ||
210 | regulator-name = "VIO"; | ||
211 | regulator-min-microvolt = <1800000>; | ||
212 | regulator-max-microvolt = <1800000>; | ||
213 | |||
214 | }; | ||
215 | |||
216 | &vintana1 { | ||
217 | regulator-name = "VINTANA1"; | ||
218 | /* fixed to 1500000 */ | ||
219 | regulator-always-on; | ||
220 | }; | ||
221 | |||
222 | &vintana2 { | ||
223 | regulator-name = "VINTANA2"; | ||
224 | regulator-min-microvolt = <2750000>; | ||
225 | regulator-max-microvolt = <2750000>; | ||
226 | regulator-always-on; | ||
227 | }; | ||
228 | |||
229 | &vintdig { | ||
230 | regulator-name = "VINTDIG"; | ||
231 | /* fixed to 1500000 */ | ||
232 | regulator-always-on; | ||
233 | }; | ||
234 | |||
235 | &twl { | ||
236 | twl_audio: audio { | ||
237 | compatible = "ti,twl4030-audio"; | ||
238 | ti,enable-vibra = <1>; | ||
239 | }; | ||
240 | }; | ||
241 | |||
242 | &twl_gpio { | ||
243 | ti,pullups = <0x0>; | ||
244 | ti,pulldowns = <0x03ff3f>; /* BIT(0..5) | BIT(8..17) */ | ||
245 | }; | ||
246 | |||
247 | &i2c2 { | ||
248 | pinctrl-names = "default"; | ||
249 | pinctrl-0 = <&i2c2_pins>; | ||
250 | |||
251 | clock-frequency = <100000>; | ||
252 | |||
253 | tlv320aic3x: tlv320aic3x@18 { | ||
254 | compatible = "ti,tlv320aic3x"; | ||
255 | reg = <0x18>; | ||
256 | gpio-reset = <&gpio2 28 GPIO_ACTIVE_HIGH>; /* 60 */ | ||
257 | ai3x-gpio-func = < | ||
258 | 0 /* AIC3X_GPIO1_FUNC_DISABLED */ | ||
259 | 5 /* AIC3X_GPIO2_FUNC_DIGITAL_MIC_INPUT */ | ||
260 | >; | ||
261 | |||
262 | AVDD-supply = <&vmmc2>; | ||
263 | DRVDD-supply = <&vmmc2>; | ||
264 | IOVDD-supply = <&vio>; | ||
265 | DVDD-supply = <&vio>; | ||
266 | }; | ||
267 | |||
268 | tlv320aic3x_aux: tlv320aic3x@19 { | ||
269 | compatible = "ti,tlv320aic3x"; | ||
270 | reg = <0x19>; | ||
271 | gpio-reset = <&gpio2 28 GPIO_ACTIVE_HIGH>; /* 60 */ | ||
272 | |||
273 | AVDD-supply = <&vmmc2>; | ||
274 | DRVDD-supply = <&vmmc2>; | ||
275 | IOVDD-supply = <&vio>; | ||
276 | DVDD-supply = <&vio>; | ||
277 | }; | ||
278 | |||
279 | lp5523: lp5523@32 { | ||
280 | compatible = "national,lp5523"; | ||
281 | reg = <0x32>; | ||
282 | clock-mode = /bits/ 8 <0>; /* LP55XX_CLOCK_AUTO */ | ||
283 | enable-gpio = <&gpio2 9 GPIO_ACTIVE_HIGH>; /* 41 */ | ||
284 | |||
285 | chan0 { | ||
286 | chan-name = "lp5523:kb1"; | ||
287 | led-cur = /bits/ 8 <50>; | ||
288 | max-cur = /bits/ 8 <100>; | ||
289 | }; | ||
290 | |||
291 | chan1 { | ||
292 | chan-name = "lp5523:kb2"; | ||
293 | led-cur = /bits/ 8 <50>; | ||
294 | max-cur = /bits/ 8 <100>; | ||
295 | }; | ||
296 | |||
297 | chan2 { | ||
298 | chan-name = "lp5523:kb3"; | ||
299 | led-cur = /bits/ 8 <50>; | ||
300 | max-cur = /bits/ 8 <100>; | ||
301 | }; | ||
302 | |||
303 | chan3 { | ||
304 | chan-name = "lp5523:kb4"; | ||
305 | led-cur = /bits/ 8 <50>; | ||
306 | max-cur = /bits/ 8 <100>; | ||
307 | }; | ||
308 | |||
309 | chan4 { | ||
310 | chan-name = "lp5523:b"; | ||
311 | led-cur = /bits/ 8 <50>; | ||
312 | max-cur = /bits/ 8 <100>; | ||
313 | }; | ||
314 | |||
315 | chan5 { | ||
316 | chan-name = "lp5523:g"; | ||
317 | led-cur = /bits/ 8 <50>; | ||
318 | max-cur = /bits/ 8 <100>; | ||
319 | }; | ||
320 | |||
321 | chan6 { | ||
322 | chan-name = "lp5523:r"; | ||
323 | led-cur = /bits/ 8 <50>; | ||
324 | max-cur = /bits/ 8 <100>; | ||
325 | }; | ||
326 | |||
327 | chan7 { | ||
328 | chan-name = "lp5523:kb5"; | ||
329 | led-cur = /bits/ 8 <50>; | ||
330 | max-cur = /bits/ 8 <100>; | ||
331 | }; | ||
332 | |||
333 | chan8 { | ||
334 | chan-name = "lp5523:kb6"; | ||
335 | led-cur = /bits/ 8 <50>; | ||
336 | max-cur = /bits/ 8 <100>; | ||
337 | }; | ||
338 | }; | ||
339 | |||
340 | bq27200: bq27200@55 { | ||
341 | compatible = "ti,bq27200"; | ||
342 | reg = <0x55>; | ||
343 | }; | ||
344 | }; | ||
345 | |||
346 | &i2c3 { | ||
347 | pinctrl-names = "default"; | ||
348 | pinctrl-0 = <&i2c3_pins>; | ||
349 | |||
350 | clock-frequency = <400000>; | ||
351 | }; | ||
352 | |||
353 | &mmc1 { | ||
354 | pinctrl-names = "default"; | ||
355 | pinctrl-0 = <&mmc1_pins>; | ||
356 | vmmc-supply = <&vmmc1>; | ||
357 | bus-width = <4>; | ||
358 | cd-gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>; /* 160 */ | ||
359 | }; | ||
360 | |||
361 | &mmc2 { | ||
362 | status = "disabled"; | ||
363 | }; | ||
364 | |||
365 | &mmc3 { | ||
366 | status = "disabled"; | ||
367 | }; | ||
368 | |||
369 | &gpmc { | ||
370 | ranges = <0 0 0x04000000 0x10000000>; /* 256MB */ | ||
371 | |||
372 | /* gpio-irq for dma: 65 */ | ||
373 | |||
374 | onenand@0,0 { | ||
375 | #address-cells = <1>; | ||
376 | #size-cells = <1>; | ||
377 | reg = <0 0 0x10000000>; | ||
378 | |||
379 | gpmc,sync-read; | ||
380 | gpmc,sync-write; | ||
381 | gpmc,burst-length = <16>; | ||
382 | gpmc,burst-read; | ||
383 | gpmc,burst-wrap; | ||
384 | gpmc,burst-write; | ||
385 | gpmc,device-width = <2>; /* GPMC_DEVWIDTH_16BIT */ | ||
386 | gpmc,mux-add-data = <2>; /* GPMC_MUX_AD */ | ||
387 | gpmc,cs-on-ns = <0>; | ||
388 | gpmc,cs-rd-off-ns = <87>; | ||
389 | gpmc,cs-wr-off-ns = <87>; | ||
390 | gpmc,adv-on-ns = <0>; | ||
391 | gpmc,adv-rd-off-ns = <10>; | ||
392 | gpmc,adv-wr-off-ns = <10>; | ||
393 | gpmc,oe-on-ns = <15>; | ||
394 | gpmc,oe-off-ns = <87>; | ||
395 | gpmc,we-on-ns = <0>; | ||
396 | gpmc,we-off-ns = <87>; | ||
397 | gpmc,rd-cycle-ns = <112>; | ||
398 | gpmc,wr-cycle-ns = <112>; | ||
399 | gpmc,access-ns = <81>; | ||
400 | gpmc,page-burst-access-ns = <15>; | ||
401 | gpmc,bus-turnaround-ns = <0>; | ||
402 | gpmc,cycle2cycle-delay-ns = <0>; | ||
403 | gpmc,wait-monitoring-ns = <0>; | ||
404 | gpmc,clk-activation-ns = <5>; | ||
405 | gpmc,wr-data-mux-bus-ns = <30>; | ||
406 | gpmc,wr-access-ns = <81>; | ||
407 | gpmc,sync-clk-ps = <15000>; | ||
408 | |||
409 | /* | ||
410 | * MTD partition table corresponding to Nokia's | ||
411 | * Maemo 5 (Fremantle) release. | ||
412 | */ | ||
413 | partition@0 { | ||
414 | label = "bootloader"; | ||
415 | reg = <0x00000000 0x00020000>; | ||
416 | read-only; | ||
417 | }; | ||
418 | partition@1 { | ||
419 | label = "config"; | ||
420 | reg = <0x00020000 0x00060000>; | ||
421 | }; | ||
422 | partition@2 { | ||
423 | label = "log"; | ||
424 | reg = <0x00080000 0x00040000>; | ||
425 | }; | ||
426 | partition@3 { | ||
427 | label = "kernel"; | ||
428 | reg = <0x000c0000 0x00200000>; | ||
429 | }; | ||
430 | partition@4 { | ||
431 | label = "initfs"; | ||
432 | reg = <0x002c0000 0x00200000>; | ||
433 | }; | ||
434 | partition@5 { | ||
435 | label = "rootfs"; | ||
436 | reg = <0x004c0000 0x0fb40000>; | ||
437 | }; | ||
438 | }; | ||
439 | }; | ||
440 | |||
441 | &mcspi1 { | ||
442 | /* | ||
443 | * For some reason, touchscreen is necessary for screen to work at | ||
444 | * all on real hw. It works well without it on emulator. | ||
445 | * | ||
446 | * Also... order in the device tree actually matters here. | ||
447 | */ | ||
448 | tsc2005@0 { | ||
449 | compatible = "tsc2005"; | ||
450 | spi-max-frequency = <6000000>; | ||
451 | reg = <0>; | ||
452 | }; | ||
453 | mipid@2 { | ||
454 | compatible = "acx565akm"; | ||
455 | spi-max-frequency = <6000000>; | ||
456 | reg = <2>; | ||
457 | |||
458 | pinctrl-names = "default"; | ||
459 | pinctrl-0 = <&display_pins>; | ||
460 | }; | ||
461 | }; | ||
462 | |||
463 | &usb_otg_hs { | ||
464 | interface-type = <0>; | ||
465 | usb-phy = <&usb2_phy>; | ||
466 | phys = <&usb2_phy>; | ||
467 | phy-names = "usb2-phy"; | ||
468 | mode = <2>; | ||
469 | power = <50>; | ||
470 | }; | ||
471 | |||
472 | &uart1 { | ||
473 | status = "disabled"; | ||
474 | }; | ||
475 | |||
476 | &uart2 { | ||
477 | pinctrl-names = "default"; | ||
478 | pinctrl-0 = <&uart2_pins>; | ||
479 | }; | ||
480 | |||
481 | &uart3 { | ||
482 | pinctrl-names = "default"; | ||
483 | pinctrl-0 = <&uart3_pins>; | ||
484 | }; | ||