Merge tag 'amdtee-fixes-for-v5.13' of git://git.linaro.org/people/jens.wiklander...
[linux-2.6-microblaze.git] / arch / arm / boot / dts / ste-href-tvk1281618-r2.dtsi
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                         };
108                         magnetometer@1e {
109                                 /* Magnetometer */
110                                 compatible = "st,lsm303dlh-magn";
111                                 reg = <0x1e>;
112                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
113                                 vddio-supply = <&db8500_vsmps2_reg>;
114                                 /*
115                                  * These interrupts cannot be used: the other component
116                                  * ST-Micro L3D4200D gyro that is connected to the same lines
117                                  * cannot set its DRDY line to open drain, so it cannot be
118                                  * shared with other peripherals. The should be defined for
119                                  * the falling edge if they could be wired together.
120                                  *
121                                  * interrupts-extended =
122                                  * <&gpio1 0 IRQ_TYPE_EDGE_FALLING>,
123                                  * <&gpio2 19 IRQ_TYPE_EDGE_FALLING>;
124                                  */
125                         };
126                         accelerometer@1c {
127                                 /* Accelerometer */
128                                 compatible = "st,lis331dl-accel";
129                                 st,drdy-int-pin = <1>;
130                                 reg = <0x1c>;
131                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
132                                 vddio-supply = <&db8500_vsmps2_reg>;
133                                 pinctrl-names = "default";
134                                 pinctrl-0 = <&accel_tvk_mode>;
135                                 interrupt-parent = <&gpio2>;
136                                 /* INT2 would need to be open drain */
137                                 interrupts = <18 IRQ_TYPE_EDGE_RISING>,
138                                              <19 IRQ_TYPE_EDGE_RISING>;
139                         };
140                         magnetometer@f {
141                                 /* Magnetometer */
142                                 compatible = "asahi-kasei,ak8974";
143                                 reg = <0x0f>;
144                                 avdd-supply = <&ab8500_ldo_aux1_reg>;
145                                 dvdd-supply = <&db8500_vsmps2_reg>;
146                                 pinctrl-names = "default";
147                                 pinctrl-0 = <&gyro_magn_tvk_mode>;
148                                 /*
149                                  * These interrupts cannot be used: the other component
150                                  * ST-Micro L3D4200D gyro that is connected to the same lines
151                                  * cannot set its DRDY line to open drain, so it cannot be
152                                  * shared with other peripherals. The should be defined for
153                                  * the falling edge if they could be wired together.
154                                  *
155                                  * interrupts-extended =
156                                  * <&gpio1 0 IRQ_TYPE_EDGE_FALLING>,
157                                  * <&gpio0 31 IRQ_TYPE_EDGE_FALLING>;
158                                  */
159                         };
160                         gyroscope@68 {
161                                 /* Gyroscope */
162                                 compatible = "st,l3g4200d-gyro";
163                                 st,drdy-int-pin = <2>;
164                                 reg = <0x68>;
165                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
166                                 vddio-supply = <&db8500_vsmps2_reg>;
167                                 pinctrl-names = "default";
168                                 pinctrl-0 = <&gyro_magn_tvk_mode>;
169                                 interrupts-extended =
170                                 <&gpio1 0 IRQ_TYPE_EDGE_RISING>,
171                                 <&gpio0 31 IRQ_TYPE_EDGE_RISING>;
172                         };
173                         pressure@5c {
174                                 /* Barometer/pressure sensor */
175                                 compatible = "st,lps001wp-press";
176                                 reg = <0x5c>;
177                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
178                                 vddio-supply = <&db8500_vsmps2_reg>;
179                         };
180                 };
181                 i2c@80110000 {
182                         synaptics@4b {
183                                 /* Synaptics RMI4 TM1217 touchscreen */
184                                 compatible = "syna,rmi4-i2c";
185                                 #address-cells = <1>;
186                                 #size-cells = <0>;
187                                 reg = <0x4b>;
188                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
189                                 vddio-supply = <&db8500_vsmps2_reg>;
190                                 pinctrl-names = "default";
191                                 pinctrl-0 = <&synaptics_tvk_mode>;
192                                 interrupt-parent = <&gpio2>;
193                                 interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
194
195                                 rmi4-f01@1 {
196                                         reg = <0x1>;
197                                         syna,nosleep = <1>;
198                                 };
199                                 rmi4-f11@11 {
200                                         reg = <0x11>;
201                                         syna,sensor-type = <1>;
202                                         /* This is a landscape display */
203                                         touchscreen-swapped-x-y;
204                                 };
205                         };
206                 };
207                 mcde@a0350000 {
208                         status = "okay";
209
210                         dsi@a0351000 {
211                                 panel {
212                                         compatible = "samsung,s6d16d0";
213                                         reg = <0>;
214                                         vdd1-supply = <&ab8500_ldo_aux1_reg>;
215                                         reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
216                                 };
217                         };
218                 };
219                 pinctrl {
220                         prox {
221                                 prox_tvk_mode: prox_tvk {
222                                         tvk_cfg {
223                                                 pins = "GPIO217_AH12";
224                                                 ste,config = <&gpio_in_pu>;
225                                         };
226                                 };
227                         };
228                         hall {
229                                 hall_tvk_mode: hall_tvk {
230                                         tvk_cfg {
231                                                 pins = "GPIO145_C13";
232                                                 ste,config = <&gpio_in_pu>;
233                                         };
234                                 };
235                         };
236                         tc35893 {
237                                 /* IRQ from the TC35893 */
238                                 tc35893_tvk_mode: tc35893_tvk {
239                                         tvk_cfg {
240                                                 pins = "GPIO218_AH11";
241                                                 ste,config = <&gpio_in_pu>;
242                                         };
243                                 };
244                         };
245                         accelerometer {
246                                 accel_tvk_mode: accel_tvk {
247                                         /* Accelerometer interrupt lines 1 & 2 */
248                                         tvk_cfg {
249                                                 pins = "GPIO82_C1", "GPIO83_D3";
250                                                 ste,config = <&gpio_in_pd>;
251                                         };
252                                 };
253                         };
254                         gyroscope {
255                                 /*
256                                  * These lines are shared between Gyroscope l3g400dh
257                                  * and AK8974 magnetometer.
258                                  */
259                                 gyro_magn_tvk_mode: gyro_magn_tvk {
260                                          /* GPIO 31 used for INT pull down the line */
261                                         tvk_cfg1 {
262                                                 pins = "GPIO31_V3";
263                                                 ste,config = <&gpio_in_pd>;
264                                         };
265                                         /* GPIO 32 used for DRDY, pull this down */
266                                         tvk_cfg2 {
267                                                 pins = "GPIO32_V2";
268                                                 ste,config = <&gpio_in_pd>;
269                                         };
270                                 };
271                         };
272                         synaptics {
273                                 synaptics_tvk_mode: synaptics_tvk {
274                                         /* Touchscreen uses GPIO 84 */
275                                         tvk_cfg1 {
276                                                 pins = "GPIO84_C2";
277                                                 ste,config = <&gpio_in_pu>;
278                                         };
279                                 };
280                         };
281                 };
282         };
283 };