18668223aSLinus Walleij// SPDX-License-Identifier: GPL-2.0-or-later 28668223aSLinus Walleij/* 3c9334538SLinus Walleij * Device Tree for the TVK1281618 R3 user interface board (UIB) 4c9334538SLinus Walleij * also known as the "CYTTSP board" 58668223aSLinus Walleij */ 68668223aSLinus Walleij 7396e4dd8SLinus Walleij#include <dt-bindings/interrupt-controller/irq.h> 8c9334538SLinus Walleij#include <dt-bindings/input/input.h> 98668223aSLinus Walleij 108668223aSLinus Walleij/ { 11396e4dd8SLinus Walleij gpio_keys { 12396e4dd8SLinus Walleij compatible = "gpio-keys"; 13396e4dd8SLinus Walleij #address-cells = <1>; 14396e4dd8SLinus Walleij #size-cells = <0>; 15396e4dd8SLinus Walleij vdd-supply = <&ab8500_ldo_aux1_reg>; 16396e4dd8SLinus Walleij pinctrl-names = "default"; 17396e4dd8SLinus Walleij pinctrl-0 = <&hall_tvk_mode>; 18396e4dd8SLinus Walleij 19396e4dd8SLinus Walleij button@145 { 20396e4dd8SLinus Walleij /* Hall sensor */ 21396e4dd8SLinus Walleij gpios = <&gpio4 17 GPIO_ACTIVE_HIGH>; 22396e4dd8SLinus Walleij linux,code = <0>; /* SW_LID */ 23396e4dd8SLinus Walleij label = "HED54XXU11 Hall Effect Sensor"; 24396e4dd8SLinus Walleij }; 25396e4dd8SLinus Walleij }; 26396e4dd8SLinus Walleij 278668223aSLinus Walleij soc { 28c9334538SLinus Walleij i2c@80004000 { 29c9334538SLinus Walleij tc35893@44 { 30c9334538SLinus Walleij compatible = "toshiba,tc35893"; 31c9334538SLinus Walleij reg = <0x44>; 32c9334538SLinus Walleij interrupt-parent = <&gpio2>; 33c9334538SLinus Walleij interrupts = <0 IRQ_TYPE_EDGE_RISING>; 34c9334538SLinus Walleij pinctrl-names = "default"; 35c9334538SLinus Walleij pinctrl-0 = <&tc35893_tvk_mode>; 36c9334538SLinus Walleij 37c9334538SLinus Walleij interrupt-controller; 38c9334538SLinus Walleij #interrupt-cells = <1>; 39c9334538SLinus Walleij status = "disabled"; 40c9334538SLinus Walleij 41c9334538SLinus Walleij tc3589x_gpio { 42c9334538SLinus Walleij compatible = "toshiba,tc3589x-gpio"; 43c9334538SLinus Walleij interrupts = <0>; 44c9334538SLinus Walleij 45c9334538SLinus Walleij interrupt-controller; 46c9334538SLinus Walleij #interrupt-cells = <2>; 47c9334538SLinus Walleij gpio-controller; 48c9334538SLinus Walleij #gpio-cells = <2>; 49c9334538SLinus Walleij }; 50c9334538SLinus Walleij tc3589x_keypad { 51c9334538SLinus Walleij compatible = "toshiba,tc3589x-keypad"; 52c9334538SLinus Walleij interrupts = <6>; 53c9334538SLinus Walleij debounce-delay-ms = <4>; 54c9334538SLinus Walleij keypad,num-columns = <8>; 55c9334538SLinus Walleij keypad,num-rows = <8>; 56c9334538SLinus Walleij linux,no-autorepeat; 57c9334538SLinus Walleij wakeup-source; 58c9334538SLinus Walleij linux,keymap = <MATRIX_KEY(3, 1, KEY_END)>, 59c9334538SLinus Walleij <MATRIX_KEY(4, 1, KEY_HOME)>, 60c9334538SLinus Walleij <MATRIX_KEY(6, 4, KEY_VOLUMEDOWN)>, 61c9334538SLinus Walleij <MATRIX_KEY(4, 2, KEY_EMAIL)>, 62c9334538SLinus Walleij <MATRIX_KEY(3, 3, KEY_RIGHT)>, 63c9334538SLinus Walleij <MATRIX_KEY(2, 5, KEY_BACKSPACE)>, 64c9334538SLinus Walleij <MATRIX_KEY(6, 7, KEY_MENU)>, 65c9334538SLinus Walleij <MATRIX_KEY(5, 0, KEY_ENTER)>, 66c9334538SLinus Walleij <MATRIX_KEY(4, 3, KEY_0)>, 67c9334538SLinus Walleij <MATRIX_KEY(3, 4, KEY_DOT)>, 68c9334538SLinus Walleij <MATRIX_KEY(5, 2, KEY_UP)>, 69c9334538SLinus Walleij <MATRIX_KEY(3, 5, KEY_DOWN)>, 70c9334538SLinus Walleij <MATRIX_KEY(4, 5, KEY_SEND)>, 71c9334538SLinus Walleij <MATRIX_KEY(0, 5, KEY_BACK)>, 72c9334538SLinus Walleij <MATRIX_KEY(6, 2, KEY_VOLUMEUP)>, 73c9334538SLinus Walleij <MATRIX_KEY(1, 3, KEY_SPACE)>, 74c9334538SLinus Walleij <MATRIX_KEY(7, 6, KEY_LEFT)>, 75c9334538SLinus Walleij <MATRIX_KEY(5, 5, KEY_SEARCH)>; 76c9334538SLinus Walleij }; 77c9334538SLinus Walleij }; 78c9334538SLinus Walleij }; 79c9334538SLinus Walleij 808668223aSLinus Walleij i2c@80128000 { 81aeceecd4SLinus Walleij accelerometer@19 { 82aeceecd4SLinus Walleij compatible = "st,lsm303dlhc-accel"; 838668223aSLinus Walleij st,drdy-int-pin = <1>; 84aeceecd4SLinus Walleij reg = <0x19>; 85aeceecd4SLinus Walleij vdd-supply = <&ab8500_ldo_aux1_reg>; 86aeceecd4SLinus Walleij vddio-supply = <&db8500_vsmps2_reg>; 87aeceecd4SLinus Walleij interrupt-parent = <&gpio2>; 88aeceecd4SLinus Walleij interrupts = <18 IRQ_TYPE_EDGE_RISING>, 89aeceecd4SLinus Walleij <19 IRQ_TYPE_EDGE_RISING>; 90aeceecd4SLinus Walleij pinctrl-names = "default"; 91aeceecd4SLinus Walleij pinctrl-0 = <&accel_tvk_mode>; 92*4beba401SLinus Walleij mount-matrix = "0", "-1", "0", 93*4beba401SLinus Walleij "-1", "0", "0", 94*4beba401SLinus Walleij "0", "0", "-1"; 95aeceecd4SLinus Walleij }; 96aeceecd4SLinus Walleij magnetometer@1e { 97aeceecd4SLinus Walleij compatible = "st,lsm303dlm-magn"; 98aeceecd4SLinus Walleij reg = <0x1e>; 99aeceecd4SLinus Walleij vdd-supply = <&ab8500_ldo_aux1_reg>; 100aeceecd4SLinus Walleij vddio-supply = <&db8500_vsmps2_reg>; 101aeceecd4SLinus Walleij // This interrupt is not properly working with the driver 102aeceecd4SLinus Walleij // interrupt-parent = <&gpio1>; 103aeceecd4SLinus Walleij // interrupts = <0 IRQ_TYPE_EDGE_RISING>; 104aeceecd4SLinus Walleij pinctrl-names = "default"; 105aeceecd4SLinus Walleij pinctrl-0 = <&magn_tvk_mode>; 106aeceecd4SLinus Walleij }; 107aeceecd4SLinus Walleij gyroscope@68 { 108aeceecd4SLinus Walleij /* Gyroscope */ 109aeceecd4SLinus Walleij compatible = "st,l3g4200d-gyro"; 110aeceecd4SLinus Walleij reg = <0x68>; 1118668223aSLinus Walleij vdd-supply = <&ab8500_ldo_aux1_reg>; 1128668223aSLinus Walleij vddio-supply = <&db8500_vsmps2_reg>; 1138668223aSLinus Walleij }; 114aeceecd4SLinus Walleij pressure@5c { 115aeceecd4SLinus Walleij /* Barometer/pressure sensor */ 116aeceecd4SLinus Walleij compatible = "st,lps001wp-press"; 117aeceecd4SLinus Walleij reg = <0x5c>; 1188668223aSLinus Walleij vdd-supply = <&ab8500_ldo_aux1_reg>; 1198668223aSLinus Walleij vddio-supply = <&db8500_vsmps2_reg>; 1208668223aSLinus Walleij }; 1218668223aSLinus Walleij }; 1228668223aSLinus Walleij 123fa99edd8SLinus Walleij spi@80111000 { 124fa99edd8SLinus Walleij num-cs = <1>; 125fa99edd8SLinus Walleij cs-gpios = <&gpio6 24 GPIO_ACTIVE_LOW>; 126fa99edd8SLinus Walleij pinctrl-names = "default"; 127fa99edd8SLinus Walleij pinctrl-0 = <&spi2_default_mode>; 128fa99edd8SLinus Walleij status = "okay"; 129fa99edd8SLinus Walleij 130fa99edd8SLinus Walleij touchscreen@0 { 131fa99edd8SLinus Walleij compatible = "cypress,cy8ctma340"; 132fa99edd8SLinus Walleij /* 133fa99edd8SLinus Walleij * Actually the max frequency is 6 MHz, but over 2 MHz the 134fa99edd8SLinus Walleij * data rate needs to be restricted to max 2Mbps which the 135fa99edd8SLinus Walleij * SPI framework cannot handle. 136fa99edd8SLinus Walleij */ 137fa99edd8SLinus Walleij spi-max-frequency = <2000000>; 138fa99edd8SLinus Walleij reg = <0>; 139fa99edd8SLinus Walleij interrupt-parent = <&gpio2>; 140fa99edd8SLinus Walleij interrupts = <20 IRQ_TYPE_EDGE_FALLING>; 141fa99edd8SLinus Walleij vcpin-supply = <&ab8500_ldo_aux1_reg>; 142fa99edd8SLinus Walleij vdd-supply = <&db8500_vsmps2_reg>; 143fa99edd8SLinus Walleij reset-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; 144fa99edd8SLinus Walleij touchscreen-size-x = <480>; 145fa99edd8SLinus Walleij touchscreen-size-y = <854>; 146fa99edd8SLinus Walleij active-interval-ms = <0>; 147fa99edd8SLinus Walleij touch-timeout-ms = <255>; 148fa99edd8SLinus Walleij lowpower-interval-ms = <10>; 149fa99edd8SLinus Walleij bootloader-key = /bits/ 8 <0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07>; 150fa99edd8SLinus Walleij pinctrl-names = "default"; 151fa99edd8SLinus Walleij pinctrl-0 = <&cyttsp_tvk_mode>; 152fa99edd8SLinus Walleij }; 153fa99edd8SLinus Walleij }; 154fa99edd8SLinus Walleij 1558668223aSLinus Walleij mcde@a0350000 { 1568668223aSLinus Walleij status = "okay"; 1578668223aSLinus Walleij 1586cbf13e3SLinus Walleij dsi@a0351000 { 1598668223aSLinus Walleij panel { 1608668223aSLinus Walleij compatible = "sony,acx424akp"; 1618668223aSLinus Walleij reg = <0>; 1628668223aSLinus Walleij vddi-supply = <&ab8500_ldo_aux1_reg>; 1638668223aSLinus Walleij reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>; 1648668223aSLinus Walleij }; 1658668223aSLinus Walleij }; 1668668223aSLinus Walleij }; 167aeceecd4SLinus Walleij 168aeceecd4SLinus Walleij pinctrl { 169396e4dd8SLinus Walleij hall { 170396e4dd8SLinus Walleij hall_tvk_mode: hall_tvk { 171396e4dd8SLinus Walleij tvk_cfg { 172396e4dd8SLinus Walleij pins = "GPIO145_C13"; 173396e4dd8SLinus Walleij ste,config = <&gpio_in_pu>; 174396e4dd8SLinus Walleij }; 175396e4dd8SLinus Walleij }; 176396e4dd8SLinus Walleij }; 177c9334538SLinus Walleij tc35893 { 178c9334538SLinus Walleij /* IRQ from the TC35893 */ 179c9334538SLinus Walleij tc35893_tvk_mode: tc35893_tvk { 180c9334538SLinus Walleij tvk_cfg { 181c9334538SLinus Walleij pins = "GPIO64_F3"; 182c9334538SLinus Walleij ste,config = <&gpio_in_pu>; 183c9334538SLinus Walleij }; 184c9334538SLinus Walleij }; 185c9334538SLinus Walleij }; 186aeceecd4SLinus Walleij accelerometer { 187aeceecd4SLinus Walleij accel_tvk_mode: accel_tvk { 188aeceecd4SLinus Walleij /* Accelerometer interrupt lines 1 & 2 */ 189aeceecd4SLinus Walleij tvk_cfg { 190aeceecd4SLinus Walleij pins = "GPIO82_C1", "GPIO83_D3"; 191aeceecd4SLinus Walleij ste,config = <&gpio_in_pd>; 192aeceecd4SLinus Walleij }; 193aeceecd4SLinus Walleij }; 194aeceecd4SLinus Walleij }; 195aeceecd4SLinus Walleij magnetometer { 196aeceecd4SLinus Walleij magn_tvk_mode: magn_tvk { 197aeceecd4SLinus Walleij /* GPIO 32 used for DRDY, pull this down */ 198aeceecd4SLinus Walleij tvk_cfg { 199aeceecd4SLinus Walleij pins = "GPIO32_V2"; 200aeceecd4SLinus Walleij ste,config = <&gpio_in_pd>; 201aeceecd4SLinus Walleij }; 202aeceecd4SLinus Walleij }; 203aeceecd4SLinus Walleij }; 204fa99edd8SLinus Walleij cyttsp { 205fa99edd8SLinus Walleij cyttsp_tvk_mode: cyttsp_tvk { 206fa99edd8SLinus Walleij /* Touchscreen uses GPIO84 for IRQ */ 207fa99edd8SLinus Walleij tvk_cfg1 { 208fa99edd8SLinus Walleij pins = "GPIO84_C2"; 209fa99edd8SLinus Walleij ste,config = <&gpio_in_pu>; 210fa99edd8SLinus Walleij }; 211fa99edd8SLinus Walleij /* GPIO143 is reset */ 212fa99edd8SLinus Walleij tvk_cfg2 { 213fa99edd8SLinus Walleij pins = "GPIO143_D12"; 214fa99edd8SLinus Walleij ste,config = <&gpio_out_hi>; 215fa99edd8SLinus Walleij }; 216fa99edd8SLinus Walleij }; 217fa99edd8SLinus Walleij }; 218aeceecd4SLinus Walleij }; 2198668223aSLinus Walleij }; 2208668223aSLinus Walleij}; 221