1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Devicetree for the Samsung Galaxy Beam GT-I8530 also known as Gavini.
4*724ba675SRob Herring */
5*724ba675SRob Herring
6*724ba675SRob Herring/dts-v1/;
7*724ba675SRob Herring#include "ste-db8500.dtsi"
8*724ba675SRob Herring#include "ste-ab8500.dtsi"
9*724ba675SRob Herring#include "ste-dbx5x0-pinctrl.dtsi"
10*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
11*724ba675SRob Herring#include <dt-bindings/leds/common.h>
12*724ba675SRob Herring#include <dt-bindings/input/input.h>
13*724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h>
14*724ba675SRob Herring
15*724ba675SRob Herring/ {
16*724ba675SRob Herring	model = "Samsung Galaxy Beam (GT-I8530)";
17*724ba675SRob Herring	compatible = "samsung,gavini", "st-ericsson,u8500";
18*724ba675SRob Herring
19*724ba675SRob Herring	chosen {
20*724ba675SRob Herring		stdout-path = &serial2;
21*724ba675SRob Herring	};
22*724ba675SRob Herring
23*724ba675SRob Herring	battery: battery {
24*724ba675SRob Herring		compatible = "samsung,eb585157lu";
25*724ba675SRob Herring	};
26*724ba675SRob Herring
27*724ba675SRob Herring	thermal-zones {
28*724ba675SRob Herring		battery-thermal {
29*724ba675SRob Herring			/* This zone will be polled by the battery temperature code */
30*724ba675SRob Herring			polling-delay = <0>;
31*724ba675SRob Herring			polling-delay-passive = <0>;
32*724ba675SRob Herring			thermal-sensors = <&bat_therm>;
33*724ba675SRob Herring
34*724ba675SRob Herring			trips {
35*724ba675SRob Herring				battery-crit-hi {
36*724ba675SRob Herring					temperature = <70000>;
37*724ba675SRob Herring					hysteresis = <2000>;
38*724ba675SRob Herring					type = "critical";
39*724ba675SRob Herring				};
40*724ba675SRob Herring			};
41*724ba675SRob Herring		};
42*724ba675SRob Herring	};
43*724ba675SRob Herring
44*724ba675SRob Herring	bat_therm: thermistor {
45*724ba675SRob Herring		compatible = "samsung,1404-001221";
46*724ba675SRob Herring		io-channels = <&gpadc 0x02>; /* BatTemp */
47*724ba675SRob Herring		pullup-uv = <1800000>;
48*724ba675SRob Herring		pullup-ohm = <230000>;
49*724ba675SRob Herring		pulldown-ohm = <0>;
50*724ba675SRob Herring		#thermal-sensor-cells = <0>;
51*724ba675SRob Herring	};
52*724ba675SRob Herring
53*724ba675SRob Herring	/* TI TXS0206 level translator for 2.9 V */
54*724ba675SRob Herring	sd_level_translator: regulator-gpio {
55*724ba675SRob Herring		compatible = "regulator-fixed";
56*724ba675SRob Herring
57*724ba675SRob Herring		/* GPIO193 EN */
58*724ba675SRob Herring		gpios = <&gpio6 1 GPIO_ACTIVE_HIGH>;
59*724ba675SRob Herring		enable-active-high;
60*724ba675SRob Herring
61*724ba675SRob Herring		regulator-name = "sd-level-translator";
62*724ba675SRob Herring		regulator-min-microvolt = <2900000>;
63*724ba675SRob Herring		regulator-max-microvolt = <2900000>;
64*724ba675SRob Herring		regulator-type = "voltage";
65*724ba675SRob Herring
66*724ba675SRob Herring		startup-delay-us = <200>;
67*724ba675SRob Herring
68*724ba675SRob Herring		pinctrl-names = "default";
69*724ba675SRob Herring		pinctrl-0 = <&sd_level_translator_default>;
70*724ba675SRob Herring	};
71*724ba675SRob Herring
72*724ba675SRob Herring	/* External LDO for eMMC LDO VMEM_3V3 controlled by GPIO6 */
73*724ba675SRob Herring	ldo_3v3_reg: regulator-gpio-ldo-3v3 {
74*724ba675SRob Herring		compatible = "regulator-fixed";
75*724ba675SRob Herring		/* Supplied in turn by VBAT */
76*724ba675SRob Herring		regulator-name = "VMEM_3V3";
77*724ba675SRob Herring		regulator-min-microvolt = <3300000>;
78*724ba675SRob Herring		regulator-max-microvolt = <3300000>;
79*724ba675SRob Herring		gpio = <&gpio0 6 GPIO_ACTIVE_HIGH>;
80*724ba675SRob Herring		startup-delay-us = <5000>; // FIXME
81*724ba675SRob Herring		enable-active-high;
82*724ba675SRob Herring		pinctrl-names = "default";
83*724ba675SRob Herring		pinctrl-0 = <&emmc_ldo_en_default_mode>;
84*724ba675SRob Herring	};
85*724ba675SRob Herring
86*724ba675SRob Herring	/*
87*724ba675SRob Herring	 * External Ricoh "TSP" regulator for the touchscreen.
88*724ba675SRob Herring	 * One GPIO line controls two voltages of 3.3V and 1.8V
89*724ba675SRob Herring	 * this line is known as "TSP_LDO_ON1" in the schematics.
90*724ba675SRob Herring	 */
91*724ba675SRob Herring	ldo_tsp_3v3_reg: regulator-gpio-tsp-ldo-3v3 {
92*724ba675SRob Herring		compatible = "regulator-fixed";
93*724ba675SRob Herring		/* Supplied in turn by VBAT */
94*724ba675SRob Herring		regulator-name = "LDO_TSP_A3V3";
95*724ba675SRob Herring		regulator-min-microvolt = <3300000>;
96*724ba675SRob Herring		regulator-max-microvolt = <3300000>;
97*724ba675SRob Herring		/* GPIO94 controls this regulator */
98*724ba675SRob Herring		gpio = <&gpio2 30 GPIO_ACTIVE_HIGH>;
99*724ba675SRob Herring		/* 70 ms power-on delay */
100*724ba675SRob Herring		startup-delay-us = <70000>;
101*724ba675SRob Herring		enable-active-high;
102*724ba675SRob Herring		pinctrl-names = "default";
103*724ba675SRob Herring		pinctrl-0 = <&tsp_ldo_en_default_mode>;
104*724ba675SRob Herring	};
105*724ba675SRob Herring	ldo_tsp_1v8_reg: regulator-gpio-tsp-ldo-1v8 {
106*724ba675SRob Herring		compatible = "regulator-fixed";
107*724ba675SRob Herring		/* Supplied in turn by VBAT */
108*724ba675SRob Herring		regulator-name = "VREG_TSP_1V8";
109*724ba675SRob Herring		regulator-min-microvolt = <1800000>;
110*724ba675SRob Herring		regulator-max-microvolt = <1800000>;
111*724ba675SRob Herring		/* GPIO94 controls this regulator */
112*724ba675SRob Herring		gpio = <&gpio2 30 GPIO_ACTIVE_HIGH>;
113*724ba675SRob Herring		/* 70 ms power-on delay */
114*724ba675SRob Herring		startup-delay-us = <70000>;
115*724ba675SRob Herring		enable-active-high;
116*724ba675SRob Herring		pinctrl-names = "default";
117*724ba675SRob Herring		pinctrl-0 = <&tsp_ldo_en_default_mode>;
118*724ba675SRob Herring	};
119*724ba675SRob Herring
120*724ba675SRob Herring	/*
121*724ba675SRob Herring	 * External Ricoh RP152L010B-TR LCD LDO regulator for the display.
122*724ba675SRob Herring	 * LCD_PWR_EN controls both a 3.0V and 1.8V output.
123*724ba675SRob Herring	 */
124*724ba675SRob Herring	lcd_3v0_reg: regulator-gpio-lcd-3v0 {
125*724ba675SRob Herring		compatible = "regulator-fixed";
126*724ba675SRob Herring		/* Supplied in turn by VBAT */
127*724ba675SRob Herring		regulator-name = "VREG_LCD_3V0";
128*724ba675SRob Herring		regulator-min-microvolt = <3000000>;
129*724ba675SRob Herring		regulator-max-microvolt = <3000000>;
130*724ba675SRob Herring		/* GPIO219 controls this regulator */
131*724ba675SRob Herring		gpio = <&gpio6 27 GPIO_ACTIVE_HIGH>;
132*724ba675SRob Herring		enable-active-high;
133*724ba675SRob Herring		pinctrl-names = "default";
134*724ba675SRob Herring		pinctrl-0 = <&lcd_pwr_en_default_mode>;
135*724ba675SRob Herring	};
136*724ba675SRob Herring	lcd_1v8_reg: regulator-gpio-lcd-1v8 {
137*724ba675SRob Herring		compatible = "regulator-fixed";
138*724ba675SRob Herring		/* Supplied in turn by VBAT */
139*724ba675SRob Herring		regulator-name = "VREG_LCD_1V8";
140*724ba675SRob Herring		regulator-min-microvolt = <1800000>;
141*724ba675SRob Herring		regulator-max-microvolt = <1800000>;
142*724ba675SRob Herring		/* GPIO219 controls this regulator too */
143*724ba675SRob Herring		gpio = <&gpio6 27 GPIO_ACTIVE_HIGH>;
144*724ba675SRob Herring		enable-active-high;
145*724ba675SRob Herring		pinctrl-names = "default";
146*724ba675SRob Herring		pinctrl-0 = <&lcd_pwr_en_default_mode>;
147*724ba675SRob Herring	};
148*724ba675SRob Herring
149*724ba675SRob Herring	/*
150*724ba675SRob Herring	 * This regulator is a GPIO line that drives the Broadcom WLAN
151*724ba675SRob Herring	 * line WL_REG_ON high and enables the internal regulators
152*724ba675SRob Herring	 * inside the chip. Unfortunatley it is erroneously named
153*724ba675SRob Herring	 * WLAN_RST_N on the schematic but it is not a reset line.
154*724ba675SRob Herring	 *
155*724ba675SRob Herring	 * The voltage specified here is only used to determine the OCR mask,
156*724ba675SRob Herring	 * the for the SDIO connector, the chip is actually connected
157*724ba675SRob Herring	 * directly to VBAT.
158*724ba675SRob Herring	 */
159*724ba675SRob Herring	wl_reg: regulator-gpio-wlan {
160*724ba675SRob Herring		compatible = "regulator-fixed";
161*724ba675SRob Herring		regulator-name = "WL_REG_ON";
162*724ba675SRob Herring		regulator-min-microvolt = <3000000>;
163*724ba675SRob Herring		regulator-max-microvolt = <3000000>;
164*724ba675SRob Herring		startup-delay-us = <100000>;
165*724ba675SRob Herring		/* GPIO215 (WLAN_RST_N to WL_REG_ON) */
166*724ba675SRob Herring		gpio = <&gpio6 23 GPIO_ACTIVE_HIGH>;
167*724ba675SRob Herring		enable-active-high;
168*724ba675SRob Herring		pinctrl-names = "default";
169*724ba675SRob Herring		pinctrl-0 = <&wlan_ldo_en_default>;
170*724ba675SRob Herring	};
171*724ba675SRob Herring
172*724ba675SRob Herring	gpio-keys {
173*724ba675SRob Herring		compatible = "gpio-keys";
174*724ba675SRob Herring		pinctrl-names = "default";
175*724ba675SRob Herring		pinctrl-0 = <&gpio_keys_default_mode>;
176*724ba675SRob Herring
177*724ba675SRob Herring		button-projector {
178*724ba675SRob Herring			linux,code = <KEY_SWITCHVIDEOMODE>;
179*724ba675SRob Herring			label = "Projector";
180*724ba675SRob Herring			/* GPIO32 "Projector On HotKey" */
181*724ba675SRob Herring			gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
182*724ba675SRob Herring		};
183*724ba675SRob Herring		button-home {
184*724ba675SRob Herring			linux,code = <KEY_HOME>;
185*724ba675SRob Herring			label = "HOME";
186*724ba675SRob Herring			/* GPIO91 */
187*724ba675SRob Herring			gpios = <&gpio2 27 GPIO_ACTIVE_LOW>;
188*724ba675SRob Herring		};
189*724ba675SRob Herring		button-volup {
190*724ba675SRob Herring			linux,code = <KEY_VOLUMEUP>;
191*724ba675SRob Herring			label = "VOL+";
192*724ba675SRob Herring			/* GPIO67 */
193*724ba675SRob Herring			gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
194*724ba675SRob Herring		};
195*724ba675SRob Herring		button-voldown {
196*724ba675SRob Herring			linux,code = <KEY_VOLUMEDOWN>;
197*724ba675SRob Herring			label = "VOL-";
198*724ba675SRob Herring			/* GPIO92 */
199*724ba675SRob Herring			gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;
200*724ba675SRob Herring		};
201*724ba675SRob Herring	};
202*724ba675SRob Herring
203*724ba675SRob Herring	/* Richtek RT8515GQW Flash LED Driver IC */
204*724ba675SRob Herring	flash {
205*724ba675SRob Herring		compatible = "richtek,rt8515";
206*724ba675SRob Herring		/* GPIO 140 */
207*724ba675SRob Herring		enf-gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>;
208*724ba675SRob Herring		/* GPIO 141 */
209*724ba675SRob Herring		ent-gpios = <&gpio4 13 GPIO_ACTIVE_HIGH>;
210*724ba675SRob Herring		/*
211*724ba675SRob Herring		 * RFS is 16 kOhm and RTS is 100 kOhm giving
212*724ba675SRob Herring		 * the flash max current 343mA and torch max
213*724ba675SRob Herring		 * current 55 mA.
214*724ba675SRob Herring		 */
215*724ba675SRob Herring		richtek,rfs-ohms = <16000>;
216*724ba675SRob Herring		richtek,rts-ohms = <100000>;
217*724ba675SRob Herring		pinctrl-names = "default";
218*724ba675SRob Herring		pinctrl-0 = <&gpio_flash_default_mode>;
219*724ba675SRob Herring
220*724ba675SRob Herring		led {
221*724ba675SRob Herring			function = LED_FUNCTION_FLASH;
222*724ba675SRob Herring			color = <LED_COLOR_ID_WHITE>;
223*724ba675SRob Herring			flash-max-timeout-us = <250000>;
224*724ba675SRob Herring			flash-max-microamp = <343750>;
225*724ba675SRob Herring			led-max-microamp = <55000>;
226*724ba675SRob Herring		};
227*724ba675SRob Herring	};
228*724ba675SRob Herring
229*724ba675SRob Herring	gpio-leds {
230*724ba675SRob Herring		compatible = "gpio-leds";
231*724ba675SRob Herring		pinctrl-names = "default";
232*724ba675SRob Herring		pinctrl-0 = <&gpio_leds_default_mode>;
233*724ba675SRob Herring		used-led {
234*724ba675SRob Herring			label = "touchkeys";
235*724ba675SRob Herring			/* GPIO68 */
236*724ba675SRob Herring			gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>;
237*724ba675SRob Herring			default-state = "on";
238*724ba675SRob Herring		};
239*724ba675SRob Herring	};
240*724ba675SRob Herring
241*724ba675SRob Herring	ktd259: backlight {
242*724ba675SRob Herring		compatible = "kinetic,ktd259";
243*724ba675SRob Herring		/* GPIO20 */
244*724ba675SRob Herring		enable-gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
245*724ba675SRob Herring		/* Default to 13/32 brightness */
246*724ba675SRob Herring		default-brightness = <13>;
247*724ba675SRob Herring		pinctrl-names = "default";
248*724ba675SRob Herring		pinctrl-0 = <&ktd259_backlight_default_mode>;
249*724ba675SRob Herring	};
250*724ba675SRob Herring
251*724ba675SRob Herring	/* Bit-banged I2C on GPIO143 and GPIO144 also called "SUBPMU I2C" */
252*724ba675SRob Herring	i2c-gpio-0 {
253*724ba675SRob Herring		compatible = "i2c-gpio";
254*724ba675SRob Herring		sda-gpios = <&gpio4 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
255*724ba675SRob Herring		scl-gpios = <&gpio4 15 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
256*724ba675SRob Herring		pinctrl-names = "default";
257*724ba675SRob Herring		pinctrl-0 = <&i2c_gpio_0_default>;
258*724ba675SRob Herring		#address-cells = <1>;
259*724ba675SRob Herring		#size-cells = <0>;
260*724ba675SRob Herring
261*724ba675SRob Herring		/* Yamaha YAS530 magnetometer */
262*724ba675SRob Herring		magnetometer@2e {
263*724ba675SRob Herring			compatible = "yamaha,yas530";
264*724ba675SRob Herring			reg = <0x2e>;
265*724ba675SRob Herring			/* VDD 3V */
266*724ba675SRob Herring			vdd-supply = <&ab8500_ldo_aux1_reg>;
267*724ba675SRob Herring			/* IOVDD 1.8V */
268*724ba675SRob Herring			iovdd-supply = <&ab8500_ldo_aux2_reg>;
269*724ba675SRob Herring			/* GPIO204 COMPASS_RST_N */
270*724ba675SRob Herring			reset-gpios = <&gpio6 12 GPIO_ACTIVE_LOW>;
271*724ba675SRob Herring			pinctrl-names = "default";
272*724ba675SRob Herring			pinctrl-0 = <&yas530_default>;
273*724ba675SRob Herring		};
274*724ba675SRob Herring		/* TODO: this should also be used by the NCP6914 Camera power management unit */
275*724ba675SRob Herring	};
276*724ba675SRob Herring
277*724ba675SRob Herring	/*
278*724ba675SRob Herring	 * TODO: See if we can use the PL023 for this instead.
279*724ba675SRob Herring	 */
280*724ba675SRob Herring	spi {
281*724ba675SRob Herring		compatible = "spi-gpio";
282*724ba675SRob Herring		/* Clock on GPIO220, pin SCL */
283*724ba675SRob Herring		sck-gpios = <&gpio6 28 GPIO_ACTIVE_HIGH>;
284*724ba675SRob Herring		/* MOSI on GPIO224, pin SDI "slave data in" */
285*724ba675SRob Herring		mosi-gpios = <&gpio7 0 GPIO_ACTIVE_HIGH>;
286*724ba675SRob Herring		/* MISO on GPIO225, pin SDO "slave data out" */
287*724ba675SRob Herring		miso-gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>;
288*724ba675SRob Herring		/* Chip select on GPIO223 */
289*724ba675SRob Herring		cs-gpios = <&gpio6 31 GPIO_ACTIVE_LOW>;
290*724ba675SRob Herring		num-chipselects = <1>;
291*724ba675SRob Herring
292*724ba675SRob Herring		pinctrl-names = "default";
293*724ba675SRob Herring		pinctrl-0 = <&spi_gpio_0_default>;
294*724ba675SRob Herring		#address-cells = <1>;
295*724ba675SRob Herring		#size-cells = <0>;
296*724ba675SRob Herring
297*724ba675SRob Herring		panel@0 {
298*724ba675SRob Herring			compatible = "samsung,lms397kf04";
299*724ba675SRob Herring			/* 300 ns at read cycle -> 3 MHz max speed */
300*724ba675SRob Herring			//spi-max-frequency = <3000000>;
301*724ba675SRob Herring			spi-max-frequency = <1200000>;
302*724ba675SRob Herring			/* TYPE 3: inverse clock polarity and phase */
303*724ba675SRob Herring			spi-cpha;
304*724ba675SRob Herring			spi-cpol;
305*724ba675SRob Herring
306*724ba675SRob Herring			reg = <0>;
307*724ba675SRob Herring			vci-supply = <&lcd_3v0_reg>;
308*724ba675SRob Herring			vccio-supply = <&lcd_1v8_reg>;
309*724ba675SRob Herring			/* Reset on GPIO139 */
310*724ba675SRob Herring			reset-gpios = <&gpio4 11 GPIO_ACTIVE_LOW>;
311*724ba675SRob Herring			pinctrl-names = "default";
312*724ba675SRob Herring			pinctrl-0 = <&panel_default_mode>;
313*724ba675SRob Herring			backlight = <&ktd259>;
314*724ba675SRob Herring
315*724ba675SRob Herring			port {
316*724ba675SRob Herring				panel_in: endpoint {
317*724ba675SRob Herring					remote-endpoint = <&display_out>;
318*724ba675SRob Herring				};
319*724ba675SRob Herring			};
320*724ba675SRob Herring		};
321*724ba675SRob Herring	};
322*724ba675SRob Herring
323*724ba675SRob Herring	/* Bit-banged I2C on GPIO201 and GPIO202 also called "MOT_I2C" */
324*724ba675SRob Herring	i2c-gpio-2 {
325*724ba675SRob Herring		compatible = "i2c-gpio";
326*724ba675SRob Herring		sda-gpios = <&gpio6 10 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
327*724ba675SRob Herring		scl-gpios = <&gpio6 9 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
328*724ba675SRob Herring		pinctrl-names = "default";
329*724ba675SRob Herring		pinctrl-0 = <&i2c_gpio_2_default>;
330*724ba675SRob Herring		#address-cells = <1>;
331*724ba675SRob Herring		#size-cells = <0>;
332*724ba675SRob Herring		/* TODO: add the Immersion ISA1200 I2C device here */
333*724ba675SRob Herring	};
334*724ba675SRob Herring
335*724ba675SRob Herring	/* Bit-banged I2C on GPIO196 and GPIO197 also called "MPR_I2C" */
336*724ba675SRob Herring	i2c-gpio-3 {
337*724ba675SRob Herring		compatible = "i2c-gpio";
338*724ba675SRob Herring		sda-gpios = <&gpio6 5 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
339*724ba675SRob Herring		scl-gpios = <&gpio6 4 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
340*724ba675SRob Herring		pinctrl-names = "default";
341*724ba675SRob Herring		pinctrl-0 = <&i2c_gpio_3_default>;
342*724ba675SRob Herring		#address-cells = <1>;
343*724ba675SRob Herring		#size-cells = <0>;
344*724ba675SRob Herring		/* TODO: add the DPP2601 projector I2C device 0x1b here */
345*724ba675SRob Herring	};
346*724ba675SRob Herring
347*724ba675SRob Herring	soc {
348*724ba675SRob Herring		/* External Micro SD slot */
349*724ba675SRob Herring		mmc@80126000 {
350*724ba675SRob Herring			arm,primecell-periphid = <0x10480180>;
351*724ba675SRob Herring			max-frequency = <50000000>;
352*724ba675SRob Herring			bus-width = <4>;
353*724ba675SRob Herring			cap-sd-highspeed;
354*724ba675SRob Herring			cap-mmc-highspeed;
355*724ba675SRob Herring			st,sig-pin-fbclk;
356*724ba675SRob Herring			full-pwr-cycle;
357*724ba675SRob Herring			/* MMC is powered by AUX3 1.2V .. 2.91V */
358*724ba675SRob Herring			vmmc-supply = <&ab8500_ldo_aux3_reg>;
359*724ba675SRob Herring			/* 2.9 V level translator */
360*724ba675SRob Herring			vqmmc-supply = <&sd_level_translator>;
361*724ba675SRob Herring			pinctrl-names = "default", "sleep";
362*724ba675SRob Herring			pinctrl-0 = <&mc0_a_2_default>;
363*724ba675SRob Herring			pinctrl-1 = <&mc0_a_2_sleep>;
364*724ba675SRob Herring			/* "flash detect" actually card detect */
365*724ba675SRob Herring			cd-gpios  = <&gpio6 25 GPIO_ACTIVE_LOW>;
366*724ba675SRob Herring			status = "okay";
367*724ba675SRob Herring		};
368*724ba675SRob Herring
369*724ba675SRob Herring		/* WLAN SDIO channel */
370*724ba675SRob Herring		mmc@80118000 {
371*724ba675SRob Herring			arm,primecell-periphid = <0x10480180>;
372*724ba675SRob Herring			max-frequency = <50000000>;
373*724ba675SRob Herring			bus-width = <4>;
374*724ba675SRob Herring			non-removable;
375*724ba675SRob Herring			cap-sd-highspeed;
376*724ba675SRob Herring			pinctrl-names = "default", "sleep";
377*724ba675SRob Herring			pinctrl-0 = <&mc1_a_2_default>;
378*724ba675SRob Herring			pinctrl-1 = <&mc1_a_2_sleep>;
379*724ba675SRob Herring			/*
380*724ba675SRob Herring			 * GPIO-controlled voltage enablement: this drives
381*724ba675SRob Herring			 * the WL_REG_ON line high when we use this device.
382*724ba675SRob Herring			 * Represented as regulator to fill OCR mask.
383*724ba675SRob Herring			 */
384*724ba675SRob Herring			vmmc-supply = <&wl_reg>;
385*724ba675SRob Herring
386*724ba675SRob Herring			#address-cells = <1>;
387*724ba675SRob Herring			#size-cells = <0>;
388*724ba675SRob Herring			status = "okay";
389*724ba675SRob Herring
390*724ba675SRob Herring			wifi@1 {
391*724ba675SRob Herring				compatible = "brcm,bcm4330-fmac", "brcm,bcm4329-fmac";
392*724ba675SRob Herring				reg = <1>;
393*724ba675SRob Herring				/* GPIO216 WL_HOST_WAKE */
394*724ba675SRob Herring				interrupt-parent = <&gpio6>;
395*724ba675SRob Herring				interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
396*724ba675SRob Herring				interrupt-names = "host-wake";
397*724ba675SRob Herring				pinctrl-names = "default";
398*724ba675SRob Herring				pinctrl-0 = <&wlan_default_mode>;
399*724ba675SRob Herring			};
400*724ba675SRob Herring		};
401*724ba675SRob Herring
402*724ba675SRob Herring		/* eMMC */
403*724ba675SRob Herring		mmc@80005000 {
404*724ba675SRob Herring			arm,primecell-periphid = <0x10480180>;
405*724ba675SRob Herring		        max-frequency = <50000000>;
406*724ba675SRob Herring			bus-width = <8>;
407*724ba675SRob Herring			non-removable;
408*724ba675SRob Herring			cap-mmc-highspeed;
409*724ba675SRob Herring			mmc-ddr-1_8v;
410*724ba675SRob Herring			no-sdio;
411*724ba675SRob Herring			no-sd;
412*724ba675SRob Herring			vmmc-supply = <&ldo_3v3_reg>;
413*724ba675SRob Herring			pinctrl-names = "default", "sleep";
414*724ba675SRob Herring			pinctrl-0 = <&mc2_a_1_default>;
415*724ba675SRob Herring			pinctrl-1 = <&mc2_a_1_sleep>;
416*724ba675SRob Herring			status = "okay";
417*724ba675SRob Herring		};
418*724ba675SRob Herring
419*724ba675SRob Herring		/* GBF (Bluetooth) UART */
420*724ba675SRob Herring		serial@80120000 {
421*724ba675SRob Herring			pinctrl-names = "default", "sleep";
422*724ba675SRob Herring			pinctrl-0 = <&u0_a_1_default>;
423*724ba675SRob Herring			pinctrl-1 = <&u0_a_1_sleep>;
424*724ba675SRob Herring			status = "okay";
425*724ba675SRob Herring
426*724ba675SRob Herring			bluetooth {
427*724ba675SRob Herring				compatible = "brcm,bcm4330-bt";
428*724ba675SRob Herring				/* GPIO222 rail BT_VREG_EN to BT_REG_ON */
429*724ba675SRob Herring				shutdown-gpios = <&gpio6 30 GPIO_ACTIVE_HIGH>;
430*724ba675SRob Herring				/* BT_WAKE on GPIO199 */
431*724ba675SRob Herring				device-wakeup-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
432*724ba675SRob Herring				/* BT_HOST_WAKE on GPIO97 */
433*724ba675SRob Herring				host-wakeup-gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>;
434*724ba675SRob Herring				/* BT_RST_N on GPIO209 */
435*724ba675SRob Herring				reset-gpios = <&gpio6 17 GPIO_ACTIVE_LOW>;
436*724ba675SRob Herring				pinctrl-names = "default";
437*724ba675SRob Herring				pinctrl-0 = <&bluetooth_default_mode>;
438*724ba675SRob Herring			};
439*724ba675SRob Herring		};
440*724ba675SRob Herring
441*724ba675SRob Herring		/* GPS UART */
442*724ba675SRob Herring		serial@80121000 {
443*724ba675SRob Herring			status = "okay";
444*724ba675SRob Herring			pinctrl-names = "default", "sleep";
445*724ba675SRob Herring			/* CTS/RTS is not used, CTS is repurposed as GPIO */
446*724ba675SRob Herring			pinctrl-0 = <&u1rxtx_a_1_default>;
447*724ba675SRob Herring			pinctrl-1 = <&u1rxtx_a_1_sleep>;
448*724ba675SRob Herring			/* FIXME: add a device for the GPS here */
449*724ba675SRob Herring		};
450*724ba675SRob Herring
451*724ba675SRob Herring		/* Debugging console UART connected to TSU6111RSVR (FSA880) */
452*724ba675SRob Herring		serial@80007000 {
453*724ba675SRob Herring			status = "okay";
454*724ba675SRob Herring			pinctrl-names = "default", "sleep";
455*724ba675SRob Herring			pinctrl-0 = <&u2rxtx_c_1_default>;
456*724ba675SRob Herring			pinctrl-1 = <&u2rxtx_c_1_sleep>;
457*724ba675SRob Herring		};
458*724ba675SRob Herring
459*724ba675SRob Herring		prcmu@80157000 {
460*724ba675SRob Herring			ab8500 {
461*724ba675SRob Herring				phy {
462*724ba675SRob Herring					pinctrl-names = "default", "sleep";
463*724ba675SRob Herring					pinctrl-0 = <&usb_a_1_default>;
464*724ba675SRob Herring					pinctrl-1 = <&usb_a_1_sleep>;
465*724ba675SRob Herring				};
466*724ba675SRob Herring
467*724ba675SRob Herring				ab8500_fg {
468*724ba675SRob Herring					line-impedance-micro-ohms = <43000>;
469*724ba675SRob Herring				};
470*724ba675SRob Herring
471*724ba675SRob Herring				regulator {
472*724ba675SRob Herring					ab8500_ldo_aux1 {
473*724ba675SRob Herring						/* Used for VDD for sensors */
474*724ba675SRob Herring						regulator-name = "V-SENSORS-VDD";
475*724ba675SRob Herring						regulator-min-microvolt = <3000000>;
476*724ba675SRob Herring						regulator-max-microvolt = <3000000>;
477*724ba675SRob Herring					};
478*724ba675SRob Herring
479*724ba675SRob Herring					ab8500_ldo_aux2 {
480*724ba675SRob Herring						/* Used for VIO for sensors */
481*724ba675SRob Herring						regulator-name = "V-SENSORS-VIO";
482*724ba675SRob Herring						regulator-min-microvolt = <1800000>;
483*724ba675SRob Herring						regulator-max-microvolt = <1800000>;
484*724ba675SRob Herring					};
485*724ba675SRob Herring
486*724ba675SRob Herring					ab8500_ldo_aux3 {
487*724ba675SRob Herring						/* Used for voltage for external MMC/SD card */
488*724ba675SRob Herring						regulator-name = "V-MMC-SD";
489*724ba675SRob Herring						regulator-min-microvolt = <1200000>;
490*724ba675SRob Herring						regulator-max-microvolt = <2910000>;
491*724ba675SRob Herring					};
492*724ba675SRob Herring				};
493*724ba675SRob Herring			};
494*724ba675SRob Herring		};
495*724ba675SRob Herring
496*724ba675SRob Herring		/* I2C0 */
497*724ba675SRob Herring		i2c@80004000 {
498*724ba675SRob Herring			status = "okay";
499*724ba675SRob Herring			pinctrl-names = "default", "sleep";
500*724ba675SRob Herring			pinctrl-0 = <&i2c0_a_1_default>;
501*724ba675SRob Herring			pinctrl-1 = <&i2c0_a_1_sleep>;
502*724ba675SRob Herring
503*724ba675SRob Herring			/* FIXME: fix the proximity sensor bindings and driver */
504*724ba675SRob Herring			proximity@39 {
505*724ba675SRob Herring				/* Gavini has the GP2A030S00F proximity sensor */
506*724ba675SRob Herring				compatible = "sharp,gp2a030s00f";
507*724ba675SRob Herring				clock-frequency = <400000>;
508*724ba675SRob Herring				reg = <0x39>;
509*724ba675SRob Herring				/* FIXME: GPIO146 provides power on, IR LED? */
510*724ba675SRob Herring			};
511*724ba675SRob Herring
512*724ba675SRob Herring			gyroscope@68 {
513*724ba675SRob Herring				compatible = "invensense,mpu3050";
514*724ba675SRob Herring				reg = <0x68>;
515*724ba675SRob Herring				/* GPIO226 interrupt */
516*724ba675SRob Herring				interrupt-parent = <&gpio7>;
517*724ba675SRob Herring				interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
518*724ba675SRob Herring				mount-matrix = "0", "1", "0",
519*724ba675SRob Herring					       "1", "0", "0",
520*724ba675SRob Herring					       "0", "0", "1";
521*724ba675SRob Herring				vlogic-supply = <&ab8500_ldo_aux2_reg>; // 1.8V
522*724ba675SRob Herring				vdd-supply = <&ab8500_ldo_aux1_reg>; // 3V
523*724ba675SRob Herring				pinctrl-names = "default";
524*724ba675SRob Herring				pinctrl-0 = <&mpu3050_default>;
525*724ba675SRob Herring
526*724ba675SRob Herring				/*
527*724ba675SRob Herring				 * The MPU-3050 acts as a hub for the
528*724ba675SRob Herring				 * accelerometer.
529*724ba675SRob Herring				 */
530*724ba675SRob Herring				i2c-gate {
531*724ba675SRob Herring					#address-cells = <1>;
532*724ba675SRob Herring					#size-cells = <0>;
533*724ba675SRob Herring
534*724ba675SRob Herring					/* Bosch BMA222E accelerometer */
535*724ba675SRob Herring					accelerometer@18 {
536*724ba675SRob Herring						compatible = "bosch,bma222e";
537*724ba675SRob Herring						reg = <0x18>;
538*724ba675SRob Herring						mount-matrix = "0", "-1", "0",
539*724ba675SRob Herring							       "1", "0", "0",
540*724ba675SRob Herring							       "0", "0", "1";
541*724ba675SRob Herring						vddio-supply = <&ab8500_ldo_aux2_reg>; // 1.8V
542*724ba675SRob Herring						vdd-supply = <&ab8500_ldo_aux1_reg>; // 3V
543*724ba675SRob Herring					};
544*724ba675SRob Herring				};
545*724ba675SRob Herring			};
546*724ba675SRob Herring		};
547*724ba675SRob Herring
548*724ba675SRob Herring		/* I2C2 "AGC I2C" */
549*724ba675SRob Herring		i2c@80128000 {
550*724ba675SRob Herring			status = "okay";
551*724ba675SRob Herring			pinctrl-names = "default", "sleep";
552*724ba675SRob Herring			pinctrl-0 = <&i2c2_b_1_default>;
553*724ba675SRob Herring			pinctrl-1 = <&i2c2_b_1_sleep>;
554*724ba675SRob Herring
555*724ba675SRob Herring			/* Texas Instruments TSU6111 micro USB switch */
556*724ba675SRob Herring			usb-switch@25 {
557*724ba675SRob Herring				compatible = "ti,tsu6111";
558*724ba675SRob Herring				reg = <0x25>;
559*724ba675SRob Herring				/* Interrupt JACK_INT_N on GPIO95 */
560*724ba675SRob Herring				interrupt-parent = <&gpio2>;
561*724ba675SRob Herring				interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
562*724ba675SRob Herring				pinctrl-names = "default";
563*724ba675SRob Herring				pinctrl-0 = <&tsu6111_default>;
564*724ba675SRob Herring			};
565*724ba675SRob Herring		};
566*724ba675SRob Herring
567*724ba675SRob Herring		/* I2C3 */
568*724ba675SRob Herring		i2c@80110000 {
569*724ba675SRob Herring			status = "okay";
570*724ba675SRob Herring
571*724ba675SRob Herring			pinctrl-names = "default", "sleep";
572*724ba675SRob Herring			pinctrl-0 = <&i2c3_c_2_default>;
573*724ba675SRob Herring			pinctrl-1 = <&i2c3_c_2_sleep>;
574*724ba675SRob Herring
575*724ba675SRob Herring			/* Melfas MMS136 touchscreen */
576*724ba675SRob Herring			touchscreen@48 {
577*724ba675SRob Herring				compatible = "melfas,mms136";
578*724ba675SRob Herring				reg = <0x48>;
579*724ba675SRob Herring				/* GPIO218 (TSP_INT_1V8) */
580*724ba675SRob Herring				interrupt-parent = <&gpio6>;
581*724ba675SRob Herring				interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
582*724ba675SRob Herring				/* AVDD is "analog supply", 2.57-3.47 V */
583*724ba675SRob Herring				avdd-supply = <&ldo_tsp_3v3_reg>;
584*724ba675SRob Herring				/* VDD is "digital supply" 1.71-3.47V */
585*724ba675SRob Herring				vdd-supply = <&ldo_tsp_1v8_reg>;
586*724ba675SRob Herring				pinctrl-names = "default";
587*724ba675SRob Herring				pinctrl-0 = <&tsp_default>;
588*724ba675SRob Herring				touchscreen-size-x = <480>;
589*724ba675SRob Herring				touchscreen-size-y = <800>;
590*724ba675SRob Herring			};
591*724ba675SRob Herring		};
592*724ba675SRob Herring
593*724ba675SRob Herring		mcde@a0350000 {
594*724ba675SRob Herring			status = "okay";
595*724ba675SRob Herring			pinctrl-names = "default";
596*724ba675SRob Herring			pinctrl-0 = <&dpi_default_mode>;
597*724ba675SRob Herring
598*724ba675SRob Herring			port {
599*724ba675SRob Herring				display_out: endpoint {
600*724ba675SRob Herring					remote-endpoint = <&panel_in>;
601*724ba675SRob Herring				};
602*724ba675SRob Herring			};
603*724ba675SRob Herring		};
604*724ba675SRob Herring	};
605*724ba675SRob Herring};
606*724ba675SRob Herring
607*724ba675SRob Herring&pinctrl {
608*724ba675SRob Herring	/*
609*724ba675SRob Herring	 * This extends the MC0_A_2 default config to include
610*724ba675SRob Herring	 * the card detect GPIO217 line.
611*724ba675SRob Herring	 */
612*724ba675SRob Herring	sdi0 {
613*724ba675SRob Herring		mc0_a_2_default {
614*724ba675SRob Herring			default_cfg4 {
615*724ba675SRob Herring				pins = "GPIO217_AH12"; /* card detect */
616*724ba675SRob Herring				ste,config = <&gpio_in_nopull>;
617*724ba675SRob Herring			};
618*724ba675SRob Herring		};
619*724ba675SRob Herring	};
620*724ba675SRob Herring	mcde {
621*724ba675SRob Herring		dpi_default_mode: dpi_default {
622*724ba675SRob Herring			default_mux1 {
623*724ba675SRob Herring				/* Mux in all the data lines */
624*724ba675SRob Herring				function = "lcd";
625*724ba675SRob Herring				groups =
626*724ba675SRob Herring					/* Data lines D0-D7 GPIO70..GPIO77 */
627*724ba675SRob Herring					"lcd_d0_d7_a_1",
628*724ba675SRob Herring					/* Data lines D8-D11 GPIO78..GPIO81 */
629*724ba675SRob Herring					"lcd_d8_d11_a_1",
630*724ba675SRob Herring					/* Data lines D12-D15 GPIO82..GPIO85 */
631*724ba675SRob Herring					"lcd_d12_d15_a_1",
632*724ba675SRob Herring					/* Data lines D16-D23 GPIO161..GPIO168 */
633*724ba675SRob Herring					"lcd_d16_d23_b_1";
634*724ba675SRob Herring			};
635*724ba675SRob Herring			default_mux2 {
636*724ba675SRob Herring				function = "lcda";
637*724ba675SRob Herring				/* Clock line on GPIO150, DE, VSO, HSO on GPIO169..GPIO171 */
638*724ba675SRob Herring				groups = "lcdaclk_b_1", "lcda_b_1";
639*724ba675SRob Herring			};
640*724ba675SRob Herring			/* Input, no pull-up is the default state for pins used for an alt function */
641*724ba675SRob Herring			default_cfg1 {
642*724ba675SRob Herring				pins = "GPIO150_C14", "GPIO169_D22", "GPIO170_C23", "GPIO171_D23";
643*724ba675SRob Herring				ste,config = <&in_nopull>;
644*724ba675SRob Herring			};
645*724ba675SRob Herring		};
646*724ba675SRob Herring	};
647*724ba675SRob Herring	/* GPIO for panel reset control */
648*724ba675SRob Herring	panel {
649*724ba675SRob Herring		panel_default_mode: panel_default {
650*724ba675SRob Herring			gavini_cfg1 {
651*724ba675SRob Herring				/* Reset line */
652*724ba675SRob Herring				pins = "GPIO139_C9";
653*724ba675SRob Herring				ste,config = <&gpio_out_lo>;
654*724ba675SRob Herring			};
655*724ba675SRob Herring		};
656*724ba675SRob Herring	};
657*724ba675SRob Herring	/* GPIO that enables the LDO regulator for the eMMC */
658*724ba675SRob Herring	emmc-ldo {
659*724ba675SRob Herring		emmc_ldo_en_default_mode: emmc_ldo_default {
660*724ba675SRob Herring			/* LDO enable on GPIO6 */
661*724ba675SRob Herring			gavini_cfg1 {
662*724ba675SRob Herring				pins = "GPIO6_AF6";
663*724ba675SRob Herring				ste,config = <&gpio_out_hi>;
664*724ba675SRob Herring			};
665*724ba675SRob Herring		};
666*724ba675SRob Herring	};
667*724ba675SRob Herring	/* GPIO that enables the LDO regulator for the touchscreen */
668*724ba675SRob Herring	tsp-ldo {
669*724ba675SRob Herring		tsp_ldo_en_default_mode: tsp_ldo_default {
670*724ba675SRob Herring			/* LDO enable on GPIO94 */
671*724ba675SRob Herring			gavini_cfg1 {
672*724ba675SRob Herring				pins = "GPIO94_D7";
673*724ba675SRob Herring				ste,config = <&gpio_out_hi>;
674*724ba675SRob Herring			};
675*724ba675SRob Herring		};
676*724ba675SRob Herring	};
677*724ba675SRob Herring	/* Reset line for the Yamaha YAS530 magnetometer */
678*724ba675SRob Herring	yas530 {
679*724ba675SRob Herring		yas530_default: yas530_janice {
680*724ba675SRob Herring			janice_cfg1 {
681*724ba675SRob Herring				pins = "GPIO204_AF23";
682*724ba675SRob Herring				ste,config = <&gpio_out_hi>;
683*724ba675SRob Herring			};
684*724ba675SRob Herring		};
685*724ba675SRob Herring	};
686*724ba675SRob Herring	/* Flash and torch */
687*724ba675SRob Herring	flash {
688*724ba675SRob Herring		gpio_flash_default_mode: flash_default {
689*724ba675SRob Herring			janice_cfg1 {
690*724ba675SRob Herring				pins = "GPIO140_B11", "GPIO141_C12";
691*724ba675SRob Herring				ste,config = <&gpio_out_lo>;
692*724ba675SRob Herring			};
693*724ba675SRob Herring		};
694*724ba675SRob Herring	};
695*724ba675SRob Herring	/* GPIO that enables the LDO regulator for the key LED */
696*724ba675SRob Herring	gpio-leds {
697*724ba675SRob Herring		gpio_leds_default_mode: gpio_leds_default {
698*724ba675SRob Herring			/* EN_LED_LDO on GPIO68 */
699*724ba675SRob Herring			gavini_cfg1 {
700*724ba675SRob Herring				pins = "GPIO68_E1";
701*724ba675SRob Herring				ste,config = <&gpio_out_hi>;
702*724ba675SRob Herring			};
703*724ba675SRob Herring		};
704*724ba675SRob Herring	};
705*724ba675SRob Herring	backlight {
706*724ba675SRob Herring		ktd259_backlight_default_mode: backlight_default {
707*724ba675SRob Herring			skomer_cfg1 {
708*724ba675SRob Herring				pins = "GPIO20_AB4"; /* LCD_BL_EN */
709*724ba675SRob Herring				ste,config = <&gpio_out_lo>;
710*724ba675SRob Herring			};
711*724ba675SRob Herring		};
712*724ba675SRob Herring	};
713*724ba675SRob Herring	/* GPIO that enables the LDO regulator for the touchkeys */
714*724ba675SRob Herring	touchkey-ldo {
715*724ba675SRob Herring		tsp_ldo_on2_default_mode: tsp_ldo_on2_default {
716*724ba675SRob Herring			/* TSP_LDO_ON2 on GPIO89 */
717*724ba675SRob Herring			gavini_cfg1 {
718*724ba675SRob Herring				pins = "GPIO89_E6";
719*724ba675SRob Herring				ste,config = <&gpio_out_lo>;
720*724ba675SRob Herring			};
721*724ba675SRob Herring		};
722*724ba675SRob Herring	};
723*724ba675SRob Herring	touchkey {
724*724ba675SRob Herring		touchkey_default_mode: touchkey_default {
725*724ba675SRob Herring			gavini_cfg1 {
726*724ba675SRob Herring				/* Interrupt */
727*724ba675SRob Herring				pins = "GPIO198_AG25";
728*724ba675SRob Herring				ste,config = <&gpio_in_nopull>;
729*724ba675SRob Herring			};
730*724ba675SRob Herring			gavini_cfg2 {
731*724ba675SRob Herring				/* Reset, actually completely unused (not routed) */
732*724ba675SRob Herring				pins = "GPIO205_AG23";
733*724ba675SRob Herring				ste,config = <&gpio_in_pd>;
734*724ba675SRob Herring			};
735*724ba675SRob Herring		};
736*724ba675SRob Herring	};
737*724ba675SRob Herring	/* GPIO that enables the LDO regulator for the LCD display */
738*724ba675SRob Herring	lcd-ldo {
739*724ba675SRob Herring		lcd_pwr_en_default_mode: lcd_pwr_en_default {
740*724ba675SRob Herring			/* LCD_PWR_EN on GPIO219 */
741*724ba675SRob Herring			gavini_cfg1 {
742*724ba675SRob Herring				pins = "GPIO219_AG10";
743*724ba675SRob Herring				ste,config = <&gpio_out_hi>;
744*724ba675SRob Herring			};
745*724ba675SRob Herring		};
746*724ba675SRob Herring	};
747*724ba675SRob Herring	/* GPIO that enables the WLAN internal LDO regulators */
748*724ba675SRob Herring	wlan-ldo {
749*724ba675SRob Herring		wlan_ldo_en_default: wlan_ldo_default {
750*724ba675SRob Herring			/* GPIO215 named WLAN_RST_N */
751*724ba675SRob Herring			gavini_cfg1 {
752*724ba675SRob Herring				pins = "GPIO215_AH13";
753*724ba675SRob Herring				ste,config = <&gpio_out_lo>;
754*724ba675SRob Herring			};
755*724ba675SRob Herring		};
756*724ba675SRob Herring	};
757*724ba675SRob Herring	/* GPIO that enables the 2.9V SD card level translator */
758*724ba675SRob Herring	sd-level-translator {
759*724ba675SRob Herring		sd_level_translator_default: sd_level_translator_default {
760*724ba675SRob Herring			/* level shifter on GPIO193 */
761*724ba675SRob Herring			skomer_cfg1 {
762*724ba675SRob Herring				pins = "GPIO193_AH27";
763*724ba675SRob Herring				ste,config = <&gpio_out_hi>;
764*724ba675SRob Herring			};
765*724ba675SRob Herring		};
766*724ba675SRob Herring	};
767*724ba675SRob Herring	/* GPIO keys */
768*724ba675SRob Herring	gpio-keys {
769*724ba675SRob Herring		gpio_keys_default_mode: gpio_keys_default {
770*724ba675SRob Herring			skomer_cfg1 {
771*724ba675SRob Herring				pins = "GPIO32_V2", /* Projector On HotKey */
772*724ba675SRob Herring				       "GPIO67_G2", /* VOL UP */
773*724ba675SRob Herring				       "GPIO91_B6", /* HOME */
774*724ba675SRob Herring				       "GPIO92_D6"; /* VOL DOWN */
775*724ba675SRob Herring				ste,config = <&gpio_in_pu>;
776*724ba675SRob Herring			};
777*724ba675SRob Herring		};
778*724ba675SRob Herring	};
779*724ba675SRob Herring	/* Interrupt line for the Atmel MXT228 touchscreen */
780*724ba675SRob Herring	tsp {
781*724ba675SRob Herring		tsp_default: tsp_default {
782*724ba675SRob Herring			gavini_cfg1 {
783*724ba675SRob Herring				pins = "GPIO218_AH11";	/* TSP_INT_1V8 */
784*724ba675SRob Herring				ste,config = <&gpio_in_nopull>;
785*724ba675SRob Herring			};
786*724ba675SRob Herring		};
787*724ba675SRob Herring	};
788*724ba675SRob Herring	/* Interrupt line for Invensense MPU3050 gyroscope */
789*724ba675SRob Herring	mpu3050 {
790*724ba675SRob Herring		mpu3050_default: mpu3050 {
791*724ba675SRob Herring			gavini_cfg1 {
792*724ba675SRob Herring				/* GPIO226 used for IRQ */
793*724ba675SRob Herring				pins = "GPIO226_AF8";
794*724ba675SRob Herring				ste,config = <&gpio_in_nopull>;
795*724ba675SRob Herring			};
796*724ba675SRob Herring		};
797*724ba675SRob Herring	};
798*724ba675SRob Herring	/* GPIO-based I2C bus for magnetometer and NCP6914 */
799*724ba675SRob Herring	i2c-gpio-0 {
800*724ba675SRob Herring		i2c_gpio_0_default: i2c_gpio_0 {
801*724ba675SRob Herring			gavini_cfg1 {
802*724ba675SRob Herring				pins = "GPIO143_D12", "GPIO144_B13";
803*724ba675SRob Herring				ste,config = <&gpio_in_nopull>;
804*724ba675SRob Herring			};
805*724ba675SRob Herring		};
806*724ba675SRob Herring	};
807*724ba675SRob Herring	/* GPIO-based I2C bus for the Immersion ISA1200 */
808*724ba675SRob Herring	i2c-gpio-2 {
809*724ba675SRob Herring		i2c_gpio_2_default: i2c_gpio_2 {
810*724ba675SRob Herring			gavini_cfg1 {
811*724ba675SRob Herring				pins = "GPIO201_AF24", "GPIO202_AF25";
812*724ba675SRob Herring				ste,config = <&gpio_in_nopull>;
813*724ba675SRob Herring			};
814*724ba675SRob Herring		};
815*724ba675SRob Herring	};
816*724ba675SRob Herring	/* GPIO-based I2C bus for the TI DPP2601 */
817*724ba675SRob Herring	i2c-gpio-3 {
818*724ba675SRob Herring		i2c_gpio_3_default: i2c_gpio_3 {
819*724ba675SRob Herring			gavini_cfg1 {
820*724ba675SRob Herring				pins = "GPIO196_AG26", "GPIO197_AH24";
821*724ba675SRob Herring				ste,config = <&gpio_in_nopull>;
822*724ba675SRob Herring			};
823*724ba675SRob Herring		};
824*724ba675SRob Herring	};
825*724ba675SRob Herring	/* GPIO-based SPI bus for the display */
826*724ba675SRob Herring	spi-gpio-0 {
827*724ba675SRob Herring		spi_gpio_0_default: spi_gpio_0_d {
828*724ba675SRob Herring			gavini_cfg1 {
829*724ba675SRob Herring				pins = "GPIO220_AH10", "GPIO223_AH9", "GPIO224_AG9";
830*724ba675SRob Herring				ste,config = <&gpio_out_hi>;
831*724ba675SRob Herring			};
832*724ba675SRob Herring			gavini_cfg2 {
833*724ba675SRob Herring				pins = "GPIO225_AG8";
834*724ba675SRob Herring				ste,config = <&gpio_in_nopull>;
835*724ba675SRob Herring			};
836*724ba675SRob Herring		};
837*724ba675SRob Herring		spi_gpio_0_sleep: spi_gpio_0_s {
838*724ba675SRob Herring			gavini_cfg1 {
839*724ba675SRob Herring				pins = "GPIO220_AH10", "GPIO223_AH9",
840*724ba675SRob Herring				     "GPIO224_AG9", "GPIO225_AG8";
841*724ba675SRob Herring				ste,config = <&gpio_out_hi>;
842*724ba675SRob Herring			};
843*724ba675SRob Herring			gavini_cfg2 {
844*724ba675SRob Herring				pins = "GPIO225_AG8";
845*724ba675SRob Herring				ste,config = <&gpio_out_lo>;
846*724ba675SRob Herring			};
847*724ba675SRob Herring		};
848*724ba675SRob Herring	};
849*724ba675SRob Herring	wlan {
850*724ba675SRob Herring		wlan_default_mode: wlan_default {
851*724ba675SRob Herring			/* GPIO216 for WL_HOST_WAKE */
852*724ba675SRob Herring			gavini_cfg2 {
853*724ba675SRob Herring				pins = "GPIO216_AG12";
854*724ba675SRob Herring				ste,config = <&gpio_in_pd>;
855*724ba675SRob Herring			};
856*724ba675SRob Herring		};
857*724ba675SRob Herring	};
858*724ba675SRob Herring	bluetooth {
859*724ba675SRob Herring		bluetooth_default_mode: bluetooth_default {
860*724ba675SRob Herring			/* GPIO199 BT_WAKE and GPIO222 BT_VREG_ON */
861*724ba675SRob Herring			gavini_cfg1 {
862*724ba675SRob Herring				pins = "GPIO199_AH23", "GPIO222_AJ9";
863*724ba675SRob Herring				ste,config = <&gpio_out_lo>;
864*724ba675SRob Herring			};
865*724ba675SRob Herring			/* GPIO97 BT_HOST_WAKE */
866*724ba675SRob Herring			gavini_cfg2 {
867*724ba675SRob Herring				pins = "GPIO97_D9";
868*724ba675SRob Herring				ste,config = <&gpio_in_nopull>;
869*724ba675SRob Herring			};
870*724ba675SRob Herring			/* GPIO209 BT_RST_N */
871*724ba675SRob Herring			gavini_cfg3 {
872*724ba675SRob Herring				pins = "GPIO209_AG15";
873*724ba675SRob Herring				ste,config = <&gpio_out_hi>;
874*724ba675SRob Herring			};
875*724ba675SRob Herring		};
876*724ba675SRob Herring	};
877*724ba675SRob Herring	/* Interrupt line for TI TSU6111 Micro USB switch */
878*724ba675SRob Herring	tsu6111 {
879*724ba675SRob Herring		tsu6111_default: tsu6111 {
880*724ba675SRob Herring			gavini_cfg1 {
881*724ba675SRob Herring				/* GPIO95 used for IRQ */
882*724ba675SRob Herring				pins = "GPIO95_E8";
883*724ba675SRob Herring				ste,config = <&gpio_in_nopull>;
884*724ba675SRob Herring			};
885*724ba675SRob Herring		};
886*724ba675SRob Herring	};
887*724ba675SRob Herring};
888