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