Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.13.7.
  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
 12#include <dt-bindings/interrupt-controller/irq.h>
 13
 14/ {
 15	gpio_keys {
 16		compatible = "gpio-keys";
 17		#address-cells = <1>;
 18		#size-cells = <0>;
 19		vdd-supply = <&ab8500_ldo_aux1_reg>;
 20		pinctrl-names = "default";
 21		pinctrl-0 = <&prox_stuib_mode>, <&hall_stuib_mode>;
 22
 23		button@139 {
 24			/* Proximity sensor */
 25			gpios = <&gpio6 25 GPIO_ACTIVE_HIGH>;
 26			linux,code = <11>; /* SW_FRONT_PROXIMITY */
 27			label = "SFH7741 Proximity Sensor";
 28		};
 29		button@145 {
 30			/* Hall sensor */
 31			gpios = <&gpio4 17 GPIO_ACTIVE_HIGH>;
 32			linux,code = <0>; /* SW_LID */
 33			label = "HED54XXU11 Hall Effect Sensor";
 34		};
 35	};
 36
 37	soc {
 38		i2c@80004000 {
 39			stmpe1601: stmpe1601@40 {
 40				compatible = "st,stmpe1601";
 41				reg = <0x40>;
 42				interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
 43				interrupt-parent = <&gpio6>;
 44				interrupt-controller;
 45				vcc-supply = <&db8500_vsmps2_reg>;
 46				vio-supply = <&db8500_vsmps2_reg>;
 47
 48				wakeup-source;
 49				st,autosleep-timeout = <1024>;
 50
 51				stmpe_keypad {
 52					compatible = "st,stmpe-keypad";
 53
 54					debounce-interval = <64>;
 55					st,scan-count = <8>;
 56					st,no-autorepeat;
 57
 58					linux,keymap = <0x205006b
 59							0x4010074
 60							0x3050072
 61							0x1030004
 62							0x502006a
 63							0x500000a
 64							0x5008b
 65							0x706001c
 66							0x405000b
 67							0x6070003
 68							0x3040067
 69							0x303006c
 70							0x60400e7
 71							0x602009e
 72							0x4020073
 73							0x5050002
 74							0x4030069
 75							0x3020008>;
 76				};
 77			};
 78		};
 79
 80		/* Sensors mounted on this board variant */
 81		i2c@80128000 {
 82			lis331dl@1c {
 83				/* Accelerometer */
 84				compatible = "st,lis331dl-accel";
 85				st,drdy-int-pin = <1>;
 86				reg = <0x1c>;
 87				vdd-supply = <&ab8500_ldo_aux1_reg>;
 88				vddio-supply = <&db8500_vsmps2_reg>;
 89				pinctrl-names = "default";
 90				pinctrl-0 = <&accel_stuib_mode>;
 91				interrupt-parent = <&gpio2>;
 92				interrupts = <18 IRQ_TYPE_EDGE_RISING>,
 93					     <19 IRQ_TYPE_EDGE_RISING>;
 94			};
 95			ak8974@f {
 96				/* Magnetometer */
 97				compatible = "asahi-kasei,ak8974";
 98				reg = <0x0f>;
 99				vdd-supply = <&ab8500_ldo_aux1_reg>;
100				vddio-supply = <&db8500_vsmps2_reg>;
101				pinctrl-names = "default";
102				pinctrl-0 = <&magneto_stuib_mode>;
103				interrupt-parent = <&gpio1>;
104				interrupts = <0 IRQ_TYPE_EDGE_RISING>;
105			};
106		};
107
108		i2c@80110000 {
109			bu21013_tp@5c {
110				compatible = "rohm,bu21013_tp";
111				reg = <0x5c>;
112				avdd-supply = <&ab8500_ldo_aux1_reg>;
113
114				rohm,touch-max-x = <384>;
115				rohm,touch-max-y = <704>;
116				rohm,flip-y;
117				pinctrl-names = "default";
118				pinctrl-0 = <&touch_rohm_mode>;
119			};
120
121			bu21013_tp@5d {
122				compatible = "rohm,bu21013_tp";
123				reg = <0x5d>;
124				avdd-supply = <&ab8500_ldo_aux1_reg>;
125
126				rohm,touch-max-x = <384>;
127				rohm,touch-max-y = <704>;
128				rohm,flip-y;
129				pinctrl-names = "default";
130				pinctrl-0 = <&touch_rohm_mode>;
131			};
132		};
133
134		pinctrl {
135			prox {
136				prox_stuib_mode: prox_stuib {
137					stuib_cfg {
138						pins = "GPIO217_AH12";
139						ste,config = <&gpio_in_pu>;
140					};
141				};
142			};
143			hall {
144				hall_stuib_mode: stuib_tvk {
145					stuib_cfg {
146						pins = "GPIO145_C13";
147						ste,config = <&gpio_in_pu>;
148					};
149				};
150			};
151			accelerometer {
152				accel_stuib_mode: accel_stuib {
153					/* Accelerometer interrupt lines 1 & 2 */
154					stuib_cfg {
155						pins = "GPIO82_C1", "GPIO83_D3";
156						ste,config = <&gpio_in_pu>;
157					};
158				};
159			};
160			magnetometer {
161				magneto_stuib_mode: magneto_stuib {
162					/* Magnetometer uses GPIO 31 and 32, pull these up/down respectively */
163					stuib_cfg1 {
164						pins = "GPIO31_V3";
165						ste,config = <&gpio_in_pu>;
166					};
167					stuib_cfg2 {
168						pins = "GPIO32_V2";
169						ste,config = <&gpio_in_pd>;
170					};
171				};
172			};
173			touch {
174				touch_rohm_mode: touch_rohm {
175					/*
176					 * ROHM touch screen uses GPIO 143 for
177					 * RST1, GPIO 146 for RST2 and
178					 * GPIO 67 for interrupts. Pull-up
179					 * the IRQ line and drive both
180					 * reset signals low.
181					 */
182					stuib_cfg1 {
183						pins = "GPIO143_D12", "GPIO146_D13";
184						ste,config = <&gpio_out_lo>;
185					};
186					stuib_cfg2 {
187						pins = "GPIO67_G2";
188						ste,config = <&gpio_in_pu>;
189					};
190				};
191			};
192		};
193	};
194};