The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/src/arm/ste-href-tvk1281618-r2.dtsi

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 // SPDX-License-Identifier: GPL-2.0-or-later
    2 /*
    3  * Device Tree for the TVK1281618 R2 user interface board (UIB)
    4  */
    5 
    6 #include <dt-bindings/interrupt-controller/irq.h>
    7 #include <dt-bindings/input/input.h>
    8 
    9 / {
   10         gpio_keys {
   11                 compatible = "gpio-keys";
   12                 #address-cells = <1>;
   13                 #size-cells = <0>;
   14                 vdd-supply = <&ab8500_ldo_aux1_reg>;
   15                 pinctrl-names = "default";
   16                 pinctrl-0 = <&prox_tvk_mode>, <&hall_tvk_mode>;
   17 
   18                 button@139 {
   19                         /* Proximity sensor */
   20                         gpios = <&gpio6 25 GPIO_ACTIVE_HIGH>;
   21                         linux,code = <11>; /* SW_FRONT_PROXIMITY */
   22                         label = "SFH7741 Proximity Sensor";
   23                 };
   24                 button@145 {
   25                         /* Hall sensor */
   26                         gpios = <&gpio4 17 GPIO_ACTIVE_HIGH>;
   27                         linux,code = <0>; /* SW_LID */
   28                         label = "HED54XXU11 Hall Effect Sensor";
   29                 };
   30         };
   31 
   32         soc {
   33                 i2c@80004000 {
   34                         tc35893@44 {
   35                                 compatible = "toshiba,tc35893";
   36                                 reg = <0x44>;
   37                                 interrupt-parent = <&gpio6>;
   38                                 interrupts = <26 IRQ_TYPE_EDGE_RISING>;
   39                                 pinctrl-names = "default";
   40                                 pinctrl-0 = <&tc35893_tvk_mode>;
   41 
   42                                 interrupt-controller;
   43                                 #interrupt-cells = <1>;
   44                                 status = "disabled";
   45 
   46                                 tc3589x_gpio {
   47                                         compatible = "toshiba,tc3589x-gpio";
   48                                         interrupts = <0>;
   49 
   50                                         interrupt-controller;
   51                                         #interrupt-cells = <2>;
   52                                         gpio-controller;
   53                                         #gpio-cells = <2>;
   54                                 };
   55                                 tc3589x_keypad {
   56                                         compatible = "toshiba,tc3589x-keypad";
   57                                         interrupts = <6>;
   58                                         debounce-delay-ms = <4>;
   59                                         keypad,num-columns = <8>;
   60                                         keypad,num-rows = <8>;
   61                                         linux,no-autorepeat;
   62                                         wakeup-source;
   63                                         linux,keymap = <MATRIX_KEY(3, 1, KEY_END)>,
   64                                                        <MATRIX_KEY(4, 1, KEY_HOME)>,
   65                                                        <MATRIX_KEY(6, 4, KEY_VOLUMEDOWN)>,
   66                                                        <MATRIX_KEY(4, 2, KEY_EMAIL)>,
   67                                                        <MATRIX_KEY(3, 3, KEY_RIGHT)>,
   68                                                        <MATRIX_KEY(2, 5, KEY_BACKSPACE)>,
   69                                                        <MATRIX_KEY(6, 7, KEY_MENU)>,
   70                                                        <MATRIX_KEY(5, 0, KEY_ENTER)>,
   71                                                        <MATRIX_KEY(4, 3, KEY_0)>,
   72                                                        <MATRIX_KEY(3, 4, KEY_DOT)>,
   73                                                        <MATRIX_KEY(5, 2, KEY_UP)>,
   74                                                        <MATRIX_KEY(3, 5, KEY_DOWN)>,
   75                                                        <MATRIX_KEY(4, 5, KEY_SEND)>,
   76                                                        <MATRIX_KEY(0, 5, KEY_BACK)>,
   77                                                        <MATRIX_KEY(6, 2, KEY_VOLUMEUP)>,
   78                                                        <MATRIX_KEY(1, 3, KEY_SPACE)>,
   79                                                        <MATRIX_KEY(7, 6, KEY_LEFT)>,
   80                                                        <MATRIX_KEY(5, 5, KEY_SEARCH)>;
   81                                 };
   82                         };
   83                 };
   84 
   85                 i2c@80128000 {
   86                         accelerometer@18 {
   87                                 /* Accelerometer */
   88                                 compatible = "st,lsm303dlh-accel";
   89                                 st,drdy-int-pin = <1>;
   90                                 drive-open-drain;
   91                                 reg = <0x18>;
   92                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
   93                                 vddio-supply = <&db8500_vsmps2_reg>;
   94                                 pinctrl-names = "default";
   95                                 pinctrl-0 = <&accel_tvk_mode>;
   96                                 /*
   97                                  * These interrupts cannot be used: the other component
   98                                  * ST-Micro L3D4200D gyro that is connected to the same lines
   99                                  * cannot set its DRDY line to open drain, so it cannot be
  100                                  * shared with other peripherals. The should be defined for
  101                                  * the falling edge if they could be wired together.
  102                                  *
  103                                  * interrupts-extended =
  104                                  * <&gpio1 0 IRQ_TYPE_EDGE_FALLING>,
  105                                  * <&gpio2 19 IRQ_TYPE_EDGE_FALLING>;
  106                                  */
  107                                 mount-matrix = "0", "1", "0",
  108                                                "1", "0", "0",
  109                                                "0", "0", "-1";
  110                         };
  111                         magnetometer@1e {
  112                                 /* Magnetometer */
  113                                 compatible = "st,lsm303dlh-magn";
  114                                 reg = <0x1e>;
  115                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
  116                                 vddio-supply = <&db8500_vsmps2_reg>;
  117                                 /*
  118                                  * These interrupts cannot be used: the other component
  119                                  * ST-Micro L3D4200D gyro that is connected to the same lines
  120                                  * cannot set its DRDY line to open drain, so it cannot be
  121                                  * shared with other peripherals. The should be defined for
  122                                  * the falling edge if they could be wired together.
  123                                  *
  124                                  * interrupts-extended =
  125                                  * <&gpio1 0 IRQ_TYPE_EDGE_FALLING>,
  126                                  * <&gpio2 19 IRQ_TYPE_EDGE_FALLING>;
  127                                  */
  128                         };
  129                         accelerometer@1c {
  130                                 /* Accelerometer */
  131                                 compatible = "st,lis331dl-accel";
  132                                 st,drdy-int-pin = <1>;
  133                                 reg = <0x1c>;
  134                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
  135                                 vddio-supply = <&db8500_vsmps2_reg>;
  136                                 pinctrl-names = "default";
  137                                 pinctrl-0 = <&accel_tvk_mode>;
  138                                 interrupt-parent = <&gpio2>;
  139                                 /* INT2 would need to be open drain */
  140                                 interrupts = <18 IRQ_TYPE_EDGE_RISING>,
  141                                              <19 IRQ_TYPE_EDGE_RISING>;
  142                                 mount-matrix = "0", "-1", "0",
  143                                                "-1", "0", "0",
  144                                                "0", "0", "-1";
  145                         };
  146                         magnetometer@f {
  147                                 /* Magnetometer */
  148                                 compatible = "asahi-kasei,ak8974";
  149                                 reg = <0x0f>;
  150                                 avdd-supply = <&ab8500_ldo_aux1_reg>;
  151                                 dvdd-supply = <&db8500_vsmps2_reg>;
  152                                 pinctrl-names = "default";
  153                                 pinctrl-0 = <&gyro_magn_tvk_mode>;
  154                                 /*
  155                                  * These interrupts cannot be used: the other component
  156                                  * ST-Micro L3D4200D gyro that is connected to the same lines
  157                                  * cannot set its DRDY line to open drain, so it cannot be
  158                                  * shared with other peripherals. The should be defined for
  159                                  * the falling edge if they could be wired together.
  160                                  *
  161                                  * interrupts-extended =
  162                                  * <&gpio1 0 IRQ_TYPE_EDGE_FALLING>,
  163                                  * <&gpio0 31 IRQ_TYPE_EDGE_FALLING>;
  164                                  */
  165                         };
  166                         gyroscope@68 {
  167                                 /* Gyroscope */
  168                                 compatible = "st,l3g4200d-gyro";
  169                                 st,drdy-int-pin = <2>;
  170                                 reg = <0x68>;
  171                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
  172                                 vddio-supply = <&db8500_vsmps2_reg>;
  173                                 pinctrl-names = "default";
  174                                 pinctrl-0 = <&gyro_magn_tvk_mode>;
  175                                 interrupts-extended =
  176                                 <&gpio1 0 IRQ_TYPE_EDGE_RISING>,
  177                                 <&gpio0 31 IRQ_TYPE_EDGE_RISING>;
  178                         };
  179                         pressure@5c {
  180                                 /* Barometer/pressure sensor */
  181                                 compatible = "st,lps001wp-press";
  182                                 reg = <0x5c>;
  183                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
  184                                 vddio-supply = <&db8500_vsmps2_reg>;
  185                         };
  186                 };
  187                 i2c@80110000 {
  188                         synaptics@4b {
  189                                 /* Synaptics RMI4 TM1217 touchscreen */
  190                                 compatible = "syna,rmi4-i2c";
  191                                 #address-cells = <1>;
  192                                 #size-cells = <0>;
  193                                 reg = <0x4b>;
  194                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
  195                                 vddio-supply = <&db8500_vsmps2_reg>;
  196                                 pinctrl-names = "default";
  197                                 pinctrl-0 = <&synaptics_tvk_mode>;
  198                                 interrupt-parent = <&gpio2>;
  199                                 interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
  200 
  201                                 rmi4-f01@1 {
  202                                         reg = <0x1>;
  203                                         syna,nosleep = <1>;
  204                                 };
  205                                 rmi4-f11@11 {
  206                                         reg = <0x11>;
  207                                         syna,sensor-type = <1>;
  208                                         /* This is a landscape display */
  209                                         touchscreen-swapped-x-y;
  210                                 };
  211                         };
  212                 };
  213                 mcde@a0350000 {
  214                         status = "okay";
  215 
  216                         dsi@a0351000 {
  217                                 panel {
  218                                         compatible = "samsung,s6d16d0";
  219                                         reg = <0>;
  220                                         vdd1-supply = <&ab8500_ldo_aux1_reg>;
  221                                         reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
  222                                 };
  223                         };
  224                 };
  225                 pinctrl {
  226                         prox {
  227                                 prox_tvk_mode: prox_tvk {
  228                                         tvk_cfg {
  229                                                 pins = "GPIO217_AH12";
  230                                                 ste,config = <&gpio_in_pu>;
  231                                         };
  232                                 };
  233                         };
  234                         hall {
  235                                 hall_tvk_mode: hall_tvk {
  236                                         tvk_cfg {
  237                                                 pins = "GPIO145_C13";
  238                                                 ste,config = <&gpio_in_pu>;
  239                                         };
  240                                 };
  241                         };
  242                         tc35893 {
  243                                 /* IRQ from the TC35893 */
  244                                 tc35893_tvk_mode: tc35893_tvk {
  245                                         tvk_cfg {
  246                                                 pins = "GPIO218_AH11";
  247                                                 ste,config = <&gpio_in_pu>;
  248                                         };
  249                                 };
  250                         };
  251                         accelerometer {
  252                                 accel_tvk_mode: accel_tvk {
  253                                         /* Accelerometer interrupt lines 1 & 2 */
  254                                         tvk_cfg {
  255                                                 pins = "GPIO82_C1", "GPIO83_D3";
  256                                                 ste,config = <&gpio_in_pd>;
  257                                         };
  258                                 };
  259                         };
  260                         gyroscope {
  261                                 /*
  262                                  * These lines are shared between Gyroscope l3g400dh
  263                                  * and AK8974 magnetometer.
  264                                  */
  265                                 gyro_magn_tvk_mode: gyro_magn_tvk {
  266                                          /* GPIO 31 used for INT pull down the line */
  267                                         tvk_cfg1 {
  268                                                 pins = "GPIO31_V3";
  269                                                 ste,config = <&gpio_in_pd>;
  270                                         };
  271                                         /* GPIO 32 used for DRDY, pull this down */
  272                                         tvk_cfg2 {
  273                                                 pins = "GPIO32_V2";
  274                                                 ste,config = <&gpio_in_pd>;
  275                                         };
  276                                 };
  277                         };
  278                         synaptics {
  279                                 synaptics_tvk_mode: synaptics_tvk {
  280                                         /* Touchscreen uses GPIO 84 */
  281                                         tvk_cfg1 {
  282                                                 pins = "GPIO84_C2";
  283                                                 ste,config = <&gpio_in_pu>;
  284                                         };
  285                                 };
  286                         };
  287                 };
  288         };
  289 };

Cache object: 23c51e5b9d3cd4731d4ba0d94946f518


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.