Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.2.
  1/*
  2 * Copyright 2012 ST-Ericsson AB
  3 *
  4 * The code contained herein is licensed under the GNU General Public
  5 * License. You may obtain a copy of the GNU General Public License
  6 * Version 2 or later at the following locations:
  7 *
  8 * http://www.opensource.org/licenses/gpl-license.html
  9 * http://www.gnu.org/copyleft/gpl.html
 10 *
 11 * Device Tree for the TVK1281618 UIB
 12 */
 13
 14#include <dt-bindings/interrupt-controller/irq.h>
 15
 16/ {
 17	gpio_keys {
 18		compatible = "gpio-keys";
 19		#address-cells = <1>;
 20		#size-cells = <0>;
 21		vdd-supply = <&ab8500_ldo_aux1_reg>;
 22		pinctrl-names = "default";
 23		pinctrl-0 = <&prox_tvk_mode>, <&hall_tvk_mode>;
 24
 25		button@139 {
 26			/* Proximity sensor */
 27			gpios = <&gpio6 25 0x4>;
 28			linux,code = <11>; /* SW_FRONT_PROXIMITY */
 29			label = "SFH7741 Proximity Sensor";
 30		};
 31		button@145 {
 32			/* Hall sensor */
 33			gpios = <&gpio4 17 0x4>;
 34			linux,code = <0>; /* SW_LID */
 35			label = "HED54XXU11 Hall Effect Sensor";
 36		};
 37	};
 38
 39	soc {
 40		i2c@80004000 {
 41			tc35893@44 {
 42				compatible = "toshiba,tc35893";
 43				reg = <0x44>;
 44				interrupt-parent = <&gpio6>;
 45				interrupts = <26 IRQ_TYPE_EDGE_RISING>;
 46				pinctrl-names = "default";
 47				pinctrl-0 = <&tc35893_tvk_mode>;
 48
 49				interrupt-controller;
 50				#interrupt-cells = <1>;
 51
 52				tc3589x_gpio {
 53					compatible = "toshiba,tc3589x-gpio";
 54					interrupts = <0>;
 55
 56					interrupt-controller;
 57					#interrupt-cells = <2>;
 58					gpio-controller;
 59					#gpio-cells = <2>;
 60				};
 61				tc3589x_keypad {
 62					compatible = "toshiba,tc3589x-keypad";
 63					interrupts = <6>;
 64					debounce-delay-ms = <4>;
 65					keypad,num-columns = <8>;
 66					keypad,num-rows = <8>;
 67					linux,no-autorepeat;
 68					wakeup-source;
 69					linux,keymap = <0x0301006b
 70						        0x04010066
 71							0x06040072
 72							0x040200d7
 73							0x0303006a
 74							0x0205000e
 75							0x0607008b
 76							0x0500001c
 77							0x0403000b
 78							0x03040034
 79							0x05020067
 80							0x0305006c
 81							0x040500e7
 82							0x0005009e
 83							0x06020073
 84							0x01030039
 85							0x07060069
 86							0x050500d9>;
 87				};
 88			};
 89		};
 90		/* Sensors mounted on this board variant */
 91		i2c@80128000 {
 92			lsm303dlh@18 {
 93				/* Accelerometer */
 94				compatible = "st,lsm303dlh-accel";
 95				st,drdy-int-pin = <1>;
 96				reg = <0x18>;
 97				vdd-supply = <&ab8500_ldo_aux1_reg>;
 98				vddio-supply = <&db8500_vsmps2_reg>;
 99				pinctrl-names = "default";
100				pinctrl-0 = <&accel_tvk_mode>;
101				interrupt-parent = <&gpio2>;
102				interrupts = <18 IRQ_TYPE_EDGE_RISING>,
103					     <19 IRQ_TYPE_EDGE_RISING>;
104			};
105			lsm303dlh@1e {
106				/*
107				 * This magnetometer is packaged with
108				 * the accelerometer, and has a DRDY line,
109				 * however it is not connected on this
110				 * board so it can not generate interrupts.
111				 */
112				compatible = "st,lsm303dlh-magn";
113				reg = <0x1e>;
114				vdd-supply = <&ab8500_ldo_aux1_reg>;
115				vddio-supply = <&db8500_vsmps2_reg>;
116			};
117			lis331dl@1c {
118				/* Accelerometer */
119				compatible = "st,lis331dl-accel";
120				st,drdy-int-pin = <1>;
121				reg = <0x1c>;
122				vdd-supply = <&ab8500_ldo_aux1_reg>;
123				vddio-supply = <&db8500_vsmps2_reg>;
124				pinctrl-names = "default";
125				pinctrl-0 = <&accel_tvk_mode>;
126				interrupt-parent = <&gpio2>;
127				interrupts = <18 IRQ_TYPE_EDGE_RISING>,
128					     <19 IRQ_TYPE_EDGE_RISING>;
129			};
130			ak8974@0f {
131				/* Magnetometer */
132				compatible = "asahi-kasei,ak8974";
133				reg = <0x0f>;
134				vdd-supply = <&ab8500_ldo_aux1_reg>;
135				vddio-supply = <&db8500_vsmps2_reg>;
136				pinctrl-names = "default";
137				pinctrl-0 = <&gyro_magn_tvk_mode>;
138				interrupt-parent = <&gpio1>;
139				interrupts = <0 IRQ_TYPE_EDGE_RISING>;
140			};
141			l3g4200d@68 {
142				/* Gyroscope */
143				compatible = "st,l3g4200d-gyro";
144				st,drdy-int-pin = <2>;
145				reg = <0x68>;
146				vdd-supply = <&ab8500_ldo_aux1_reg>;
147				vddio-supply = <&db8500_vsmps2_reg>;
148				pinctrl-names = "default";
149				pinctrl-0 = <&gyro_magn_tvk_mode>;
150				interrupt-parent = <&gpio1>;
151				interrupts = <0 IRQ_TYPE_EDGE_RISING>;
152			};
153			lsp001wm@5c {
154				/* Barometer/pressure sensor */
155				compatible = "st,lps001wp-press";
156				reg = <0x5c>;
157				vdd-supply = <&ab8500_ldo_aux1_reg>;
158				vddio-supply = <&db8500_vsmps2_reg>;
159			};
160		};
161
162		i2c@80110000 {
163			synaptics@4b {
164				/* Synaptics RMI4 TM1217 touchscreen */
165				compatible = "syna,rmi4-i2c";
166				#address-cells = <1>;
167				#size-cells = <0>;
168				reg = <0x4b>;
169				vdd-supply = <&ab8500_ldo_aux1_reg>;
170				vddio-supply = <&db8500_vsmps2_reg>;
171				pinctrl-names = "default";
172				pinctrl-0 = <&synaptics_tvk_mode>;
173				interrupt-parent = <&gpio2>;
174				interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
175
176				rmi-f01@1 {
177					reg = <0x1>;
178					syna,nosleep = <1>;
179				};
180				rmi-f11@11 {
181					reg = <0x11>;
182					touchscreen-inverted-x;
183					syna,sensor-type = <1>;
184				};
185			};
186		};
187
188		pinctrl {
189			/* Pull up this GPIO pin */
190			tc35893 {
191				tc35893_tvk_mode: tc35893_tvk {
192					tvk_cfg {
193						pins = "GPIO218_AH11";
194						ste,config = <&gpio_in_pu>;
195					};
196				};
197			};
198			prox {
199				prox_tvk_mode: prox_tvk {
200					tvk_cfg {
201						pins = "GPIO217_AH12";
202						ste,config = <&gpio_in_pu>;
203					};
204				};
205			};
206			hall {
207				hall_tvk_mode: hall_tvk {
208					tvk_cfg {
209						pins = "GPIO145_C13";
210						ste,config = <&gpio_in_pu>;
211					};
212				};
213			};
214			accelerometer {
215				accel_tvk_mode: accel_tvk {
216					/* Accelerometer interrupt lines 1 & 2 */
217					tvk_cfg {
218						pins = "GPIO82_C1", "GPIO83_D3";
219						ste,config = <&gpio_in_pd>;
220					};
221				};
222			};
223			gyroscope {
224				/*
225				 * These lines are shared between Gyroscope l3g400dh
226				 * and AK8974 magnetometer.
227				 */
228				gyro_magn_tvk_mode: gyro_magn_tvk {
229					 /* GPIO 31 used for INT pull down the line */
230					tvk_cfg1 {
231						pins = "GPIO31_V3";
232						ste,config = <&gpio_in_pd>;
233					};
234					/* GPIO 32 used for DRDY, pull this down */
235					tvk_cfg2 {
236						pins = "GPIO32_V2";
237						ste,config = <&gpio_in_pd>;
238					};
239				};
240			};
241			synaptics {
242				synaptics_tvk_mode: synaptics_tvk {
243					/* Touchscreen uses GPIO 84 */
244					tvk_cfg1 {
245						pins = "GPIO84_C2";
246						ste,config = <&gpio_in_pu>;
247					};
248				};
249			};
250		};
251	};
252};