cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ste-ux500-samsung-skomer.dts (16972B)


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