Merge tag 'mstar-dt-5.14' of git://github.com/linux-chenxing/linux into arm/dt
[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                                 mount-matrix = "0", "-1", "0",
93                                                "-1", "0", "0",
94                                                "0", "0", "-1";
95                         };
96                         magnetometer@1e {
97                                 compatible = "st,lsm303dlm-magn";
98                                 reg = <0x1e>;
99                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
100                                 vddio-supply = <&db8500_vsmps2_reg>;
101                                 // This interrupt is not properly working with the driver
102                                 // interrupt-parent = <&gpio1>;
103                                 // interrupts = <0 IRQ_TYPE_EDGE_RISING>;
104                                 pinctrl-names = "default";
105                                 pinctrl-0 = <&magn_tvk_mode>;
106                         };
107                         gyroscope@68 {
108                                 /* Gyroscope */
109                                 compatible = "st,l3g4200d-gyro";
110                                 reg = <0x68>;
111                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
112                                 vddio-supply = <&db8500_vsmps2_reg>;
113                         };
114                         pressure@5c {
115                                 /* Barometer/pressure sensor */
116                                 compatible = "st,lps001wp-press";
117                                 reg = <0x5c>;
118                                 vdd-supply = <&ab8500_ldo_aux1_reg>;
119                                 vddio-supply = <&db8500_vsmps2_reg>;
120                         };
121                 };
122
123                 spi@80111000 {
124                         num-cs = <1>;
125                         cs-gpios = <&gpio6 24 GPIO_ACTIVE_LOW>;
126                         pinctrl-names = "default";
127                         pinctrl-0 = <&spi2_default_mode>;
128                         status = "okay";
129
130                         touchscreen@0 {
131                                 compatible = "cypress,cy8ctma340";
132                                 /*
133                                  * Actually the max frequency is 6 MHz, but over 2 MHz the
134                                  * data rate needs to be restricted to max 2Mbps which the
135                                  * SPI framework cannot handle.
136                                  */
137                                 spi-max-frequency = <2000000>;
138                                 reg = <0>;
139                                 interrupt-parent = <&gpio2>;
140                                 interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
141                                 vcpin-supply = <&ab8500_ldo_aux1_reg>;
142                                 vdd-supply = <&db8500_vsmps2_reg>;
143                                 reset-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;
144                                 touchscreen-size-x = <480>;
145                                 touchscreen-size-y = <854>;
146                                 active-interval-ms = <0>;
147                                 touch-timeout-ms = <255>;
148                                 lowpower-interval-ms = <10>;
149                                 bootloader-key = /bits/ 8 <0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07>;
150                                 pinctrl-names = "default";
151                                 pinctrl-0 = <&cyttsp_tvk_mode>;
152                         };
153                 };
154
155                 mcde@a0350000 {
156                         status = "okay";
157
158                         dsi@a0351000 {
159                                 panel {
160                                         compatible = "sony,acx424akp";
161                                         reg = <0>;
162                                         vddi-supply = <&ab8500_ldo_aux1_reg>;
163                                         reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
164                                 };
165                         };
166                 };
167
168                 pinctrl {
169                         hall {
170                                 hall_tvk_mode: hall_tvk {
171                                         tvk_cfg {
172                                                 pins = "GPIO145_C13";
173                                                 ste,config = <&gpio_in_pu>;
174                                         };
175                                 };
176                         };
177                         tc35893 {
178                                 /* IRQ from the TC35893 */
179                                 tc35893_tvk_mode: tc35893_tvk {
180                                         tvk_cfg {
181                                                 pins = "GPIO64_F3";
182                                                 ste,config = <&gpio_in_pu>;
183                                         };
184                                 };
185                         };
186                         accelerometer {
187                                 accel_tvk_mode: accel_tvk {
188                                         /* Accelerometer interrupt lines 1 & 2 */
189                                         tvk_cfg {
190                                                 pins = "GPIO82_C1", "GPIO83_D3";
191                                                 ste,config = <&gpio_in_pd>;
192                                         };
193                                 };
194                         };
195                         magnetometer {
196                                 magn_tvk_mode: magn_tvk {
197                                         /* GPIO 32 used for DRDY, pull this down */
198                                         tvk_cfg {
199                                                 pins = "GPIO32_V2";
200                                                 ste,config = <&gpio_in_pd>;
201                                         };
202                                 };
203                         };
204                         cyttsp {
205                                 cyttsp_tvk_mode: cyttsp_tvk {
206                                         /* Touchscreen uses GPIO84 for IRQ */
207                                         tvk_cfg1 {
208                                                 pins = "GPIO84_C2";
209                                                 ste,config = <&gpio_in_pu>;
210                                         };
211                                         /* GPIO143 is reset */
212                                         tvk_cfg2 {
213                                                 pins = "GPIO143_D12";
214                                                 ste,config = <&gpio_out_hi>;
215                                         };
216                                 };
217                         };
218                 };
219         };
220 };