~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm/boot/dts/st/ste-href-tvk1281618-r2.dtsi

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php