1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later 2724ba675SRob Herring/* 3724ba675SRob Herring * Device Tree for the TVK1281618 R2 user interface board (UIB) 4724ba675SRob Herring */ 5724ba675SRob Herring 6724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h> 7724ba675SRob Herring#include <dt-bindings/input/input.h> 8724ba675SRob Herring 9724ba675SRob Herring/ { 10724ba675SRob Herring gpio_keys { 11724ba675SRob Herring compatible = "gpio-keys"; 12724ba675SRob Herring #address-cells = <1>; 13724ba675SRob Herring #size-cells = <0>; 14724ba675SRob Herring vdd-supply = <&ab8500_ldo_aux1_reg>; 15724ba675SRob Herring pinctrl-names = "default"; 16724ba675SRob Herring pinctrl-0 = <&prox_tvk_mode>, <&hall_tvk_mode>; 17724ba675SRob Herring 18724ba675SRob Herring button@139 { 19724ba675SRob Herring /* Proximity sensor */ 20724ba675SRob Herring gpios = <&gpio6 25 GPIO_ACTIVE_HIGH>; 21724ba675SRob Herring linux,code = <11>; /* SW_FRONT_PROXIMITY */ 22724ba675SRob Herring label = "SFH7741 Proximity Sensor"; 23724ba675SRob Herring }; 24724ba675SRob Herring button@145 { 25724ba675SRob Herring /* Hall sensor */ 26724ba675SRob Herring gpios = <&gpio4 17 GPIO_ACTIVE_HIGH>; 27724ba675SRob Herring linux,code = <0>; /* SW_LID */ 28724ba675SRob Herring label = "HED54XXU11 Hall Effect Sensor"; 29724ba675SRob Herring }; 30724ba675SRob Herring }; 31724ba675SRob Herring 32724ba675SRob Herring soc { 33724ba675SRob Herring i2c@80004000 { 34724ba675SRob Herring tc35893@44 { 35724ba675SRob Herring compatible = "toshiba,tc35893"; 36724ba675SRob Herring reg = <0x44>; 37724ba675SRob Herring interrupt-parent = <&gpio6>; 38724ba675SRob Herring interrupts = <26 IRQ_TYPE_EDGE_RISING>; 39724ba675SRob Herring pinctrl-names = "default"; 40724ba675SRob Herring pinctrl-0 = <&tc35893_tvk_mode>; 41724ba675SRob Herring 42724ba675SRob Herring interrupt-controller; 43724ba675SRob Herring #interrupt-cells = <1>; 44724ba675SRob Herring status = "disabled"; 45724ba675SRob Herring 46724ba675SRob Herring tc3589x_gpio { 47724ba675SRob Herring compatible = "toshiba,tc3589x-gpio"; 48724ba675SRob Herring interrupts = <0>; 49724ba675SRob Herring 50724ba675SRob Herring interrupt-controller; 51724ba675SRob Herring #interrupt-cells = <2>; 52724ba675SRob Herring gpio-controller; 53724ba675SRob Herring #gpio-cells = <2>; 54724ba675SRob Herring }; 55724ba675SRob Herring tc3589x_keypad { 56724ba675SRob Herring compatible = "toshiba,tc3589x-keypad"; 57724ba675SRob Herring interrupts = <6>; 58724ba675SRob Herring debounce-delay-ms = <4>; 59724ba675SRob Herring keypad,num-columns = <8>; 60724ba675SRob Herring keypad,num-rows = <8>; 61724ba675SRob Herring linux,no-autorepeat; 62724ba675SRob Herring wakeup-source; 63724ba675SRob Herring linux,keymap = <MATRIX_KEY(3, 1, KEY_END)>, 64724ba675SRob Herring <MATRIX_KEY(4, 1, KEY_HOME)>, 65724ba675SRob Herring <MATRIX_KEY(6, 4, KEY_VOLUMEDOWN)>, 66724ba675SRob Herring <MATRIX_KEY(4, 2, KEY_EMAIL)>, 67724ba675SRob Herring <MATRIX_KEY(3, 3, KEY_RIGHT)>, 68724ba675SRob Herring <MATRIX_KEY(2, 5, KEY_BACKSPACE)>, 69724ba675SRob Herring <MATRIX_KEY(6, 7, KEY_MENU)>, 70724ba675SRob Herring <MATRIX_KEY(5, 0, KEY_ENTER)>, 71724ba675SRob Herring <MATRIX_KEY(4, 3, KEY_0)>, 72724ba675SRob Herring <MATRIX_KEY(3, 4, KEY_DOT)>, 73724ba675SRob Herring <MATRIX_KEY(5, 2, KEY_UP)>, 74724ba675SRob Herring <MATRIX_KEY(3, 5, KEY_DOWN)>, 75724ba675SRob Herring <MATRIX_KEY(4, 5, KEY_SEND)>, 76724ba675SRob Herring <MATRIX_KEY(0, 5, KEY_BACK)>, 77724ba675SRob Herring <MATRIX_KEY(6, 2, KEY_VOLUMEUP)>, 78724ba675SRob Herring <MATRIX_KEY(1, 3, KEY_SPACE)>, 79724ba675SRob Herring <MATRIX_KEY(7, 6, KEY_LEFT)>, 80724ba675SRob Herring <MATRIX_KEY(5, 5, KEY_SEARCH)>; 81724ba675SRob Herring }; 82724ba675SRob Herring }; 83724ba675SRob Herring }; 84724ba675SRob Herring 85724ba675SRob Herring i2c@80128000 { 86724ba675SRob Herring accelerometer@18 { 87724ba675SRob Herring /* Accelerometer */ 88724ba675SRob Herring compatible = "st,lsm303dlh-accel"; 89724ba675SRob Herring st,drdy-int-pin = <1>; 90724ba675SRob Herring drive-open-drain; 91724ba675SRob Herring reg = <0x18>; 92724ba675SRob Herring vdd-supply = <&ab8500_ldo_aux1_reg>; 93724ba675SRob Herring vddio-supply = <&db8500_vsmps2_reg>; 94724ba675SRob Herring pinctrl-names = "default"; 95724ba675SRob Herring pinctrl-0 = <&accel_tvk_mode>; 96724ba675SRob Herring /* 97724ba675SRob Herring * These interrupts cannot be used: the other component 98724ba675SRob Herring * ST-Micro L3D4200D gyro that is connected to the same lines 99724ba675SRob Herring * cannot set its DRDY line to open drain, so it cannot be 100724ba675SRob Herring * shared with other peripherals. The should be defined for 101724ba675SRob Herring * the falling edge if they could be wired together. 102724ba675SRob Herring * 103724ba675SRob Herring * interrupts-extended = 104724ba675SRob Herring * <&gpio1 0 IRQ_TYPE_EDGE_FALLING>, 105724ba675SRob Herring * <&gpio2 19 IRQ_TYPE_EDGE_FALLING>; 106724ba675SRob Herring */ 107724ba675SRob Herring mount-matrix = "0", "1", "0", 108724ba675SRob Herring "1", "0", "0", 109724ba675SRob Herring "0", "0", "-1"; 110724ba675SRob Herring }; 111724ba675SRob Herring magnetometer@1e { 112724ba675SRob Herring /* Magnetometer */ 113724ba675SRob Herring compatible = "st,lsm303dlh-magn"; 114724ba675SRob Herring reg = <0x1e>; 115724ba675SRob Herring vdd-supply = <&ab8500_ldo_aux1_reg>; 116724ba675SRob Herring vddio-supply = <&db8500_vsmps2_reg>; 117724ba675SRob Herring /* 118724ba675SRob Herring * These interrupts cannot be used: the other component 119724ba675SRob Herring * ST-Micro L3D4200D gyro that is connected to the same lines 120724ba675SRob Herring * cannot set its DRDY line to open drain, so it cannot be 121724ba675SRob Herring * shared with other peripherals. The should be defined for 122724ba675SRob Herring * the falling edge if they could be wired together. 123724ba675SRob Herring * 124724ba675SRob Herring * interrupts-extended = 125724ba675SRob Herring * <&gpio1 0 IRQ_TYPE_EDGE_FALLING>, 126724ba675SRob Herring * <&gpio2 19 IRQ_TYPE_EDGE_FALLING>; 127724ba675SRob Herring */ 128724ba675SRob Herring }; 129724ba675SRob Herring accelerometer@1c { 130724ba675SRob Herring /* Accelerometer */ 131724ba675SRob Herring compatible = "st,lis331dl-accel"; 132724ba675SRob Herring st,drdy-int-pin = <1>; 133724ba675SRob Herring reg = <0x1c>; 134724ba675SRob Herring vdd-supply = <&ab8500_ldo_aux1_reg>; 135724ba675SRob Herring vddio-supply = <&db8500_vsmps2_reg>; 136724ba675SRob Herring pinctrl-names = "default"; 137724ba675SRob Herring pinctrl-0 = <&accel_tvk_mode>; 138724ba675SRob Herring interrupt-parent = <&gpio2>; 139724ba675SRob Herring /* INT2 would need to be open drain */ 140724ba675SRob Herring interrupts = <18 IRQ_TYPE_EDGE_RISING>, 141724ba675SRob Herring <19 IRQ_TYPE_EDGE_RISING>; 142724ba675SRob Herring mount-matrix = "0", "-1", "0", 143724ba675SRob Herring "-1", "0", "0", 144724ba675SRob Herring "0", "0", "-1"; 145724ba675SRob Herring }; 146724ba675SRob Herring magnetometer@f { 147724ba675SRob Herring /* Magnetometer */ 148724ba675SRob Herring compatible = "asahi-kasei,ak8974"; 149724ba675SRob Herring reg = <0x0f>; 150724ba675SRob Herring avdd-supply = <&ab8500_ldo_aux1_reg>; 151724ba675SRob Herring dvdd-supply = <&db8500_vsmps2_reg>; 152724ba675SRob Herring pinctrl-names = "default"; 153724ba675SRob Herring pinctrl-0 = <&gyro_magn_tvk_mode>; 154724ba675SRob Herring /* 155724ba675SRob Herring * These interrupts cannot be used: the other component 156724ba675SRob Herring * ST-Micro L3D4200D gyro that is connected to the same lines 157724ba675SRob Herring * cannot set its DRDY line to open drain, so it cannot be 158724ba675SRob Herring * shared with other peripherals. The should be defined for 159724ba675SRob Herring * the falling edge if they could be wired together. 160724ba675SRob Herring * 161724ba675SRob Herring * interrupts-extended = 162724ba675SRob Herring * <&gpio1 0 IRQ_TYPE_EDGE_FALLING>, 163724ba675SRob Herring * <&gpio0 31 IRQ_TYPE_EDGE_FALLING>; 164724ba675SRob Herring */ 165724ba675SRob Herring }; 166724ba675SRob Herring gyroscope@68 { 167724ba675SRob Herring /* Gyroscope */ 168724ba675SRob Herring compatible = "st,l3g4200d-gyro"; 169724ba675SRob Herring st,drdy-int-pin = <2>; 170724ba675SRob Herring reg = <0x68>; 171724ba675SRob Herring vdd-supply = <&ab8500_ldo_aux1_reg>; 172724ba675SRob Herring vddio-supply = <&db8500_vsmps2_reg>; 173724ba675SRob Herring pinctrl-names = "default"; 174724ba675SRob Herring pinctrl-0 = <&gyro_magn_tvk_mode>; 175724ba675SRob Herring interrupts-extended = 176724ba675SRob Herring <&gpio1 0 IRQ_TYPE_EDGE_RISING>, 177724ba675SRob Herring <&gpio0 31 IRQ_TYPE_EDGE_RISING>; 178724ba675SRob Herring }; 179724ba675SRob Herring pressure@5c { 180724ba675SRob Herring /* Barometer/pressure sensor */ 181724ba675SRob Herring compatible = "st,lps001wp-press"; 182724ba675SRob Herring reg = <0x5c>; 183724ba675SRob Herring vdd-supply = <&ab8500_ldo_aux1_reg>; 184724ba675SRob Herring vddio-supply = <&db8500_vsmps2_reg>; 185724ba675SRob Herring }; 186724ba675SRob Herring }; 187724ba675SRob Herring i2c@80110000 { 188724ba675SRob Herring synaptics@4b { 189724ba675SRob Herring /* Synaptics RMI4 TM1217 touchscreen */ 190724ba675SRob Herring compatible = "syna,rmi4-i2c"; 191724ba675SRob Herring #address-cells = <1>; 192724ba675SRob Herring #size-cells = <0>; 193724ba675SRob Herring reg = <0x4b>; 194724ba675SRob Herring vdd-supply = <&ab8500_ldo_aux1_reg>; 1953cb85fadSKrzysztof Kozlowski vio-supply = <&db8500_vsmps2_reg>; 196724ba675SRob Herring pinctrl-names = "default"; 197724ba675SRob Herring pinctrl-0 = <&synaptics_tvk_mode>; 198724ba675SRob Herring interrupt-parent = <&gpio2>; 199724ba675SRob Herring interrupts = <20 IRQ_TYPE_EDGE_FALLING>; 200724ba675SRob Herring 201724ba675SRob Herring rmi4-f01@1 { 202724ba675SRob Herring reg = <0x1>; 203*374a6942SKrzysztof Kozlowski syna,nosleep-mode = <1>; 204724ba675SRob Herring }; 205724ba675SRob Herring rmi4-f11@11 { 206724ba675SRob Herring reg = <0x11>; 207724ba675SRob Herring syna,sensor-type = <1>; 208724ba675SRob Herring /* This is a landscape display */ 209724ba675SRob Herring touchscreen-swapped-x-y; 210724ba675SRob Herring }; 211724ba675SRob Herring }; 212724ba675SRob Herring }; 213724ba675SRob Herring mcde@a0350000 { 214724ba675SRob Herring status = "okay"; 215724ba675SRob Herring 216724ba675SRob Herring dsi@a0351000 { 217724ba675SRob Herring panel { 218724ba675SRob Herring compatible = "samsung,s6d16d0"; 219724ba675SRob Herring reg = <0>; 220724ba675SRob Herring vdd1-supply = <&ab8500_ldo_aux1_reg>; 221724ba675SRob Herring reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>; 222724ba675SRob Herring }; 223724ba675SRob Herring }; 224724ba675SRob Herring }; 225724ba675SRob Herring pinctrl { 226724ba675SRob Herring prox { 227724ba675SRob Herring prox_tvk_mode: prox_tvk { 228724ba675SRob Herring tvk_cfg { 229724ba675SRob Herring pins = "GPIO217_AH12"; 230724ba675SRob Herring ste,config = <&gpio_in_pu>; 231724ba675SRob Herring }; 232724ba675SRob Herring }; 233724ba675SRob Herring }; 234724ba675SRob Herring hall { 235724ba675SRob Herring hall_tvk_mode: hall_tvk { 236724ba675SRob Herring tvk_cfg { 237724ba675SRob Herring pins = "GPIO145_C13"; 238724ba675SRob Herring ste,config = <&gpio_in_pu>; 239724ba675SRob Herring }; 240724ba675SRob Herring }; 241724ba675SRob Herring }; 242724ba675SRob Herring tc35893 { 243724ba675SRob Herring /* IRQ from the TC35893 */ 244724ba675SRob Herring tc35893_tvk_mode: tc35893_tvk { 245724ba675SRob Herring tvk_cfg { 246724ba675SRob Herring pins = "GPIO218_AH11"; 247724ba675SRob Herring ste,config = <&gpio_in_pu>; 248724ba675SRob Herring }; 249724ba675SRob Herring }; 250724ba675SRob Herring }; 251724ba675SRob Herring accelerometer { 252724ba675SRob Herring accel_tvk_mode: accel_tvk { 253724ba675SRob Herring /* Accelerometer interrupt lines 1 & 2 */ 254724ba675SRob Herring tvk_cfg { 255724ba675SRob Herring pins = "GPIO82_C1", "GPIO83_D3"; 256724ba675SRob Herring ste,config = <&gpio_in_pd>; 257724ba675SRob Herring }; 258724ba675SRob Herring }; 259724ba675SRob Herring }; 260724ba675SRob Herring gyroscope { 261724ba675SRob Herring /* 262724ba675SRob Herring * These lines are shared between Gyroscope l3g400dh 263724ba675SRob Herring * and AK8974 magnetometer. 264724ba675SRob Herring */ 265724ba675SRob Herring gyro_magn_tvk_mode: gyro_magn_tvk { 266724ba675SRob Herring /* GPIO 31 used for INT pull down the line */ 267724ba675SRob Herring tvk_cfg1 { 268724ba675SRob Herring pins = "GPIO31_V3"; 269724ba675SRob Herring ste,config = <&gpio_in_pd>; 270724ba675SRob Herring }; 271724ba675SRob Herring /* GPIO 32 used for DRDY, pull this down */ 272724ba675SRob Herring tvk_cfg2 { 273724ba675SRob Herring pins = "GPIO32_V2"; 274724ba675SRob Herring ste,config = <&gpio_in_pd>; 275724ba675SRob Herring }; 276724ba675SRob Herring }; 277724ba675SRob Herring }; 278724ba675SRob Herring synaptics { 279724ba675SRob Herring synaptics_tvk_mode: synaptics_tvk { 280724ba675SRob Herring /* Touchscreen uses GPIO 84 */ 281724ba675SRob Herring tvk_cfg1 { 282724ba675SRob Herring pins = "GPIO84_C2"; 283724ba675SRob Herring ste,config = <&gpio_in_pu>; 284724ba675SRob Herring }; 285724ba675SRob Herring }; 286724ba675SRob Herring }; 287724ba675SRob Herring }; 288724ba675SRob Herring }; 289724ba675SRob Herring}; 290