Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.2.
  1// SPDX-License-Identifier: GPL-2.0-or-later
  2/*
  3 * Copyright 2012 ST-Ericsson AB
  4 *
  5 * Device Tree for the TVK1281618 family of UIBs
  6 */
  7
  8#include <dt-bindings/interrupt-controller/irq.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 = <&prox_tvk_mode>, <&hall_tvk_mode>;
 18
 19		button@139 {
 20			/* Proximity sensor */
 21			gpios = <&gpio6 25 GPIO_ACTIVE_HIGH>;
 22			linux,code = <11>; /* SW_FRONT_PROXIMITY */
 23			label = "SFH7741 Proximity Sensor";
 24		};
 25		button@145 {
 26			/* Hall sensor */
 27			gpios = <&gpio4 17 GPIO_ACTIVE_HIGH>;
 28			linux,code = <0>; /* SW_LID */
 29			label = "HED54XXU11 Hall Effect Sensor";
 30		};
 31	};
 32
 33	soc {
 34		i2c@80004000 {
 35			tc35893@44 {
 36				compatible = "toshiba,tc35893";
 37				reg = <0x44>;
 38				interrupt-parent = <&gpio6>;
 39				interrupts = <26 IRQ_TYPE_EDGE_RISING>;
 40				pinctrl-names = "default";
 41				pinctrl-0 = <&tc35893_tvk_mode>;
 42
 43				interrupt-controller;
 44				#interrupt-cells = <1>;
 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 = <0x0301006b
 64						        0x04010066
 65							0x06040072
 66							0x040200d7
 67							0x0303006a
 68							0x0205000e
 69							0x0607008b
 70							0x0500001c
 71							0x0403000b
 72							0x03040034
 73							0x05020067
 74							0x0305006c
 75							0x040500e7
 76							0x0005009e
 77							0x06020073
 78							0x01030039
 79							0x07060069
 80							0x050500d9>;
 81				};
 82			};
 83		};
 84		/* Sensors mounted on all board variants */
 85		i2c@80128000 {
 86			ak8974@f {
 87				/* Magnetometer */
 88				compatible = "asahi-kasei,ak8974";
 89				reg = <0x0f>;
 90				avdd-supply = <&ab8500_ldo_aux1_reg>;
 91				dvdd-supply = <&db8500_vsmps2_reg>;
 92				pinctrl-names = "default";
 93				pinctrl-0 = <&gyro_magn_tvk_mode>;
 94				/*
 95				 * These interrupts cannot be used: the other component
 96				 * ST-Micro L3D4200D gyro that is connected to the same lines
 97				 * cannot set its DRDY line to open drain, so it cannot be
 98				 * shared with other peripherals. The should be defined for
 99				 * the falling edge if they could be wired together.
100				 *
101				 * interrupts-extended =
102				 * <&gpio1 0 IRQ_TYPE_EDGE_FALLING>,
103				 * <&gpio0 31 IRQ_TYPE_EDGE_FALLING>;
104				 */
105			};
106			l3g4200d@68 {
107				/* Gyroscope */
108				compatible = "st,l3g4200d-gyro";
109				st,drdy-int-pin = <2>;
110				reg = <0x68>;
111				vdd-supply = <&ab8500_ldo_aux1_reg>;
112				vddio-supply = <&db8500_vsmps2_reg>;
113				pinctrl-names = "default";
114				pinctrl-0 = <&gyro_magn_tvk_mode>;
115				interrupts-extended =
116				<&gpio1 0 IRQ_TYPE_EDGE_RISING>,
117				<&gpio0 31 IRQ_TYPE_EDGE_RISING>;
118			};
119			lsp001wm@5c {
120				/* Barometer/pressure sensor */
121				compatible = "st,lps001wp-press";
122				reg = <0x5c>;
123				vdd-supply = <&ab8500_ldo_aux1_reg>;
124				vddio-supply = <&db8500_vsmps2_reg>;
125			};
126		};
127
128		i2c@80110000 {
129			synaptics@4b {
130				/* Synaptics RMI4 TM1217 touchscreen */
131				compatible = "syna,rmi4-i2c";
132				#address-cells = <1>;
133				#size-cells = <0>;
134				reg = <0x4b>;
135				vdd-supply = <&ab8500_ldo_aux1_reg>;
136				vddio-supply = <&db8500_vsmps2_reg>;
137				pinctrl-names = "default";
138				pinctrl-0 = <&synaptics_tvk_mode>;
139				interrupt-parent = <&gpio2>;
140				interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
141
142				rmi-f01@1 {
143					reg = <0x1>;
144					syna,nosleep = <1>;
145				};
146				rmi-f11@11 {
147					reg = <0x11>;
148					touchscreen-inverted-x;
149					syna,sensor-type = <1>;
150				};
151			};
152		};
153
154		pinctrl {
155			/* Pull up this GPIO pin */
156			tc35893 {
157				tc35893_tvk_mode: tc35893_tvk {
158					tvk_cfg {
159						pins = "GPIO218_AH11";
160						ste,config = <&gpio_in_pu>;
161					};
162				};
163			};
164			prox {
165				prox_tvk_mode: prox_tvk {
166					tvk_cfg {
167						pins = "GPIO217_AH12";
168						ste,config = <&gpio_in_pu>;
169					};
170				};
171			};
172			hall {
173				hall_tvk_mode: hall_tvk {
174					tvk_cfg {
175						pins = "GPIO145_C13";
176						ste,config = <&gpio_in_pu>;
177					};
178				};
179			};
180			accelerometer {
181				accel_tvk_mode: accel_tvk {
182					/* Accelerometer interrupt lines 1 & 2 */
183					tvk_cfg {
184						pins = "GPIO82_C1", "GPIO83_D3";
185						ste,config = <&gpio_in_pd>;
186					};
187				};
188			};
189			gyroscope {
190				/*
191				 * These lines are shared between Gyroscope l3g400dh
192				 * and AK8974 magnetometer.
193				 */
194				gyro_magn_tvk_mode: gyro_magn_tvk {
195					 /* GPIO 31 used for INT pull down the line */
196					tvk_cfg1 {
197						pins = "GPIO31_V3";
198						ste,config = <&gpio_in_pd>;
199					};
200					/* GPIO 32 used for DRDY, pull this down */
201					tvk_cfg2 {
202						pins = "GPIO32_V2";
203						ste,config = <&gpio_in_pd>;
204					};
205				};
206			};
207			synaptics {
208				synaptics_tvk_mode: synaptics_tvk {
209					/* Touchscreen uses GPIO 84 */
210					tvk_cfg1 {
211						pins = "GPIO84_C2";
212						ste,config = <&gpio_in_pu>;
213					};
214				};
215			};
216		};
217	};
218};