• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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		/* Add Synaptics touch screen, TC35893 keypad etc here */
41		i2c@80004000 {
42			tc35893@44 {
43				compatible = "toshiba,tc35893";
44				reg = <0x44>;
45				interrupt-parent = <&gpio6>;
46				interrupts = <26 IRQ_TYPE_EDGE_RISING>;
47				pinctrl-names = "default";
48				pinctrl-0 = <&tc35893_tvk_mode>;
49
50				interrupt-controller;
51				#interrupt-cells = <1>;
52
53				tc3589x_gpio {
54					compatible = "toshiba,tc3589x-gpio";
55					interrupts = <0>;
56
57					interrupt-controller;
58					#interrupt-cells = <2>;
59					gpio-controller;
60					#gpio-cells = <2>;
61				};
62				tc3589x_keypad {
63					compatible = "toshiba,tc3589x-keypad";
64					interrupts = <6>;
65					debounce-delay-ms = <4>;
66					keypad,num-columns = <8>;
67					keypad,num-rows = <8>;
68					linux,no-autorepeat;
69					linux,wakeup;
70					linux,keymap = <0x0301006b
71						        0x04010066
72							0x06040072
73							0x040200d7
74							0x0303006a
75							0x0205000e
76							0x0607008b
77							0x0500001c
78							0x0403000b
79							0x03040034
80							0x05020067
81							0x0305006c
82							0x040500e7
83							0x0005009e
84							0x06020073
85							0x01030039
86							0x07060069
87							0x050500d9>;
88				};
89			};
90		};
91		/* Sensors mounted on this board variant */
92		i2c@80128000 {
93			lsm303dlh@18 {
94				/* Accelerometer */
95				compatible = "st,lsm303dlh-accel";
96				st,drdy-int-pin = <1>;
97				reg = <0x18>;
98				vdd-supply = <&ab8500_ldo_aux1_reg>;
99				vddio-supply = <&db8500_vsmps2_reg>;
100				pinctrl-names = "default";
101				pinctrl-0 = <&accel_tvk_mode>;
102				interrupt-parent = <&gpio2>;
103				interrupts = <18 IRQ_TYPE_EDGE_RISING>,
104					     <19 IRQ_TYPE_EDGE_RISING>;
105			};
106			lsm303dlh@1e {
107				/* Magnetometer */
108				compatible = "st,lsm303dlh-magn";
109				reg = <0x1e>;
110				vdd-supply = <&ab8500_ldo_aux1_reg>;
111				vddio-supply = <&db8500_vsmps2_reg>;
112				pinctrl-names = "default";
113				pinctrl-0 = <&magneto_tvk_mode>;
114			};
115			l3g4200d@68 {
116				/* Gyroscope */
117				compatible = "st,l3g4200d-gyro";
118				st,drdy-int-pin = <2>;
119				reg = <0x68>;
120				vdd-supply = <&ab8500_ldo_aux1_reg>;
121				vddio-supply = <&db8500_vsmps2_reg>;
122			};
123			lsp001wm@5c {
124				/* Barometer/pressure sensor */
125				compatible = "st,lps001wp-press";
126				reg = <0x5c>;
127				vdd-supply = <&ab8500_ldo_aux1_reg>;
128				vddio-supply = <&db8500_vsmps2_reg>;
129			};
130		};
131		pinctrl {
132			/* Pull up this GPIO pin */
133			tc35893 {
134				tc35893_tvk_mode: tc35893_tvk {
135					tvk_cfg {
136						pins = "GPIO218_AH11";
137						ste,config = <&gpio_in_pu>;
138					};
139				};
140			};
141			prox {
142				prox_tvk_mode: prox_tvk {
143					tvk_cfg {
144						pins = "GPIO217_AH12";
145						ste,config = <&gpio_in_pu>;
146					};
147				};
148			};
149			hall {
150				hall_tvk_mode: hall_tvk {
151					tvk_cfg {
152						pins = "GPIO145_C13";
153						ste,config = <&gpio_in_pu>;
154					};
155				};
156			};
157			accelerometer {
158				accel_tvk_mode: accel_tvk {
159					/* Accelerometer interrupt lines 1 & 2 */
160					tvk_cfg {
161						pins = "GPIO82_C1", "GPIO83_D3";
162						ste,config = <&gpio_in_pu>;
163					};
164				};
165			};
166			magnetometer {
167				magneto_tvk_mode: magneto_tvk {
168					/* Magnetometer uses GPIO 31 and 32, pull these up/down respectively */
169					tvk_cfg1 {
170						pins = "GPIO31_V3";
171						ste,config = <&gpio_in_pu>;
172					};
173					tvk_cfg2 {
174						pins = "GPIO32_V2";
175						ste,config = <&gpio_in_pd>;
176					};
177				};
178			};
179		};
180	};
181};
182