ARM: dts: ux500: add synaptics RMI4 for Ux500 TVK DT
[deliverable/linux.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 };
This page took 0.0593089999999999 seconds and 6 git commands to generate.