1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Copyright 2012 ST-Ericsson AB 4 */ 5 6#include <dt-bindings/interrupt-controller/irq.h> 7 8/ { 9 gpio_keys { 10 compatible = "gpio-keys"; 11 #address-cells = <1>; 12 #size-cells = <0>; 13 vdd-supply = <&ab8500_ldo_aux1_reg>; 14 pinctrl-names = "default"; 15 pinctrl-0 = <&prox_stuib_mode>, <&hall_stuib_mode>; 16 17 button@139 { 18 /* Proximity sensor */ 19 gpios = <&gpio6 25 GPIO_ACTIVE_HIGH>; 20 linux,code = <11>; /* SW_FRONT_PROXIMITY */ 21 label = "SFH7741 Proximity Sensor"; 22 }; 23 button@145 { 24 /* Hall sensor */ 25 gpios = <&gpio4 17 GPIO_ACTIVE_HIGH>; 26 linux,code = <0>; /* SW_LID */ 27 label = "HED54XXU11 Hall Effect Sensor"; 28 }; 29 }; 30 31 soc { 32 i2c@80004000 { 33 stmpe1601: port-expander@40 { 34 compatible = "st,stmpe1601"; 35 reg = <0x40>; 36 interrupts = <26 IRQ_TYPE_EDGE_FALLING>; 37 interrupt-parent = <&gpio6>; 38 vcc-supply = <&db8500_vsmps2_reg>; 39 vio-supply = <&db8500_vsmps2_reg>; 40 pinctrl-names = "default"; 41 pinctrl-0 = <&stmpe_stuib_mode>; 42 43 wakeup-source; 44 st,autosleep-timeout = <1024>; 45 46 keyboard-controller { 47 compatible = "st,stmpe-keypad"; 48 49 debounce-interval = <64>; 50 st,scan-count = <8>; 51 st,no-autorepeat; 52 53 linux,keymap = <0x205006b 54 0x4010074 55 0x3050072 56 0x1030004 57 0x502006a 58 0x500000a 59 0x5008b 60 0x706001c 61 0x405000b 62 0x6070003 63 0x3040067 64 0x303006c 65 0x60400e7 66 0x602009e 67 0x4020073 68 0x5050002 69 0x4030069 70 0x3020008>; 71 }; 72 }; 73 }; 74 75 /* Sensors mounted on this board variant */ 76 i2c@80128000 { 77 lis331dl@1c { 78 /* Accelerometer */ 79 compatible = "st,lis331dl-accel"; 80 st,drdy-int-pin = <1>; 81 reg = <0x1c>; 82 vdd-supply = <&ab8500_ldo_aux1_reg>; 83 vddio-supply = <&db8500_vsmps2_reg>; 84 pinctrl-names = "default"; 85 pinctrl-0 = <&accel_stuib_mode>; 86 interrupt-parent = <&gpio2>; 87 interrupts = <18 IRQ_TYPE_EDGE_RISING>, 88 <19 IRQ_TYPE_EDGE_RISING>; 89 }; 90 ak8974@f { 91 /* Magnetometer */ 92 compatible = "asahi-kasei,ak8974"; 93 reg = <0x0f>; 94 vdd-supply = <&ab8500_ldo_aux1_reg>; 95 vddio-supply = <&db8500_vsmps2_reg>; 96 pinctrl-names = "default"; 97 pinctrl-0 = <&magneto_stuib_mode>; 98 interrupt-parent = <&gpio1>; 99 interrupts = <0 IRQ_TYPE_EDGE_RISING>; 100 }; 101 }; 102 103 i2c@80110000 { 104 bu21013_tp@5c { 105 compatible = "rohm,bu21013_tp"; 106 reg = <0x5c>; 107 avdd-supply = <&ab8500_ldo_aux1_reg>; 108 109 rohm,touch-max-x = <384>; 110 rohm,touch-max-y = <704>; 111 rohm,flip-y; 112 pinctrl-names = "default"; 113 pinctrl-0 = <&touch_rohm_mode>; 114 }; 115 116 bu21013_tp@5d { 117 compatible = "rohm,bu21013_tp"; 118 reg = <0x5d>; 119 avdd-supply = <&ab8500_ldo_aux1_reg>; 120 121 rohm,touch-max-x = <384>; 122 rohm,touch-max-y = <704>; 123 rohm,flip-y; 124 pinctrl-names = "default"; 125 pinctrl-0 = <&touch_rohm_mode>; 126 }; 127 }; 128 129 pinctrl { 130 /* Pull up this GPIO pin */ 131 stmpe { 132 stmpe_stuib_mode: stmpe_stuib { 133 stuib_cfg { 134 ste,pins = "GPIO218_AH11"; 135 ste,config = <&gpio_in_pu>; 136 }; 137 }; 138 }; 139 prox { 140 prox_stuib_mode: prox_stuib { 141 stuib_cfg { 142 pins = "GPIO217_AH12"; 143 ste,config = <&gpio_in_pu>; 144 }; 145 }; 146 }; 147 hall { 148 hall_stuib_mode: stuib_tvk { 149 stuib_cfg { 150 pins = "GPIO145_C13"; 151 ste,config = <&gpio_in_pu>; 152 }; 153 }; 154 }; 155 accelerometer { 156 accel_stuib_mode: accel_stuib { 157 /* Accelerometer interrupt lines 1 & 2 */ 158 stuib_cfg { 159 pins = "GPIO82_C1", "GPIO83_D3"; 160 ste,config = <&gpio_in_pu>; 161 }; 162 }; 163 }; 164 magnetometer { 165 magneto_stuib_mode: magneto_stuib { 166 /* Magnetometer uses GPIO 31 and 32, pull these up/down respectively */ 167 stuib_cfg1 { 168 pins = "GPIO31_V3"; 169 ste,config = <&gpio_in_pu>; 170 }; 171 stuib_cfg2 { 172 pins = "GPIO32_V2"; 173 ste,config = <&gpio_in_pd>; 174 }; 175 }; 176 }; 177 touch { 178 touch_rohm_mode: touch_rohm { 179 /* 180 * ROHM touch screen uses GPIO 143 for 181 * RST1, GPIO 146 for RST2 and 182 * GPIO 67 for interrupts. Pull-up 183 * the IRQ line and drive both 184 * reset signals low. 185 */ 186 stuib_cfg1 { 187 pins = "GPIO143_D12", "GPIO146_D13"; 188 ste,config = <&gpio_out_lo>; 189 }; 190 stuib_cfg2 { 191 pins = "GPIO67_G2"; 192 ste,config = <&gpio_in_pu>; 193 }; 194 }; 195 }; 196 }; 197 198 mcde@a0350000 { 199 status = "okay"; 200 201 dsi@a0351000 { 202 panel { 203 compatible = "samsung,s6d16d0"; 204 reg = <0>; 205 vdd1-supply = <&ab8500_ldo_aux1_reg>; 206 reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>; 207 }; 208 }; 209 }; 210 }; 211}; 212