Merge tag 'for-5.13-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave...
[linux-2.6-microblaze.git] / arch / arm / boot / dts / ste-href-tvk1281618-r3.dtsi
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3  * Device Tree for the TVK1281618 R3 user interface board (UIB)
4  * also known as the "CYTTSP board"
5  */
6
7 #include <dt-bindings/interrupt-controller/irq.h>
8 #include <dt-bindings/input/input.h>
9
10 / {
11         gpio_keys {
12                 compatible = "gpio-keys";
13                 #address-cells = <1>;
14                 #size-cells = <0>;
15                 vdd-supply = <&ab8500_ldo_aux1_reg>;
16                 pinctrl-names = "default";
17                 pinctrl-0 = <&hall_tvk_mode>;
18
19                 button@145 {
20                         /* Hall sensor */
21                         gpios = <&gpio4 17 GPIO_ACTIVE_HIGH>;
22                         linux,code = <0>; /* SW_LID */
23                         label = "HED54XXU11 Hall Effect Sensor";
24                 };
25         };
26
27         soc {
28                 i2c@80004000 {
29                         tc35893@44 {
30                                 compatible = "toshiba,tc35893";
31                                 reg = <0x44>;
32                                 interrupt-parent = <&gpio2>;
33                                 interrupts = <0 IRQ_TYPE_EDGE_RISING>;
34                                 pinctrl-names = "default";
35                                 pinctrl-0 = <&tc35893_tvk_mode>;
36
37                                 interrupt-controller;
38                                 #interrupt-cells = <1>;
39                                 status = "disabled";
40
41                                 tc3589x_gpio {
42                                         compatible = "toshiba,tc3589x-gpio";
43                                         interrupts = <0>;
44
45                                         interrupt-controller;
46                                         #interrupt-cells = <2>;
47                                         gpio-controller;
48                                         #gpio-cells = <2>;
49                                 };
50                                 tc3589x_keypad {
51                                         compatible = "toshiba,tc3589x-keypad";
52                                         interrupts = <6>;
53                                         debounce-delay-ms = <4>;
54                                         keypad,num-columns = <8>;
55                                         keypad,num-rows = <8>;
56                                         linux,no-autorepeat;
57                                         wakeup-source;
58                                         linux,keymap = <MATRIX_KEY(3, 1, KEY_END)>,
59                                                        <MATRIX_KEY(4, 1, KEY_HOME)>,
60                                                        <MATRIX_KEY(6, 4, KEY_VOLUMEDOWN)>,
61                                                        <MATRIX_KEY(4, 2, KEY_EMAIL)>,
62                                                        <MATRIX_KEY(3, 3, KEY_RIGHT)>,
63                                                        <MATRIX_KEY(2, 5, KEY_BACKSPACE)>,
64                                                        <MATRIX_KEY(6, 7, KEY_MENU)>,
65                                                        <MATRIX_KEY(5, 0, KEY_ENTER)>,
66                                                        <MATRIX_KEY(4, 3, KEY_0)>,
67                                                        <MATRIX_KEY(3, 4, KEY_DOT)>,
68                                                        <MATRIX_KEY(5, 2, KEY_UP)>,
69                                                        <MATRIX_KEY(3, 5, KEY_DOWN)>,
70                                                        <MATRIX_KEY(4, 5, KEY_SEND)>,
71                                                        <MATRIX_KEY(0, 5, KEY_BACK)>,
72                                                        <MATRIX_KEY(6, 2, KEY_VOLUMEUP)>,
73                                                        <MATRIX_KEY(1, 3, KEY_SPACE)>,
74                                                        <MATRIX_KEY(7, 6, KEY_LEFT)>,
75                                                        <MATRIX_KEY(5, 5, KEY_SEARCH)>;
76                                 };
77                         };
78                 };
79
80                 i2c@80128000 {
81                         accelerometer@19 {
82                                 compatible = "st,lsm303dlhc-accel";
83                                 st,drdy-int-pin = <1>;
84                                 reg = <0x19>;
85                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
86                                 vddio-supply = <&db8500_vsmps2_reg>;
87                                 interrupt-parent = <&gpio2>;
88                                 interrupts = <18 IRQ_TYPE_EDGE_RISING>,
89                                              <19 IRQ_TYPE_EDGE_RISING>;
90                                 pinctrl-names = "default";
91                                 pinctrl-0 = <&accel_tvk_mode>;
92                         };
93                         magnetometer@1e {
94                                 compatible = "st,lsm303dlm-magn";
95                                 st,drdy-int-pin = <1>;
96                                 reg = <0x1e>;
97                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
98                                 vddio-supply = <&db8500_vsmps2_reg>;
99                                 // This interrupt is not properly working with the driver
100                                 // interrupt-parent = <&gpio1>;
101                                 // interrupts = <0 IRQ_TYPE_EDGE_RISING>;
102                                 pinctrl-names = "default";
103                                 pinctrl-0 = <&magn_tvk_mode>;
104                         };
105                         gyroscope@68 {
106                                 /* Gyroscope */
107                                 compatible = "st,l3g4200d-gyro";
108                                 reg = <0x68>;
109                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
110                                 vddio-supply = <&db8500_vsmps2_reg>;
111                         };
112                         pressure@5c {
113                                 /* Barometer/pressure sensor */
114                                 compatible = "st,lps001wp-press";
115                                 reg = <0x5c>;
116                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
117                                 vddio-supply = <&db8500_vsmps2_reg>;
118                         };
119                 };
120
121                 spi@80111000 {
122                         num-cs = <1>;
123                         cs-gpios = <&gpio6 24 GPIO_ACTIVE_LOW>;
124                         pinctrl-names = "default";
125                         pinctrl-0 = <&spi2_default_mode>;
126                         status = "okay";
127
128                         touchscreen@0 {
129                                 compatible = "cypress,cy8ctma340";
130                                 /*
131                                  * Actually the max frequency is 6 MHz, but over 2 MHz the
132                                  * data rate needs to be restricted to max 2Mbps which the
133                                  * SPI framework cannot handle.
134                                  */
135                                 spi-max-frequency = <2000000>;
136                                 reg = <0>;
137                                 interrupt-parent = <&gpio2>;
138                                 interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
139                                 vcpin-supply = <&ab8500_ldo_aux1_reg>;
140                                 vdd-supply = <&db8500_vsmps2_reg>;
141                                 reset-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;
142                                 touchscreen-size-x = <480>;
143                                 touchscreen-size-y = <854>;
144                                 active-interval-ms = <0>;
145                                 touch-timeout-ms = <255>;
146                                 lowpower-interval-ms = <10>;
147                                 bootloader-key = /bits/ 8 <0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07>;
148                                 pinctrl-names = "default";
149                                 pinctrl-0 = <&cyttsp_tvk_mode>;
150                         };
151                 };
152
153                 mcde@a0350000 {
154                         status = "okay";
155
156                         dsi@a0351000 {
157                                 panel {
158                                         compatible = "sony,acx424akp";
159                                         reg = <0>;
160                                         vddi-supply = <&ab8500_ldo_aux1_reg>;
161                                         reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
162                                 };
163                         };
164                 };
165
166                 pinctrl {
167                         hall {
168                                 hall_tvk_mode: hall_tvk {
169                                         tvk_cfg {
170                                                 pins = "GPIO145_C13";
171                                                 ste,config = <&gpio_in_pu>;
172                                         };
173                                 };
174                         };
175                         tc35893 {
176                                 /* IRQ from the TC35893 */
177                                 tc35893_tvk_mode: tc35893_tvk {
178                                         tvk_cfg {
179                                                 pins = "GPIO64_F3";
180                                                 ste,config = <&gpio_in_pu>;
181                                         };
182                                 };
183                         };
184                         accelerometer {
185                                 accel_tvk_mode: accel_tvk {
186                                         /* Accelerometer interrupt lines 1 & 2 */
187                                         tvk_cfg {
188                                                 pins = "GPIO82_C1", "GPIO83_D3";
189                                                 ste,config = <&gpio_in_pd>;
190                                         };
191                                 };
192                         };
193                         magnetometer {
194                                 magn_tvk_mode: magn_tvk {
195                                         /* GPIO 32 used for DRDY, pull this down */
196                                         tvk_cfg {
197                                                 pins = "GPIO32_V2";
198                                                 ste,config = <&gpio_in_pd>;
199                                         };
200                                 };
201                         };
202                         cyttsp {
203                                 cyttsp_tvk_mode: cyttsp_tvk {
204                                         /* Touchscreen uses GPIO84 for IRQ */
205                                         tvk_cfg1 {
206                                                 pins = "GPIO84_C2";
207                                                 ste,config = <&gpio_in_pu>;
208                                         };
209                                         /* GPIO143 is reset */
210                                         tvk_cfg2 {
211                                                 pins = "GPIO143_D12";
212                                                 ste,config = <&gpio_out_hi>;
213                                         };
214                                 };
215                         };
216                 };
217         };
218 };