1 // SPDX-License-Identifier: GPL-2.0-only
3 * Devicetree for the Samsung Galaxy S Advance GT-I9070 also known as Janice.
7 #include "ste-db8500.dtsi"
8 #include "ste-ab8500.dtsi"
9 #include "ste-dbx5x0-pinctrl.dtsi"
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/leds/common.h>
12 #include <dt-bindings/input/input.h>
13 #include <dt-bindings/interrupt-controller/irq.h>
16 model = "Samsung Galaxy S Advance (GT-I9070)";
17 compatible = "samsung,janice", "st-ericsson,u8500";
20 stdout-path = &serial2;
24 compatible = "samsung,eb535151vu";
29 /* This zone will be polled by the battery temperature code */
31 polling-delay-passive = <0>;
32 thermal-sensors = <&bat_therm>;
36 bat_therm: thermistor {
37 compatible = "samsung,1404-001221";
38 io-channels = <&gpadc 0x02>; /* BatTemp */
39 pullup-uv = <1800000>;
40 pullup-ohm = <230000>;
42 #thermal-sensor-cells = <0>;
45 /* External LDO for eMMC LDO VMEM_3V3 controlled by GPIO6 */
46 ldo_3v3_reg: regulator-gpio-ldo-3v3 {
47 compatible = "regulator-fixed";
48 /* Supplied in turn by VBAT */
49 regulator-name = "VMEM_3V3";
50 regulator-min-microvolt = <3300000>;
51 regulator-max-microvolt = <3300000>;
52 gpio = <&gpio0 6 GPIO_ACTIVE_HIGH>;
53 startup-delay-us = <5000>; // FIXME
55 pinctrl-names = "default";
56 pinctrl-0 = <&emmc_ldo_en_default_mode>;
60 * External Ricoh "TSP" regulator for the touchscreen.
61 * One GPIO line controls two voltages of 3.3V and 1.8V
62 * this line is known as "TSP_LDO_ON1" in the schematics.
64 ldo_tsp_3v3_reg: regulator-gpio-tsp-ldo-3v3 {
65 compatible = "regulator-fixed";
66 /* Supplied in turn by VBAT */
67 regulator-name = "LDO_TSP_A3V3";
68 regulator-min-microvolt = <3300000>;
69 regulator-max-microvolt = <3300000>;
70 /* GPIO94 controls this regulator */
71 gpio = <&gpio2 30 GPIO_ACTIVE_HIGH>;
72 /* 70 ms power-on delay */
73 startup-delay-us = <70000>;
75 pinctrl-names = "default";
76 pinctrl-0 = <&tsp_ldo_en_default_mode>;
78 ldo_tsp_1v8_reg: regulator-gpio-tsp-ldo-1v8 {
79 compatible = "regulator-fixed";
80 /* Supplied in turn by VBAT */
81 regulator-name = "VREG_TSP_1V8";
82 regulator-min-microvolt = <1800000>;
83 regulator-max-microvolt = <1800000>;
84 /* GPIO94 controls this regulator */
85 gpio = <&gpio2 30 GPIO_ACTIVE_HIGH>;
86 /* 70 ms power-on delay */
87 startup-delay-us = <70000>;
89 pinctrl-names = "default";
90 pinctrl-0 = <&tsp_ldo_en_default_mode>;
94 * External Ricoh "TSP" regulator for the touchkeys.
95 * Two GPIO lines controls two voltages of 3.3V and 1.8V
96 * TSP_LDO_ON2 controls VREG_TOUCHKEY_1V8
97 * EN_LED_LDO controls VREG_KLED_3V3 (key LED)
99 ldo_kled_3v3_reg: regulator-gpio-vreg-kled-3v3 {
100 compatible = "regulator-fixed";
101 /* Supplied in turn by VBAT */
102 regulator-name = "VREG_KLED_3V3";
103 regulator-min-microvolt = <3300000>;
104 regulator-max-microvolt = <3300000>;
105 /* GPIO68 controls this regulator */
106 gpio = <&gpio2 4 GPIO_ACTIVE_HIGH>;
107 /* 70 ms power-on delay */
108 startup-delay-us = <70000>;
110 pinctrl-names = "default";
111 pinctrl-0 = <&en_led_ldo_default_mode>;
113 ldo_touchkey_1v8_reg: regulator-gpio-vreg-touchkey-1v8 {
114 compatible = "regulator-fixed";
115 /* Supplied in turn by VBAT */
116 regulator-name = "VREG_TOUCHKEY_1V8";
117 regulator-min-microvolt = <1800000>;
118 regulator-max-microvolt = <1800000>;
119 /* GPIO89 controls this regulator */
120 gpio = <&gpio2 25 GPIO_ACTIVE_HIGH>;
121 /* 70 ms power-on delay */
122 startup-delay-us = <70000>;
124 pinctrl-names = "default";
125 pinctrl-0 = <&tsp_ldo_on2_default_mode>;
130 * External Ricoh RP152L010B-TR LCD LDO regulator for the display.
131 * LCD_PWR_EN controls a 3.0V and 1.8V output.
133 lcd_3v0_reg: regulator-gpio-lcd-3v0 {
134 compatible = "regulator-fixed";
135 /* Supplied in turn by VBAT */
136 regulator-name = "VREG_LCD_3V0";
137 regulator-min-microvolt = <3000000>;
138 regulator-max-microvolt = <3000000>;
139 /* GPIO219 controls this regulator */
140 gpio = <&gpio6 27 GPIO_ACTIVE_HIGH>;
142 pinctrl-names = "default";
143 pinctrl-0 = <&lcd_pwr_en_default_mode>;
145 lcd_1v8_reg: regulator-gpio-lcd-1v8 {
146 compatible = "regulator-fixed";
147 /* Supplied in turn by VBAT */
148 regulator-name = "VREG_LCD_1V8";
149 regulator-min-microvolt = <1800000>;
150 regulator-max-microvolt = <1800000>;
151 /* GPIO219 controls this regulator */
152 gpio = <&gpio6 27 GPIO_ACTIVE_HIGH>;
154 pinctrl-names = "default";
155 pinctrl-0 = <&lcd_pwr_en_default_mode>;
159 * This regulator is a GPIO line that drives the Broadcom WLAN
160 * line WL_REG_ON high and enables the internal regulators
161 * inside the chip. Unfortunatley it is erroneously named
162 * WLAN_RST_N on the schematic but it is not a reset line.
164 * The voltage specified here is only used to determine the OCR mask,
165 * the for the SDIO connector, the chip is actually connected
168 wl_reg: regulator-gpio-wlan {
169 compatible = "regulator-fixed";
170 regulator-name = "WL_REG_ON";
171 regulator-min-microvolt = <3000000>;
172 regulator-max-microvolt = <3000000>;
173 startup-delay-us = <100000>;
174 /* GPIO215 (WLAN_RST_N to WL_REG_ON) */
175 gpio = <&gpio6 23 GPIO_ACTIVE_HIGH>;
177 pinctrl-names = "default";
178 pinctrl-0 = <&wlan_ldo_en_default>;
183 compatible = "gpio-keys";
184 pinctrl-names = "default";
185 pinctrl-0 = <&gpio_keys_default_mode>;
188 linux,code = <KEY_HOME>;
191 gpios = <&gpio2 27 GPIO_ACTIVE_LOW>;
194 linux,code = <KEY_VOLUMEUP>;
197 gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
200 linux,code = <KEY_VOLUMEDOWN>;
203 gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;
207 /* Richtek RT8515GQW Flash LED Driver IC */
209 compatible = "richtek,rt8515";
211 enf-gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>;
213 ent-gpios = <&gpio4 13 GPIO_ACTIVE_HIGH>;
215 * RFS is 16 kOhm and RTS is 100 kOhm giving
216 * the flash max current 343mA and torch max
219 richtek,rfs-ohms = <16000>;
220 richtek,rts-ohms = <100000>;
221 pinctrl-names = "default";
222 pinctrl-0 = <&gpio_flash_default_mode>;
225 function = LED_FUNCTION_FLASH;
226 color = <LED_COLOR_ID_WHITE>;
227 flash-max-timeout-us = <250000>;
228 flash-max-microamp = <343750>;
229 led-max-microamp = <55000>;
233 /* Bit-banged I2C on GPIO143 and GPIO144 also called "SUBPMU I2C" */
235 compatible = "i2c-gpio";
236 sda-gpios = <&gpio4 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
237 scl-gpios = <&gpio4 15 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
238 pinctrl-names = "default";
239 pinctrl-0 = <&i2c_gpio_0_default>;
240 #address-cells = <1>;
243 /* Yamaha YAS530 magnetometer */
245 compatible = "yamaha,yas530";
248 vdd-supply = <&ab8500_ldo_aux1_reg>;
250 iovdd-supply = <&ab8500_ldo_aux2_reg>;
251 /* GPIO204 COMPASS_RST_N */
252 reset-gpios = <&gpio6 12 GPIO_ACTIVE_LOW>;
253 pinctrl-names = "default";
254 pinctrl-0 = <&yas529_default>;
256 /* TODO: this should also be used by the NCP6914 Camera power management unit */
260 * These pins do have an spi controller, however the controller on
261 * these pins is not the fully featured PL022 SSP/SPI block but the
262 * ST Micro diet "PL023" version. One of the lacking features in
263 * this derivative is 3wire support, so it cannot be used to drive
264 * this panel interface. We have to use GPIO bit-banging instead.
267 compatible = "spi-gpio";
268 /* Clock on GPIO220 */
269 sck-gpios = <&gpio6 28 GPIO_ACTIVE_HIGH>;
270 /* MISO/MOSI on GPIO224 (no separate MISO pin) */
271 mosi-gpios = <&gpio7 0 GPIO_ACTIVE_HIGH>;
272 /* Chip select on GPIO223 */
273 cs-gpios = <&gpio6 31 GPIO_ACTIVE_LOW>;
274 num-chipselects = <1>;
276 pinctrl-names = "default";
277 pinctrl-0 = <&spi_gpio_0_default>;
278 #address-cells = <1>;
282 compatible = "samsung,s6e63m0";
284 vdd3-supply = <&lcd_3v0_reg>;
285 vci-supply = <&lcd_1v8_reg>;
286 /* Reset on GPIO139 */
287 reset-gpios = <&gpio4 11 GPIO_ACTIVE_LOW>;
288 pinctrl-names = "default";
289 pinctrl-0 = <&panel_default_mode>;
291 /* TYPE 3: inverse clock polarity and phase */
297 remote-endpoint = <&display_out>;
304 * Current sense amplifier on the light sensor to convert current to
305 * voltage. We do not know if this is the actual configuration. The
306 * sense resistor value was found by calibrating in a room ambient
307 * light with a second mobile phone light sensor as reference. If you
308 * pry a Janice phone apart and inspect it you may figure this out.
310 gp2a_shunt: current-sense-shunt {
311 compatible = "current-sense-shunt";
312 io-channels = <&gpadc 0x07>;
313 shunt-resistor-micro-ohms = <15000000>; /* 15 ohms c:a */
314 #io-channel-cells = <0>;
318 /* Bit-banged I2C on GPIO196 and GPIO197 also called "TOUCHKEY_I2C" */
320 compatible = "i2c-gpio";
321 sda-gpios = <&gpio6 5 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
322 scl-gpios = <&gpio6 4 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
323 clock-frequency = <400000>;
324 pinctrl-names = "default";
325 pinctrl-0 = <&i2c_gpio_1_default>;
326 #address-cells = <1>;
330 compatible = "coreriver,tc360-touchkey";
332 vdd-supply = <&ldo_kled_3v3_reg>;
333 vcc-supply = <&ldo_touchkey_1v8_reg>;
334 vddio-supply = <&ldo_touchkey_1v8_reg>;
336 /* Interrupt on GPIO 198 */
337 interrupt-parent = <&gpio6>;
338 interrupts = <6 IRQ_TYPE_EDGE_RISING>;
340 pinctrl-names = "default";
341 pinctrl-0 = <&touchkey_default_mode>;
342 linux,keycodes = <KEY_MENU KEY_BACK>;
346 /* Bit-banged I2C on GPIO201 and GPIO202 also called "MOT_I2C" */
348 compatible = "i2c-gpio";
349 sda-gpios = <&gpio6 10 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
350 scl-gpios = <&gpio6 9 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
351 pinctrl-names = "default";
352 pinctrl-0 = <&i2c_gpio_2_default>;
353 #address-cells = <1>;
355 /* TODO: add the Immersion ISA1200 I2C device here */
358 /* Bit-banged I2C on GPIO151 and GPIO152 also called "NFC_I2C" */
360 compatible = "i2c-gpio";
361 sda-gpios = <&gpio4 24 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
362 scl-gpios = <&gpio4 23 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
363 pinctrl-names = "default";
364 pinctrl-0 = <&i2c_gpio_3_default>;
365 #address-cells = <1>;
369 compatible = "nxp,pn547", "nxp,nxp-nci-i2c";
371 /* NFC IRQ on GPIO32 */
372 interrupt-parent = <&gpio1>;
373 interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
375 firmware-gpios = <&gpio0 31 GPIO_ACTIVE_HIGH>;
377 enable-gpios = <&gpio2 24 GPIO_ACTIVE_HIGH>;
378 pinctrl-names = "default";
379 pinctrl-0 = <&pn547_janice_default>;
384 /* External Micro SD slot */
386 arm,primecell-periphid = <0x10480180>;
387 max-frequency = <50000000>;
396 /* MMC is powered by AUX3 1.2V .. 2.91V */
397 vmmc-supply = <&ab8500_ldo_aux3_reg>;
398 /* 2.9 V level translator is using AUX3 at 2.9 V as well */
399 vqmmc-supply = <&ab8500_ldo_aux3_reg>;
400 pinctrl-names = "default", "sleep";
401 pinctrl-0 = <&mc0_a_2_default>;
402 pinctrl-1 = <&mc0_a_2_sleep>;
403 cd-gpios = <&gpio6 25 GPIO_ACTIVE_LOW>; // GPIO217
407 /* WLAN SDIO channel */
409 arm,primecell-periphid = <0x10480180>;
410 max-frequency = <50000000>;
414 pinctrl-names = "default", "sleep";
415 pinctrl-0 = <&mc1_a_2_default>;
416 pinctrl-1 = <&mc1_a_2_sleep>;
418 * GPIO-controlled voltage enablement: this drives
419 * the WL_REG_ON line high when we use this device.
420 * Represented as regulator to fill OCR mask.
422 vmmc-supply = <&wl_reg>;
424 #address-cells = <1>;
429 compatible = "brcm,bcm4330-fmac", "brcm,bcm4329-fmac";
431 /* GPIO216 WL_HOST_WAKE */
432 interrupt-parent = <&gpio6>;
433 interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
434 interrupt-names = "host-wake";
435 pinctrl-names = "default";
436 pinctrl-0 = <&wlan_default_mode>;
442 arm,primecell-periphid = <0x10480180>;
443 max-frequency = <50000000>;
450 vmmc-supply = <&ldo_3v3_reg>;
451 pinctrl-names = "default", "sleep";
452 pinctrl-0 = <&mc2_a_1_default>;
453 pinctrl-1 = <&mc2_a_1_sleep>;
457 /* GBF (Bluetooth) UART */
459 pinctrl-names = "default", "sleep";
460 pinctrl-0 = <&u0_a_1_default>;
461 pinctrl-1 = <&u0_a_1_sleep>;
465 /* BCM4330B1 actually */
466 compatible = "brcm,bcm4330-bt";
467 /* GPIO222 rail BT_VREG_EN to BT_REG_ON */
468 shutdown-gpios = <&gpio6 30 GPIO_ACTIVE_HIGH>;
469 /* BT_WAKE on GPIO199 */
470 device-wakeup-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
471 /* BT_HOST_WAKE on GPIO97 */
472 /* FIXME: convert to interrupt */
473 host-wakeup-gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>;
474 /* BT_RST_N on GPIO209 */
475 reset-gpios = <&gpio6 17 GPIO_ACTIVE_LOW>;
476 pinctrl-names = "default";
477 pinctrl-0 = <&bluetooth_default_mode>;
484 pinctrl-names = "default", "sleep";
485 /* CTS/RTS is not used, CTS is repurposed as GPIO */
486 pinctrl-0 = <&u1rxtx_a_1_default>;
487 pinctrl-1 = <&u1rxtx_a_1_sleep>;
491 * The Low Noise Amplifier (LNA) power and enablement is controlled
492 * autonomously by the GSD4t.
493 * Janice has a SiRFstarIV-based GSD4t
494 * Golden has a SiRFstarV 5t-based CSRG05TA03-ICJE-R.
496 compatible = "csr,gsd4t";
497 /* GPS_RSTN on GPIO21 */
498 reset-gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
499 /* GPS_ON_OFF on GPIO96 */
500 sirf,onoff-gpios = <&gpio3 0 GPIO_ACTIVE_HIGH>;
501 /* GPS_1V8 (VSMPS2) */
502 vcc-supply = <&db8500_vsmps2_reg>;
503 pinctrl-names = "default";
504 pinctrl-0 = <&gsd4t_janice_default>;
505 /* According to /etc/sirfgps.conf */
506 current-speed = <460800>;
510 /* Debugging console UART connected to TSU6111RSVR (FSA880) */
513 pinctrl-names = "default", "sleep";
514 pinctrl-0 = <&u2rxtx_c_1_default>;
515 pinctrl-1 = <&u2rxtx_c_1_sleep>;
521 pinctrl-names = "default", "sleep";
522 pinctrl-0 = <&usb_a_1_default>;
523 pinctrl-1 = <&usb_a_1_sleep>;
527 line-impedance-micro-ohms = <15000>;
532 /* Used for VDD for sensors */
533 regulator-name = "V-SENSORS-VDD";
534 regulator-min-microvolt = <3000000>;
535 regulator-max-microvolt = <3000000>;
539 /* Used for VIO for sensors */
540 regulator-name = "V-SENSORS-VIO";
541 regulator-min-microvolt = <1800000>;
542 regulator-max-microvolt = <1800000>;
546 /* Used for voltage for external MMC/SD card */
547 regulator-name = "V-MMC-SD";
548 regulator-min-microvolt = <1200000>;
549 regulator-max-microvolt = <2910000>;
558 pinctrl-names = "default", "sleep";
559 pinctrl-0 = <&i2c0_a_1_default>;
560 pinctrl-1 = <&i2c0_a_1_sleep>;
563 /* Janice has the GP2AP002A00F with light sensor */
564 compatible = "sharp,gp2ap002a00f";
565 clock-frequency = <400000>;
568 interrupt-parent = <&gpio4>;
569 interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
570 vdd-supply = <&ab8500_ldo_aux1_reg>;
571 vio-supply = <&ab8500_ldo_aux2_reg>;
572 /* ADC channel AUX2 to read ALSOUT ambient light sensor out */
573 io-channels = <&gp2a_shunt>;
574 io-channel-names = "alsout";
575 pinctrl-names = "default";
576 pinctrl-0 = <&gp2ap002_janice_default>;
577 /* B1 mode (arch/arm/mach-ux500/include/mach/gp2a.h) */
578 sharp,proximity-far-hysteresis = /bits/ 8 <0x40>;
579 sharp,proximity-close-hysteresis = /bits/ 8 <0x0f>;
583 /* I2C1 on GPIO16 and GPIO17 also called "MUS I2C" */
586 pinctrl-names = "default","sleep";
587 pinctrl-0 = <&i2c1_b_2_default>;
588 pinctrl-1 = <&i2c1_b_2_sleep>;
590 /* Texas Instruments TSU6111 micro USB switch */
592 compatible = "ti,tsu6111";
594 /* Interrupt JACK_INT_N on GPIO95 */
595 interrupt-parent = <&gpio2>;
596 interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
597 pinctrl-names = "default";
598 pinctrl-0 = <&tsu6111_janice_default>;
602 /* I2C2 on GPIO10 and GPIO11 also called "SENSORS I2C" */
605 pinctrl-names = "default", "sleep";
606 pinctrl-0 = <&i2c2_b_2_default>;
607 pinctrl-1 = <&i2c2_b_2_sleep>;
610 compatible = "invensense,mpu3050";
612 /* GPIO226 interrupt */
613 interrupt-parent = <&gpio7>;
614 interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
615 /* FIXME: no idea about this */
616 mount-matrix = "1", "0", "0",
619 vlogic-supply = <&ab8500_ldo_aux2_reg>; // 1.8V
620 vdd-supply = <&ab8500_ldo_aux1_reg>; // 3V
621 pinctrl-names = "default";
622 pinctrl-0 = <&mpu3050_janice_default>;
625 * The MPU-3050 acts as a hub for the
629 #address-cells = <1>;
632 /* Bosch BMA222 accelerometer */
634 compatible = "bosch,bma222";
636 mount-matrix = "0", "1", "0",
639 vddio-supply = <&ab8500_ldo_aux2_reg>; // 1.8V
640 vdd-supply = <&ab8500_ldo_aux1_reg>; // 3V
650 pinctrl-names = "default", "sleep";
651 pinctrl-0 = <&i2c3_c_2_default>;
652 pinctrl-1 = <&i2c3_c_2_sleep>;
654 /* Atmel mXT224E touchscreen */
656 compatible = "atmel,maxtouch";
658 /* GPIO218 (TSP_INT_1V8) */
659 interrupt-parent = <&gpio6>;
660 interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
661 /* VDDA is "analog supply", 2.57-3.47 V */
662 vdda-supply = <&ldo_tsp_3v3_reg>;
663 /* VDD is "digital supply" 1.71-3.47V */
664 vdd-supply = <&ldo_tsp_1v8_reg>;
665 pinctrl-names = "default";
666 pinctrl-0 = <&tsp_default>;
672 pinctrl-names = "default";
673 pinctrl-0 = <&dpi_default_mode>;
676 display_out: endpoint {
677 remote-endpoint = <&panel_in>;
686 * This extends the MC0_A_2 default config to include
687 * the card detect GPIO217 line.
692 pins = "GPIO217_AH12"; /* card detect */
693 ste,config = <&gpio_in_pd>;
698 dpi_default_mode: dpi_default {
700 /* Mux in all the data lines */
703 /* Data lines D0-D7 GPIO70..GPIO77 */
705 /* Data lines D8-D11 GPIO78..GPIO81 */
707 /* Data lines D12-D15 GPIO82..GPIO85 */
709 /* Data lines D16-D23 GPIO161..GPIO168 */
714 /* Clock line on GPIO150, DE, VSO, HSO on GPIO169..GPIO171 */
715 groups = "lcdaclk_b_1", "lcda_b_1";
717 /* Input, no pull-up is the default state for pins used for an alt function */
719 pins = "GPIO150_C14", "GPIO169_D22", "GPIO170_C23", "GPIO171_D23";
720 ste,config = <&in_nopull>;
724 /* GPIO for panel reset control */
726 panel_default_mode: panel_default {
730 ste,config = <&gpio_out_lo>;
734 /* GPIO that enables the LDO regulator for the eMMC */
736 emmc_ldo_en_default_mode: emmc_ldo_default {
737 /* LDO enable on GPIO6 */
740 ste,config = <&gpio_out_hi>;
744 /* GPIO that enables the LDO regulator for the touchscreen */
746 tsp_ldo_en_default_mode: tsp_ldo_default {
747 /* LDO enable on GPIO94 */
750 ste,config = <&gpio_out_hi>;
754 /* GPIO that enables the LDO regulator for the key LED */
756 en_led_ldo_default_mode: en_led_ldo_default {
757 /* EN_LED_LDO on GPIO68 */
760 ste,config = <&gpio_out_hi>;
764 /* GPIO that enables the LDO regulator for the touchkeys */
766 tsp_ldo_on2_default_mode: tsp_ldo_on2_default {
767 /* TSP_LDO_ON2 on GPIO89 */
770 ste,config = <&gpio_out_lo>;
775 touchkey_default_mode: touchkey_default {
778 pins = "GPIO198_AG25";
779 ste,config = <&gpio_in_nopull>;
782 /* Reset, actually completely unused (not routed) */
783 pins = "GPIO205_AG23";
784 ste,config = <&gpio_in_pd>;
788 /* GPIO that enabled the LDO regulator for the LCD display */
790 lcd_pwr_en_default_mode: lcd_pwr_en_default {
791 /* LCD_PWR_EN on GPIO219 */
793 pins = "GPIO219_AG10";
794 ste,config = <&gpio_out_hi>;
798 /* GPIO that enables the WLAN internal LDO regulators */
800 wlan_ldo_en_default: wlan_ldo_default {
801 /* GPIO215 named WLAN_RST_N */
803 pins = "GPIO215_AH13";
804 ste,config = <&gpio_out_lo>;
808 /* Flash and torch */
810 gpio_flash_default_mode: flash_default {
812 pins = "GPIO140_B11", "GPIO141_C12";
813 ste,config = <&gpio_out_lo>;
819 gpio_keys_default_mode: gpio_keys_default {
821 pins = "GPIO67_G2", /* VOL UP */
822 "GPIO91_B6", /* HOME */
823 "GPIO92_D6"; /* VOL DOWN */
824 ste,config = <&gpio_in_pu>;
828 /* Interrupt line for the Atmel MXT228 touchscreen */
830 tsp_default: tsp_default {
832 pins = "GPIO218_AH11"; /* TSP_INT_1V8 */
833 ste,config = <&gpio_in_nopull>;
837 /* Reset line for the Yamaha YAS529 magnetometer */
839 yas529_default: yas529_janice {
841 pins = "GPIO204_AF23";
842 ste,config = <&gpio_out_hi>;
846 /* Interrupt line for light/proximity sensor GP2AP002 */
848 gp2ap002_janice_default: gp2ap002_janice {
850 pins = "GPIO146_D13";
851 ste,config = <&gpio_in_nopull>;
855 /* Interrupt line for Invensense MPU3050 gyroscope */
857 mpu3050_janice_default: mpu3050_janice {
859 /* GPIO226 used for IRQ */
860 pins = "GPIO226_AF8";
861 ste,config = <&gpio_in_nopull>;
865 /* GPIO-based I2C bus for magnetometer and NCP6914 */
867 i2c_gpio_0_default: i2c_gpio_0 {
869 pins = "GPIO143_D12", "GPIO144_B13";
870 ste,config = <&gpio_in_nopull>;
874 /* GPIO-based I2C bus for the Cypress touchkeys */
876 i2c_gpio_1_default: i2c_gpio_1 {
878 pins = "GPIO196_AG26", "GPIO197_AH24";
879 ste,config = <&gpio_in_nopull>;
883 /* GPIO-based I2C bus for the Immersion ISA1200 */
885 i2c_gpio_2_default: i2c_gpio_2 {
887 pins = "GPIO201_AF24", "GPIO202_AF25";
888 ste,config = <&gpio_in_nopull>;
892 /* GPIO-based I2C bus for the NFC */
894 i2c_gpio_3_default: i2c_gpio_3 {
896 pins = "GPIO151_D17", "GPIO152_D16";
897 ste,config = <&gpio_in_nopull>;
901 /* GPIO-based SPI bus for the display */
903 spi_gpio_0_default: spi_gpio_0 {
905 pins = "GPIO220_AH10", "GPIO223_AH9", "GPIO224_AG9";
906 ste,config = <&gpio_out_hi>;
908 /* This pin is unused but belongs with this SPI block */
910 pins = "GPIO225_AG8";
911 ste,config = <&in_pd>;
916 wlan_default_mode: wlan_default {
917 /* GPIO216 for WL_HOST_WAKE */
919 pins = "GPIO216_AG12";
920 ste,config = <&gpio_in_pd>;
925 bluetooth_default_mode: bluetooth_default {
926 /* GPIO199 BT_WAKE and GPIO222 BT_VREG_ON */
928 pins = "GPIO199_AH23", "GPIO222_AJ9";
929 ste,config = <&gpio_out_lo>;
931 /* GPIO97 BT_HOST_WAKE */
934 ste,config = <&gpio_in_nopull>;
936 /* GPIO209 BT_RST_N */
938 pins = "GPIO209_AG15";
939 ste,config = <&gpio_out_hi>;
943 /* Interrupt line for TI TSU6111 Micro USB switch */
945 tsu6111_janice_default: tsu6111_janice {
947 /* GPIO95 used for IRQ */
949 ste,config = <&gpio_in_nopull>;
954 pn547_janice_default: pn547_janice {
958 ste,config = <&gpio_in_nopull>;
960 /* Enable and firmware GPIOs */
962 pins = "GPIO31_V3", "GPIO88_C4";
963 ste,config = <&gpio_out_lo>;
968 gsd4t_janice_default: gsd4t_janice {
969 /* Reset line, start out asserted */
972 ste,config = <&gpio_out_lo>;
974 /* GPS_ON_OFF, start out deasserted (off) */
977 ste,config = <&gpio_out_lo>;
979 /* Unused power enablement line, used in R0.0 and R0.1 boards */
982 ste,config = <&gpio_in_pd>;