1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Device Tree for the TVK1281618 R2 user interface board (UIB)
6 #include <dt-bindings/interrupt-controller/irq.h>
7 #include <dt-bindings/input/input.h>
11 compatible = "gpio-keys";
14 vdd-supply = <&ab8500_ldo_aux1_reg>;
15 pinctrl-names = "default";
16 pinctrl-0 = <&prox_tvk_mode>, <&hall_tvk_mode>;
19 /* Proximity sensor */
20 gpios = <&gpio6 25 GPIO_ACTIVE_HIGH>;
21 linux,code = <11>; /* SW_FRONT_PROXIMITY */
22 label = "SFH7741 Proximity Sensor";
26 gpios = <&gpio4 17 GPIO_ACTIVE_HIGH>;
27 linux,code = <0>; /* SW_LID */
28 label = "HED54XXU11 Hall Effect Sensor";
35 compatible = "toshiba,tc35893";
37 interrupt-parent = <&gpio6>;
38 interrupts = <26 IRQ_TYPE_EDGE_RISING>;
39 pinctrl-names = "default";
40 pinctrl-0 = <&tc35893_tvk_mode>;
43 #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 = <MATRIX_KEY(3, 1, KEY_END)>,
64 <MATRIX_KEY(4, 1, KEY_HOME)>,
65 <MATRIX_KEY(6, 4, KEY_VOLUMEDOWN)>,
66 <MATRIX_KEY(4, 2, KEY_EMAIL)>,
67 <MATRIX_KEY(3, 3, KEY_RIGHT)>,
68 <MATRIX_KEY(2, 5, KEY_BACKSPACE)>,
69 <MATRIX_KEY(6, 7, KEY_MENU)>,
70 <MATRIX_KEY(5, 0, KEY_ENTER)>,
71 <MATRIX_KEY(4, 3, KEY_0)>,
72 <MATRIX_KEY(3, 4, KEY_DOT)>,
73 <MATRIX_KEY(5, 2, KEY_UP)>,
74 <MATRIX_KEY(3, 5, KEY_DOWN)>,
75 <MATRIX_KEY(4, 5, KEY_SEND)>,
76 <MATRIX_KEY(0, 5, KEY_BACK)>,
77 <MATRIX_KEY(6, 2, KEY_VOLUMEUP)>,
78 <MATRIX_KEY(1, 3, KEY_SPACE)>,
79 <MATRIX_KEY(7, 6, KEY_LEFT)>,
80 <MATRIX_KEY(5, 5, KEY_SEARCH)>;
88 compatible = "st,lsm303dlh-accel";
89 st,drdy-int-pin = <1>;
92 vdd-supply = <&ab8500_ldo_aux1_reg>;
93 vddio-supply = <&db8500_vsmps2_reg>;
94 pinctrl-names = "default";
95 pinctrl-0 = <&accel_tvk_mode>;
97 * These interrupts cannot be used: the other component
98 * ST-Micro L3D4200D gyro that is connected to the same lines
99 * cannot set its DRDY line to open drain, so it cannot be
100 * shared with other peripherals. The should be defined for
101 * the falling edge if they could be wired together.
103 * interrupts-extended =
104 * <&gpio1 0 IRQ_TYPE_EDGE_FALLING>,
105 * <&gpio2 19 IRQ_TYPE_EDGE_FALLING>;
110 compatible = "st,lsm303dlh-magn";
112 vdd-supply = <&ab8500_ldo_aux1_reg>;
113 vddio-supply = <&db8500_vsmps2_reg>;
115 * These interrupts cannot be used: the other component
116 * ST-Micro L3D4200D gyro that is connected to the same lines
117 * cannot set its DRDY line to open drain, so it cannot be
118 * shared with other peripherals. The should be defined for
119 * the falling edge if they could be wired together.
121 * interrupts-extended =
122 * <&gpio1 0 IRQ_TYPE_EDGE_FALLING>,
123 * <&gpio2 19 IRQ_TYPE_EDGE_FALLING>;
128 compatible = "st,lis331dl-accel";
129 st,drdy-int-pin = <1>;
131 vdd-supply = <&ab8500_ldo_aux1_reg>;
132 vddio-supply = <&db8500_vsmps2_reg>;
133 pinctrl-names = "default";
134 pinctrl-0 = <&accel_tvk_mode>;
135 interrupt-parent = <&gpio2>;
136 /* INT2 would need to be open drain */
137 interrupts = <18 IRQ_TYPE_EDGE_RISING>,
138 <19 IRQ_TYPE_EDGE_RISING>;
142 compatible = "asahi-kasei,ak8974";
144 avdd-supply = <&ab8500_ldo_aux1_reg>;
145 dvdd-supply = <&db8500_vsmps2_reg>;
146 pinctrl-names = "default";
147 pinctrl-0 = <&gyro_magn_tvk_mode>;
149 * These interrupts cannot be used: the other component
150 * ST-Micro L3D4200D gyro that is connected to the same lines
151 * cannot set its DRDY line to open drain, so it cannot be
152 * shared with other peripherals. The should be defined for
153 * the falling edge if they could be wired together.
155 * interrupts-extended =
156 * <&gpio1 0 IRQ_TYPE_EDGE_FALLING>,
157 * <&gpio0 31 IRQ_TYPE_EDGE_FALLING>;
162 compatible = "st,l3g4200d-gyro";
163 st,drdy-int-pin = <2>;
165 vdd-supply = <&ab8500_ldo_aux1_reg>;
166 vddio-supply = <&db8500_vsmps2_reg>;
167 pinctrl-names = "default";
168 pinctrl-0 = <&gyro_magn_tvk_mode>;
169 interrupts-extended =
170 <&gpio1 0 IRQ_TYPE_EDGE_RISING>,
171 <&gpio0 31 IRQ_TYPE_EDGE_RISING>;
174 /* Barometer/pressure sensor */
175 compatible = "st,lps001wp-press";
177 vdd-supply = <&ab8500_ldo_aux1_reg>;
178 vddio-supply = <&db8500_vsmps2_reg>;
183 /* Synaptics RMI4 TM1217 touchscreen */
184 compatible = "syna,rmi4-i2c";
185 #address-cells = <1>;
188 vdd-supply = <&ab8500_ldo_aux1_reg>;
189 vddio-supply = <&db8500_vsmps2_reg>;
190 pinctrl-names = "default";
191 pinctrl-0 = <&synaptics_tvk_mode>;
192 interrupt-parent = <&gpio2>;
193 interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
201 syna,sensor-type = <1>;
202 /* This is a landscape display */
203 touchscreen-swapped-x-y;
212 compatible = "samsung,s6d16d0";
214 vdd1-supply = <&ab8500_ldo_aux1_reg>;
215 reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
221 prox_tvk_mode: prox_tvk {
223 pins = "GPIO217_AH12";
224 ste,config = <&gpio_in_pu>;
229 hall_tvk_mode: hall_tvk {
231 pins = "GPIO145_C13";
232 ste,config = <&gpio_in_pu>;
237 /* IRQ from the TC35893 */
238 tc35893_tvk_mode: tc35893_tvk {
240 pins = "GPIO218_AH11";
241 ste,config = <&gpio_in_pu>;
246 accel_tvk_mode: accel_tvk {
247 /* Accelerometer interrupt lines 1 & 2 */
249 pins = "GPIO82_C1", "GPIO83_D3";
250 ste,config = <&gpio_in_pd>;
256 * These lines are shared between Gyroscope l3g400dh
257 * and AK8974 magnetometer.
259 gyro_magn_tvk_mode: gyro_magn_tvk {
260 /* GPIO 31 used for INT pull down the line */
263 ste,config = <&gpio_in_pd>;
265 /* GPIO 32 used for DRDY, pull this down */
268 ste,config = <&gpio_in_pd>;
273 synaptics_tvk_mode: synaptics_tvk {
274 /* Touchscreen uses GPIO 84 */
277 ste,config = <&gpio_in_pu>;