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