Back to home page

OSCL-LXR

 
 

    


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 };