Commit | Line | Data |
---|---|---|
a4d4b153 PM |
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 | ||
3931c839 SR |
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 | ||
a4d4b153 PM |
77 | }; |
78 | ||
ac888a88 SR |
79 | &omap3_pmx_core { |
80 | pinctrl-names = "default"; | |
81 | ||
7a89eecf SR |
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 | ||
ac888a88 SR |
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 | }; | |
f1751cff SR |
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 | }; | |
ac888a88 SR |
127 | }; |
128 | ||
a4d4b153 | 129 | &i2c1 { |
ac888a88 SR |
130 | pinctrl-names = "default"; |
131 | pinctrl-0 = <&i2c1_pins>; | |
132 | ||
a4d4b153 PM |
133 | clock-frequency = <2200000>; |
134 | ||
135 | twl: twl@48 { | |
136 | reg = <0x48>; | |
137 | interrupts = <7>; /* SYS_NIRQ cascaded to intc */ | |
138 | interrupt-parent = <&intc>; | |
139 | }; | |
140 | }; | |
141 | ||
142 | #include "twl4030.dtsi" | |
ac888a88 | 143 | #include "twl4030_omap3.dtsi" |
a4d4b153 | 144 | |
9cdbbadd SR |
145 | &vaux1 { |
146 | regulator-name = "V28"; | |
147 | regulator-min-microvolt = <2800000>; | |
148 | regulator-max-microvolt = <2800000>; | |
149 | regulator-always-on; /* due battery cover sensor */ | |
150 | }; | |
151 | ||
152 | &vaux2 { | |
153 | regulator-name = "VCSI"; | |
154 | regulator-min-microvolt = <1800000>; | |
155 | regulator-max-microvolt = <1800000>; | |
156 | }; | |
157 | ||
158 | &vaux3 { | |
159 | regulator-name = "VMMC2_30"; | |
160 | regulator-min-microvolt = <2800000>; | |
161 | regulator-max-microvolt = <3000000>; | |
162 | }; | |
163 | ||
164 | &vaux4 { | |
165 | regulator-name = "VCAM_ANA_28"; | |
166 | regulator-min-microvolt = <2800000>; | |
167 | regulator-max-microvolt = <2800000>; | |
168 | }; | |
169 | ||
170 | &vmmc1 { | |
171 | regulator-name = "VMMC1"; | |
172 | regulator-min-microvolt = <1850000>; | |
173 | regulator-max-microvolt = <3150000>; | |
174 | }; | |
175 | ||
176 | &vmmc2 { | |
177 | regulator-name = "V28_A"; | |
178 | regulator-min-microvolt = <2800000>; | |
179 | regulator-max-microvolt = <3000000>; | |
180 | regulator-always-on; /* due VIO leak to AIC34 VDDs */ | |
181 | }; | |
182 | ||
183 | &vpll1 { | |
184 | regulator-name = "VPLL"; | |
185 | regulator-min-microvolt = <1800000>; | |
186 | regulator-max-microvolt = <1800000>; | |
187 | regulator-always-on; | |
188 | }; | |
189 | ||
190 | &vpll2 { | |
191 | regulator-name = "VSDI_CSI"; | |
192 | regulator-min-microvolt = <1800000>; | |
193 | regulator-max-microvolt = <1800000>; | |
194 | regulator-always-on; | |
195 | }; | |
196 | ||
197 | &vsim { | |
198 | regulator-name = "VMMC2_IO_18"; | |
199 | regulator-min-microvolt = <1800000>; | |
200 | regulator-max-microvolt = <1800000>; | |
201 | }; | |
202 | ||
203 | &vio { | |
204 | regulator-name = "VIO"; | |
205 | regulator-min-microvolt = <1800000>; | |
206 | regulator-max-microvolt = <1800000>; | |
207 | ||
208 | }; | |
209 | ||
210 | &vintana1 { | |
211 | regulator-name = "VINTANA1"; | |
212 | /* fixed to 1500000 */ | |
213 | regulator-always-on; | |
214 | }; | |
215 | ||
216 | &vintana2 { | |
217 | regulator-name = "VINTANA2"; | |
218 | regulator-min-microvolt = <2750000>; | |
219 | regulator-max-microvolt = <2750000>; | |
220 | regulator-always-on; | |
221 | }; | |
222 | ||
223 | &vintdig { | |
224 | regulator-name = "VINTDIG"; | |
225 | /* fixed to 1500000 */ | |
226 | regulator-always-on; | |
227 | }; | |
228 | ||
06ba7a61 SR |
229 | &twl { |
230 | twl_audio: audio { | |
231 | compatible = "ti,twl4030-audio"; | |
232 | ti,enable-vibra = <1>; | |
233 | }; | |
234 | }; | |
235 | ||
a4d4b153 PM |
236 | &twl_gpio { |
237 | ti,pullups = <0x0>; | |
238 | ti,pulldowns = <0x03ff3f>; /* BIT(0..5) | BIT(8..17) */ | |
239 | }; | |
240 | ||
241 | &i2c2 { | |
ac888a88 SR |
242 | pinctrl-names = "default"; |
243 | pinctrl-0 = <&i2c2_pins>; | |
244 | ||
48fc9864 | 245 | clock-frequency = <100000>; |
b2b9b258 SR |
246 | |
247 | bq27200: bq27200@55 { | |
248 | compatible = "ti,bq27200"; | |
249 | reg = <0x55>; | |
250 | }; | |
a4d4b153 PM |
251 | }; |
252 | ||
253 | &i2c3 { | |
ac888a88 SR |
254 | pinctrl-names = "default"; |
255 | pinctrl-0 = <&i2c3_pins>; | |
256 | ||
48fc9864 | 257 | clock-frequency = <400000>; |
a4d4b153 PM |
258 | }; |
259 | ||
260 | &mmc1 { | |
f1751cff SR |
261 | pinctrl-names = "default"; |
262 | pinctrl-0 = <&mmc1_pins>; | |
263 | vmmc-supply = <&vmmc1>; | |
264 | bus-width = <4>; | |
265 | cd-gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>; /* 160 */ | |
a4d4b153 PM |
266 | }; |
267 | ||
268 | &mmc2 { | |
269 | status = "disabled"; | |
270 | }; | |
271 | ||
272 | &mmc3 { | |
273 | status = "disabled"; | |
274 | }; | |
275 | ||
276 | &mcspi1 { | |
277 | /* | |
278 | * For some reason, touchscreen is necessary for screen to work at | |
279 | * all on real hw. It works well without it on emulator. | |
280 | * | |
281 | * Also... order in the device tree actually matters here. | |
282 | */ | |
283 | tsc2005@0 { | |
284 | compatible = "tsc2005"; | |
285 | spi-max-frequency = <6000000>; | |
286 | reg = <0>; | |
287 | }; | |
288 | mipid@2 { | |
289 | compatible = "acx565akm"; | |
290 | spi-max-frequency = <6000000>; | |
291 | reg = <2>; | |
292 | }; | |
293 | }; | |
294 | ||
295 | &usb_otg_hs { | |
296 | interface-type = <0>; | |
297 | usb-phy = <&usb2_phy>; | |
d2afcf09 RQ |
298 | phys = <&usb2_phy>; |
299 | phy-names = "usb2-phy"; | |
a4d4b153 PM |
300 | mode = <2>; |
301 | power = <50>; | |
302 | }; | |
7a89eecf SR |
303 | |
304 | &uart1 { | |
305 | status = "disabled"; | |
306 | }; | |
307 | ||
308 | &uart2 { | |
309 | pinctrl-names = "default"; | |
310 | pinctrl-0 = <&uart2_pins>; | |
311 | }; | |
312 | ||
313 | &uart3 { | |
314 | pinctrl-names = "default"; | |
315 | pinctrl-0 = <&uart3_pins>; | |
316 | }; |