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