Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / ste-href-tvk1281618.dtsi
1 /*
2  * Copyright 2012 ST-Ericsson AB
3  *
4  * The code contained herein is licensed under the GNU General Public
5  * License. You may obtain a copy of the GNU General Public License
6  * Version 2 or later at the following locations:
7  *
8  * http://www.opensource.org/licenses/gpl-license.html
9  * http://www.gnu.org/copyleft/gpl.html
10  *
11  * Device Tree for the TVK1281618 UIB
12  */
13
14 #include <dt-bindings/interrupt-controller/irq.h>
15
16 / {
17         gpio_keys {
18                 compatible = "gpio-keys";
19                 #address-cells = <1>;
20                 #size-cells = <0>;
21                 vdd-supply = <&ab8500_ldo_aux1_reg>;
22                 pinctrl-names = "default";
23                 pinctrl-0 = <&prox_tvk_mode>, <&hall_tvk_mode>;
24
25                 button@139 {
26                         /* Proximity sensor */
27                         gpios = <&gpio6 25 0x4>;
28                         linux,code = <11>; /* SW_FRONT_PROXIMITY */
29                         label = "SFH7741 Proximity Sensor";
30                 };
31                 button@145 {
32                         /* Hall sensor */
33                         gpios = <&gpio4 17 0x4>;
34                         linux,code = <0>; /* SW_LID */
35                         label = "HED54XXU11 Hall Effect Sensor";
36                 };
37         };
38
39         soc {
40                 i2c@80004000 {
41                         tc35893@44 {
42                                 compatible = "toshiba,tc35893";
43                                 reg = <0x44>;
44                                 interrupt-parent = <&gpio6>;
45                                 interrupts = <26 IRQ_TYPE_EDGE_RISING>;
46                                 pinctrl-names = "default";
47                                 pinctrl-0 = <&tc35893_tvk_mode>;
48
49                                 interrupt-controller;
50                                 #interrupt-cells = <1>;
51
52                                 tc3589x_gpio {
53                                         compatible = "toshiba,tc3589x-gpio";
54                                         interrupts = <0>;
55
56                                         interrupt-controller;
57                                         #interrupt-cells = <2>;
58                                         gpio-controller;
59                                         #gpio-cells = <2>;
60                                 };
61                                 tc3589x_keypad {
62                                         compatible = "toshiba,tc3589x-keypad";
63                                         interrupts = <6>;
64                                         debounce-delay-ms = <4>;
65                                         keypad,num-columns = <8>;
66                                         keypad,num-rows = <8>;
67                                         linux,no-autorepeat;
68                                         wakeup-source;
69                                         linux,keymap = <0x0301006b
70                                                         0x04010066
71                                                         0x06040072
72                                                         0x040200d7
73                                                         0x0303006a
74                                                         0x0205000e
75                                                         0x0607008b
76                                                         0x0500001c
77                                                         0x0403000b
78                                                         0x03040034
79                                                         0x05020067
80                                                         0x0305006c
81                                                         0x040500e7
82                                                         0x0005009e
83                                                         0x06020073
84                                                         0x01030039
85                                                         0x07060069
86                                                         0x050500d9>;
87                                 };
88                         };
89                 };
90                 /* Sensors mounted on this board variant */
91                 i2c@80128000 {
92                         lsm303dlh@18 {
93                                 /* Accelerometer */
94                                 compatible = "st,lsm303dlh-accel";
95                                 st,drdy-int-pin = <1>;
96                                 reg = <0x18>;
97                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
98                                 vddio-supply = <&db8500_vsmps2_reg>;
99                                 pinctrl-names = "default";
100                                 pinctrl-0 = <&accel_tvk_mode>;
101                                 interrupt-parent = <&gpio2>;
102                                 interrupts = <18 IRQ_TYPE_EDGE_RISING>,
103                                              <19 IRQ_TYPE_EDGE_RISING>;
104                         };
105                         lsm303dlh@1e {
106                                 /*
107                                  * This magnetometer is packaged with
108                                  * the accelerometer, and has a DRDY line,
109                                  * however it is not connected on this
110                                  * board so it can not generate interrupts.
111                                  */
112                                 compatible = "st,lsm303dlh-magn";
113                                 reg = <0x1e>;
114                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
115                                 vddio-supply = <&db8500_vsmps2_reg>;
116                         };
117                         lis331dl@1c {
118                                 /* Accelerometer */
119                                 compatible = "st,lis331dl-accel";
120                                 st,drdy-int-pin = <1>;
121                                 reg = <0x1c>;
122                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
123                                 vddio-supply = <&db8500_vsmps2_reg>;
124                                 pinctrl-names = "default";
125                                 pinctrl-0 = <&accel_tvk_mode>;
126                                 interrupt-parent = <&gpio2>;
127                                 interrupts = <18 IRQ_TYPE_EDGE_RISING>,
128                                              <19 IRQ_TYPE_EDGE_RISING>;
129                         };
130                         ak8974@0f {
131                                 /* Magnetometer */
132                                 compatible = "asahi-kasei,ak8974";
133                                 reg = <0x0f>;
134                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
135                                 vddio-supply = <&db8500_vsmps2_reg>;
136                                 pinctrl-names = "default";
137                                 pinctrl-0 = <&gyro_magn_tvk_mode>;
138                                 interrupt-parent = <&gpio1>;
139                                 interrupts = <0 IRQ_TYPE_EDGE_RISING>;
140                         };
141                         l3g4200d@68 {
142                                 /* Gyroscope */
143                                 compatible = "st,l3g4200d-gyro";
144                                 st,drdy-int-pin = <2>;
145                                 reg = <0x68>;
146                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
147                                 vddio-supply = <&db8500_vsmps2_reg>;
148                                 pinctrl-names = "default";
149                                 pinctrl-0 = <&gyro_magn_tvk_mode>;
150                                 interrupt-parent = <&gpio1>;
151                                 interrupts = <0 IRQ_TYPE_EDGE_RISING>;
152                         };
153                         lsp001wm@5c {
154                                 /* Barometer/pressure sensor */
155                                 compatible = "st,lps001wp-press";
156                                 reg = <0x5c>;
157                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
158                                 vddio-supply = <&db8500_vsmps2_reg>;
159                         };
160                 };
161
162                 i2c@80110000 {
163                         synaptics@4b {
164                                 /* Synaptics RMI4 TM1217 touchscreen */
165                                 compatible = "syna,rmi4-i2c";
166                                 #address-cells = <1>;
167                                 #size-cells = <0>;
168                                 reg = <0x4b>;
169                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
170                                 vddio-supply = <&db8500_vsmps2_reg>;
171                                 pinctrl-names = "default";
172                                 pinctrl-0 = <&synaptics_tvk_mode>;
173                                 interrupt-parent = <&gpio2>;
174                                 interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
175
176                                 rmi-f01@1 {
177                                         reg = <0x1>;
178                                         syna,nosleep = <1>;
179                                 };
180                                 rmi-f11@11 {
181                                         reg = <0x11>;
182                                         touchscreen-inverted-x;
183                                         syna,sensor-type = <1>;
184                                 };
185                         };
186                 };
187
188                 pinctrl {
189                         /* Pull up this GPIO pin */
190                         tc35893 {
191                                 tc35893_tvk_mode: tc35893_tvk {
192                                         tvk_cfg {
193                                                 pins = "GPIO218_AH11";
194                                                 ste,config = <&gpio_in_pu>;
195                                         };
196                                 };
197                         };
198                         prox {
199                                 prox_tvk_mode: prox_tvk {
200                                         tvk_cfg {
201                                                 pins = "GPIO217_AH12";
202                                                 ste,config = <&gpio_in_pu>;
203                                         };
204                                 };
205                         };
206                         hall {
207                                 hall_tvk_mode: hall_tvk {
208                                         tvk_cfg {
209                                                 pins = "GPIO145_C13";
210                                                 ste,config = <&gpio_in_pu>;
211                                         };
212                                 };
213                         };
214                         accelerometer {
215                                 accel_tvk_mode: accel_tvk {
216                                         /* Accelerometer interrupt lines 1 & 2 */
217                                         tvk_cfg {
218                                                 pins = "GPIO82_C1", "GPIO83_D3";
219                                                 ste,config = <&gpio_in_pd>;
220                                         };
221                                 };
222                         };
223                         gyroscope {
224                                 /*
225                                  * These lines are shared between Gyroscope l3g400dh
226                                  * and AK8974 magnetometer.
227                                  */
228                                 gyro_magn_tvk_mode: gyro_magn_tvk {
229                                          /* GPIO 31 used for INT pull down the line */
230                                         tvk_cfg1 {
231                                                 pins = "GPIO31_V3";
232                                                 ste,config = <&gpio_in_pd>;
233                                         };
234                                         /* GPIO 32 used for DRDY, pull this down */
235                                         tvk_cfg2 {
236                                                 pins = "GPIO32_V2";
237                                                 ste,config = <&gpio_in_pd>;
238                                         };
239                                 };
240                         };
241                         synaptics {
242                                 synaptics_tvk_mode: synaptics_tvk {
243                                         /* Touchscreen uses GPIO 84 */
244                                         tvk_cfg1 {
245                                                 pins = "GPIO84_C2";
246                                                 ste,config = <&gpio_in_pu>;
247                                         };
248                                 };
249                         };
250                 };
251         };
252 };