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