0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /*
0003 * Device Tree for the TVK1281618 R3 user interface board (UIB)
0004 * also known as the "CYTTSP board"
0005 */
0006
0007 #include <dt-bindings/interrupt-controller/irq.h>
0008 #include <dt-bindings/input/input.h>
0009
0010 / {
0011 gpio_keys {
0012 compatible = "gpio-keys";
0013 #address-cells = <1>;
0014 #size-cells = <0>;
0015 vdd-supply = <&ab8500_ldo_aux1_reg>;
0016 pinctrl-names = "default";
0017 pinctrl-0 = <&hall_tvk_mode>;
0018
0019 button@145 {
0020 /* Hall sensor */
0021 gpios = <&gpio4 17 GPIO_ACTIVE_HIGH>;
0022 linux,code = <0>; /* SW_LID */
0023 label = "HED54XXU11 Hall Effect Sensor";
0024 };
0025 };
0026
0027 soc {
0028 i2c@80004000 {
0029 tc35893@44 {
0030 compatible = "toshiba,tc35893";
0031 reg = <0x44>;
0032 interrupt-parent = <&gpio2>;
0033 interrupts = <0 IRQ_TYPE_EDGE_RISING>;
0034 pinctrl-names = "default";
0035 pinctrl-0 = <&tc35893_tvk_mode>;
0036
0037 interrupt-controller;
0038 #interrupt-cells = <1>;
0039 status = "disabled";
0040
0041 tc3589x_gpio {
0042 compatible = "toshiba,tc3589x-gpio";
0043 interrupts = <0>;
0044
0045 interrupt-controller;
0046 #interrupt-cells = <2>;
0047 gpio-controller;
0048 #gpio-cells = <2>;
0049 };
0050 tc3589x_keypad {
0051 compatible = "toshiba,tc3589x-keypad";
0052 interrupts = <6>;
0053 debounce-delay-ms = <4>;
0054 keypad,num-columns = <8>;
0055 keypad,num-rows = <8>;
0056 linux,no-autorepeat;
0057 wakeup-source;
0058 linux,keymap = <MATRIX_KEY(3, 1, KEY_END)>,
0059 <MATRIX_KEY(4, 1, KEY_HOME)>,
0060 <MATRIX_KEY(6, 4, KEY_VOLUMEDOWN)>,
0061 <MATRIX_KEY(4, 2, KEY_EMAIL)>,
0062 <MATRIX_KEY(3, 3, KEY_RIGHT)>,
0063 <MATRIX_KEY(2, 5, KEY_BACKSPACE)>,
0064 <MATRIX_KEY(6, 7, KEY_MENU)>,
0065 <MATRIX_KEY(5, 0, KEY_ENTER)>,
0066 <MATRIX_KEY(4, 3, KEY_0)>,
0067 <MATRIX_KEY(3, 4, KEY_DOT)>,
0068 <MATRIX_KEY(5, 2, KEY_UP)>,
0069 <MATRIX_KEY(3, 5, KEY_DOWN)>,
0070 <MATRIX_KEY(4, 5, KEY_SEND)>,
0071 <MATRIX_KEY(0, 5, KEY_BACK)>,
0072 <MATRIX_KEY(6, 2, KEY_VOLUMEUP)>,
0073 <MATRIX_KEY(1, 3, KEY_SPACE)>,
0074 <MATRIX_KEY(7, 6, KEY_LEFT)>,
0075 <MATRIX_KEY(5, 5, KEY_SEARCH)>;
0076 };
0077 };
0078 };
0079
0080 i2c@80128000 {
0081 accelerometer@19 {
0082 compatible = "st,lsm303dlhc-accel";
0083 st,drdy-int-pin = <1>;
0084 reg = <0x19>;
0085 vdd-supply = <&ab8500_ldo_aux1_reg>;
0086 vddio-supply = <&db8500_vsmps2_reg>;
0087 interrupt-parent = <&gpio2>;
0088 interrupts = <18 IRQ_TYPE_EDGE_RISING>,
0089 <19 IRQ_TYPE_EDGE_RISING>;
0090 pinctrl-names = "default";
0091 pinctrl-0 = <&accel_tvk_mode>;
0092 mount-matrix = "0", "-1", "0",
0093 "-1", "0", "0",
0094 "0", "0", "-1";
0095 };
0096 magnetometer@1e {
0097 compatible = "st,lsm303dlm-magn";
0098 reg = <0x1e>;
0099 vdd-supply = <&ab8500_ldo_aux1_reg>;
0100 vddio-supply = <&db8500_vsmps2_reg>;
0101 // This interrupt is not properly working with the driver
0102 // interrupt-parent = <&gpio1>;
0103 // interrupts = <0 IRQ_TYPE_EDGE_RISING>;
0104 pinctrl-names = "default";
0105 pinctrl-0 = <&magn_tvk_mode>;
0106 };
0107 gyroscope@68 {
0108 /* Gyroscope */
0109 compatible = "st,l3g4200d-gyro";
0110 reg = <0x68>;
0111 vdd-supply = <&ab8500_ldo_aux1_reg>;
0112 vddio-supply = <&db8500_vsmps2_reg>;
0113 };
0114 pressure@5c {
0115 /* Barometer/pressure sensor */
0116 compatible = "st,lps001wp-press";
0117 reg = <0x5c>;
0118 vdd-supply = <&ab8500_ldo_aux1_reg>;
0119 vddio-supply = <&db8500_vsmps2_reg>;
0120 };
0121 };
0122
0123 spi@80111000 {
0124 num-cs = <1>;
0125 cs-gpios = <&gpio6 24 GPIO_ACTIVE_LOW>;
0126 pinctrl-names = "default";
0127 pinctrl-0 = <&spi2_default_mode>;
0128 status = "okay";
0129
0130 touchscreen@0 {
0131 compatible = "cypress,cy8ctma340";
0132 /*
0133 * Actually the max frequency is 6 MHz, but over 2 MHz the
0134 * data rate needs to be restricted to max 2Mbps which the
0135 * SPI framework cannot handle.
0136 */
0137 spi-max-frequency = <2000000>;
0138 reg = <0>;
0139 interrupt-parent = <&gpio2>;
0140 interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
0141 vcpin-supply = <&ab8500_ldo_aux1_reg>;
0142 vdd-supply = <&db8500_vsmps2_reg>;
0143 reset-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;
0144 touchscreen-size-x = <480>;
0145 touchscreen-size-y = <854>;
0146 active-interval-ms = <0>;
0147 touch-timeout-ms = <255>;
0148 lowpower-interval-ms = <10>;
0149 bootloader-key = /bits/ 8 <0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07>;
0150 pinctrl-names = "default";
0151 pinctrl-0 = <&cyttsp_tvk_mode>;
0152 };
0153 };
0154
0155 mcde@a0350000 {
0156 status = "okay";
0157
0158 dsi@a0351000 {
0159 panel {
0160 compatible = "sony,acx424akp";
0161 reg = <0>;
0162 vddi-supply = <&ab8500_ldo_aux1_reg>;
0163 reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
0164 };
0165 };
0166 };
0167
0168 pinctrl {
0169 hall {
0170 hall_tvk_mode: hall_tvk {
0171 tvk_cfg {
0172 pins = "GPIO145_C13";
0173 ste,config = <&gpio_in_pu>;
0174 };
0175 };
0176 };
0177 tc35893 {
0178 /* IRQ from the TC35893 */
0179 tc35893_tvk_mode: tc35893_tvk {
0180 tvk_cfg {
0181 pins = "GPIO64_F3";
0182 ste,config = <&gpio_in_pu>;
0183 };
0184 };
0185 };
0186 accelerometer {
0187 accel_tvk_mode: accel_tvk {
0188 /* Accelerometer interrupt lines 1 & 2 */
0189 tvk_cfg {
0190 pins = "GPIO82_C1", "GPIO83_D3";
0191 ste,config = <&gpio_in_pd>;
0192 };
0193 };
0194 };
0195 magnetometer {
0196 magn_tvk_mode: magn_tvk {
0197 /* GPIO 32 used for DRDY, pull this down */
0198 tvk_cfg {
0199 pins = "GPIO32_V2";
0200 ste,config = <&gpio_in_pd>;
0201 };
0202 };
0203 };
0204 cyttsp {
0205 cyttsp_tvk_mode: cyttsp_tvk {
0206 /* Touchscreen uses GPIO84 for IRQ */
0207 tvk_cfg1 {
0208 pins = "GPIO84_C2";
0209 ste,config = <&gpio_in_pu>;
0210 };
0211 /* GPIO143 is reset */
0212 tvk_cfg2 {
0213 pins = "GPIO143_D12";
0214 ste,config = <&gpio_out_hi>;
0215 };
0216 };
0217 };
0218 };
0219 };
0220 };