1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Device Tree for the TVK1281618 R3 user interface board (UIB) 4 * also known as the "CYTTSP board" 5 */ 6 7#include <dt-bindings/interrupt-controller/irq.h> 8#include <dt-bindings/input/input.h> 9 10/ { 11 gpio_keys { 12 compatible = "gpio-keys"; 13 #address-cells = <1>; 14 #size-cells = <0>; 15 vdd-supply = <&ab8500_ldo_aux1_reg>; 16 pinctrl-names = "default"; 17 pinctrl-0 = <&hall_tvk_mode>; 18 19 button@145 { 20 /* Hall sensor */ 21 gpios = <&gpio4 17 GPIO_ACTIVE_HIGH>; 22 linux,code = <0>; /* SW_LID */ 23 label = "HED54XXU11 Hall Effect Sensor"; 24 }; 25 }; 26 27 soc { 28 i2c@80004000 { 29 tc35893@44 { 30 compatible = "toshiba,tc35893"; 31 reg = <0x44>; 32 interrupt-parent = <&gpio2>; 33 interrupts = <0 IRQ_TYPE_EDGE_RISING>; 34 pinctrl-names = "default"; 35 pinctrl-0 = <&tc35893_tvk_mode>; 36 37 interrupt-controller; 38 #interrupt-cells = <1>; 39 status = "disabled"; 40 41 tc3589x_gpio { 42 compatible = "toshiba,tc3589x-gpio"; 43 interrupts = <0>; 44 45 interrupt-controller; 46 #interrupt-cells = <2>; 47 gpio-controller; 48 #gpio-cells = <2>; 49 }; 50 tc3589x_keypad { 51 compatible = "toshiba,tc3589x-keypad"; 52 interrupts = <6>; 53 debounce-delay-ms = <4>; 54 keypad,num-columns = <8>; 55 keypad,num-rows = <8>; 56 linux,no-autorepeat; 57 wakeup-source; 58 linux,keymap = <MATRIX_KEY(3, 1, KEY_END)>, 59 <MATRIX_KEY(4, 1, KEY_HOME)>, 60 <MATRIX_KEY(6, 4, KEY_VOLUMEDOWN)>, 61 <MATRIX_KEY(4, 2, KEY_EMAIL)>, 62 <MATRIX_KEY(3, 3, KEY_RIGHT)>, 63 <MATRIX_KEY(2, 5, KEY_BACKSPACE)>, 64 <MATRIX_KEY(6, 7, KEY_MENU)>, 65 <MATRIX_KEY(5, 0, KEY_ENTER)>, 66 <MATRIX_KEY(4, 3, KEY_0)>, 67 <MATRIX_KEY(3, 4, KEY_DOT)>, 68 <MATRIX_KEY(5, 2, KEY_UP)>, 69 <MATRIX_KEY(3, 5, KEY_DOWN)>, 70 <MATRIX_KEY(4, 5, KEY_SEND)>, 71 <MATRIX_KEY(0, 5, KEY_BACK)>, 72 <MATRIX_KEY(6, 2, KEY_VOLUMEUP)>, 73 <MATRIX_KEY(1, 3, KEY_SPACE)>, 74 <MATRIX_KEY(7, 6, KEY_LEFT)>, 75 <MATRIX_KEY(5, 5, KEY_SEARCH)>; 76 }; 77 }; 78 }; 79 80 i2c@80128000 { 81 accelerometer@19 { 82 compatible = "st,lsm303dlhc-accel"; 83 st,drdy-int-pin = <1>; 84 reg = <0x19>; 85 vdd-supply = <&ab8500_ldo_aux1_reg>; 86 vddio-supply = <&db8500_vsmps2_reg>; 87 interrupt-parent = <&gpio2>; 88 interrupts = <18 IRQ_TYPE_EDGE_RISING>, 89 <19 IRQ_TYPE_EDGE_RISING>; 90 pinctrl-names = "default"; 91 pinctrl-0 = <&accel_tvk_mode>; 92 }; 93 magnetometer@1e { 94 compatible = "st,lsm303dlm-magn"; 95 st,drdy-int-pin = <1>; 96 reg = <0x1e>; 97 vdd-supply = <&ab8500_ldo_aux1_reg>; 98 vddio-supply = <&db8500_vsmps2_reg>; 99 // This interrupt is not properly working with the driver 100 // interrupt-parent = <&gpio1>; 101 // interrupts = <0 IRQ_TYPE_EDGE_RISING>; 102 pinctrl-names = "default"; 103 pinctrl-0 = <&magn_tvk_mode>; 104 }; 105 gyroscope@68 { 106 /* Gyroscope */ 107 compatible = "st,l3g4200d-gyro"; 108 reg = <0x68>; 109 vdd-supply = <&ab8500_ldo_aux1_reg>; 110 vddio-supply = <&db8500_vsmps2_reg>; 111 }; 112 pressure@5c { 113 /* Barometer/pressure sensor */ 114 compatible = "st,lps001wp-press"; 115 reg = <0x5c>; 116 vdd-supply = <&ab8500_ldo_aux1_reg>; 117 vddio-supply = <&db8500_vsmps2_reg>; 118 }; 119 }; 120 121 spi@80111000 { 122 num-cs = <1>; 123 cs-gpios = <&gpio6 24 GPIO_ACTIVE_LOW>; 124 pinctrl-names = "default"; 125 pinctrl-0 = <&spi2_default_mode>; 126 status = "okay"; 127 128 touchscreen@0 { 129 compatible = "cypress,cy8ctma340"; 130 /* 131 * Actually the max frequency is 6 MHz, but over 2 MHz the 132 * data rate needs to be restricted to max 2Mbps which the 133 * SPI framework cannot handle. 134 */ 135 spi-max-frequency = <2000000>; 136 reg = <0>; 137 interrupt-parent = <&gpio2>; 138 interrupts = <20 IRQ_TYPE_EDGE_FALLING>; 139 vcpin-supply = <&ab8500_ldo_aux1_reg>; 140 vdd-supply = <&db8500_vsmps2_reg>; 141 reset-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; 142 touchscreen-size-x = <480>; 143 touchscreen-size-y = <854>; 144 active-interval-ms = <0>; 145 touch-timeout-ms = <255>; 146 lowpower-interval-ms = <10>; 147 bootloader-key = /bits/ 8 <0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07>; 148 pinctrl-names = "default"; 149 pinctrl-0 = <&cyttsp_tvk_mode>; 150 }; 151 }; 152 153 mcde@a0350000 { 154 status = "okay"; 155 156 dsi@a0351000 { 157 panel { 158 compatible = "sony,acx424akp"; 159 reg = <0>; 160 vddi-supply = <&ab8500_ldo_aux1_reg>; 161 reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>; 162 }; 163 }; 164 }; 165 166 pinctrl { 167 hall { 168 hall_tvk_mode: hall_tvk { 169 tvk_cfg { 170 pins = "GPIO145_C13"; 171 ste,config = <&gpio_in_pu>; 172 }; 173 }; 174 }; 175 tc35893 { 176 /* IRQ from the TC35893 */ 177 tc35893_tvk_mode: tc35893_tvk { 178 tvk_cfg { 179 pins = "GPIO64_F3"; 180 ste,config = <&gpio_in_pu>; 181 }; 182 }; 183 }; 184 accelerometer { 185 accel_tvk_mode: accel_tvk { 186 /* Accelerometer interrupt lines 1 & 2 */ 187 tvk_cfg { 188 pins = "GPIO82_C1", "GPIO83_D3"; 189 ste,config = <&gpio_in_pd>; 190 }; 191 }; 192 }; 193 magnetometer { 194 magn_tvk_mode: magn_tvk { 195 /* GPIO 32 used for DRDY, pull this down */ 196 tvk_cfg { 197 pins = "GPIO32_V2"; 198 ste,config = <&gpio_in_pd>; 199 }; 200 }; 201 }; 202 cyttsp { 203 cyttsp_tvk_mode: cyttsp_tvk { 204 /* Touchscreen uses GPIO84 for IRQ */ 205 tvk_cfg1 { 206 pins = "GPIO84_C2"; 207 ste,config = <&gpio_in_pu>; 208 }; 209 /* GPIO143 is reset */ 210 tvk_cfg2 { 211 pins = "GPIO143_D12"; 212 ste,config = <&gpio_out_hi>; 213 }; 214 }; 215 }; 216 }; 217 }; 218}; 219