Merge tag 'for-linus-20171120' of git://git.infradead.org/linux-mtd
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / omap3-n950.dts
1 /*
2  * omap3-n950.dts - Device Tree file for Nokia N950
3  *
4  * Written by: Aaro Koskinen <aaro.koskinen@iki.fi>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  */
10
11 /dts-v1/;
12
13 #include "omap3-n950-n9.dtsi"
14 #include <dt-bindings/input/input.h>
15
16 / {
17         model = "Nokia N950";
18         compatible = "nokia,omap3-n950", "ti,omap36xx", "ti,omap3";
19
20         keys {
21                 compatible = "gpio-keys";
22
23                 keypad_slide {
24                         label = "Keypad Slide";
25                         gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; /* 109 */
26                         linux,input-type = <EV_SW>;
27                         linux,code = <SW_KEYPAD_SLIDE>;
28                         wakeup-source;
29                         pinctrl-names = "default";
30                         pinctrl-0 = <&keypad_slide_pins>;
31                 };
32         };
33 };
34
35 &omap3_pmx_core {
36         keypad_slide_pins: pinmux_debug_led_pins {
37                 pinctrl-single,pins = <
38                         OMAP3_CORE1_IOPAD(0x212a, PIN_INPUT | MUX_MODE4)       /* cam_d10.gpio_109 */
39                 >;
40         };
41 };
42
43 &omap3_pmx_core {
44         spi4_pins: pinmux_spi4_pins {
45                 pinctrl-single,pins = <
46                         OMAP3_CORE1_IOPAD(0x218c, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_clk */
47                         OMAP3_CORE1_IOPAD(0x2190, PIN_OUTPUT | MUX_MODE1) /* mcspi4_simo */
48                         OMAP3_CORE1_IOPAD(0x2192, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_somi */
49                         OMAP3_CORE1_IOPAD(0x2196, PIN_OUTPUT | MUX_MODE1) /* mcspi4_cs0 */
50                 >;
51         };
52 };
53
54 &i2c2 {
55         smia_1: camera@10 {
56                 compatible = "nokia,smia";
57                 reg = <0x10>;
58                 /* No reset gpio */
59                 vana-supply = <&vaux3>;
60                 clocks = <&isp 0>;
61                 clock-frequency = <9600000>;
62                 nokia,nvm-size = <(16 * 64)>;
63                 flash-leds = <&as3645a_flash &as3645a_indicator>;
64                 port {
65                         smia_1_1: endpoint {
66                                 link-frequencies = /bits/ 64 <210000000 333600000 398400000>;
67                                 clock-lanes = <0>;
68                                 data-lanes = <1 2>;
69                                 remote-endpoint = <&csi2a_ep>;
70                         };
71                 };
72         };
73 };
74
75 &isp {
76         vdd-csiphy1-supply = <&vaux2>;
77         vdd-csiphy2-supply = <&vaux2>;
78         ports {
79                 port@2 {
80                         reg = <2>;
81                         csi2a_ep: endpoint {
82                                 remote-endpoint = <&smia_1_1>;
83                                 clock-lanes = <2>;
84                                 data-lanes = <3 1>;
85                                 crc = <1>;
86                                 lane-polarities = <1 1 1>;
87                         };
88                 };
89         };
90 };
91
92 &mcspi4 {
93         status = "okay";
94         pinctrl-names = "default";
95         pinctrl-0 = <&spi4_pins>;
96
97         wlcore: wlcore@0 {
98                 compatible = "ti,wl1271";
99                 pinctrl-names = "default";
100                 pinctrl-0 = <&wlan_pins>;
101                 reg = <0>;
102                 spi-max-frequency = <48000000>;
103                 clock-xtal;
104                 ref-clock-frequency = <38400000>;
105                 interrupts-extended = <&gpio2 10 IRQ_TYPE_LEVEL_HIGH>; /* gpio 42 */
106                 vwlan-supply = <&vwlan_fixed>;
107         };
108 };
109
110 &modem {
111         compatible = "nokia,n950-modem";
112 };
113
114 &twl {
115         twl_audio: audio {
116                 compatible = "ti,twl4030-audio";
117                 ti,enable-vibra = <1>;
118         };
119 };
120
121 &twl_keypad {
122         linux,keymap = < MATRIX_KEY(0x00, 0x00, KEY_BACKSLASH)
123                          MATRIX_KEY(0x01, 0x00, KEY_LEFTSHIFT)
124                          MATRIX_KEY(0x02, 0x00, KEY_COMPOSE)
125                          MATRIX_KEY(0x03, 0x00, KEY_LEFTMETA)
126                          MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL)
127                          MATRIX_KEY(0x05, 0x00, KEY_BACKSPACE)
128                          MATRIX_KEY(0x06, 0x00, KEY_VOLUMEDOWN)
129                          MATRIX_KEY(0x07, 0x00, KEY_VOLUMEUP)
130
131                          MATRIX_KEY(0x03, 0x01, KEY_Z)
132                          MATRIX_KEY(0x04, 0x01, KEY_A)
133                          MATRIX_KEY(0x05, 0x01, KEY_Q)
134                          MATRIX_KEY(0x06, 0x01, KEY_W)
135                          MATRIX_KEY(0x07, 0x01, KEY_E)
136
137                          MATRIX_KEY(0x03, 0x02, KEY_X)
138                          MATRIX_KEY(0x04, 0x02, KEY_S)
139                          MATRIX_KEY(0x05, 0x02, KEY_D)
140                          MATRIX_KEY(0x06, 0x02, KEY_C)
141                          MATRIX_KEY(0x07, 0x02, KEY_V)
142
143                          MATRIX_KEY(0x03, 0x03, KEY_O)
144                          MATRIX_KEY(0x04, 0x03, KEY_I)
145                          MATRIX_KEY(0x05, 0x03, KEY_U)
146                          MATRIX_KEY(0x06, 0x03, KEY_L)
147                          MATRIX_KEY(0x07, 0x03, KEY_APOSTROPHE)
148
149                          MATRIX_KEY(0x03, 0x04, KEY_Y)
150                          MATRIX_KEY(0x04, 0x04, KEY_K)
151                          MATRIX_KEY(0x05, 0x04, KEY_J)
152                          MATRIX_KEY(0x06, 0x04, KEY_H)
153                          MATRIX_KEY(0x07, 0x04, KEY_G)
154
155                          MATRIX_KEY(0x03, 0x05, KEY_B)
156                          MATRIX_KEY(0x04, 0x05, KEY_COMMA)
157                          MATRIX_KEY(0x05, 0x05, KEY_M)
158                          MATRIX_KEY(0x06, 0x05, KEY_N)
159                          MATRIX_KEY(0x07, 0x05, KEY_DOT)
160
161                          MATRIX_KEY(0x00, 0x06, KEY_SPACE)
162                          MATRIX_KEY(0x03, 0x06, KEY_T)
163                          MATRIX_KEY(0x04, 0x06, KEY_UP)
164                          MATRIX_KEY(0x05, 0x06, KEY_LEFT)
165                          MATRIX_KEY(0x06, 0x06, KEY_RIGHT)
166                          MATRIX_KEY(0x07, 0x06, KEY_DOWN)
167
168                          MATRIX_KEY(0x03, 0x07, KEY_P)
169                          MATRIX_KEY(0x04, 0x07, KEY_ENTER)
170                          MATRIX_KEY(0x05, 0x07, KEY_SLASH)
171                          MATRIX_KEY(0x06, 0x07, KEY_F)
172                          MATRIX_KEY(0x07, 0x07, KEY_R)
173                          >;
174 };
175
176 &lis302 {
177         st,axis-x = <(-2)>; /* LIS3_INV_DEV_Y */
178         st,axis-y = <(-1)>; /* LIS3_INV_DEV_X */
179         st,axis-z = <(-3)>; /* LIS3_INV_DEV_Z */
180
181         st,min-limit-x = <(-32)>;
182         st,min-limit-y = <3>;
183         st,min-limit-z = <3>;
184
185         st,max-limit-x = <(-3)>;
186         st,max-limit-y = <32>;
187         st,max-limit-z = <32>;
188 };