0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /*
0003 * Copyright 2012 ST-Ericsson AB
0004 */
0005
0006 #include <dt-bindings/interrupt-controller/irq.h>
0007
0008 / {
0009 gpio_keys {
0010 compatible = "gpio-keys";
0011 #address-cells = <1>;
0012 #size-cells = <0>;
0013 vdd-supply = <&ab8500_ldo_aux1_reg>;
0014 pinctrl-names = "default";
0015 pinctrl-0 = <&prox_stuib_mode>, <&hall_stuib_mode>;
0016
0017 button@139 {
0018 /* Proximity sensor */
0019 gpios = <&gpio6 25 GPIO_ACTIVE_HIGH>;
0020 linux,code = <11>; /* SW_FRONT_PROXIMITY */
0021 label = "SFH7741 Proximity Sensor";
0022 };
0023 button@145 {
0024 /* Hall sensor */
0025 gpios = <&gpio4 17 GPIO_ACTIVE_HIGH>;
0026 linux,code = <0>; /* SW_LID */
0027 label = "HED54XXU11 Hall Effect Sensor";
0028 };
0029 };
0030
0031 soc {
0032 i2c@80004000 {
0033 stmpe1601: stmpe1601@40 {
0034 compatible = "st,stmpe1601";
0035 reg = <0x40>;
0036 interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
0037 interrupt-parent = <&gpio6>;
0038 interrupt-controller;
0039 vcc-supply = <&db8500_vsmps2_reg>;
0040 vio-supply = <&db8500_vsmps2_reg>;
0041 pinctrl-names = "default";
0042 pinctrl-0 = <&stmpe_stuib_mode>;
0043
0044 wakeup-source;
0045 st,autosleep-timeout = <1024>;
0046
0047 stmpe_keypad {
0048 compatible = "st,stmpe-keypad";
0049
0050 debounce-interval = <64>;
0051 st,scan-count = <8>;
0052 st,no-autorepeat;
0053
0054 linux,keymap = <0x205006b
0055 0x4010074
0056 0x3050072
0057 0x1030004
0058 0x502006a
0059 0x500000a
0060 0x5008b
0061 0x706001c
0062 0x405000b
0063 0x6070003
0064 0x3040067
0065 0x303006c
0066 0x60400e7
0067 0x602009e
0068 0x4020073
0069 0x5050002
0070 0x4030069
0071 0x3020008>;
0072 };
0073 };
0074 };
0075
0076 /* Sensors mounted on this board variant */
0077 i2c@80128000 {
0078 lis331dl@1c {
0079 /* Accelerometer */
0080 compatible = "st,lis331dl-accel";
0081 st,drdy-int-pin = <1>;
0082 reg = <0x1c>;
0083 vdd-supply = <&ab8500_ldo_aux1_reg>;
0084 vddio-supply = <&db8500_vsmps2_reg>;
0085 pinctrl-names = "default";
0086 pinctrl-0 = <&accel_stuib_mode>;
0087 interrupt-parent = <&gpio2>;
0088 interrupts = <18 IRQ_TYPE_EDGE_RISING>,
0089 <19 IRQ_TYPE_EDGE_RISING>;
0090 };
0091 ak8974@f {
0092 /* Magnetometer */
0093 compatible = "asahi-kasei,ak8974";
0094 reg = <0x0f>;
0095 vdd-supply = <&ab8500_ldo_aux1_reg>;
0096 vddio-supply = <&db8500_vsmps2_reg>;
0097 pinctrl-names = "default";
0098 pinctrl-0 = <&magneto_stuib_mode>;
0099 interrupt-parent = <&gpio1>;
0100 interrupts = <0 IRQ_TYPE_EDGE_RISING>;
0101 };
0102 };
0103
0104 i2c@80110000 {
0105 bu21013_tp@5c {
0106 compatible = "rohm,bu21013_tp";
0107 reg = <0x5c>;
0108 avdd-supply = <&ab8500_ldo_aux1_reg>;
0109
0110 rohm,touch-max-x = <384>;
0111 rohm,touch-max-y = <704>;
0112 rohm,flip-y;
0113 pinctrl-names = "default";
0114 pinctrl-0 = <&touch_rohm_mode>;
0115 };
0116
0117 bu21013_tp@5d {
0118 compatible = "rohm,bu21013_tp";
0119 reg = <0x5d>;
0120 avdd-supply = <&ab8500_ldo_aux1_reg>;
0121
0122 rohm,touch-max-x = <384>;
0123 rohm,touch-max-y = <704>;
0124 rohm,flip-y;
0125 pinctrl-names = "default";
0126 pinctrl-0 = <&touch_rohm_mode>;
0127 };
0128 };
0129
0130 pinctrl {
0131 /* Pull up this GPIO pin */
0132 stmpe {
0133 stmpe_stuib_mode: stmpe_stuib {
0134 stuib_cfg {
0135 ste,pins = "GPIO218_AH11";
0136 ste,config = <&gpio_in_pu>;
0137 };
0138 };
0139 };
0140 prox {
0141 prox_stuib_mode: prox_stuib {
0142 stuib_cfg {
0143 pins = "GPIO217_AH12";
0144 ste,config = <&gpio_in_pu>;
0145 };
0146 };
0147 };
0148 hall {
0149 hall_stuib_mode: stuib_tvk {
0150 stuib_cfg {
0151 pins = "GPIO145_C13";
0152 ste,config = <&gpio_in_pu>;
0153 };
0154 };
0155 };
0156 accelerometer {
0157 accel_stuib_mode: accel_stuib {
0158 /* Accelerometer interrupt lines 1 & 2 */
0159 stuib_cfg {
0160 pins = "GPIO82_C1", "GPIO83_D3";
0161 ste,config = <&gpio_in_pu>;
0162 };
0163 };
0164 };
0165 magnetometer {
0166 magneto_stuib_mode: magneto_stuib {
0167 /* Magnetometer uses GPIO 31 and 32, pull these up/down respectively */
0168 stuib_cfg1 {
0169 pins = "GPIO31_V3";
0170 ste,config = <&gpio_in_pu>;
0171 };
0172 stuib_cfg2 {
0173 pins = "GPIO32_V2";
0174 ste,config = <&gpio_in_pd>;
0175 };
0176 };
0177 };
0178 touch {
0179 touch_rohm_mode: touch_rohm {
0180 /*
0181 * ROHM touch screen uses GPIO 143 for
0182 * RST1, GPIO 146 for RST2 and
0183 * GPIO 67 for interrupts. Pull-up
0184 * the IRQ line and drive both
0185 * reset signals low.
0186 */
0187 stuib_cfg1 {
0188 pins = "GPIO143_D12", "GPIO146_D13";
0189 ste,config = <&gpio_out_lo>;
0190 };
0191 stuib_cfg2 {
0192 pins = "GPIO67_G2";
0193 ste,config = <&gpio_in_pu>;
0194 };
0195 };
0196 };
0197 };
0198
0199 mcde@a0350000 {
0200 status = "okay";
0201
0202 dsi@a0351000 {
0203 panel {
0204 compatible = "samsung,s6d16d0";
0205 reg = <0>;
0206 vdd1-supply = <&ab8500_ldo_aux1_reg>;
0207 reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
0208 };
0209 };
0210 };
0211 };
0212 };