staging: rtl8192u: remove redundant assignment to pointer crypt
[linux/fpc-iii.git] / arch / arm / boot / dts / omap3-n900.dts
blob84a5ade1e865bb85dba7d6fa93e0b291e8ea7d36
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3  * Copyright (C) 2013 Pavel Machek <pavel@ucw.cz>
4  * Copyright (C) 2013-2014 Aaro Koskinen <aaro.koskinen@iki.fi>
5  */
7 /dts-v1/;
9 #include "omap34xx.dtsi"
10 #include <dt-bindings/input/input.h>
13  * Default secure signed bootloader (Nokia X-Loader) does not enable L3 firewall
14  * for omap AES HW crypto support. When linux kernel try to access memory of AES
15  * blocks then kernel receive "Unhandled fault: external abort on non-linefetch"
16  * and crash. Until somebody fix omap-aes.c and omap_hwmod_3xxx_data.c code (no
17  * crash anymore) omap AES support will be disabled for all Nokia N900 devices.
18  * There is "unofficial" version of bootloader which enables AES in L3 firewall
19  * but it is not widely used and to prevent kernel crash rather AES is disabled.
20  * There is also no runtime detection code if AES is disabled in L3 firewall...
21  */
22 &aes {
23         status = "disabled";
26 / {
27         model = "Nokia N900";
28         compatible = "nokia,omap3-n900", "ti,omap3430", "ti,omap3";
30         aliases {
31                 i2c0;
32                 i2c1 = &i2c1;
33                 i2c2 = &i2c2;
34                 i2c3 = &i2c3;
35                 display0 = &lcd;
36                 display1 = &tv;
37         };
39         cpus {
40                 cpu@0 {
41                         cpu0-supply = <&vcc>;
42                 };
43         };
45         leds {
46                 compatible = "gpio-leds";
47                 heartbeat {
48                         label = "debug::sleep";
49                         gpios = <&gpio6 2 GPIO_ACTIVE_HIGH>;  /* 162 */
50                         linux,default-trigger = "default-on";
51                         pinctrl-names = "default";
52                         pinctrl-0 = <&debug_leds>;
53                 };
54         };
56         memory@80000000 {
57                 device_type = "memory";
58                 reg = <0x80000000 0x10000000>; /* 256 MB */
59         };
61         gpio_keys {
62                 compatible = "gpio-keys";
64                 camera_lens_cover {
65                         label = "Camera Lens Cover";
66                         gpios = <&gpio4 14 GPIO_ACTIVE_LOW>; /* 110 */
67                         linux,input-type = <EV_SW>;
68                         linux,code = <SW_CAMERA_LENS_COVER>;
69                         linux,can-disable;
70                 };
72                 camera_focus {
73                         label = "Camera Focus";
74                         gpios = <&gpio3 4 GPIO_ACTIVE_LOW>; /* 68 */
75                         linux,code = <KEY_CAMERA_FOCUS>;
76                         linux,can-disable;
77                 };
79                 camera_capture {
80                         label = "Camera Capture";
81                         gpios = <&gpio3 5 GPIO_ACTIVE_LOW>; /* 69 */
82                         linux,code = <KEY_CAMERA>;
83                         linux,can-disable;
84                 };
86                 lock_button {
87                         label = "Lock Button";
88                         gpios = <&gpio4 17 GPIO_ACTIVE_LOW>; /* 113 */
89                         linux,code = <KEY_SCREENLOCK>;
90                         linux,can-disable;
91                 };
93                 keypad_slide {
94                         label = "Keypad Slide";
95                         gpios = <&gpio3 7 GPIO_ACTIVE_LOW>; /* 71 */
96                         linux,input-type = <EV_SW>;
97                         linux,code = <SW_KEYPAD_SLIDE>;
98                         linux,can-disable;
99                 };
101                 proximity_sensor {
102                         label = "Proximity Sensor";
103                         gpios = <&gpio3 25 GPIO_ACTIVE_HIGH>; /* 89 */
104                         linux,input-type = <EV_SW>;
105                         linux,code = <SW_FRONT_PROXIMITY>;
106                         linux,can-disable;
107                 };
108         };
110         isp1707: isp1707 {
111                 compatible = "nxp,isp1707";
112                 nxp,enable-gpio = <&gpio3 3 GPIO_ACTIVE_HIGH>;
113                 usb-phy = <&usb2_phy>;
114         };
116         tv: connector {
117                 compatible = "composite-video-connector";
118                 label = "tv";
120                 port {
121                         tv_connector_in: endpoint {
122                                 remote-endpoint = <&venc_out>;
123                         };
124                 };
125         };
127         sound: n900-audio {
128                 compatible = "nokia,n900-audio";
130                 nokia,cpu-dai = <&mcbsp2>;
131                 nokia,audio-codec = <&tlv320aic3x>, <&tlv320aic3x_aux>;
132                 nokia,headphone-amplifier = <&tpa6130a2>;
134                 tvout-selection-gpios = <&gpio2 8 GPIO_ACTIVE_HIGH>; /* 40 */
135                 jack-detection-gpios = <&gpio6 17 GPIO_ACTIVE_HIGH>; /* 177 */
136                 eci-switch-gpios = <&gpio6 22 GPIO_ACTIVE_HIGH>; /* 182 */
137                 speaker-amplifier-gpios = <&twl_gpio 7 GPIO_ACTIVE_HIGH>;
138         };
140         battery: n900-battery {
141                 compatible = "nokia,n900-battery";
142                 io-channels = <&twl_madc 0>, <&twl_madc 4>, <&twl_madc 12>;
143                 io-channel-names = "temp", "bsi", "vbat";
144         };
146         pwm9: dmtimer-pwm {
147                 compatible = "ti,omap-dmtimer-pwm";
148                 #pwm-cells = <3>;
149                 ti,timers = <&timer9>;
150                 ti,clock-source = <0x00>; /* timer_sys_ck */
151         };
153         ir: n900-ir {
154                 compatible = "nokia,n900-ir";
155                 pwms = <&pwm9 0 26316 0>; /* 38000 Hz */
156         };
158         /* controlled (enabled/disabled) directly by bcm2048 and wl1251 */
159         vctcxo: vctcxo {
160                 compatible = "fixed-clock";
161                 #clock-cells = <0>;
162                 clock-frequency = <38400000>;
163         };
166 &isp {
167         vdds_csib-supply = <&vaux2>;
169         pinctrl-names = "default";
170         pinctrl-0 = <&camera_pins>;
172         ports {
173                 port@1 {
174                         reg = <1>;
176                         csi_isp: endpoint {
177                                 remote-endpoint = <&csi_cam1>;
178                                 bus-type = <3>; /* CCP2 */
179                                 clock-lanes = <1>;
180                                 data-lanes = <0>;
181                                 lane-polarity = <0 0>;
182                                 /* Select strobe = <1> for back camera, <0> for front camera */
183                                 strobe = <1>;
184                         };
185                 };
186         };
189 &omap3_pmx_core {
190         pinctrl-names = "default";
192         uart2_pins: pinmux_uart2_pins {
193                 pinctrl-single,pins = <
194                         OMAP3_CORE1_IOPAD(0x2174, PIN_INPUT_PULLUP | MUX_MODE0)         /* uart2_cts */
195                         OMAP3_CORE1_IOPAD(0x2176, PIN_OUTPUT | MUX_MODE0)               /* uart2_rts */
196                         OMAP3_CORE1_IOPAD(0x2178, PIN_OUTPUT | MUX_MODE0)               /* uart2_tx */
197                         OMAP3_CORE1_IOPAD(0x217a, PIN_INPUT | MUX_MODE0)                /* uart2_rx */
198                 >;
199         };
201         uart3_pins: pinmux_uart3_pins {
202                 pinctrl-single,pins = <
203                         OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | MUX_MODE0)                /* uart3_rx */
204                         OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0)               /* uart3_tx */
205                 >;
206         };
208         ethernet_pins: pinmux_ethernet_pins {
209                 pinctrl-single,pins = <
210                         OMAP3_CORE1_IOPAD(0x20b4, PIN_INPUT_PULLDOWN | MUX_MODE4)       /* gpmc_ncs3.gpio_54 */
211                         OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE4)               /* dss_data16.gpio_86 */
212                         OMAP3_CORE1_IOPAD(0x219c, PIN_OUTPUT | MUX_MODE4)               /* uart3_rts_sd.gpio_164 */
213                 >;
214         };
216         gpmc_pins: pinmux_gpmc_pins {
217                 pinctrl-single,pins = <
219                         /* address lines */
220                         OMAP3_CORE1_IOPAD(0x207a, PIN_OUTPUT | MUX_MODE0)       /* gpmc_a1.gpmc_a1 */
221                         OMAP3_CORE1_IOPAD(0x207c, PIN_OUTPUT | MUX_MODE0)       /* gpmc_a2.gpmc_a2 */
222                         OMAP3_CORE1_IOPAD(0x207e, PIN_OUTPUT | MUX_MODE0)       /* gpmc_a3.gpmc_a3 */
224                         /* data lines, gpmc_d0..d7 not muxable according to TRM */
225                         OMAP3_CORE1_IOPAD(0x209e, PIN_INPUT | MUX_MODE0)        /* gpmc_d8.gpmc_d8 */
226                         OMAP3_CORE1_IOPAD(0x20a0, PIN_INPUT | MUX_MODE0)        /* gpmc_d9.gpmc_d9 */
227                         OMAP3_CORE1_IOPAD(0x20a2, PIN_INPUT | MUX_MODE0)        /* gpmc_d10.gpmc_d10 */
228                         OMAP3_CORE1_IOPAD(0x20a4, PIN_INPUT | MUX_MODE0)        /* gpmc_d11.gpmc_d11 */
229                         OMAP3_CORE1_IOPAD(0x20a6, PIN_INPUT | MUX_MODE0)        /* gpmc_d12.gpmc_d12 */
230                         OMAP3_CORE1_IOPAD(0x20a8, PIN_INPUT | MUX_MODE0)        /* gpmc_d13.gpmc_d13 */
231                         OMAP3_CORE1_IOPAD(0x20aa, PIN_INPUT | MUX_MODE0)        /* gpmc_d14.gpmc_d14 */
232                         OMAP3_CORE1_IOPAD(0x20ac, PIN_INPUT | MUX_MODE0)        /* gpmc_d15.gpmc_d15 */
234                         /*
235                          * gpmc_ncs0, gpmc_nadv_ale, gpmc_noe, gpmc_nwe, gpmc_wait0 not muxable
236                          * according to TRM. OneNAND seems to require PIN_INPUT on clock.
237                          */
238                         OMAP3_CORE1_IOPAD(0x20b0, PIN_OUTPUT | MUX_MODE0)       /* gpmc_ncs1.gpmc_ncs1 */
239                         OMAP3_CORE1_IOPAD(0x20be, PIN_INPUT | MUX_MODE0)        /* gpmc_clk.gpmc_clk */
240                 >;
241         };
243         i2c1_pins: pinmux_i2c1_pins {
244                 pinctrl-single,pins = <
245                         OMAP3_CORE1_IOPAD(0x21ba, PIN_INPUT | MUX_MODE0)                /* i2c1_scl */
246                         OMAP3_CORE1_IOPAD(0x21bc, PIN_INPUT | MUX_MODE0)                /* i2c1_sda */
247                 >;
248         };
250         i2c2_pins: pinmux_i2c2_pins {
251                 pinctrl-single,pins = <
252                         OMAP3_CORE1_IOPAD(0x21be, PIN_INPUT | MUX_MODE0)                /* i2c2_scl */
253                         OMAP3_CORE1_IOPAD(0x21c0, PIN_INPUT | MUX_MODE0)                /* i2c2_sda */
254                 >;
255         };
257         i2c3_pins: pinmux_i2c3_pins {
258                 pinctrl-single,pins = <
259                         OMAP3_CORE1_IOPAD(0x21c2, PIN_INPUT | MUX_MODE0)                /* i2c3_scl */
260                         OMAP3_CORE1_IOPAD(0x21c4, PIN_INPUT | MUX_MODE0)                /* i2c3_sda */
261                 >;
262         };
264         debug_leds: pinmux_debug_led_pins {
265                 pinctrl-single,pins = <
266                         OMAP3_CORE1_IOPAD(0x2198, PIN_OUTPUT | MUX_MODE4)       /* mcbsp1_clkx.gpio_162 */
267                 >;
268         };
270         mcspi4_pins: pinmux_mcspi4_pins {
271                 pinctrl-single,pins = <
272                         OMAP3_CORE1_IOPAD(0x218c, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_clk */
273                         OMAP3_CORE1_IOPAD(0x2192, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_somi */
274                         OMAP3_CORE1_IOPAD(0x2190, PIN_OUTPUT | MUX_MODE1) /* mcspi4_simo */
275                         OMAP3_CORE1_IOPAD(0x2196, PIN_OUTPUT | MUX_MODE1) /* mcspi4_cs0 */
276                 >;
277         };
279         mmc1_pins: pinmux_mmc1_pins {
280                 pinctrl-single,pins = <
281                         OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk */
282                         OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd */
283                         OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat0 */
284                         OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1 */
285                         OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2 */
286                         OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3 */
287                 >;
288         };
290         mmc2_pins: pinmux_mmc2_pins {
291                 pinctrl-single,pins = <
292                         OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk */
293                         OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd */
294                         OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc2_dat0 */
295                         OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1 */
296                         OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2 */
297                         OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3 */
298                         OMAP3_CORE1_IOPAD(0x2164, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat4 */
299                         OMAP3_CORE1_IOPAD(0x2166, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat5 */
300                         OMAP3_CORE1_IOPAD(0x2168, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat6 */
301                         OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat7 */
302                 >;
303         };
305         acx565akm_pins: pinmux_acx565akm_pins {
306                 pinctrl-single,pins = <
307                         OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE4)               /* RX51_LCD_RESET_GPIO */
308                 >;
309         };
311         dss_sdi_pins: pinmux_dss_sdi_pins {
312                 pinctrl-single,pins = <
313                         OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE1)   /* dss_data10.sdi_dat1n */
314                         OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE1)   /* dss_data11.sdi_dat1p */
315                         OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE1)   /* dss_data12.sdi_dat2n */
316                         OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE1)   /* dss_data13.sdi_dat2p */
318                         OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE1)   /* dss_data22.sdi_clkp */
319                         OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE1)   /* dss_data23.sdi_clkn */
320                 >;
321         };
323         wl1251_pins: pinmux_wl1251 {
324                 pinctrl-single,pins = <
325                         OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE4)               /* gpio 87 => wl1251 enable */
326                         OMAP3_CORE1_IOPAD(0x208a, PIN_INPUT | MUX_MODE4)                /* gpio 42 => wl1251 irq */
327                 >;
328         };
330         ssi_pins: pinmux_ssi {
331                 pinctrl-single,pins = <
332                         OMAP3_CORE1_IOPAD(0x2180, PIN_INPUT_PULLUP | MUX_MODE1) /* ssi1_rdy_tx */
333                         OMAP3_CORE1_IOPAD(0x217e, PIN_OUTPUT | MUX_MODE1)               /* ssi1_flag_tx */
334                         OMAP3_CORE1_IOPAD(0x2182, PIN_INPUT | MUX_MODE4)                /* ssi1_wake_tx (cawake) */
335                         OMAP3_CORE1_IOPAD(0x217c, PIN_OUTPUT | MUX_MODE1)               /* ssi1_dat_tx */
336                         OMAP3_CORE1_IOPAD(0x2184, PIN_INPUT | MUX_MODE1)                /* ssi1_dat_rx */
337                         OMAP3_CORE1_IOPAD(0x2186, PIN_INPUT | MUX_MODE1)                /* ssi1_flag_rx */
338                         OMAP3_CORE1_IOPAD(0x2188, PIN_OUTPUT | MUX_MODE1)               /* ssi1_rdy_rx */
339                         OMAP3_CORE1_IOPAD(0x218a, PIN_OUTPUT | MUX_MODE1)               /* ssi1_wake */
340                 >;
341         };
343         modem_pins: pinmux_modem {
344                 pinctrl-single,pins = <
345                         OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE4)               /* gpio 70 => cmt_apeslpx */
346                         OMAP3_CORE1_IOPAD(0x20e0, PIN_INPUT | MUX_MODE4)                /* gpio 72 => ape_rst_rq */
347                         OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE4)               /* gpio 73 => cmt_rst_rq */
348                         OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE4)               /* gpio 74 => cmt_en */
349                         OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE4)               /* gpio 75 => cmt_rst */
350                         OMAP3_CORE1_IOPAD(0x218e, PIN_OUTPUT | MUX_MODE4)               /* gpio 157 => cmt_bsi */
351                 >;
352         };
354         camera_pins: pinmux_camera {
355                 pinctrl-single,pins = <
356                         OMAP3_CORE1_IOPAD(0x210c, PIN_OUTPUT | MUX_MODE7)       /* cam_hs */
357                         OMAP3_CORE1_IOPAD(0x210e, PIN_OUTPUT | MUX_MODE7)       /* cam_vs */
358                         OMAP3_CORE1_IOPAD(0x2110, PIN_OUTPUT | MUX_MODE0)       /* cam_xclka */
359                         OMAP3_CORE1_IOPAD(0x211e, PIN_OUTPUT | MUX_MODE7)       /* cam_d4 */
360                         OMAP3_CORE1_IOPAD(0x2122, PIN_INPUT | MUX_MODE0)        /* cam_d6 */
361                         OMAP3_CORE1_IOPAD(0x2124, PIN_INPUT | MUX_MODE0)        /* cam_d7 */
362                         OMAP3_CORE1_IOPAD(0x2126, PIN_INPUT | MUX_MODE0)        /* cam_d8 */
363                         OMAP3_CORE1_IOPAD(0x2128, PIN_INPUT | MUX_MODE0)        /* cam_d9 */
364                         OMAP3_CORE1_IOPAD(0x212a, PIN_OUTPUT | MUX_MODE7)       /* cam_d10 */
365                         OMAP3_CORE1_IOPAD(0x212e, PIN_OUTPUT | MUX_MODE7)       /* cam_xclkb */
366                         OMAP3_CORE1_IOPAD(0x2132, PIN_OUTPUT | MUX_MODE0)       /* cam_strobe */
367                 >;
368         };
371 &i2c1 {
372         pinctrl-names = "default";
373         pinctrl-0 = <&i2c1_pins>;
375         clock-frequency = <2200000>;
377         twl: twl@48 {
378                 reg = <0x48>;
379                 interrupts = <7>; /* SYS_NIRQ cascaded to intc */
380                 interrupt-parent = <&intc>;
381         };
384 #include "twl4030.dtsi"
385 #include "twl4030_omap3.dtsi"
387 &vaux1 {
388         regulator-name = "V28";
389         regulator-min-microvolt = <2800000>;
390         regulator-max-microvolt = <2800000>;
391         regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
392         regulator-always-on; /* due to battery cover sensor */
395 &vaux2 {
396         regulator-name = "VCSI";
397         regulator-min-microvolt = <1800000>;
398         regulator-max-microvolt = <1800000>;
399         regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
402 &vaux3 {
403         regulator-name = "VMMC2_30";
404         regulator-min-microvolt = <2800000>;
405         regulator-max-microvolt = <3000000>;
406         regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
409 &vaux4 {
410         regulator-name = "VCAM_ANA_28";
411         regulator-min-microvolt = <2800000>;
412         regulator-max-microvolt = <2800000>;
413         regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
416 &vmmc1 {
417         regulator-name = "VMMC1";
418         regulator-min-microvolt = <1850000>;
419         regulator-max-microvolt = <3150000>;
420         regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
423 &vmmc2 {
424         regulator-name = "V28_A";
425         regulator-min-microvolt = <2800000>;
426         regulator-max-microvolt = <3000000>;
427         regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
428         regulator-always-on; /* due VIO leak to AIC34 VDDs */
431 &vpll1 {
432         regulator-name = "VPLL";
433         regulator-min-microvolt = <1800000>;
434         regulator-max-microvolt = <1800000>;
435         regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
436         regulator-always-on;
439 &vpll2 {
440         regulator-name = "VSDI_CSI";
441         regulator-min-microvolt = <1800000>;
442         regulator-max-microvolt = <1800000>;
443         regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
444         regulator-always-on;
447 &vsim {
448         regulator-name = "VMMC2_IO_18";
449         regulator-min-microvolt = <1800000>;
450         regulator-max-microvolt = <1800000>;
451         regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
454 &vio {
455         regulator-name = "VIO";
456         regulator-min-microvolt = <1800000>;
457         regulator-max-microvolt = <1800000>;
460 &vintana1 {
461         regulator-name = "VINTANA1";
462         /* fixed to 1500000 */
463         regulator-always-on;
466 &vintana2 {
467         regulator-name = "VINTANA2";
468         regulator-min-microvolt = <2750000>;
469         regulator-max-microvolt = <2750000>;
470         regulator-always-on;
473 &vintdig {
474         regulator-name = "VINTDIG";
475         /* fixed to 1500000 */
476         regulator-always-on;
479 &twl {
480         twl_audio: audio {
481                 compatible = "ti,twl4030-audio";
482                 ti,enable-vibra = <1>;
483         };
485         twl_power: power {
486                 compatible = "ti,twl4030-power-n900", "ti,twl4030-power-idle-osc-off";
487                 ti,use_poweroff;
488         };
491 &twl_keypad {
492         linux,keymap = < MATRIX_KEY(0x00, 0x00, KEY_Q)
493                          MATRIX_KEY(0x00, 0x01, KEY_O)
494                          MATRIX_KEY(0x00, 0x02, KEY_P)
495                          MATRIX_KEY(0x00, 0x03, KEY_COMMA)
496                          MATRIX_KEY(0x00, 0x04, KEY_BACKSPACE)
497                          MATRIX_KEY(0x00, 0x06, KEY_A)
498                          MATRIX_KEY(0x00, 0x07, KEY_S)
500                          MATRIX_KEY(0x01, 0x00, KEY_W)
501                          MATRIX_KEY(0x01, 0x01, KEY_D)
502                          MATRIX_KEY(0x01, 0x02, KEY_F)
503                          MATRIX_KEY(0x01, 0x03, KEY_G)
504                          MATRIX_KEY(0x01, 0x04, KEY_H)
505                          MATRIX_KEY(0x01, 0x05, KEY_J)
506                          MATRIX_KEY(0x01, 0x06, KEY_K)
507                          MATRIX_KEY(0x01, 0x07, KEY_L)
509                          MATRIX_KEY(0x02, 0x00, KEY_E)
510                          MATRIX_KEY(0x02, 0x01, KEY_DOT)
511                          MATRIX_KEY(0x02, 0x02, KEY_UP)
512                          MATRIX_KEY(0x02, 0x03, KEY_ENTER)
513                          MATRIX_KEY(0x02, 0x05, KEY_Z)
514                          MATRIX_KEY(0x02, 0x06, KEY_X)
515                          MATRIX_KEY(0x02, 0x07, KEY_C)
516                          MATRIX_KEY(0x02, 0x08, KEY_F9)
518                          MATRIX_KEY(0x03, 0x00, KEY_R)
519                          MATRIX_KEY(0x03, 0x01, KEY_V)
520                          MATRIX_KEY(0x03, 0x02, KEY_B)
521                          MATRIX_KEY(0x03, 0x03, KEY_N)
522                          MATRIX_KEY(0x03, 0x04, KEY_M)
523                          MATRIX_KEY(0x03, 0x05, KEY_SPACE)
524                          MATRIX_KEY(0x03, 0x06, KEY_SPACE)
525                          MATRIX_KEY(0x03, 0x07, KEY_LEFT)
527                          MATRIX_KEY(0x04, 0x00, KEY_T)
528                          MATRIX_KEY(0x04, 0x01, KEY_DOWN)
529                          MATRIX_KEY(0x04, 0x02, KEY_RIGHT)
530                          MATRIX_KEY(0x04, 0x04, KEY_LEFTCTRL)
531                          MATRIX_KEY(0x04, 0x05, KEY_RIGHTALT)
532                          MATRIX_KEY(0x04, 0x06, KEY_LEFTSHIFT)
533                          MATRIX_KEY(0x04, 0x08, KEY_F10)
535                          MATRIX_KEY(0x05, 0x00, KEY_Y)
536                          MATRIX_KEY(0x05, 0x08, KEY_F11)
538                          MATRIX_KEY(0x06, 0x00, KEY_U)
540                          MATRIX_KEY(0x07, 0x00, KEY_I)
541                          MATRIX_KEY(0x07, 0x01, KEY_F7)
542                          MATRIX_KEY(0x07, 0x02, KEY_F8)
543                          >;
546 &twl_gpio {
547         ti,pullups      = <0x0>;
548         ti,pulldowns    = <0x03ff3f>; /* BIT(0..5) | BIT(8..17) */
551 &i2c2 {
552         pinctrl-names = "default";
553         pinctrl-0 = <&i2c2_pins>;
555         clock-frequency = <100000>;
557         tlv320aic3x: tlv320aic3x@18 {
558                 compatible = "ti,tlv320aic3x";
559                 reg = <0x18>;
560                 reset-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; /* 60 */
561                 ai3x-gpio-func = <
562                         0 /* AIC3X_GPIO1_FUNC_DISABLED */
563                         5 /* AIC3X_GPIO2_FUNC_DIGITAL_MIC_INPUT */
564                 >;
566                 AVDD-supply = <&vmmc2>;
567                 DRVDD-supply = <&vmmc2>;
568                 IOVDD-supply = <&vio>;
569                 DVDD-supply = <&vio>;
571                 ai3x-micbias-vg = <1>;
572         };
574         tlv320aic3x_aux: tlv320aic3x@19 {
575                 compatible = "ti,tlv320aic3x";
576                 reg = <0x19>;
577                 reset-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; /* 60 */
579                 AVDD-supply = <&vmmc2>;
580                 DRVDD-supply = <&vmmc2>;
581                 IOVDD-supply = <&vio>;
582                 DVDD-supply = <&vio>;
584                 ai3x-micbias-vg = <2>;
585         };
587         tsl2563: tsl2563@29 {
588                 compatible = "amstaos,tsl2563";
589                 reg = <0x29>;
591                 amstaos,cover-comp-gain = <16>;
592         };
594         adp1653: led-controller@30 {
595                 compatible = "adi,adp1653";
596                 reg = <0x30>;
597                 enable-gpios = <&gpio3 24 GPIO_ACTIVE_HIGH>; /* 88 */
599                 flash {
600                         flash-timeout-us = <500000>;
601                         flash-max-microamp = <320000>;
602                         led-max-microamp = <50000>;
603                 };
604                 indicator {
605                         led-max-microamp = <17500>;
606                 };
607         };
609         lp5523: lp5523@32 {
610                 compatible = "national,lp5523";
611                 reg = <0x32>;
612                 clock-mode = /bits/ 8 <0>; /* LP55XX_CLOCK_AUTO */
613                 enable-gpio = <&gpio2 9 GPIO_ACTIVE_HIGH>; /* 41 */
615                 chan0 {
616                         chan-name = "lp5523:kb1";
617                         led-cur = /bits/ 8 <50>;
618                         max-cur = /bits/ 8 <100>;
619                 };
621                 chan1 {
622                         chan-name = "lp5523:kb2";
623                         led-cur = /bits/ 8 <50>;
624                         max-cur = /bits/ 8 <100>;
625                 };
627                 chan2 {
628                         chan-name = "lp5523:kb3";
629                         led-cur = /bits/ 8 <50>;
630                         max-cur = /bits/ 8 <100>;
631                 };
633                 chan3 {
634                         chan-name = "lp5523:kb4";
635                         led-cur = /bits/ 8 <50>;
636                         max-cur = /bits/ 8 <100>;
637                 };
639                 chan4 {
640                         chan-name = "lp5523:b";
641                         led-cur = /bits/ 8 <50>;
642                         max-cur = /bits/ 8 <100>;
643                 };
645                 chan5 {
646                         chan-name = "lp5523:g";
647                         led-cur = /bits/ 8 <50>;
648                         max-cur = /bits/ 8 <100>;
649                 };
651                 chan6 {
652                         chan-name = "lp5523:r";
653                         led-cur = /bits/ 8 <50>;
654                         max-cur = /bits/ 8 <100>;
655                 };
657                 chan7 {
658                         chan-name = "lp5523:kb5";
659                         led-cur = /bits/ 8 <50>;
660                         max-cur = /bits/ 8 <100>;
661                 };
663                 chan8 {
664                         chan-name = "lp5523:kb6";
665                         led-cur = /bits/ 8 <50>;
666                         max-cur = /bits/ 8 <100>;
667                 };
668         };
670         bq27200: bq27200@55 {
671                 compatible = "ti,bq27200";
672                 reg = <0x55>;
673                 power-supplies = <&bq24150a>;
674         };
676         /* Stereo headphone amplifier */
677         tpa6130a2: tpa6130a2@60 {
678                 compatible = "ti,tpa6130a2";
679                 reg = <0x60>;
681                 Vdd-supply = <&vmmc2>;
683                 power-gpio = <&gpio4 2 GPIO_ACTIVE_HIGH>; /* 98 */
684         };
686         si4713: si4713@63 {
687                 compatible = "silabs,si4713";
688                 reg = <0x63>;
690                 interrupts-extended = <&gpio2 21 IRQ_TYPE_EDGE_FALLING>; /* 53 */
691                 reset-gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>; /* 163 */
692                 vio-supply = <&vio>;
693                 vdd-supply = <&vaux1>;
694         };
696         bq24150a: bq24150a@6b {
697                 compatible = "ti,bq24150a";
698                 reg = <0x6b>;
700                 ti,current-limit = <100>;
701                 ti,weak-battery-voltage = <3400>;
702                 ti,battery-regulation-voltage = <4200>;
703                 ti,charge-current = <650>;
704                 ti,termination-current = <100>;
705                 ti,resistor-sense = <68>;
707                 ti,usb-charger-detection = <&isp1707>;
708         };
711 &i2c3 {
712         pinctrl-names = "default";
713         pinctrl-0 = <&i2c3_pins>;
715         clock-frequency = <400000>;
717         lis302dl: lis3lv02d@1d {
718                 compatible = "st,lis3lv02d";
719                 reg = <0x1d>;
721                 Vdd-supply = <&vaux1>;
722                 Vdd_IO-supply = <&vio>;
724                 interrupt-parent = <&gpio6>;
725                 interrupts = <21 20>; /* 181 and 180 */
727                 /* click flags */
728                 st,click-single-x;
729                 st,click-single-y;
730                 st,click-single-z;
732                 /* Limits are 0.5g * value */
733                 st,click-threshold-x = <8>;
734                 st,click-threshold-y = <8>;
735                 st,click-threshold-z = <10>;
737                 /* Click must be longer than time limit */
738                 st,click-time-limit = <9>;
740                 /* Kind of debounce filter */
741                 st,click-latency = <50>;
743                 /* Interrupt line 2 for click detection */
744                 st,irq2-click;
746                 st,wakeup-x-hi;
747                 st,wakeup-y-hi;
748                 st,wakeup-threshold = <(800/18)>; /* millig-value / 18 to get HW values */
750                 st,wakeup2-z-hi;
751                 st,wakeup2-threshold = <(900/18)>; /* millig-value / 18 to get HW values */
753                 st,hipass1-disable;
754                 st,hipass2-disable;
756                 st,axis-x = <1>;    /* LIS3_DEV_X */
757                 st,axis-y = <(-2)>; /* LIS3_INV_DEV_Y */
758                 st,axis-z = <(-3)>; /* LIS3_INV_DEV_Z */
760                 st,min-limit-x = <(-32)>;
761                 st,min-limit-y = <3>;
762                 st,min-limit-z = <3>;
764                 st,max-limit-x = <(-3)>;
765                 st,max-limit-y = <32>;
766                 st,max-limit-z = <32>;
767         };
769         cam1: camera@3e {
770                 compatible = "toshiba,et8ek8";
771                 reg = <0x3e>;
773                 vana-supply = <&vaux4>;
775                 clocks = <&isp 0>;
776                 clock-names = "extclk";
777                 clock-frequency = <9600000>;
779                 reset-gpio = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* 102 */
781                 lens-focus = <&ad5820>;
783                 port {
784                         csi_cam1: endpoint {
785                                 bus-type = <3>; /* CCP2 */
786                                 strobe = <1>;
787                                 clock-inv = <0>;
788                                 crc = <1>;
790                                 remote-endpoint = <&csi_isp>;
791                         };
792                 };
793         };
795         /* D/A converter for auto-focus */
796         ad5820: dac@c {
797                 compatible = "adi,ad5820";
798                 reg = <0x0c>;
800                 VANA-supply = <&vaux4>;
802                 #io-channel-cells = <0>;
803         };
806 &mmc1 {
807         pinctrl-names = "default";
808         pinctrl-0 = <&mmc1_pins>;
809         vmmc-supply = <&vmmc1>;
810         bus-width = <4>;
811         /* For debugging, it is often good idea to remove this GPIO.
812            It means you can remove back cover (to reboot by removing
813            battery) and still use the MMC card. */
814         cd-gpios = <&gpio6 0 GPIO_ACTIVE_LOW>; /* 160 */
817 /* most boards use vaux3, only some old versions use vmmc2 instead */
818 &mmc2 {
819         pinctrl-names = "default";
820         pinctrl-0 = <&mmc2_pins>;
821         vmmc-supply = <&vaux3>;
822         vqmmc-supply = <&vsim>;
823         bus-width = <8>;
824         non-removable;
825         no-sdio;
826         no-sd;
829 &mmc3 {
830         status = "disabled";
833 &gpmc {
834         ranges = <0 0 0x01000000 0x01000000>,   /* 16 MB for OneNAND */
835                  <1 0 0x02000000 0x01000000>;   /* 16 MB for smc91c96 */
836         pinctrl-names = "default";
837         pinctrl-0 = <&gpmc_pins>;
839         /* sys_ndmareq1 could be used by the driver, not as gpio65 though */
840         onenand@0,0 {
841                 #address-cells = <1>;
842                 #size-cells = <1>;
843                 compatible = "ti,omap2-onenand";
844                 reg = <0 0 0x20000>;    /* CS0, offset 0, IO size 128K */
846                 gpmc,sync-read;
847                 gpmc,sync-write;
848                 gpmc,burst-length = <16>;
849                 gpmc,burst-read;
850                 gpmc,burst-wrap;
851                 gpmc,burst-write;
852                 gpmc,device-width = <2>; /* GPMC_DEVWIDTH_16BIT */
853                 gpmc,mux-add-data = <2>; /* GPMC_MUX_AD */
854                 gpmc,cs-on-ns = <0>;
855                 gpmc,cs-rd-off-ns = <87>;
856                 gpmc,cs-wr-off-ns = <87>;
857                 gpmc,adv-on-ns = <0>;
858                 gpmc,adv-rd-off-ns = <10>;
859                 gpmc,adv-wr-off-ns = <10>;
860                 gpmc,oe-on-ns = <15>;
861                 gpmc,oe-off-ns = <87>;
862                 gpmc,we-on-ns = <0>;
863                 gpmc,we-off-ns = <87>;
864                 gpmc,rd-cycle-ns = <112>;
865                 gpmc,wr-cycle-ns = <112>;
866                 gpmc,access-ns = <81>;
867                 gpmc,page-burst-access-ns = <15>;
868                 gpmc,bus-turnaround-ns = <0>;
869                 gpmc,cycle2cycle-delay-ns = <0>;
870                 gpmc,wait-monitoring-ns = <0>;
871                 gpmc,clk-activation-ns = <5>;
872                 gpmc,wr-data-mux-bus-ns = <30>;
873                 gpmc,wr-access-ns = <81>;
874                 gpmc,sync-clk-ps = <15000>;
876                 /*
877                  * MTD partition table corresponding to Nokia's
878                  * Maemo 5 (Fremantle) release.
879                  */
880                 partition@0 {
881                         label = "bootloader";
882                         reg = <0x00000000 0x00020000>;
883                         read-only;
884                 };
885                 partition@1 {
886                         label = "config";
887                         reg = <0x00020000 0x00060000>;
888                 };
889                 partition@2 {
890                         label = "log";
891                         reg = <0x00080000 0x00040000>;
892                 };
893                 partition@3 {
894                         label = "kernel";
895                         reg = <0x000c0000 0x00200000>;
896                 };
897                 partition@4 {
898                         label = "initfs";
899                         reg = <0x002c0000 0x00200000>;
900                 };
901                 partition@5 {
902                         label = "rootfs";
903                         reg = <0x004c0000 0x0fb40000>;
904                 };
905         };
907         /* Ethernet is on some early development boards and qemu */
908         ethernet@gpmc {
909                 compatible = "smsc,lan91c94";
910                 interrupt-parent = <&gpio2>;
911                 interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;  /* gpio54 */
912                 reg = <1 0 0xf>;                /* 16 byte IO range */
913                 bank-width = <2>;
914                 pinctrl-names = "default";
915                 pinctrl-0 = <&ethernet_pins>;
916                 power-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;     /* gpio86 */
917                 reset-gpios = <&gpio6 4 GPIO_ACTIVE_HIGH>;      /* gpio164 */
918                 gpmc,device-width = <2>;
919                 gpmc,sync-clk-ps = <0>;
920                 gpmc,cs-on-ns = <0>;
921                 gpmc,cs-rd-off-ns = <48>;
922                 gpmc,cs-wr-off-ns = <24>;
923                 gpmc,adv-on-ns = <0>;
924                 gpmc,adv-rd-off-ns = <0>;
925                 gpmc,adv-wr-off-ns = <0>;
926                 gpmc,we-on-ns = <12>;
927                 gpmc,we-off-ns = <18>;
928                 gpmc,oe-on-ns = <12>;
929                 gpmc,oe-off-ns = <48>;
930                 gpmc,page-burst-access-ns = <0>;
931                 gpmc,access-ns = <42>;
932                 gpmc,rd-cycle-ns = <180>;
933                 gpmc,wr-cycle-ns = <180>;
934                 gpmc,bus-turnaround-ns = <0>;
935                 gpmc,cycle2cycle-delay-ns = <0>;
936                 gpmc,wait-monitoring-ns = <0>;
937                 gpmc,clk-activation-ns = <0>;
938                 gpmc,wr-access-ns = <0>;
939                 gpmc,wr-data-mux-bus-ns = <12>;
940         };
943 &mcspi1 {
944         /*
945          * For some reason, touchscreen is necessary for screen to work at
946          * all on real hw. It works well without it on emulator.
947          *
948          * Also... order in the device tree actually matters here.
949          */
950         tsc2005@0 {
951                 compatible = "ti,tsc2005";
952                 spi-max-frequency = <6000000>;
953                 reg = <0>;
955                 vio-supply = <&vio>;
957                 reset-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* 104 */
958                 interrupts-extended = <&gpio4 4 IRQ_TYPE_EDGE_RISING>; /* 100 */
960                 touchscreen-fuzz-x = <4>;
961                 touchscreen-fuzz-y = <7>;
962                 touchscreen-fuzz-pressure = <2>;
963                 touchscreen-size-x = <4096>;
964                 touchscreen-size-y = <4096>;
965                 touchscreen-max-pressure = <2048>;
967                 ti,x-plate-ohms = <280>;
968                 ti,esd-recovery-timeout-ms = <8000>;
969         };
971         lcd: acx565akm@2 {
972                 compatible = "sony,acx565akm";
973                 spi-max-frequency = <6000000>;
974                 reg = <2>;
976                 pinctrl-names = "default";
977                 pinctrl-0 = <&acx565akm_pins>;
979                 label = "lcd";
980                 reset-gpios = <&gpio3 26 GPIO_ACTIVE_HIGH>; /* 90 */
982                 port {
983                         lcd_in: endpoint {
984                                 remote-endpoint = <&sdi_out>;
985                         };
986                 };
987         };
990 &mcspi4 {
991         pinctrl-names = "default";
992         pinctrl-0 = <&mcspi4_pins>;
994         wl1251@0 {
995                 pinctrl-names = "default";
996                 pinctrl-0 = <&wl1251_pins>;
998                 vio-supply = <&vio>;
1000                 compatible = "ti,wl1251";
1001                 reg = <0>;
1002                 spi-max-frequency = <48000000>;
1004                 spi-cpol;
1005                 spi-cpha;
1007                 ti,power-gpio = <&gpio3 23 GPIO_ACTIVE_HIGH>; /* 87 */
1009                 interrupt-parent = <&gpio2>;
1010                 interrupts = <10 IRQ_TYPE_NONE>; /* gpio line 42 */
1012                 clocks = <&vctcxo>;
1013         };
1016 &usb_otg_hs {
1017         interface-type = <0>;
1018         usb-phy = <&usb2_phy>;
1019         phys = <&usb2_phy>;
1020         phy-names = "usb2-phy";
1021         mode = <2>;
1022         power = <50>;
1025 &uart1 {
1026         status = "disabled";
1029 &uart2 {
1030         pinctrl-names = "default";
1031         pinctrl-0 = <&uart2_pins>;
1033         bcm2048: bluetooth {
1034                 compatible = "brcm,bcm2048-nokia", "nokia,h4p-bluetooth";
1035                 reset-gpios = <&gpio3 27 GPIO_ACTIVE_LOW>; /* 91 */
1036                 host-wakeup-gpios = <&gpio4 5 GPIO_ACTIVE_HIGH>; /* 101 */
1037                 bluetooth-wakeup-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; /* 37 */
1038                 clocks = <&vctcxo>;
1039                 clock-names = "sysclk";
1040         };
1043 &uart3 {
1044         interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>;
1045         pinctrl-names = "default";
1046         pinctrl-0 = <&uart3_pins>;
1049 &dss {
1050         status = "ok";
1052         pinctrl-names = "default";
1053         pinctrl-0 = <&dss_sdi_pins>;
1055         vdds_sdi-supply = <&vaux1>;
1057         ports {
1058                 #address-cells = <1>;
1059                 #size-cells = <0>;
1061                 port@1 {
1062                         reg = <1>;
1064                         sdi_out: endpoint {
1065                                 remote-endpoint = <&lcd_in>;
1066                                 datapairs = <2>;
1067                         };
1068                 };
1069         };
1072 &venc {
1073         status = "ok";
1075         vdda-supply = <&vdac>;
1077         port {
1078                 venc_out: endpoint {
1079                         remote-endpoint = <&tv_connector_in>;
1080                         ti,channels = <1>;
1081                 };
1082         };
1085 &mcbsp2 {
1086         status = "ok";
1089 &ssi_port1 {
1090         pinctrl-names = "default";
1091         pinctrl-0 = <&ssi_pins>;
1093         ti,ssi-cawake-gpio = <&gpio5 23 GPIO_ACTIVE_HIGH>; /* 151 */
1095         modem: hsi-client {
1096                 compatible = "nokia,n900-modem";
1098                 pinctrl-names = "default";
1099                 pinctrl-0 = <&modem_pins>;
1101                 hsi-channel-ids = <0>, <1>, <2>, <3>;
1102                 hsi-channel-names = "mcsaab-control",
1103                                     "speech-control",
1104                                     "speech-data",
1105                                     "mcsaab-data";
1106                 hsi-speed-kbps = <55000>;
1107                 hsi-mode = "frame";
1108                 hsi-flow = "synchronized";
1109                 hsi-arb-mode = "round-robin";
1111                 interrupts-extended = <&gpio3 8 IRQ_TYPE_EDGE_FALLING>; /* 72 */
1113                 gpios = <&gpio3  6 GPIO_ACTIVE_HIGH>, /* 70 */
1114                         <&gpio3  9 GPIO_ACTIVE_HIGH>, /* 73 */
1115                         <&gpio3 10 GPIO_ACTIVE_HIGH>, /* 74 */
1116                         <&gpio3 11 GPIO_ACTIVE_HIGH>, /* 75 */
1117                         <&gpio5 29 GPIO_ACTIVE_HIGH>; /* 157 */
1118                 gpio-names = "cmt_apeslpx",
1119                              "cmt_rst_rq",
1120                              "cmt_en",
1121                              "cmt_rst",
1122                              "cmt_bsi";
1123         };
1126 &ssi_port2 {
1127         status = "disabled";