Home | History | Annotate | Line # | Download | only in dts
      1  1.1  jmcneill // SPDX-License-Identifier: GPL-2.0-only
      2  1.1  jmcneill /dts-v1/;
      3  1.1  jmcneill 
      4  1.1  jmcneill #include "ste-db8500.dtsi"
      5  1.1  jmcneill #include "ste-ab8505.dtsi"
      6  1.1  jmcneill #include "ste-dbx5x0-pinctrl.dtsi"
      7  1.1  jmcneill #include <dt-bindings/gpio/gpio.h>
      8  1.1  jmcneill #include <dt-bindings/leds/common.h>
      9  1.1  jmcneill #include <dt-bindings/input/input.h>
     10  1.1  jmcneill #include <dt-bindings/interrupt-controller/irq.h>
     11  1.1  jmcneill 
     12  1.1  jmcneill /*
     13  1.1  jmcneill  * Note: This device tree cannot be booted directly with the Samsung bootloader.
     14  1.1  jmcneill  * You need an intermediate, device-tree compatible bootloader
     15  1.1  jmcneill  * that locks the L2 cache. Otherwise the kernel will crash after decompression.
     16  1.1  jmcneill  *
     17  1.1  jmcneill  * There is a port of (mainline) U-Boot, see
     18  1.1  jmcneill  * https://wiki.postmarketos.org/wiki/ST-Ericsson_NovaThor_U8500#U-Boot
     19  1.1  jmcneill  */
     20  1.1  jmcneill / {
     21  1.1  jmcneill 	model = "Samsung Galaxy S III mini (GT-I8190)";
     22  1.1  jmcneill 	compatible = "samsung,golden", "st-ericsson,u8500";
     23  1.1  jmcneill 
     24  1.1  jmcneill 	chosen {
     25  1.1  jmcneill 		stdout-path = &serial2;
     26  1.1  jmcneill 	};
     27  1.1  jmcneill 
     28  1.1  jmcneill 	i2c-gpio-0 {
     29  1.1  jmcneill 		compatible = "i2c-gpio";
     30  1.1  jmcneill 		sda-gpios = <&gpio2 14 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
     31  1.1  jmcneill 		scl-gpios = <&gpio2 13 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
     32  1.1  jmcneill 
     33  1.1  jmcneill 		pinctrl-names = "default";
     34  1.1  jmcneill 		pinctrl-0 = <&i2c_gpio_0_default>;
     35  1.1  jmcneill 
     36  1.1  jmcneill 		#address-cells = <1>;
     37  1.1  jmcneill 		#size-cells = <0>;
     38  1.1  jmcneill 
     39  1.1  jmcneill 		touchkey@20 {
     40  1.1  jmcneill 			compatible = "coreriver,tc360-touchkey";
     41  1.1  jmcneill 			reg = <0x20>;
     42  1.1  jmcneill 			vdd-supply = <&ab8500_ldo_aux4_reg>;
     43  1.1  jmcneill 			vcc-supply = <&ab8500_ldo_aux6_reg>;
     44  1.1  jmcneill 
     45  1.1  jmcneill 			interrupt-parent = <&gpio2>;
     46  1.1  jmcneill 			interrupts = <15 IRQ_TYPE_EDGE_FALLING>;
     47  1.1  jmcneill 
     48  1.1  jmcneill 			pinctrl-names = "default";
     49  1.1  jmcneill 			pinctrl-0 = <&touchkey_default>;
     50  1.1  jmcneill 			linux,keycodes = <KEY_MENU KEY_BACK>;
     51  1.1  jmcneill 		};
     52  1.1  jmcneill 	};
     53  1.1  jmcneill 
     54  1.1  jmcneill 	i2c-gpio-1 {
     55  1.1  jmcneill 		compatible = "i2c-gpio";
     56  1.1  jmcneill 		sda-gpios = <&gpio4 24 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
     57  1.1  jmcneill 		scl-gpios = <&gpio4 23 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
     58  1.1  jmcneill 
     59  1.1  jmcneill 		pinctrl-names = "default";
     60  1.1  jmcneill 		pinctrl-0 = <&i2c_gpio_1_default>;
     61  1.1  jmcneill 
     62  1.1  jmcneill 		#address-cells = <1>;
     63  1.1  jmcneill 		#size-cells = <0>;
     64  1.1  jmcneill 
     65  1.1  jmcneill 		magnetometer@c {
     66  1.1  jmcneill 			compatible = "alps,hscdtd008a";
     67  1.1  jmcneill 			reg = <0x0c>;
     68  1.1  jmcneill 
     69  1.1  jmcneill 			avdd-supply = <&ab8500_ldo_aux1_reg>;
     70  1.1  jmcneill 			dvdd-supply = <&ab8500_ldo_aux8_reg>;
     71  1.1  jmcneill 		};
     72  1.1  jmcneill 	};
     73  1.1  jmcneill 
     74  1.1  jmcneill 	soc {
     75  1.1  jmcneill 		/* External Micro SD card slot */
     76  1.1  jmcneill 		mmc@80126000 {
     77  1.1  jmcneill 			status = "okay";
     78  1.1  jmcneill 
     79  1.1  jmcneill 			arm,primecell-periphid = <0x10480180>;
     80  1.1  jmcneill 			max-frequency = <100000000>;
     81  1.1  jmcneill 			bus-width = <4>;
     82  1.1  jmcneill 
     83  1.1  jmcneill 			non-removable;
     84  1.1  jmcneill 			/*
     85  1.1  jmcneill 			 * Unfortunately, there is no way to enable the UHS
     86  1.1  jmcneill 			 * modes due to a limitation of the SD level translator:
     87  1.1  jmcneill 			 * It will either translate to 2.9V or disconnect the
     88  1.1  jmcneill 			 * DATA lines, so switching to 1.8V signal voltage fails.
     89  1.1  jmcneill 			 */
     90  1.1  jmcneill 			cap-sd-highspeed;
     91  1.1  jmcneill 			cap-mmc-highspeed;
     92  1.1  jmcneill 			st,sig-pin-fbclk;
     93  1.1  jmcneill 			full-pwr-cycle;
     94  1.1  jmcneill 
     95  1.1  jmcneill 			vmmc-supply = <&ab8500_ldo_aux3_reg>;
     96  1.1  jmcneill 			vqmmc-supply = <&sd_level_translator>;
     97  1.1  jmcneill 
     98  1.1  jmcneill 			pinctrl-names = "default", "sleep";
     99  1.1  jmcneill 			pinctrl-0 = <&mc0_a_2_default>;
    100  1.1  jmcneill 			pinctrl-1 = <&mc0_a_2_sleep>;
    101  1.1  jmcneill 		};
    102  1.1  jmcneill 
    103  1.1  jmcneill 		/* WLAN SDIO */
    104  1.1  jmcneill 		mmc@80118000 {
    105  1.1  jmcneill 			status = "okay";
    106  1.1  jmcneill 
    107  1.1  jmcneill 			arm,primecell-periphid = <0x10480180>;
    108  1.1  jmcneill 			max-frequency = <50000000>;
    109  1.1  jmcneill 			bus-width = <4>;
    110  1.1  jmcneill 
    111  1.1  jmcneill 			non-removable;
    112  1.1  jmcneill 			cap-sd-highspeed;
    113  1.1  jmcneill 
    114  1.1  jmcneill 			vmmc-supply = <&wl_reg_on>;
    115  1.1  jmcneill 
    116  1.1  jmcneill 			pinctrl-names = "default", "sleep";
    117  1.1  jmcneill 			pinctrl-0 = <&mc1_a_2_default>;
    118  1.1  jmcneill 			pinctrl-1 = <&mc1_a_2_sleep>;
    119  1.1  jmcneill 
    120  1.1  jmcneill 			#address-cells = <1>;
    121  1.1  jmcneill 			#size-cells = <0>;
    122  1.1  jmcneill 
    123  1.1  jmcneill 			wifi@1 {
    124  1.1  jmcneill 				compatible = "brcm,bcm4334-fmac", "brcm,bcm4329-fmac";
    125  1.1  jmcneill 				reg = <1>;
    126  1.1  jmcneill 
    127  1.1  jmcneill 				/* GPIO216 (WLAN_HOST_WAKE) */
    128  1.1  jmcneill 				interrupt-parent = <&gpio6>;
    129  1.1  jmcneill 				interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
    130  1.1  jmcneill 				interrupt-names = "host-wake";
    131  1.1  jmcneill 
    132  1.1  jmcneill 				pinctrl-names = "default";
    133  1.1  jmcneill 				pinctrl-0 = <&wlan_default>;
    134  1.1  jmcneill 			};
    135  1.1  jmcneill 		};
    136  1.1  jmcneill 
    137  1.1  jmcneill 		/* eMMC */
    138  1.1  jmcneill 		mmc@80005000 {
    139  1.1  jmcneill 			status = "okay";
    140  1.1  jmcneill 
    141  1.1  jmcneill 			arm,primecell-periphid = <0x10480180>;
    142  1.1  jmcneill 			max-frequency = <100000000>;
    143  1.1  jmcneill 			bus-width = <8>;
    144  1.1  jmcneill 
    145  1.1  jmcneill 			non-removable;
    146  1.1  jmcneill 			cap-mmc-highspeed;
    147  1.1  jmcneill 			mmc-ddr-1_8v;
    148  1.1  jmcneill 			no-sdio;
    149  1.1  jmcneill 			no-sd;
    150  1.1  jmcneill 
    151  1.1  jmcneill 			vmmc-supply = <&vmem_3v3>;
    152  1.1  jmcneill 
    153  1.1  jmcneill 			pinctrl-names = "default", "sleep";
    154  1.1  jmcneill 			pinctrl-0 = <&mc2_a_1_default>;
    155  1.1  jmcneill 			pinctrl-1 = <&mc2_a_1_sleep>;
    156  1.1  jmcneill 		};
    157  1.1  jmcneill 
    158  1.1  jmcneill 		/* BT UART */
    159  1.1  jmcneill 		uart@80120000 {
    160  1.1  jmcneill 			status = "okay";
    161  1.1  jmcneill 
    162  1.1  jmcneill 			pinctrl-names = "default", "sleep";
    163  1.1  jmcneill 			pinctrl-0 = <&u0_a_1_default>;
    164  1.1  jmcneill 			pinctrl-1 = <&u0_a_1_sleep>;
    165  1.1  jmcneill 
    166  1.1  jmcneill 			bluetooth {
    167  1.1  jmcneill 				/* BCM4334B0 actually */
    168  1.1  jmcneill 				compatible = "brcm,bcm4330-bt";
    169  1.1  jmcneill 				/* GPIO222 (BT_VREG_ON) */
    170  1.1  jmcneill 				shutdown-gpios = <&gpio6 30 GPIO_ACTIVE_HIGH>;
    171  1.1  jmcneill 				/* GPIO199 (BT_WAKE) */
    172  1.1  jmcneill 				device-wakeup-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
    173  1.1  jmcneill 				/* GPIO97 (BT_HOST_WAKE) */
    174  1.1  jmcneill 				host-wakeup-gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>;
    175  1.1  jmcneill 
    176  1.1  jmcneill 				pinctrl-names = "default";
    177  1.1  jmcneill 				pinctrl-0 = <&bluetooth_default>;
    178  1.1  jmcneill 			};
    179  1.1  jmcneill 		};
    180  1.1  jmcneill 
    181  1.1  jmcneill 		/* GPF UART */
    182  1.1  jmcneill 		uart@80121000 {
    183  1.1  jmcneill 			status = "okay";
    184  1.1  jmcneill 
    185  1.1  jmcneill 			pinctrl-names = "default", "sleep";
    186  1.1  jmcneill 			pinctrl-0 = <&u1rxtx_a_1_default &u1ctsrts_a_1_default>;
    187  1.1  jmcneill 			pinctrl-1 = <&u1rxtx_a_1_sleep &u1ctsrts_a_1_sleep>;
    188  1.1  jmcneill 		};
    189  1.1  jmcneill 
    190  1.1  jmcneill 		/* Debugging console UART */
    191  1.1  jmcneill 		uart@80007000 {
    192  1.1  jmcneill 			status = "okay";
    193  1.1  jmcneill 
    194  1.1  jmcneill 			pinctrl-names = "default", "sleep";
    195  1.1  jmcneill 			pinctrl-0 = <&u2rxtx_c_1_default>;
    196  1.1  jmcneill 			pinctrl-1 = <&u2rxtx_c_1_sleep>;
    197  1.1  jmcneill 		};
    198  1.1  jmcneill 
    199  1.1  jmcneill 		i2c@80004000 {
    200  1.1  jmcneill 			status = "okay";
    201  1.1  jmcneill 
    202  1.1  jmcneill 			pinctrl-names = "default", "sleep";
    203  1.1  jmcneill 			pinctrl-0 = <&i2c0_a_1_default>;
    204  1.1  jmcneill 			pinctrl-1 = <&i2c0_a_1_sleep>;
    205  1.1  jmcneill 
    206  1.1  jmcneill 			proximity@44 {
    207  1.1  jmcneill 				compatible = "sharp,gp2ap002s00f";
    208  1.1  jmcneill 				reg = <0x44>;
    209  1.1  jmcneill 
    210  1.1  jmcneill 				/* GPIO146 (PS_INT) */
    211  1.1  jmcneill 				interrupt-parent = <&gpio4>;
    212  1.1  jmcneill 				interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
    213  1.1  jmcneill 
    214  1.1  jmcneill 				vdd-supply = <&ab8500_ldo_aux1_reg>;
    215  1.1  jmcneill 				vio-supply = <&ab8500_ldo_aux8_reg>;
    216  1.1  jmcneill 
    217  1.1  jmcneill 				pinctrl-names = "default";
    218  1.1  jmcneill 				pinctrl-0 = <&proximity_default>;
    219  1.1  jmcneill 
    220  1.1  jmcneill 				sharp,proximity-far-hysteresis = <0x40>;
    221  1.1  jmcneill 				sharp,proximity-close-hysteresis = <0x0f>;
    222  1.1  jmcneill 			};
    223  1.1  jmcneill 		};
    224  1.1  jmcneill 
    225  1.1  jmcneill 		i2c@80128000 {
    226  1.1  jmcneill 			status = "okay";
    227  1.1  jmcneill 
    228  1.1  jmcneill 			pinctrl-names = "default", "sleep";
    229  1.1  jmcneill 			pinctrl-0 = <&i2c2_b_2_default>;
    230  1.1  jmcneill 			pinctrl-1 = <&i2c2_b_2_sleep>;
    231  1.1  jmcneill 
    232  1.1  jmcneill 			imu@68 {
    233  1.1  jmcneill 				compatible = "invensense,mpu6050";
    234  1.1  jmcneill 				reg = <0x68>;
    235  1.1  jmcneill 
    236  1.1  jmcneill 				/* GPIO206 (ACC_INT) */
    237  1.1  jmcneill 				interrupt-parent = <&gpio6>;
    238  1.1  jmcneill 				interrupts = <14 IRQ_TYPE_EDGE_RISING>;
    239  1.1  jmcneill 
    240  1.1  jmcneill 				mount-matrix = "0", "1", "0",
    241  1.1  jmcneill 					      "-1", "0", "0",
    242  1.1  jmcneill 					       "0", "0", "1";
    243  1.1  jmcneill 
    244  1.1  jmcneill 				vdd-supply = <&ab8500_ldo_aux1_reg>;
    245  1.1  jmcneill 				vddio-supply = <&ab8500_ldo_aux8_reg>;
    246  1.1  jmcneill 
    247  1.1  jmcneill 				pinctrl-names = "default";
    248  1.1  jmcneill 				pinctrl-0 = <&imu_default>;
    249  1.1  jmcneill 			};
    250  1.1  jmcneill 		};
    251  1.1  jmcneill 
    252  1.1  jmcneill 		i2c@80110000 {
    253  1.1  jmcneill 			status = "okay";
    254  1.1  jmcneill 
    255  1.1  jmcneill 			pinctrl-names = "default", "sleep";
    256  1.1  jmcneill 			pinctrl-0 = <&i2c3_c_2_default>;
    257  1.1  jmcneill 			pinctrl-1 = <&i2c3_c_2_sleep>;
    258  1.1  jmcneill 
    259  1.1  jmcneill 			touchscreen@4a {
    260  1.1  jmcneill 				compatible = "atmel,maxtouch";
    261  1.1  jmcneill 				reg = <0x4a>;
    262  1.1  jmcneill 
    263  1.1  jmcneill 				/* GPIO218 (TSP_INT_1V8) */
    264  1.1  jmcneill 				interrupt-parent = <&gpio6>;
    265  1.1  jmcneill 				interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
    266  1.1  jmcneill 
    267  1.1  jmcneill 				/* VDDA is "analog supply", 2.57-3.47 V */
    268  1.1  jmcneill 				vdda-supply = <&ab8500_ldo_aux2_reg>;
    269  1.1  jmcneill 				/* VDD is "digital supply" 1.71-3.47V */
    270  1.1  jmcneill 				vdd-supply = <&ab8500_ldo_aux5_reg>;
    271  1.1  jmcneill 
    272  1.1  jmcneill 				pinctrl-names = "default";
    273  1.1  jmcneill 				pinctrl-0 = <&tsp_default>;
    274  1.1  jmcneill 			};
    275  1.1  jmcneill 		};
    276  1.1  jmcneill 
    277  1.1  jmcneill 		prcmu@80157000 {
    278  1.1  jmcneill 			ab8505 {
    279  1.1  jmcneill 				ab8500_usb {
    280  1.1  jmcneill 					pinctrl-names = "default", "sleep";
    281  1.1  jmcneill 					pinctrl-0 = <&usb_a_1_default>;
    282  1.1  jmcneill 					pinctrl-1 = <&usb_a_1_sleep>;
    283  1.1  jmcneill 				};
    284  1.1  jmcneill 
    285  1.1  jmcneill 				ab8505-regulators {
    286  1.1  jmcneill 					ab8500_ldo_aux1 {
    287  1.1  jmcneill 						regulator-name = "sensor_3v";
    288  1.1  jmcneill 						regulator-min-microvolt = <3000000>;
    289  1.1  jmcneill 						regulator-max-microvolt = <3000000>;
    290  1.1  jmcneill 					};
    291  1.1  jmcneill 
    292  1.1  jmcneill 					ab8500_ldo_aux2 {
    293  1.1  jmcneill 						regulator-name = "vreg_tsp_a3v3";
    294  1.1  jmcneill 						regulator-min-microvolt = <3300000>;
    295  1.1  jmcneill 						regulator-max-microvolt = <3300000>;
    296  1.1  jmcneill 					};
    297  1.1  jmcneill 
    298  1.1  jmcneill 					ab8500_ldo_aux3 {
    299  1.1  jmcneill 						regulator-name = "vdd_tf_2v91";
    300  1.1  jmcneill 					};
    301  1.1  jmcneill 
    302  1.1  jmcneill 					ab8500_ldo_aux4 {
    303  1.1  jmcneill 						regulator-name = "key_led_3.3v";
    304  1.1  jmcneill 						regulator-min-microvolt = <3300000>;
    305  1.1  jmcneill 						regulator-max-microvolt = <3300000>;
    306  1.1  jmcneill 					};
    307  1.1  jmcneill 
    308  1.1  jmcneill 					ab8500_ldo_aux5 {
    309  1.1  jmcneill 						regulator-name = "vreg_tsp_1v8";
    310  1.1  jmcneill 						regulator-min-microvolt = <1800000>;
    311  1.1  jmcneill 						regulator-max-microvolt = <1800000>;
    312  1.1  jmcneill 					};
    313  1.1  jmcneill 
    314  1.1  jmcneill 					ab8500_ldo_aux6 {
    315  1.1  jmcneill 						regulator-name = "touch_key_2.2v";
    316  1.1  jmcneill 						regulator-min-microvolt = <2200000>;
    317  1.1  jmcneill 						regulator-max-microvolt = <2200000>;
    318  1.1  jmcneill 					};
    319  1.1  jmcneill 
    320  1.1  jmcneill 					ab8500_ldo_aux8 {
    321  1.1  jmcneill 						regulator-name = "sensor_1v8";
    322  1.1  jmcneill 					};
    323  1.1  jmcneill 				};
    324  1.1  jmcneill 			};
    325  1.1  jmcneill 		};
    326  1.1  jmcneill 
    327  1.1  jmcneill 		mcde@a0350000 {
    328  1.1  jmcneill 			status = "okay";
    329  1.1  jmcneill 			pinctrl-names = "default";
    330  1.1  jmcneill 			pinctrl-0 = <&dsi_default_mode>;
    331  1.1  jmcneill 
    332  1.1  jmcneill 			dsi@a0351000 {
    333  1.1  jmcneill 				panel@0 {
    334  1.1  jmcneill 					compatible = "samsung,s6e63m0";
    335  1.1  jmcneill 					reg = <0>;
    336  1.1  jmcneill 					max-brightness = <15>;
    337  1.1  jmcneill 					vdd3-supply = <&panel_reg_3v0>;
    338  1.1  jmcneill 					vci-supply = <&panel_reg_1v8>;
    339  1.1  jmcneill 					reset-gpios = <&gpio4 11 GPIO_ACTIVE_LOW>;
    340  1.1  jmcneill 					/* ESD (electrostatic discharge) detection interrupt */
    341  1.1  jmcneill 					interrupt-parent = <&gpio2>;
    342  1.1  jmcneill 					interrupts = <18 IRQ_TYPE_EDGE_RISING>;
    343  1.1  jmcneill 					interrupt-names = "esd";
    344  1.1  jmcneill 					pinctrl-names = "default";
    345  1.1  jmcneill 					pinctrl-0 = <&display_default_mode>;
    346  1.1  jmcneill 				};
    347  1.1  jmcneill 			};
    348  1.1  jmcneill 		};
    349  1.1  jmcneill 	};
    350  1.1  jmcneill 
    351  1.1  jmcneill 	gpio-keys {
    352  1.1  jmcneill 		compatible = "gpio-keys";
    353  1.1  jmcneill 
    354  1.1  jmcneill 		pinctrl-names = "default";
    355  1.1  jmcneill 		pinctrl-0 = <&gpio_keys_default>;
    356  1.1  jmcneill 
    357  1.1  jmcneill 		label = "GPIO Buttons";
    358  1.1  jmcneill 
    359  1.1  jmcneill 		volume-up {
    360  1.1  jmcneill 			label = "Volume Up";
    361  1.1  jmcneill 			/* GPIO67 (VOL_UP) */
    362  1.1  jmcneill 			gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
    363  1.1  jmcneill 			linux,code = <KEY_VOLUMEUP>;
    364  1.1  jmcneill 		};
    365  1.1  jmcneill 
    366  1.1  jmcneill 		volume-down {
    367  1.1  jmcneill 			label = "Volume Down";
    368  1.1  jmcneill 			/* GPIO92 (VOL_DOWN) */
    369  1.1  jmcneill 			gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;
    370  1.1  jmcneill 			linux,code = <KEY_VOLUMEDOWN>;
    371  1.1  jmcneill 		};
    372  1.1  jmcneill 
    373  1.1  jmcneill 		home {
    374  1.1  jmcneill 			label = "Home";
    375  1.1  jmcneill 			/* GPIO91 (HOME_KEY) */
    376  1.1  jmcneill 			gpios = <&gpio2 27 GPIO_ACTIVE_LOW>;
    377  1.1  jmcneill 			linux,code = <KEY_HOMEPAGE>;
    378  1.1  jmcneill 		};
    379  1.1  jmcneill 	};
    380  1.1  jmcneill 
    381  1.1  jmcneill 	/* Richtek RT8515GQW Flash LED Driver IC */
    382  1.1  jmcneill 	flash {
    383  1.1  jmcneill 		compatible = "richtek,rt8515";
    384  1.1  jmcneill 		/* GPIO 140 */
    385  1.1  jmcneill 		enf-gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>;
    386  1.1  jmcneill 		/* GPIO 141 */
    387  1.1  jmcneill 		ent-gpios = <&gpio4 13 GPIO_ACTIVE_HIGH>;
    388  1.1  jmcneill 		/*
    389  1.1  jmcneill 		 * RFS is 16 kOhm and RTS is 100 kOhm giving
    390  1.1  jmcneill 		 * the flash max current 343mA and torch max
    391  1.1  jmcneill 		 * current 55 mA.
    392  1.1  jmcneill 		 */
    393  1.1  jmcneill 		richtek,rfs-ohms = <16000>;
    394  1.1  jmcneill 		richtek,rts-ohms = <100000>;
    395  1.1  jmcneill 		pinctrl-names = "default";
    396  1.1  jmcneill 		pinctrl-0 = <&gpio_flash_default_mode>;
    397  1.1  jmcneill 
    398  1.1  jmcneill 		led {
    399  1.1  jmcneill 			function = LED_FUNCTION_FLASH;
    400  1.1  jmcneill 			color = <LED_COLOR_ID_WHITE>;
    401  1.1  jmcneill 			flash-max-timeout-us = <250000>;
    402  1.1  jmcneill 			flash-max-microamp = <343750>;
    403  1.1  jmcneill 			led-max-microamp = <55000>;
    404  1.1  jmcneill 		};
    405  1.1  jmcneill 	};
    406  1.1  jmcneill 
    407  1.1  jmcneill 	vibrator {
    408  1.1  jmcneill 		compatible = "gpio-vibrator";
    409  1.1  jmcneill 		/* GPIO195 (MOT_EN) */
    410  1.1  jmcneill 		enable-gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>;
    411  1.1  jmcneill 
    412  1.1  jmcneill 		pinctrl-names = "default";
    413  1.1  jmcneill 		pinctrl-0 = <&vibrator_default>;
    414  1.1  jmcneill 	};
    415  1.1  jmcneill 
    416  1.1  jmcneill 	/* External LDO for eMMC */
    417  1.1  jmcneill 	vmem_3v3: regulator-vmem {
    418  1.1  jmcneill 		compatible = "regulator-fixed";
    419  1.1  jmcneill 
    420  1.1  jmcneill 		regulator-name = "vmem_3v3";
    421  1.1  jmcneill 		regulator-min-microvolt = <3300000>;
    422  1.1  jmcneill 		regulator-max-microvolt = <3300000>;
    423  1.1  jmcneill 		regulator-boot-on;
    424  1.1  jmcneill 
    425  1.1  jmcneill 		startup-delay-us = <200>;
    426  1.1  jmcneill 
    427  1.1  jmcneill 		/* GPIO223 (MEM_LDO_EN) */
    428  1.1  jmcneill 		gpio = <&gpio6 31 GPIO_ACTIVE_HIGH>;
    429  1.1  jmcneill 		enable-active-high;
    430  1.1  jmcneill 
    431  1.1  jmcneill 		pinctrl-names = "default";
    432  1.1  jmcneill 		pinctrl-0 = <&mem_ldo_default>;
    433  1.1  jmcneill 	};
    434  1.1  jmcneill 
    435  1.1  jmcneill 	/* TI TXS0206-29 level translator for 2.9 V */
    436  1.1  jmcneill 	sd_level_translator: regulator-sd-level-translator {
    437  1.1  jmcneill 		compatible = "regulator-fixed";
    438  1.1  jmcneill 
    439  1.1  jmcneill 		regulator-name = "sd-level-translator";
    440  1.1  jmcneill 		regulator-min-microvolt = <2900000>;
    441  1.1  jmcneill 		regulator-max-microvolt = <2900000>;
    442  1.1  jmcneill 
    443  1.1  jmcneill 		startup-delay-us = <200>;
    444  1.1  jmcneill 
    445  1.1  jmcneill 		/* GPIO87 (TXS0206-29_EN) */
    446  1.1  jmcneill 		gpios = <&gpio2 23 GPIO_ACTIVE_HIGH>;
    447  1.1  jmcneill 		enable-active-high;
    448  1.1  jmcneill 
    449  1.1  jmcneill 		pinctrl-names = "default";
    450  1.1  jmcneill 		pinctrl-0 = <&sd_level_translator_default>;
    451  1.1  jmcneill 	};
    452  1.1  jmcneill 
    453  1.1  jmcneill 	/*
    454  1.1  jmcneill 	 * WL_REG_ON takes WLAN out of reset and enables the internal regulators.
    455  1.1  jmcneill 	 * The voltage specified here is only used to determine the OCR mask,
    456  1.1  jmcneill 	 * the BCM chip is actually connected directly to VBAT.
    457  1.1  jmcneill 	 */
    458  1.1  jmcneill 	wl_reg_on: regulator-wl-reg-on {
    459  1.1  jmcneill 		compatible = "regulator-fixed";
    460  1.1  jmcneill 
    461  1.1  jmcneill 		regulator-name = "wl-reg-on";
    462  1.1  jmcneill 		regulator-min-microvolt = <3000000>;
    463  1.1  jmcneill 		regulator-max-microvolt = <3000000>;
    464  1.1  jmcneill 
    465  1.1  jmcneill 		startup-delay-us = <100000>;
    466  1.1  jmcneill 
    467  1.1  jmcneill 		/* GPIO215 (WLAN_EN) */
    468  1.1  jmcneill 		gpio = <&gpio6 23 GPIO_ACTIVE_HIGH>;
    469  1.1  jmcneill 		enable-active-high;
    470  1.1  jmcneill 
    471  1.1  jmcneill 		pinctrl-names = "default";
    472  1.1  jmcneill 		pinctrl-0 = <&wlan_en_default>;
    473  1.1  jmcneill 	};
    474  1.1  jmcneill 
    475  1.1  jmcneill 	/* MIC5366 GPIO-controlled regulator */
    476  1.1  jmcneill 	panel_reg_1v8: regulator-panel-1v8 {
    477  1.1  jmcneill 		compatible = "regulator-fixed";
    478  1.1  jmcneill 
    479  1.1  jmcneill 		regulator-name = "panel-fixed-supply";
    480  1.1  jmcneill 		regulator-min-microvolt = <1800000>;
    481  1.1  jmcneill 		regulator-max-microvolt = <1800000>;
    482  1.1  jmcneill 		/* GPIO219 */
    483  1.1  jmcneill 		gpio = <&gpio6 27 GPIO_ACTIVE_HIGH>;
    484  1.1  jmcneill 
    485  1.1  jmcneill 		startup-delay-us = <200>;
    486  1.1  jmcneill 		enable-active-high;
    487  1.1  jmcneill 
    488  1.1  jmcneill 		pinctrl-names = "default";
    489  1.1  jmcneill 		pinctrl-0 = <&panel_reg_default_mode>;
    490  1.1  jmcneill 	};
    491  1.1  jmcneill 
    492  1.1  jmcneill 	/* MIC5366 GPIO-controlled regulator */
    493  1.1  jmcneill 	panel_reg_3v0: regulator-panel-3v0 {
    494  1.1  jmcneill 		compatible = "regulator-fixed";
    495  1.1  jmcneill 
    496  1.1  jmcneill 		regulator-name = "panel-fixed-supply";
    497  1.1  jmcneill 		regulator-min-microvolt = <3000000>;
    498  1.1  jmcneill 		regulator-max-microvolt = <3000000>;
    499  1.1  jmcneill 		/* GPIO219 */
    500  1.1  jmcneill 		gpio = <&gpio6 27 GPIO_ACTIVE_HIGH>;
    501  1.1  jmcneill 
    502  1.1  jmcneill 		startup-delay-us = <200>;
    503  1.1  jmcneill 		enable-active-high;
    504  1.1  jmcneill 
    505  1.1  jmcneill 		pinctrl-names = "default";
    506  1.1  jmcneill 		pinctrl-0 = <&panel_reg_default_mode>;
    507  1.1  jmcneill 	};
    508  1.1  jmcneill };
    509  1.1  jmcneill 
    510  1.1  jmcneill &pinctrl {
    511  1.1  jmcneill 	gpio-keys {
    512  1.1  jmcneill 		gpio_keys_default: gpio_keys_default {
    513  1.1  jmcneill 			golden_cfg1 {
    514  1.1  jmcneill 				pins = "GPIO67",	/* VOL_UP */
    515  1.1  jmcneill 				       "GPIO91",	/* HOME_KEY */
    516  1.1  jmcneill 				       "GPIO92";	/* VOL_DOWN */
    517  1.1  jmcneill 				ste,config = <&gpio_in_pu>;
    518  1.1  jmcneill 			};
    519  1.1  jmcneill 		};
    520  1.1  jmcneill 	};
    521  1.1  jmcneill 
    522  1.1  jmcneill 	i2c-gpio-0 {
    523  1.1  jmcneill 		i2c_gpio_0_default: i2c_gpio_0 {
    524  1.1  jmcneill 			golden_cfg1 {
    525  1.1  jmcneill 				pins = "GPIO77",	/* TOUCHKEY_SCL */
    526  1.1  jmcneill 				       "GPIO78";	/* TOUCHKEY_SDA */
    527  1.1  jmcneill 				ste,config = <&gpio_in_nopull>;
    528  1.1  jmcneill 			};
    529  1.1  jmcneill 		};
    530  1.1  jmcneill 	};
    531  1.1  jmcneill 
    532  1.1  jmcneill 	flash {
    533  1.1  jmcneill 		gpio_flash_default_mode: flash_default {
    534  1.1  jmcneill 			golden_cfg1 {
    535  1.1  jmcneill 				pins = "GPIO140_B11", "GPIO141_C12";
    536  1.1  jmcneill 				ste,config = <&gpio_out_lo>;
    537  1.1  jmcneill 			};
    538  1.1  jmcneill 		};
    539  1.1  jmcneill 	};
    540  1.1  jmcneill 
    541  1.1  jmcneill 	i2c-gpio-1 {
    542  1.1  jmcneill 		i2c_gpio_1_default: i2c_gpio_1 {
    543  1.1  jmcneill 			golden_cfg1 {
    544  1.1  jmcneill 				pins = "GPIO151",	/* COMP_SCL */
    545  1.1  jmcneill 				       "GPIO152";	/* COMP_SDA */
    546  1.1  jmcneill 				ste,config = <&gpio_in_nopull>;
    547  1.1  jmcneill 			};
    548  1.1  jmcneill 		};
    549  1.1  jmcneill 	};
    550  1.1  jmcneill 
    551  1.1  jmcneill 	touchkey {
    552  1.1  jmcneill 		touchkey_default: touchkey_default {
    553  1.1  jmcneill 			golden_cfg1 {
    554  1.1  jmcneill 				pins = "GPIO79";	/* TOUCHKEY_INT */
    555  1.1  jmcneill 				ste,config = <&gpio_in_nopull>;
    556  1.1  jmcneill 			};
    557  1.1  jmcneill 		};
    558  1.1  jmcneill 	};
    559  1.1  jmcneill 
    560  1.1  jmcneill 	sdi0 {
    561  1.1  jmcneill 		sd_level_translator_default: sd_level_translator_default {
    562  1.1  jmcneill 			golden_cfg1 {
    563  1.1  jmcneill 				pins = "GPIO87_B3";	/* TXS0206-29_EN */
    564  1.1  jmcneill 				ste,config = <&gpio_out_lo>;
    565  1.1  jmcneill 			};
    566  1.1  jmcneill 		};
    567  1.1  jmcneill 	};
    568  1.1  jmcneill 
    569  1.1  jmcneill 	sdi2 {
    570  1.1  jmcneill 		mem_ldo_default: mem_ldo_default {
    571  1.1  jmcneill 			golden_cfg1 {
    572  1.1  jmcneill 				pins = "GPIO223_AH9";	/* MEM_LDO_EN */
    573  1.1  jmcneill 				ste,config = <&gpio_out_hi>;
    574  1.1  jmcneill 			};
    575  1.1  jmcneill 		};
    576  1.1  jmcneill 	};
    577  1.1  jmcneill 
    578  1.1  jmcneill 	mcde {
    579  1.1  jmcneill 		dsi_default_mode: dsi_default {
    580  1.1  jmcneill 			default_mux1 {
    581  1.1  jmcneill 				/* Mux in VSI0 used for DSI TE */
    582  1.1  jmcneill 				function = "lcd";
    583  1.1  jmcneill 				groups =
    584  1.1  jmcneill 				"lcdvsi0_a_1"; /* VSI0 for LCD */
    585  1.1  jmcneill 			};
    586  1.1  jmcneill 			default_cfg1 {
    587  1.1  jmcneill 				pins =
    588  1.1  jmcneill 				"GPIO68_E1"; /* VSI0 */
    589  1.1  jmcneill 				ste,config = <&in_nopull>;
    590  1.1  jmcneill 			};
    591  1.1  jmcneill 		};
    592  1.1  jmcneill 	};
    593  1.1  jmcneill 
    594  1.1  jmcneill 	display {
    595  1.1  jmcneill 		display_default_mode: display_default {
    596  1.1  jmcneill 			golden_cfg1 {
    597  1.1  jmcneill 				pins = "GPIO139_C9"; /* MIPI_DSI0_RESET_N */
    598  1.1  jmcneill 				ste,config = <&gpio_out_lo>;
    599  1.1  jmcneill 			};
    600  1.1  jmcneill 			golden_cfg2 {
    601  1.1  jmcneill 				pins = "GPIO82_C1"; /* LDI_ESD_DET */
    602  1.1  jmcneill 				ste,config = <&gpio_in_pu>;
    603  1.1  jmcneill 			};
    604  1.1  jmcneill 		};
    605  1.1  jmcneill 		panel_reg_default_mode: panel_reg_default {
    606  1.1  jmcneill 			golden_cfg1 {
    607  1.1  jmcneill 				pins = "GPIO219_AG10"; /* LCD_PWR_EN */
    608  1.1  jmcneill 				ste,config = <&gpio_out_lo>;
    609  1.1  jmcneill 			};
    610  1.1  jmcneill 		};
    611  1.1  jmcneill 	};
    612  1.1  jmcneill 
    613  1.1  jmcneill 	proximity {
    614  1.1  jmcneill 		proximity_default: proximity_default {
    615  1.1  jmcneill 			golden_cfg1 {
    616  1.1  jmcneill 				pins = "GPIO146_D13";	/* PS_INT */
    617  1.1  jmcneill 				ste,config = <&gpio_in_nopull>;
    618  1.1  jmcneill 			};
    619  1.1  jmcneill 		};
    620  1.1  jmcneill 	};
    621  1.1  jmcneill 
    622  1.1  jmcneill 	imu {
    623  1.1  jmcneill 		imu_default: imu_default {
    624  1.1  jmcneill 			golden_cfg1 {
    625  1.1  jmcneill 				pins = "GPIO206_AG24";	/* ACC_INT */
    626  1.1  jmcneill 				ste,config = <&gpio_in_pd>;
    627  1.1  jmcneill 			};
    628  1.1  jmcneill 		};
    629  1.1  jmcneill 	};
    630  1.1  jmcneill 
    631  1.1  jmcneill 	tsp {
    632  1.1  jmcneill 		tsp_default: tsp_default {
    633  1.1  jmcneill 			golden_cfg1 {
    634  1.1  jmcneill 				pins = "GPIO218_AH11";	/* TSP_INT_1V8 */
    635  1.1  jmcneill 				ste,config = <&gpio_in_nopull>;
    636  1.1  jmcneill 			};
    637  1.1  jmcneill 		};
    638  1.1  jmcneill 	};
    639  1.1  jmcneill 
    640  1.1  jmcneill 	wlan {
    641  1.1  jmcneill 		wlan_default: wlan_default {
    642  1.1  jmcneill 			golden_cfg1 {
    643  1.1  jmcneill 				pins = "GPIO216_AG12";	/* WLAN_HOST_WAKE */
    644  1.1  jmcneill 				ste,config = <&gpio_in_pd>;
    645  1.1  jmcneill 			};
    646  1.1  jmcneill 		};
    647  1.1  jmcneill 
    648  1.1  jmcneill 		wlan_en_default: wlan_en_default {
    649  1.1  jmcneill 			golden_cfg1 {
    650  1.1  jmcneill 				pins = "GPIO215_AH13";	/* WLAN_EN */
    651  1.1  jmcneill 				ste,config = <&gpio_out_lo>;
    652  1.1  jmcneill 			};
    653  1.1  jmcneill 		};
    654  1.1  jmcneill 	};
    655  1.1  jmcneill 
    656  1.1  jmcneill 	bluetooth {
    657  1.1  jmcneill 		bluetooth_default: bluetooth_default {
    658  1.1  jmcneill 			golden_cfg1 {
    659  1.1  jmcneill 				pins = "GPIO199_AH23",	/* BT_WAKE */
    660  1.1  jmcneill 				       "GPIO222_AJ9";	/* BT_VREG_ON */
    661  1.1  jmcneill 				ste,config = <&gpio_out_lo>;
    662  1.1  jmcneill 			};
    663  1.1  jmcneill 			golden_cfg2 {
    664  1.1  jmcneill 				pins = "GPIO97_D9";	/* BT_HOST_WAKE */
    665  1.1  jmcneill 				ste,config = <&gpio_in_nopull>;
    666  1.1  jmcneill 			};
    667  1.1  jmcneill 		};
    668  1.1  jmcneill 	};
    669  1.1  jmcneill 
    670  1.1  jmcneill 	vibrator {
    671  1.1  jmcneill 		vibrator_default: vibrator_default {
    672  1.1  jmcneill 			golden_cfg1 {
    673  1.1  jmcneill 				pins = "GPIO195_AG28";	/* MOT_EN */
    674  1.1  jmcneill 				ste,config = <&gpio_out_lo>;
    675  1.1  jmcneill 			};
    676  1.1  jmcneill 		};
    677  1.1  jmcneill 	};
    678  1.1  jmcneill };
    679  1.1  jmcneill 
    680  1.1  jmcneill &ab8505_gpio {
    681  1.1  jmcneill 	/* Hog a few default settings */
    682  1.1  jmcneill 	pinctrl-names = "default";
    683  1.1  jmcneill 	pinctrl-0 = <&gpio_default>;
    684  1.1  jmcneill 
    685  1.1  jmcneill 	gpio {
    686  1.1  jmcneill 		gpio_default: gpio_default {
    687  1.1  jmcneill 			golden_mux {
    688  1.1  jmcneill 				/* Change unused pins to GPIO mode */
    689  1.1  jmcneill 				function = "gpio";
    690  1.1  jmcneill 				groups = "gpio3_a_1",	/* default: SysClkReq4 */
    691  1.1  jmcneill 					 "gpio14_a_1";	/* default: PWMOut1 */
    692  1.1  jmcneill 			};
    693  1.1  jmcneill 			golden_cfg1 {
    694  1.1  jmcneill 				pins = "GPIO11_B17", "GPIO13_D17", "GPIO50_L4";
    695  1.1  jmcneill 				bias-disable;
    696  1.1  jmcneill 			};
    697  1.1  jmcneill 		};
    698  1.1  jmcneill 	};
    699  1.1  jmcneill };
    700