]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blob - arch/arm/boot/dts/ste-href-tvk1281618.dtsi
Merge tag 'mips_fixes_5.1_1' into mips-next
[mirror_ubuntu-eoan-kernel.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 GPIO_ACTIVE_HIGH>;
28 linux,code = <11>; /* SW_FRONT_PROXIMITY */
29 label = "SFH7741 Proximity Sensor";
30 };
31 button@145 {
32 /* Hall sensor */
33 gpios = <&gpio4 17 GPIO_ACTIVE_HIGH>;
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 drive-open-drain;
97 reg = <0x18>;
98 vdd-supply = <&ab8500_ldo_aux1_reg>;
99 vddio-supply = <&db8500_vsmps2_reg>;
100 pinctrl-names = "default";
101 pinctrl-0 = <&accel_tvk_mode>;
102 /*
103 * These interrupts cannot be used: the other component
104 * ST-Micro L3D4200D gyro that is connected to the same lines
105 * cannot set its DRDY line to open drain, so it cannot be
106 * shared with other peripherals. The should be defined for
107 * the falling edge if they could be wired together.
108 *
109 * interrupts-extended =
110 * <&gpio1 0 IRQ_TYPE_EDGE_FALLING>,
111 * <&gpio2 19 IRQ_TYPE_EDGE_FALLING>;
112 */
113 };
114 lsm303dlh@1e {
115 /* Magnetometer */
116 compatible = "st,lsm303dlh-magn";
117 reg = <0x1e>;
118 vdd-supply = <&ab8500_ldo_aux1_reg>;
119 vddio-supply = <&db8500_vsmps2_reg>;
120 /*
121 * These interrupts cannot be used: the other component
122 * ST-Micro L3D4200D gyro that is connected to the same lines
123 * cannot set its DRDY line to open drain, so it cannot be
124 * shared with other peripherals. The should be defined for
125 * the falling edge if they could be wired together.
126 *
127 * interrupts-extended =
128 * <&gpio1 0 IRQ_TYPE_EDGE_FALLING>,
129 * <&gpio2 19 IRQ_TYPE_EDGE_FALLING>;
130 */
131 };
132 lis331dl@1c {
133 /* Accelerometer */
134 compatible = "st,lis331dl-accel";
135 st,drdy-int-pin = <1>;
136 reg = <0x1c>;
137 vdd-supply = <&ab8500_ldo_aux1_reg>;
138 vddio-supply = <&db8500_vsmps2_reg>;
139 pinctrl-names = "default";
140 pinctrl-0 = <&accel_tvk_mode>;
141 interrupt-parent = <&gpio2>;
142 /* INT2 would need to be open drain */
143 interrupts = <18 IRQ_TYPE_EDGE_RISING>,
144 <19 IRQ_TYPE_EDGE_RISING>;
145 };
146 ak8974@f {
147 /* Magnetometer */
148 compatible = "asahi-kasei,ak8974";
149 reg = <0x0f>;
150 avdd-supply = <&ab8500_ldo_aux1_reg>;
151 dvdd-supply = <&db8500_vsmps2_reg>;
152 pinctrl-names = "default";
153 pinctrl-0 = <&gyro_magn_tvk_mode>;
154 /*
155 * These interrupts cannot be used: the other component
156 * ST-Micro L3D4200D gyro that is connected to the same lines
157 * cannot set its DRDY line to open drain, so it cannot be
158 * shared with other peripherals. The should be defined for
159 * the falling edge if they could be wired together.
160 *
161 * interrupts-extended =
162 * <&gpio1 0 IRQ_TYPE_EDGE_FALLING>,
163 * <&gpio0 31 IRQ_TYPE_EDGE_FALLING>;
164 */
165 };
166 l3g4200d@68 {
167 /* Gyroscope */
168 compatible = "st,l3g4200d-gyro";
169 st,drdy-int-pin = <2>;
170 reg = <0x68>;
171 vdd-supply = <&ab8500_ldo_aux1_reg>;
172 vddio-supply = <&db8500_vsmps2_reg>;
173 pinctrl-names = "default";
174 pinctrl-0 = <&gyro_magn_tvk_mode>;
175 interrupts-extended =
176 <&gpio1 0 IRQ_TYPE_EDGE_RISING>,
177 <&gpio0 31 IRQ_TYPE_EDGE_RISING>;
178 };
179 lsp001wm@5c {
180 /* Barometer/pressure sensor */
181 compatible = "st,lps001wp-press";
182 reg = <0x5c>;
183 vdd-supply = <&ab8500_ldo_aux1_reg>;
184 vddio-supply = <&db8500_vsmps2_reg>;
185 };
186 };
187
188 i2c@80110000 {
189 synaptics@4b {
190 /* Synaptics RMI4 TM1217 touchscreen */
191 compatible = "syna,rmi4-i2c";
192 #address-cells = <1>;
193 #size-cells = <0>;
194 reg = <0x4b>;
195 vdd-supply = <&ab8500_ldo_aux1_reg>;
196 vddio-supply = <&db8500_vsmps2_reg>;
197 pinctrl-names = "default";
198 pinctrl-0 = <&synaptics_tvk_mode>;
199 interrupt-parent = <&gpio2>;
200 interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
201
202 rmi-f01@1 {
203 reg = <0x1>;
204 syna,nosleep = <1>;
205 };
206 rmi-f11@11 {
207 reg = <0x11>;
208 touchscreen-inverted-x;
209 syna,sensor-type = <1>;
210 };
211 };
212 };
213
214 pinctrl {
215 /* Pull up this GPIO pin */
216 tc35893 {
217 tc35893_tvk_mode: tc35893_tvk {
218 tvk_cfg {
219 pins = "GPIO218_AH11";
220 ste,config = <&gpio_in_pu>;
221 };
222 };
223 };
224 prox {
225 prox_tvk_mode: prox_tvk {
226 tvk_cfg {
227 pins = "GPIO217_AH12";
228 ste,config = <&gpio_in_pu>;
229 };
230 };
231 };
232 hall {
233 hall_tvk_mode: hall_tvk {
234 tvk_cfg {
235 pins = "GPIO145_C13";
236 ste,config = <&gpio_in_pu>;
237 };
238 };
239 };
240 accelerometer {
241 accel_tvk_mode: accel_tvk {
242 /* Accelerometer interrupt lines 1 & 2 */
243 tvk_cfg {
244 pins = "GPIO82_C1", "GPIO83_D3";
245 ste,config = <&gpio_in_pd>;
246 };
247 };
248 };
249 gyroscope {
250 /*
251 * These lines are shared between Gyroscope l3g400dh
252 * and AK8974 magnetometer.
253 */
254 gyro_magn_tvk_mode: gyro_magn_tvk {
255 /* GPIO 31 used for INT pull down the line */
256 tvk_cfg1 {
257 pins = "GPIO31_V3";
258 ste,config = <&gpio_in_pd>;
259 };
260 /* GPIO 32 used for DRDY, pull this down */
261 tvk_cfg2 {
262 pins = "GPIO32_V2";
263 ste,config = <&gpio_in_pd>;
264 };
265 };
266 };
267 synaptics {
268 synaptics_tvk_mode: synaptics_tvk {
269 /* Touchscreen uses GPIO 84 */
270 tvk_cfg1 {
271 pins = "GPIO84_C2";
272 ste,config = <&gpio_in_pu>;
273 };
274 };
275 };
276 };
277 };
278 };