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