xref: /freebsd-src/sys/contrib/device-tree/src/arm/st/ste-ux500-samsung-kyle.dts (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Devicetree for the Samsung Galaxy Amp SGH-I407 also known as Kyle.
4*f126890aSEmmanuel Vadot *
5*f126890aSEmmanuel Vadot * The code also refers to "Kyle AT&T" reflecting that this mobile phone
6*f126890aSEmmanuel Vadot * was customized for the AT&T subsidiary Aio Wireless (All In One) and
7*f126890aSEmmanuel Vadot * offered by the company in 2013.
8*f126890aSEmmanuel Vadot */
9*f126890aSEmmanuel Vadot
10*f126890aSEmmanuel Vadot/dts-v1/;
11*f126890aSEmmanuel Vadot#include "ste-db8500.dtsi"
12*f126890aSEmmanuel Vadot#include "ste-ab8505.dtsi"
13*f126890aSEmmanuel Vadot#include "ste-dbx5x0-pinctrl.dtsi"
14*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
15*f126890aSEmmanuel Vadot#include <dt-bindings/leds/common.h>
16*f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
17*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
18*f126890aSEmmanuel Vadot
19*f126890aSEmmanuel Vadot/ {
20*f126890aSEmmanuel Vadot	model = "Samsung Galaxy Amp (SGH-I407)";
21*f126890aSEmmanuel Vadot	compatible = "samsung,kyle", "st-ericsson,u8500";
22*f126890aSEmmanuel Vadot
23*f126890aSEmmanuel Vadot	chosen {
24*f126890aSEmmanuel Vadot		stdout-path = &serial2;
25*f126890aSEmmanuel Vadot	};
26*f126890aSEmmanuel Vadot
27*f126890aSEmmanuel Vadot	battery: battery {
28*f126890aSEmmanuel Vadot		compatible = "samsung,eb425161la";
29*f126890aSEmmanuel Vadot	};
30*f126890aSEmmanuel Vadot
31*f126890aSEmmanuel Vadot	thermal-zones {
32*f126890aSEmmanuel Vadot		battery-thermal {
33*f126890aSEmmanuel Vadot			/* This zone will be polled by the battery temperature code */
34*f126890aSEmmanuel Vadot			polling-delay = <0>;
35*f126890aSEmmanuel Vadot			polling-delay-passive = <0>;
36*f126890aSEmmanuel Vadot			thermal-sensors = <&bat_therm>;
37*f126890aSEmmanuel Vadot
38*f126890aSEmmanuel Vadot			trips {
39*f126890aSEmmanuel Vadot				battery-crit-hi {
40*f126890aSEmmanuel Vadot					temperature = <70000>;
41*f126890aSEmmanuel Vadot					hysteresis = <2000>;
42*f126890aSEmmanuel Vadot					type = "critical";
43*f126890aSEmmanuel Vadot				};
44*f126890aSEmmanuel Vadot			};
45*f126890aSEmmanuel Vadot		};
46*f126890aSEmmanuel Vadot	};
47*f126890aSEmmanuel Vadot
48*f126890aSEmmanuel Vadot	bat_therm: thermistor {
49*f126890aSEmmanuel Vadot		compatible = "samsung,1404-001221";
50*f126890aSEmmanuel Vadot		io-channels = <&gpadc 0x02>; /* BatTemp */
51*f126890aSEmmanuel Vadot		pullup-uv = <1800000>;
52*f126890aSEmmanuel Vadot		pullup-ohm = <230000>;
53*f126890aSEmmanuel Vadot		pulldown-ohm = <0>;
54*f126890aSEmmanuel Vadot		#thermal-sensor-cells = <0>;
55*f126890aSEmmanuel Vadot	};
56*f126890aSEmmanuel Vadot
57*f126890aSEmmanuel Vadot	/* TI TXS0206 level translator for 2.9 V */
58*f126890aSEmmanuel Vadot	sd_level_translator: regulator-gpio {
59*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
60*f126890aSEmmanuel Vadot
61*f126890aSEmmanuel Vadot		/* GPIO87 EN */
62*f126890aSEmmanuel Vadot		gpios = <&gpio2 23 GPIO_ACTIVE_HIGH>;
63*f126890aSEmmanuel Vadot		enable-active-high;
64*f126890aSEmmanuel Vadot
65*f126890aSEmmanuel Vadot		regulator-name = "sd-level-translator";
66*f126890aSEmmanuel Vadot		regulator-min-microvolt = <2900000>;
67*f126890aSEmmanuel Vadot		regulator-max-microvolt = <2900000>;
68*f126890aSEmmanuel Vadot		regulator-type = "voltage";
69*f126890aSEmmanuel Vadot
70*f126890aSEmmanuel Vadot		startup-delay-us = <200>;
71*f126890aSEmmanuel Vadot
72*f126890aSEmmanuel Vadot		pinctrl-names = "default";
73*f126890aSEmmanuel Vadot		pinctrl-0 = <&sd_level_translator_default>;
74*f126890aSEmmanuel Vadot	};
75*f126890aSEmmanuel Vadot
76*f126890aSEmmanuel Vadot	/* External LDO MIC5366-3.3YMT for eMMC */
77*f126890aSEmmanuel Vadot	ldo_3v3_reg: regulator-gpio-ldo-3v3 {
78*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
79*f126890aSEmmanuel Vadot		regulator-name = "en-3v3-fixed-supply";
80*f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
81*f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
82*f126890aSEmmanuel Vadot		gpio = <&gpio6 31 GPIO_ACTIVE_HIGH>;
83*f126890aSEmmanuel Vadot		startup-delay-us = <5000>;
84*f126890aSEmmanuel Vadot		enable-active-high;
85*f126890aSEmmanuel Vadot		pinctrl-names = "default";
86*f126890aSEmmanuel Vadot		pinctrl-0 = <&emmc_ldo_en_default_mode>;
87*f126890aSEmmanuel Vadot	};
88*f126890aSEmmanuel Vadot
89*f126890aSEmmanuel Vadot	/*
90*f126890aSEmmanuel Vadot	 * External Ricoh RP152L010B-TR LCD LDO regulator for the display.
91*f126890aSEmmanuel Vadot	 * LCD_PWR_EN controls both a 3.0V and 1.8V output.
92*f126890aSEmmanuel Vadot	 */
93*f126890aSEmmanuel Vadot	lcd_3v0_reg: regulator-gpio-lcd-3v0 {
94*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
95*f126890aSEmmanuel Vadot		/* Supplied in turn by VBAT */
96*f126890aSEmmanuel Vadot		regulator-name = "VREG_LCD_3V0";
97*f126890aSEmmanuel Vadot		regulator-min-microvolt = <3000000>;
98*f126890aSEmmanuel Vadot		regulator-max-microvolt = <3000000>;
99*f126890aSEmmanuel Vadot		/* GPIO219 controls this regulator */
100*f126890aSEmmanuel Vadot		gpio = <&gpio6 27 GPIO_ACTIVE_HIGH>;
101*f126890aSEmmanuel Vadot		enable-active-high;
102*f126890aSEmmanuel Vadot		pinctrl-names = "default";
103*f126890aSEmmanuel Vadot		pinctrl-0 = <&lcd_pwr_en_default_mode>;
104*f126890aSEmmanuel Vadot	};
105*f126890aSEmmanuel Vadot	lcd_1v8_reg: regulator-gpio-lcd-1v8 {
106*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
107*f126890aSEmmanuel Vadot		/* Supplied in turn by VBAT */
108*f126890aSEmmanuel Vadot		regulator-name = "VREG_LCD_1V8";
109*f126890aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
110*f126890aSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
111*f126890aSEmmanuel Vadot		/* GPIO219 controls this regulator too */
112*f126890aSEmmanuel Vadot		gpio = <&gpio6 27 GPIO_ACTIVE_HIGH>;
113*f126890aSEmmanuel Vadot		enable-active-high;
114*f126890aSEmmanuel Vadot		pinctrl-names = "default";
115*f126890aSEmmanuel Vadot		pinctrl-0 = <&lcd_pwr_en_default_mode>;
116*f126890aSEmmanuel Vadot	};
117*f126890aSEmmanuel Vadot
118*f126890aSEmmanuel Vadot	wlan_en: regulator-gpio-wlan-en {
119*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
120*f126890aSEmmanuel Vadot		regulator-name = "wl-reg-on";
121*f126890aSEmmanuel Vadot		regulator-min-microvolt = <3000000>;
122*f126890aSEmmanuel Vadot		regulator-max-microvolt = <3000000>;
123*f126890aSEmmanuel Vadot		startup-delay-us = <200000>;
124*f126890aSEmmanuel Vadot		/* GPIO215 WLAN_EN */
125*f126890aSEmmanuel Vadot		gpio = <&gpio6 23 GPIO_ACTIVE_HIGH>;
126*f126890aSEmmanuel Vadot		enable-active-high;
127*f126890aSEmmanuel Vadot		pinctrl-names = "default";
128*f126890aSEmmanuel Vadot		pinctrl-0 = <&wlan_en_default_mode>;
129*f126890aSEmmanuel Vadot	};
130*f126890aSEmmanuel Vadot
131*f126890aSEmmanuel Vadot	vibrator {
132*f126890aSEmmanuel Vadot		compatible = "gpio-vibrator";
133*f126890aSEmmanuel Vadot		enable-gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>;
134*f126890aSEmmanuel Vadot		pinctrl-names = "default";
135*f126890aSEmmanuel Vadot		pinctrl-0 = <&vibrator_default>;
136*f126890aSEmmanuel Vadot	};
137*f126890aSEmmanuel Vadot
138*f126890aSEmmanuel Vadot	gpio-keys {
139*f126890aSEmmanuel Vadot		compatible = "gpio-keys";
140*f126890aSEmmanuel Vadot		pinctrl-names = "default";
141*f126890aSEmmanuel Vadot		pinctrl-0 = <&gpio_keys_default_mode>;
142*f126890aSEmmanuel Vadot
143*f126890aSEmmanuel Vadot		button-home {
144*f126890aSEmmanuel Vadot			linux,code = <KEY_HOME>;
145*f126890aSEmmanuel Vadot			label = "HOME";
146*f126890aSEmmanuel Vadot			/* GPIO91 */
147*f126890aSEmmanuel Vadot			gpios = <&gpio2 27 GPIO_ACTIVE_LOW>;
148*f126890aSEmmanuel Vadot		};
149*f126890aSEmmanuel Vadot		button-volup {
150*f126890aSEmmanuel Vadot			linux,code = <KEY_VOLUMEUP>;
151*f126890aSEmmanuel Vadot			label = "VOL+";
152*f126890aSEmmanuel Vadot			/* GPIO67 */
153*f126890aSEmmanuel Vadot			gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
154*f126890aSEmmanuel Vadot		};
155*f126890aSEmmanuel Vadot		button-voldown {
156*f126890aSEmmanuel Vadot			linux,code = <KEY_VOLUMEDOWN>;
157*f126890aSEmmanuel Vadot			label = "VOL-";
158*f126890aSEmmanuel Vadot			/* GPIO92 */
159*f126890aSEmmanuel Vadot			gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;
160*f126890aSEmmanuel Vadot		};
161*f126890aSEmmanuel Vadot	};
162*f126890aSEmmanuel Vadot
163*f126890aSEmmanuel Vadot	ktd253: backlight {
164*f126890aSEmmanuel Vadot		compatible = "kinetic,ktd253";
165*f126890aSEmmanuel Vadot		/* GPIO 69 */
166*f126890aSEmmanuel Vadot		enable-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
167*f126890aSEmmanuel Vadot		/* Default to 13/32 brightness */
168*f126890aSEmmanuel Vadot		default-brightness = <13>;
169*f126890aSEmmanuel Vadot		pinctrl-names = "default";
170*f126890aSEmmanuel Vadot		pinctrl-0 = <&gpio_backlight_default_mode>;
171*f126890aSEmmanuel Vadot	};
172*f126890aSEmmanuel Vadot
173*f126890aSEmmanuel Vadot	/* Richtek RT8515GQW Flash LED Driver IC */
174*f126890aSEmmanuel Vadot	flash {
175*f126890aSEmmanuel Vadot		compatible = "richtek,rt8515";
176*f126890aSEmmanuel Vadot		/* GPIO 140 */
177*f126890aSEmmanuel Vadot		enf-gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>;
178*f126890aSEmmanuel Vadot		/* GPIO 141 */
179*f126890aSEmmanuel Vadot		ent-gpios = <&gpio4 13 GPIO_ACTIVE_HIGH>;
180*f126890aSEmmanuel Vadot		/*
181*f126890aSEmmanuel Vadot		 * RFS is 16 kOhm and RTS is 100 kOhm giving
182*f126890aSEmmanuel Vadot		 * the flash max current 343mA and torch max
183*f126890aSEmmanuel Vadot		 * current 55 mA.
184*f126890aSEmmanuel Vadot		 */
185*f126890aSEmmanuel Vadot		richtek,rfs-ohms = <16000>;
186*f126890aSEmmanuel Vadot		richtek,rts-ohms = <100000>;
187*f126890aSEmmanuel Vadot		pinctrl-names = "default";
188*f126890aSEmmanuel Vadot		pinctrl-0 = <&gpio_flash_default_mode>;
189*f126890aSEmmanuel Vadot
190*f126890aSEmmanuel Vadot		led {
191*f126890aSEmmanuel Vadot			function = LED_FUNCTION_FLASH;
192*f126890aSEmmanuel Vadot			color = <LED_COLOR_ID_WHITE>;
193*f126890aSEmmanuel Vadot			flash-max-timeout-us = <250000>;
194*f126890aSEmmanuel Vadot			flash-max-microamp = <343750>;
195*f126890aSEmmanuel Vadot			led-max-microamp = <55000>;
196*f126890aSEmmanuel Vadot		};
197*f126890aSEmmanuel Vadot	};
198*f126890aSEmmanuel Vadot
199*f126890aSEmmanuel Vadot	i2c-gpio-0 {
200*f126890aSEmmanuel Vadot		compatible = "i2c-gpio";
201*f126890aSEmmanuel Vadot		sda-gpios = <&gpio4 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
202*f126890aSEmmanuel Vadot		scl-gpios = <&gpio4 15 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
203*f126890aSEmmanuel Vadot		pinctrl-names = "default";
204*f126890aSEmmanuel Vadot		pinctrl-0 = <&i2c_gpio_0_default>;
205*f126890aSEmmanuel Vadot		#address-cells = <1>;
206*f126890aSEmmanuel Vadot		#size-cells = <0>;
207*f126890aSEmmanuel Vadot		/* TODO: this should be used by the NCP6914 Camera power management unit */
208*f126890aSEmmanuel Vadot	};
209*f126890aSEmmanuel Vadot
210*f126890aSEmmanuel Vadot	i2c-gpio-1 {
211*f126890aSEmmanuel Vadot		compatible = "i2c-gpio";
212*f126890aSEmmanuel Vadot		sda-gpios = <&gpio4 24 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
213*f126890aSEmmanuel Vadot		scl-gpios = <&gpio4 23 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
214*f126890aSEmmanuel Vadot		pinctrl-names = "default";
215*f126890aSEmmanuel Vadot		pinctrl-0 = <&i2c_gpio_1_default>;
216*f126890aSEmmanuel Vadot		#address-cells = <1>;
217*f126890aSEmmanuel Vadot		#size-cells = <0>;
218*f126890aSEmmanuel Vadot		magnetometer@c {
219*f126890aSEmmanuel Vadot			compatible = "alps,hscdtd008a";
220*f126890aSEmmanuel Vadot			reg = <0x0c>;
221*f126890aSEmmanuel Vadot			avdd-supply = <&ab8500_ldo_aux1_reg>;
222*f126890aSEmmanuel Vadot			dvdd-supply = <&ab8500_ldo_aux6_reg>;
223*f126890aSEmmanuel Vadot		};
224*f126890aSEmmanuel Vadot	};
225*f126890aSEmmanuel Vadot
226*f126890aSEmmanuel Vadot	soc {
227*f126890aSEmmanuel Vadot		// External Micro SD slot
228*f126890aSEmmanuel Vadot		mmc@80126000 {
229*f126890aSEmmanuel Vadot			arm,primecell-periphid = <0x10480180>;
230*f126890aSEmmanuel Vadot			max-frequency = <100000000>;
231*f126890aSEmmanuel Vadot			bus-width = <4>;
232*f126890aSEmmanuel Vadot			cap-sd-highspeed;
233*f126890aSEmmanuel Vadot			cap-mmc-highspeed;
234*f126890aSEmmanuel Vadot			st,sig-pin-fbclk;
235*f126890aSEmmanuel Vadot			full-pwr-cycle;
236*f126890aSEmmanuel Vadot			vmmc-supply = <&ab8500_ldo_aux3_reg>;
237*f126890aSEmmanuel Vadot			vqmmc-supply = <&sd_level_translator>;
238*f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
239*f126890aSEmmanuel Vadot			pinctrl-0 = <&mc0_a_1_default>;
240*f126890aSEmmanuel Vadot			pinctrl-1 = <&mc0_a_1_sleep>;
241*f126890aSEmmanuel Vadot			cd-gpios = <&gpio6 25 GPIO_ACTIVE_LOW>; // GPIO217
242*f126890aSEmmanuel Vadot			status = "okay";
243*f126890aSEmmanuel Vadot		};
244*f126890aSEmmanuel Vadot
245*f126890aSEmmanuel Vadot		// WLAN SDIO channel
246*f126890aSEmmanuel Vadot		mmc@80118000 {
247*f126890aSEmmanuel Vadot			arm,primecell-periphid = <0x10480180>;
248*f126890aSEmmanuel Vadot			max-frequency = <50000000>;
249*f126890aSEmmanuel Vadot			bus-width = <4>;
250*f126890aSEmmanuel Vadot			non-removable;
251*f126890aSEmmanuel Vadot			cap-sd-highspeed;
252*f126890aSEmmanuel Vadot			vmmc-supply = <&wlan_en>;
253*f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
254*f126890aSEmmanuel Vadot			pinctrl-0 = <&mc1_a_2_default>;
255*f126890aSEmmanuel Vadot			pinctrl-1 = <&mc1_a_2_sleep>;
256*f126890aSEmmanuel Vadot			status = "okay";
257*f126890aSEmmanuel Vadot			#address-cells = <1>;
258*f126890aSEmmanuel Vadot			#size-cells = <0>;
259*f126890aSEmmanuel Vadot
260*f126890aSEmmanuel Vadot			wifi@1 {
261*f126890aSEmmanuel Vadot				compatible = "brcm,bcm4334-fmac", "brcm,bcm4329-fmac";
262*f126890aSEmmanuel Vadot				reg = <1>;
263*f126890aSEmmanuel Vadot				/* GPIO216 WL_HOST_WAKE */
264*f126890aSEmmanuel Vadot				interrupt-parent = <&gpio6>;
265*f126890aSEmmanuel Vadot				interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
266*f126890aSEmmanuel Vadot				interrupt-names = "host-wake";
267*f126890aSEmmanuel Vadot				pinctrl-names = "default";
268*f126890aSEmmanuel Vadot				pinctrl-0 = <&wlan_default_mode>;
269*f126890aSEmmanuel Vadot			};
270*f126890aSEmmanuel Vadot		};
271*f126890aSEmmanuel Vadot
272*f126890aSEmmanuel Vadot		/*
273*f126890aSEmmanuel Vadot		 * eMMC seems to be mostly Samsung KLM4G1YE4C "4YMD1R"
274*f126890aSEmmanuel Vadot		 */
275*f126890aSEmmanuel Vadot		mmc@80005000 {
276*f126890aSEmmanuel Vadot			arm,primecell-periphid = <0x10480180>;
277*f126890aSEmmanuel Vadot		        max-frequency = <100000000>;
278*f126890aSEmmanuel Vadot			bus-width = <8>;
279*f126890aSEmmanuel Vadot			non-removable;
280*f126890aSEmmanuel Vadot			cap-mmc-highspeed;
281*f126890aSEmmanuel Vadot			mmc-ddr-1_8v;
282*f126890aSEmmanuel Vadot			no-sdio;
283*f126890aSEmmanuel Vadot			no-sd;
284*f126890aSEmmanuel Vadot			/* From datasheet page 26 figure 9: 300 ms set-up time for 4GB */
285*f126890aSEmmanuel Vadot			post-power-on-delay-ms = <300>;
286*f126890aSEmmanuel Vadot			vmmc-supply = <&ldo_3v3_reg>;
287*f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
288*f126890aSEmmanuel Vadot			pinctrl-0 = <&mc2_a_1_default>;
289*f126890aSEmmanuel Vadot			pinctrl-1 = <&mc2_a_1_sleep>;
290*f126890aSEmmanuel Vadot
291*f126890aSEmmanuel Vadot			status = "okay";
292*f126890aSEmmanuel Vadot		};
293*f126890aSEmmanuel Vadot
294*f126890aSEmmanuel Vadot		/* GBF (Bluetooth) UART */
295*f126890aSEmmanuel Vadot		serial@80120000 {
296*f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
297*f126890aSEmmanuel Vadot			pinctrl-0 = <&u0_a_1_default>;
298*f126890aSEmmanuel Vadot			pinctrl-1 = <&u0_a_1_sleep>;
299*f126890aSEmmanuel Vadot			status = "okay";
300*f126890aSEmmanuel Vadot
301*f126890aSEmmanuel Vadot			bluetooth {
302*f126890aSEmmanuel Vadot				/* BCM4334B0 actually */
303*f126890aSEmmanuel Vadot				compatible = "brcm,bcm4330-bt";
304*f126890aSEmmanuel Vadot				shutdown-gpios = <&gpio6 30 GPIO_ACTIVE_HIGH>;
305*f126890aSEmmanuel Vadot				device-wakeup-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
306*f126890aSEmmanuel Vadot				host-wakeup-gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>;
307*f126890aSEmmanuel Vadot				pinctrl-names = "default";
308*f126890aSEmmanuel Vadot				pinctrl-0 = <&bluetooth_default_mode>;
309*f126890aSEmmanuel Vadot			};
310*f126890aSEmmanuel Vadot		};
311*f126890aSEmmanuel Vadot
312*f126890aSEmmanuel Vadot		/* GPF UART */
313*f126890aSEmmanuel Vadot		serial@80121000 {
314*f126890aSEmmanuel Vadot			status = "okay";
315*f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
316*f126890aSEmmanuel Vadot			pinctrl-0 = <&u1rxtx_a_1_default &u1ctsrts_a_1_default>;
317*f126890aSEmmanuel Vadot			pinctrl-1 = <&u1rxtx_a_1_sleep &u1ctsrts_a_1_sleep>;
318*f126890aSEmmanuel Vadot
319*f126890aSEmmanuel Vadot			gnss {
320*f126890aSEmmanuel Vadot				/* The CSRG05TA03-ICJE-R is a SirfStarV 5t chip */
321*f126890aSEmmanuel Vadot				compatible = "csr,csrg05ta03-icje-r";
322*f126890aSEmmanuel Vadot				/* GPS_RSTN on GPIO21 */
323*f126890aSEmmanuel Vadot				reset-gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
324*f126890aSEmmanuel Vadot				/* GPS_ON_OFF on GPIO86 */
325*f126890aSEmmanuel Vadot				sirf,onoff-gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>;
326*f126890aSEmmanuel Vadot				/* GPS_1V8 (VSMPS2) */
327*f126890aSEmmanuel Vadot				vcc-supply = <&db8500_vsmps2_reg>;
328*f126890aSEmmanuel Vadot				pinctrl-names = "default";
329*f126890aSEmmanuel Vadot				pinctrl-0 = <&g05ta03_kyle_default>;
330*f126890aSEmmanuel Vadot				/* According to /etc/sirfgps.conf */
331*f126890aSEmmanuel Vadot				current-speed = <460800>;
332*f126890aSEmmanuel Vadot			};
333*f126890aSEmmanuel Vadot		};
334*f126890aSEmmanuel Vadot
335*f126890aSEmmanuel Vadot		/* Debugging console UART connected to AB8505 USB */
336*f126890aSEmmanuel Vadot		serial@80007000 {
337*f126890aSEmmanuel Vadot			status = "okay";
338*f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
339*f126890aSEmmanuel Vadot			pinctrl-0 = <&u2rxtx_c_1_default>;
340*f126890aSEmmanuel Vadot			pinctrl-1 = <&u2rxtx_c_1_sleep>;
341*f126890aSEmmanuel Vadot		};
342*f126890aSEmmanuel Vadot
343*f126890aSEmmanuel Vadot		prcmu@80157000 {
344*f126890aSEmmanuel Vadot			ab8505 {
345*f126890aSEmmanuel Vadot				phy {
346*f126890aSEmmanuel Vadot					pinctrl-names = "default", "sleep";
347*f126890aSEmmanuel Vadot					pinctrl-0 = <&usb_a_1_default>;
348*f126890aSEmmanuel Vadot					pinctrl-1 = <&usb_a_1_sleep>;
349*f126890aSEmmanuel Vadot				};
350*f126890aSEmmanuel Vadot
351*f126890aSEmmanuel Vadot				ab8500_fg {
352*f126890aSEmmanuel Vadot					line-impedance-micro-ohms = <36000>;
353*f126890aSEmmanuel Vadot				};
354*f126890aSEmmanuel Vadot
355*f126890aSEmmanuel Vadot				regulator {
356*f126890aSEmmanuel Vadot					ab8500_ldo_aux1 {
357*f126890aSEmmanuel Vadot						/* Used for VDD for sensors */
358*f126890aSEmmanuel Vadot						regulator-name = "AUX1";
359*f126890aSEmmanuel Vadot						regulator-min-microvolt = <3000000>;
360*f126890aSEmmanuel Vadot						regulator-max-microvolt = <3300000>;
361*f126890aSEmmanuel Vadot					};
362*f126890aSEmmanuel Vadot
363*f126890aSEmmanuel Vadot					ab8500_ldo_aux2 {
364*f126890aSEmmanuel Vadot						/* Supplies the MMS touchscreen only with 3.3V */
365*f126890aSEmmanuel Vadot						regulator-name = "AUX2";
366*f126890aSEmmanuel Vadot						regulator-min-microvolt = <3300000>;
367*f126890aSEmmanuel Vadot						regulator-max-microvolt = <3300000>;
368*f126890aSEmmanuel Vadot					};
369*f126890aSEmmanuel Vadot
370*f126890aSEmmanuel Vadot					ab8500_ldo_aux3 {
371*f126890aSEmmanuel Vadot						/* Used for voltage for external MMC/SD card */
372*f126890aSEmmanuel Vadot						regulator-name = "AUX3";
373*f126890aSEmmanuel Vadot						regulator-min-microvolt = <1100000>;
374*f126890aSEmmanuel Vadot						regulator-max-microvolt = <3300000>;
375*f126890aSEmmanuel Vadot					};
376*f126890aSEmmanuel Vadot
377*f126890aSEmmanuel Vadot					ab8500_ldo_aux4 {
378*f126890aSEmmanuel Vadot						regulator-name = "AUX4";
379*f126890aSEmmanuel Vadot						/* Hammer to 3.3V for the touchscreen */
380*f126890aSEmmanuel Vadot						regulator-min-microvolt = <3300000>;
381*f126890aSEmmanuel Vadot						regulator-max-microvolt = <3300000>;
382*f126890aSEmmanuel Vadot					};
383*f126890aSEmmanuel Vadot
384*f126890aSEmmanuel Vadot					ab8500_ldo_aux5 {
385*f126890aSEmmanuel Vadot						regulator-name = "AUX5";
386*f126890aSEmmanuel Vadot						/* 1.8V for the touchscreen */
387*f126890aSEmmanuel Vadot						regulator-min-microvolt = <1800000>;
388*f126890aSEmmanuel Vadot						regulator-max-microvolt = <1800000>;
389*f126890aSEmmanuel Vadot					};
390*f126890aSEmmanuel Vadot
391*f126890aSEmmanuel Vadot					ab8500_ldo_aux6 {
392*f126890aSEmmanuel Vadot						regulator-name = "AUX6";
393*f126890aSEmmanuel Vadot						/* Used by sensors for 1.8 V in R0.1+ */
394*f126890aSEmmanuel Vadot						regulator-min-microvolt = <1800000>;
395*f126890aSEmmanuel Vadot						regulator-max-microvolt = <1800000>;
396*f126890aSEmmanuel Vadot					};
397*f126890aSEmmanuel Vadot
398*f126890aSEmmanuel Vadot					ab8500_ldo_aux8 {
399*f126890aSEmmanuel Vadot						/* Unused */
400*f126890aSEmmanuel Vadot						regulator-name = "AUX8";
401*f126890aSEmmanuel Vadot					};
402*f126890aSEmmanuel Vadot				};
403*f126890aSEmmanuel Vadot			};
404*f126890aSEmmanuel Vadot		};
405*f126890aSEmmanuel Vadot
406*f126890aSEmmanuel Vadot		/* I2C0 */
407*f126890aSEmmanuel Vadot		i2c@80004000 {
408*f126890aSEmmanuel Vadot			status = "okay";
409*f126890aSEmmanuel Vadot
410*f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
411*f126890aSEmmanuel Vadot			pinctrl-0 = <&i2c0_a_1_default>;
412*f126890aSEmmanuel Vadot			pinctrl-1 = <&i2c0_a_1_sleep>;
413*f126890aSEmmanuel Vadot
414*f126890aSEmmanuel Vadot			proximity@44 {
415*f126890aSEmmanuel Vadot				compatible = "sharp,gp2ap002s00f";
416*f126890aSEmmanuel Vadot				clock-frequency = <400000>;
417*f126890aSEmmanuel Vadot				reg = <0x44>;
418*f126890aSEmmanuel Vadot
419*f126890aSEmmanuel Vadot				interrupt-parent = <&gpio4>;
420*f126890aSEmmanuel Vadot				interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
421*f126890aSEmmanuel Vadot				vdd-supply = <&ab8500_ldo_aux1_reg>;
422*f126890aSEmmanuel Vadot				vio-supply = <&ab8500_ldo_aux6_reg>;
423*f126890aSEmmanuel Vadot				pinctrl-names = "default";
424*f126890aSEmmanuel Vadot				pinctrl-0 = <&gp2ap002_kyle_default>;
425*f126890aSEmmanuel Vadot				sharp,proximity-far-hysteresis = /bits/ 8 <0x2f>;
426*f126890aSEmmanuel Vadot				sharp,proximity-close-hysteresis = /bits/ 8 <0x0f>;
427*f126890aSEmmanuel Vadot			};
428*f126890aSEmmanuel Vadot		};
429*f126890aSEmmanuel Vadot
430*f126890aSEmmanuel Vadot		/* I2C2 */
431*f126890aSEmmanuel Vadot		i2c@80128000 {
432*f126890aSEmmanuel Vadot			status = "okay";
433*f126890aSEmmanuel Vadot
434*f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
435*f126890aSEmmanuel Vadot			pinctrl-0 = <&i2c2_b_2_default>;
436*f126890aSEmmanuel Vadot			pinctrl-1 = <&i2c2_b_2_sleep>;
437*f126890aSEmmanuel Vadot
438*f126890aSEmmanuel Vadot			accel@18 {
439*f126890aSEmmanuel Vadot				compatible = "bosch,bma254";
440*f126890aSEmmanuel Vadot				clock-frequency = <400000>;
441*f126890aSEmmanuel Vadot				reg = <0x18>;
442*f126890aSEmmanuel Vadot
443*f126890aSEmmanuel Vadot				mount-matrix = "-1", "0", "0",
444*f126890aSEmmanuel Vadot					       "0", "-1", "0",
445*f126890aSEmmanuel Vadot					       "0", "0", "-1";
446*f126890aSEmmanuel Vadot				vdd-supply = <&ab8500_ldo_aux1_reg>;
447*f126890aSEmmanuel Vadot				vddio-supply = <&ab8500_ldo_aux6_reg>;
448*f126890aSEmmanuel Vadot			};
449*f126890aSEmmanuel Vadot		};
450*f126890aSEmmanuel Vadot
451*f126890aSEmmanuel Vadot		/* I2C3 */
452*f126890aSEmmanuel Vadot		i2c@80110000 {
453*f126890aSEmmanuel Vadot			status = "okay";
454*f126890aSEmmanuel Vadot
455*f126890aSEmmanuel Vadot			pinctrl-names = "default", "sleep";
456*f126890aSEmmanuel Vadot			pinctrl-0 = <&i2c3_c_2_default>;
457*f126890aSEmmanuel Vadot			pinctrl-1 = <&i2c3_c_2_sleep>;
458*f126890aSEmmanuel Vadot
459*f126890aSEmmanuel Vadot			/* Melfas MMS134S touchscreen */
460*f126890aSEmmanuel Vadot			touchscreen@48 {
461*f126890aSEmmanuel Vadot				compatible = "melfas,mms134s";
462*f126890aSEmmanuel Vadot				reg = <0x48>;
463*f126890aSEmmanuel Vadot				/* GPIO218 for IRQ */
464*f126890aSEmmanuel Vadot				interrupt-parent = <&gpio6>;
465*f126890aSEmmanuel Vadot				interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
466*f126890aSEmmanuel Vadot				/* AVDD is "analog supply", 2.57-3.47 V */
467*f126890aSEmmanuel Vadot				avdd-supply = <&ab8500_ldo_aux2_reg>;
468*f126890aSEmmanuel Vadot				/* VDD is "digital supply" 1.71-3.47V */
469*f126890aSEmmanuel Vadot				vdd-supply = <&ab8500_ldo_aux5_reg>;
470*f126890aSEmmanuel Vadot
471*f126890aSEmmanuel Vadot				touchscreen-size-x = <480>;
472*f126890aSEmmanuel Vadot				touchscreen-size-y = <800>;
473*f126890aSEmmanuel Vadot
474*f126890aSEmmanuel Vadot				pinctrl-names = "default";
475*f126890aSEmmanuel Vadot				pinctrl-0 = <&mms134s_kyle_default>;
476*f126890aSEmmanuel Vadot			};
477*f126890aSEmmanuel Vadot		};
478*f126890aSEmmanuel Vadot
479*f126890aSEmmanuel Vadot		mcde@a0350000 {
480*f126890aSEmmanuel Vadot			status = "okay";
481*f126890aSEmmanuel Vadot			pinctrl-names = "default";
482*f126890aSEmmanuel Vadot			pinctrl-0 = <&dsi_default_mode>;
483*f126890aSEmmanuel Vadot
484*f126890aSEmmanuel Vadot			dsi@a0351000 {
485*f126890aSEmmanuel Vadot				panel {
486*f126890aSEmmanuel Vadot					/*
487*f126890aSEmmanuel Vadot					 * NT35510-based Hydis HVA40WV1
488*f126890aSEmmanuel Vadot					 * Apparently some Kyle models can have a NT35512 fitted
489*f126890aSEmmanuel Vadot					 * here instead. In that case the boot loader needs to
490*f126890aSEmmanuel Vadot					 * modify this compatible.
491*f126890aSEmmanuel Vadot					 */
492*f126890aSEmmanuel Vadot					compatible = "hydis,hva40wv1", "novatek,nt35510";
493*f126890aSEmmanuel Vadot					reg = <0>;
494*f126890aSEmmanuel Vadot					/* v_lcd_3v0 2.3-4.8V */
495*f126890aSEmmanuel Vadot					vdd-supply = <&lcd_3v0_reg>;
496*f126890aSEmmanuel Vadot					/* v_lcd_1v8 1.65-3.3V */
497*f126890aSEmmanuel Vadot					vddi-supply = <&lcd_1v8_reg>;
498*f126890aSEmmanuel Vadot					/* GPIO 139 */
499*f126890aSEmmanuel Vadot					reset-gpios = <&gpio4 11 GPIO_ACTIVE_LOW>;
500*f126890aSEmmanuel Vadot					pinctrl-names = "default";
501*f126890aSEmmanuel Vadot					pinctrl-0 = <&display_default_mode>;
502*f126890aSEmmanuel Vadot					backlight = <&ktd253>;
503*f126890aSEmmanuel Vadot				};
504*f126890aSEmmanuel Vadot			};
505*f126890aSEmmanuel Vadot		};
506*f126890aSEmmanuel Vadot	};
507*f126890aSEmmanuel Vadot};
508*f126890aSEmmanuel Vadot
509*f126890aSEmmanuel Vadot&pinctrl {
510*f126890aSEmmanuel Vadot	/*
511*f126890aSEmmanuel Vadot	 * This extends the MC0_A_1 default config to include
512*f126890aSEmmanuel Vadot	 * the card detect GPIO217 line.
513*f126890aSEmmanuel Vadot	 */
514*f126890aSEmmanuel Vadot	sdi0 {
515*f126890aSEmmanuel Vadot		mc0_a_1_default {
516*f126890aSEmmanuel Vadot			default_cfg1 {
517*f126890aSEmmanuel Vadot				/* GPIO18, 19 & 20 unused so pull down */
518*f126890aSEmmanuel Vadot				ste,config = <&gpio_in_pd>;
519*f126890aSEmmanuel Vadot			};
520*f126890aSEmmanuel Vadot			default_cfg4 {
521*f126890aSEmmanuel Vadot				pins = "GPIO217_AH12"; /* card detect */
522*f126890aSEmmanuel Vadot				ste,config = <&gpio_in_pd>;
523*f126890aSEmmanuel Vadot			};
524*f126890aSEmmanuel Vadot		};
525*f126890aSEmmanuel Vadot	};
526*f126890aSEmmanuel Vadot
527*f126890aSEmmanuel Vadot	mcde {
528*f126890aSEmmanuel Vadot		dsi_default_mode: dsi_default {
529*f126890aSEmmanuel Vadot			default_mux1 {
530*f126890aSEmmanuel Vadot				/* Mux in VSI0 used for DSI TE */
531*f126890aSEmmanuel Vadot				function = "lcd";
532*f126890aSEmmanuel Vadot				groups = "lcdvsi0_a_1"; /* VSI0 for LCD */
533*f126890aSEmmanuel Vadot			};
534*f126890aSEmmanuel Vadot			default_cfg1 {
535*f126890aSEmmanuel Vadot				pins = "GPIO68_E1"; /* VSI0 */
536*f126890aSEmmanuel Vadot				ste,config = <&in_nopull>;
537*f126890aSEmmanuel Vadot			};
538*f126890aSEmmanuel Vadot		};
539*f126890aSEmmanuel Vadot	};
540*f126890aSEmmanuel Vadot
541*f126890aSEmmanuel Vadot	/* Two GPIO lines used by the display */
542*f126890aSEmmanuel Vadot	display {
543*f126890aSEmmanuel Vadot		display_default_mode: display_default {
544*f126890aSEmmanuel Vadot			kyle_cfg1 {
545*f126890aSEmmanuel Vadot				/*
546*f126890aSEmmanuel Vadot				 * OLED DETECT or check_pba, this appears to be high
547*f126890aSEmmanuel Vadot				 * on "PBA" which I guess is "prototype board A".
548*f126890aSEmmanuel Vadot				 */
549*f126890aSEmmanuel Vadot				pins = "GPIO93_B7";
550*f126890aSEmmanuel Vadot				ste,config = <&gpio_in_nopull>;
551*f126890aSEmmanuel Vadot			};
552*f126890aSEmmanuel Vadot			kyle_cfg2 {
553*f126890aSEmmanuel Vadot				pins = "GPIO139_C9";
554*f126890aSEmmanuel Vadot				/*
555*f126890aSEmmanuel Vadot				 * MIPI_DSI0_RESET_N resets the display, leave high
556*f126890aSEmmanuel Vadot				 * (de-asserted) so we only assert reset explicitly
557*f126890aSEmmanuel Vadot				 * from the display driver.
558*f126890aSEmmanuel Vadot				 */
559*f126890aSEmmanuel Vadot				ste,config = <&gpio_out_hi>;
560*f126890aSEmmanuel Vadot			};
561*f126890aSEmmanuel Vadot		};
562*f126890aSEmmanuel Vadot	};
563*f126890aSEmmanuel Vadot
564*f126890aSEmmanuel Vadot	/* GPIO that enables the LDO regulator for the LCD display */
565*f126890aSEmmanuel Vadot	lcd-ldo {
566*f126890aSEmmanuel Vadot		lcd_pwr_en_default_mode: lcd_pwr_en_default {
567*f126890aSEmmanuel Vadot			/* LCD_PWR_EN on GPIO219 */
568*f126890aSEmmanuel Vadot			kyle_cfg1 {
569*f126890aSEmmanuel Vadot				pins = "GPIO219_AG10";
570*f126890aSEmmanuel Vadot				ste,config = <&gpio_out_hi>;
571*f126890aSEmmanuel Vadot			};
572*f126890aSEmmanuel Vadot		};
573*f126890aSEmmanuel Vadot	};
574*f126890aSEmmanuel Vadot
575*f126890aSEmmanuel Vadot	backlight {
576*f126890aSEmmanuel Vadot		gpio_backlight_default_mode: backlight_default {
577*f126890aSEmmanuel Vadot			kyle_cfg1 {
578*f126890aSEmmanuel Vadot				pins = "GPIO69_E2"; /* LCD_BL_CTRL */
579*f126890aSEmmanuel Vadot				ste,config = <&gpio_out_lo>;
580*f126890aSEmmanuel Vadot			};
581*f126890aSEmmanuel Vadot		};
582*f126890aSEmmanuel Vadot	};
583*f126890aSEmmanuel Vadot	flash {
584*f126890aSEmmanuel Vadot		gpio_flash_default_mode: flash_default {
585*f126890aSEmmanuel Vadot			kyle_cfg1 {
586*f126890aSEmmanuel Vadot				pins = "GPIO140_B11", "GPIO141_C12";
587*f126890aSEmmanuel Vadot				ste,config = <&gpio_out_lo>;
588*f126890aSEmmanuel Vadot			};
589*f126890aSEmmanuel Vadot		};
590*f126890aSEmmanuel Vadot	};
591*f126890aSEmmanuel Vadot	/* GPIO that enables the 2.9V SD card level translator */
592*f126890aSEmmanuel Vadot	sd-level-translator {
593*f126890aSEmmanuel Vadot		sd_level_translator_default: sd_level_translator_default {
594*f126890aSEmmanuel Vadot			/* level shifter on GPIO87 */
595*f126890aSEmmanuel Vadot			kyle_cfg1 {
596*f126890aSEmmanuel Vadot				pins = "GPIO87_B3";
597*f126890aSEmmanuel Vadot				ste,config = <&gpio_out_hi>;
598*f126890aSEmmanuel Vadot			};
599*f126890aSEmmanuel Vadot		};
600*f126890aSEmmanuel Vadot	};
601*f126890aSEmmanuel Vadot	/* GPIO that enables the LDO regulator for the eMMC */
602*f126890aSEmmanuel Vadot	emmc-ldo {
603*f126890aSEmmanuel Vadot		emmc_ldo_en_default_mode: emmc_ldo_default {
604*f126890aSEmmanuel Vadot			/* LDO enable on GPIO223 */
605*f126890aSEmmanuel Vadot			kyle_cfg1 {
606*f126890aSEmmanuel Vadot				pins = "GPIO223_AH9";
607*f126890aSEmmanuel Vadot				ste,config = <&gpio_out_hi>;
608*f126890aSEmmanuel Vadot			};
609*f126890aSEmmanuel Vadot		};
610*f126890aSEmmanuel Vadot	};
611*f126890aSEmmanuel Vadot	/* GPIO keys */
612*f126890aSEmmanuel Vadot	gpio-keys {
613*f126890aSEmmanuel Vadot		gpio_keys_default_mode: gpio_keys_default {
614*f126890aSEmmanuel Vadot			kyle_cfg1 {
615*f126890aSEmmanuel Vadot				pins = "GPIO67_G2", /* VOL UP */
616*f126890aSEmmanuel Vadot				       "GPIO91_B6", /* HOME */
617*f126890aSEmmanuel Vadot				       "GPIO92_D6"; /* VOL DOWN */
618*f126890aSEmmanuel Vadot					ste,config = <&gpio_in_pu>;
619*f126890aSEmmanuel Vadot			};
620*f126890aSEmmanuel Vadot		};
621*f126890aSEmmanuel Vadot	};
622*f126890aSEmmanuel Vadot	/* Interrupt line for light/proximity sensor GP2AP002 */
623*f126890aSEmmanuel Vadot	gp2ap002 {
624*f126890aSEmmanuel Vadot		gp2ap002_kyle_default: gp2ap002_kyle {
625*f126890aSEmmanuel Vadot			kyle_cfg1 {
626*f126890aSEmmanuel Vadot				pins = "GPIO146_D13";
627*f126890aSEmmanuel Vadot				ste,config = <&gpio_in_nopull>;
628*f126890aSEmmanuel Vadot			};
629*f126890aSEmmanuel Vadot		};
630*f126890aSEmmanuel Vadot	};
631*f126890aSEmmanuel Vadot	/* GPIO-based I2C bus for NCP6914 */
632*f126890aSEmmanuel Vadot	i2c-gpio-0 {
633*f126890aSEmmanuel Vadot		i2c_gpio_0_default: i2c_gpio_0 {
634*f126890aSEmmanuel Vadot			kyle_cfg1 {
635*f126890aSEmmanuel Vadot				pins = "GPIO143_D12", "GPIO144_B13";
636*f126890aSEmmanuel Vadot				ste,config = <&gpio_in_nopull>;
637*f126890aSEmmanuel Vadot			};
638*f126890aSEmmanuel Vadot		};
639*f126890aSEmmanuel Vadot	};
640*f126890aSEmmanuel Vadot	/* GPIO-based I2C bus for ALPS HSCD compass */
641*f126890aSEmmanuel Vadot	i2c-gpio-1 {
642*f126890aSEmmanuel Vadot		i2c_gpio_1_default: i2c_gpio_1 {
643*f126890aSEmmanuel Vadot			kyle_cfg1 {
644*f126890aSEmmanuel Vadot				pins = "GPIO151_B17", "GPIO152_D16";
645*f126890aSEmmanuel Vadot				ste,config = <&gpio_in_nopull>;
646*f126890aSEmmanuel Vadot			};
647*f126890aSEmmanuel Vadot		};
648*f126890aSEmmanuel Vadot	};
649*f126890aSEmmanuel Vadot	wlan {
650*f126890aSEmmanuel Vadot		wlan_default_mode: wlan_default {
651*f126890aSEmmanuel Vadot			kyle_cfg1 {
652*f126890aSEmmanuel Vadot				pins = "GPIO216_AG12";
653*f126890aSEmmanuel Vadot				ste,config = <&gpio_in_pd>;
654*f126890aSEmmanuel Vadot			};
655*f126890aSEmmanuel Vadot		};
656*f126890aSEmmanuel Vadot		wlan_en_default_mode: wlan_en_default {
657*f126890aSEmmanuel Vadot			kyle_cfg2 {
658*f126890aSEmmanuel Vadot				pins = "GPIO215_AH13";
659*f126890aSEmmanuel Vadot				ste,config = <&gpio_out_lo>;
660*f126890aSEmmanuel Vadot			};
661*f126890aSEmmanuel Vadot		};
662*f126890aSEmmanuel Vadot	};
663*f126890aSEmmanuel Vadot	bluetooth {
664*f126890aSEmmanuel Vadot		bluetooth_default_mode: bluetooth_default {
665*f126890aSEmmanuel Vadot			kyle_cfg1 {
666*f126890aSEmmanuel Vadot				pins = "GPIO199_AH23", "GPIO222_AJ9";
667*f126890aSEmmanuel Vadot				ste,config = <&gpio_out_lo>;
668*f126890aSEmmanuel Vadot			};
669*f126890aSEmmanuel Vadot			kyle_cfg2 {
670*f126890aSEmmanuel Vadot				pins = "GPIO97_D9";
671*f126890aSEmmanuel Vadot				ste,config = <&gpio_in_nopull>;
672*f126890aSEmmanuel Vadot			};
673*f126890aSEmmanuel Vadot		};
674*f126890aSEmmanuel Vadot	};
675*f126890aSEmmanuel Vadot	vibrator {
676*f126890aSEmmanuel Vadot		vibrator_default: vibrator_default {
677*f126890aSEmmanuel Vadot			kyle_cfg1 {
678*f126890aSEmmanuel Vadot				pins = "GPIO195_AG28";	/* MOT_EN */
679*f126890aSEmmanuel Vadot				ste,config = <&gpio_out_lo>;
680*f126890aSEmmanuel Vadot			};
681*f126890aSEmmanuel Vadot		};
682*f126890aSEmmanuel Vadot	};
683*f126890aSEmmanuel Vadot	/* Interrupt line for the Melfas MMS134S touchscreen */
684*f126890aSEmmanuel Vadot	touchscreen {
685*f126890aSEmmanuel Vadot		mms134s_kyle_default: mms134s_kyle {
686*f126890aSEmmanuel Vadot			kyle_cfg1 {
687*f126890aSEmmanuel Vadot				pins = "GPIO218_AH11";
688*f126890aSEmmanuel Vadot				ste,config = <&gpio_in_nopull>;
689*f126890aSEmmanuel Vadot			};
690*f126890aSEmmanuel Vadot		};
691*f126890aSEmmanuel Vadot	};
692*f126890aSEmmanuel Vadot	g05ta03 {
693*f126890aSEmmanuel Vadot		g05ta03_kyle_default: g05ta03 {
694*f126890aSEmmanuel Vadot			/* Reset line, start out de-asserted */
695*f126890aSEmmanuel Vadot			kyle_cfg1 {
696*f126890aSEmmanuel Vadot				pins = "GPIO21_AB3";
697*f126890aSEmmanuel Vadot				ste,config = <&gpio_out_hi>;
698*f126890aSEmmanuel Vadot			};
699*f126890aSEmmanuel Vadot			/* GPS_ON_OFF, start out deasserted (off) */
700*f126890aSEmmanuel Vadot			kyle_cfg2 {
701*f126890aSEmmanuel Vadot				pins = "GPIO86_C6";
702*f126890aSEmmanuel Vadot				ste,config = <&gpio_out_lo>;
703*f126890aSEmmanuel Vadot			};
704*f126890aSEmmanuel Vadot		};
705*f126890aSEmmanuel Vadot	};
706*f126890aSEmmanuel Vadot};
707*f126890aSEmmanuel Vadot
708*f126890aSEmmanuel Vadot&ab8505_gpio {
709*f126890aSEmmanuel Vadot	/* Hog a few default settings */
710*f126890aSEmmanuel Vadot	pinctrl-names = "default";
711*f126890aSEmmanuel Vadot	pinctrl-0 = <&gpio_default>;
712*f126890aSEmmanuel Vadot
713*f126890aSEmmanuel Vadot	gpio {
714*f126890aSEmmanuel Vadot		gpio_default: gpio_default {
715*f126890aSEmmanuel Vadot			kyle_mux {
716*f126890aSEmmanuel Vadot				/* Change unused pins to GPIO mode */
717*f126890aSEmmanuel Vadot				function = "gpio";
718*f126890aSEmmanuel Vadot				groups = "gpio3_a_1",	/* default: SysClkReq4 */
719*f126890aSEmmanuel Vadot					 "gpio14_a_1";	/* default: PWMOut1 */
720*f126890aSEmmanuel Vadot			};
721*f126890aSEmmanuel Vadot			kyle_cfg1 {
722*f126890aSEmmanuel Vadot				pins = "GPIO11_B17", "GPIO13_D17", "GPIO50_L4";
723*f126890aSEmmanuel Vadot				bias-disable;
724*f126890aSEmmanuel Vadot			};
725*f126890aSEmmanuel Vadot		};
726*f126890aSEmmanuel Vadot	};
727*f126890aSEmmanuel Vadot};
728