1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Copyright 2012 ST-Ericsson AB
5 * Device Tree for the TVK1281618 family of UIBs
8 #include <dt-bindings/interrupt-controller/irq.h>
12 compatible = "gpio-keys";
15 vdd-supply = <&ab8500_ldo_aux1_reg>;
16 pinctrl-names = "default";
17 pinctrl-0 = <&prox_tvk_mode>, <&hall_tvk_mode>;
20 /* Proximity sensor */
21 gpios = <&gpio6 25 GPIO_ACTIVE_HIGH>;
22 linux,code = <11>; /* SW_FRONT_PROXIMITY */
23 label = "SFH7741 Proximity Sensor";
27 gpios = <&gpio4 17 GPIO_ACTIVE_HIGH>;
28 linux,code = <0>; /* SW_LID */
29 label = "HED54XXU11 Hall Effect Sensor";
36 compatible = "toshiba,tc35893";
38 interrupt-parent = <&gpio6>;
39 interrupts = <26 IRQ_TYPE_EDGE_RISING>;
40 pinctrl-names = "default";
41 pinctrl-0 = <&tc35893_tvk_mode>;
44 #interrupt-cells = <1>;
47 compatible = "toshiba,tc3589x-gpio";
51 #interrupt-cells = <2>;
56 compatible = "toshiba,tc3589x-keypad";
58 debounce-delay-ms = <4>;
59 keypad,num-columns = <8>;
60 keypad,num-rows = <8>;
63 linux,keymap = <0x0301006b
84 /* Sensors mounted on all board variants */
88 compatible = "asahi-kasei,ak8974";
90 avdd-supply = <&ab8500_ldo_aux1_reg>;
91 dvdd-supply = <&db8500_vsmps2_reg>;
92 pinctrl-names = "default";
93 pinctrl-0 = <&gyro_magn_tvk_mode>;
95 * These interrupts cannot be used: the other component
96 * ST-Micro L3D4200D gyro that is connected to the same lines
97 * cannot set its DRDY line to open drain, so it cannot be
98 * shared with other peripherals. The should be defined for
99 * the falling edge if they could be wired together.
101 * interrupts-extended =
102 * <&gpio1 0 IRQ_TYPE_EDGE_FALLING>,
103 * <&gpio0 31 IRQ_TYPE_EDGE_FALLING>;
108 compatible = "st,l3g4200d-gyro";
109 st,drdy-int-pin = <2>;
111 vdd-supply = <&ab8500_ldo_aux1_reg>;
112 vddio-supply = <&db8500_vsmps2_reg>;
113 pinctrl-names = "default";
114 pinctrl-0 = <&gyro_magn_tvk_mode>;
115 interrupts-extended =
116 <&gpio1 0 IRQ_TYPE_EDGE_RISING>,
117 <&gpio0 31 IRQ_TYPE_EDGE_RISING>;
120 /* Barometer/pressure sensor */
121 compatible = "st,lps001wp-press";
123 vdd-supply = <&ab8500_ldo_aux1_reg>;
124 vddio-supply = <&db8500_vsmps2_reg>;
130 /* Synaptics RMI4 TM1217 touchscreen */
131 compatible = "syna,rmi4-i2c";
132 #address-cells = <1>;
135 vdd-supply = <&ab8500_ldo_aux1_reg>;
136 vddio-supply = <&db8500_vsmps2_reg>;
137 pinctrl-names = "default";
138 pinctrl-0 = <&synaptics_tvk_mode>;
139 interrupt-parent = <&gpio2>;
140 interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
148 touchscreen-inverted-x;
149 syna,sensor-type = <1>;
155 /* Pull up this GPIO pin */
157 tc35893_tvk_mode: tc35893_tvk {
159 pins = "GPIO218_AH11";
160 ste,config = <&gpio_in_pu>;
165 prox_tvk_mode: prox_tvk {
167 pins = "GPIO217_AH12";
168 ste,config = <&gpio_in_pu>;
173 hall_tvk_mode: hall_tvk {
175 pins = "GPIO145_C13";
176 ste,config = <&gpio_in_pu>;
181 accel_tvk_mode: accel_tvk {
182 /* Accelerometer interrupt lines 1 & 2 */
184 pins = "GPIO82_C1", "GPIO83_D3";
185 ste,config = <&gpio_in_pd>;
191 * These lines are shared between Gyroscope l3g400dh
192 * and AK8974 magnetometer.
194 gyro_magn_tvk_mode: gyro_magn_tvk {
195 /* GPIO 31 used for INT pull down the line */
198 ste,config = <&gpio_in_pd>;
200 /* GPIO 32 used for DRDY, pull this down */
203 ste,config = <&gpio_in_pd>;
208 synaptics_tvk_mode: synaptics_tvk {
209 /* Touchscreen uses GPIO 84 */
212 ste,config = <&gpio_in_pu>;