1724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2724ba675SRob Herring#include <dt-bindings/input/input.h> 3724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 4724ba675SRob Herring#include <dt-bindings/leds/common.h> 5724ba675SRob Herring#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 6724ba675SRob Herring#include <dt-bindings/pinctrl/qcom,pmic-mpp.h> 7724ba675SRob Herring#include "qcom-msm8660.dtsi" 8724ba675SRob Herring 9724ba675SRob Herring/ { 10724ba675SRob Herring model = "Qualcomm APQ8060 Dragonboard"; 11724ba675SRob Herring compatible = "qcom,apq8060-dragonboard", "qcom,msm8660"; 12724ba675SRob Herring 13724ba675SRob Herring aliases { 14724ba675SRob Herring serial0 = &gsbi12_serial; 15724ba675SRob Herring }; 16724ba675SRob Herring 17724ba675SRob Herring chosen { 18724ba675SRob Herring stdout-path = "serial0:115200n8"; 19724ba675SRob Herring }; 20724ba675SRob Herring 21724ba675SRob Herring /* Main power of the board: 3.7V */ 22724ba675SRob Herring vph: regulator-fixed { 23724ba675SRob Herring compatible = "regulator-fixed"; 24724ba675SRob Herring regulator-min-microvolt = <3700000>; 25724ba675SRob Herring regulator-max-microvolt = <3700000>; 26724ba675SRob Herring regulator-name = "VPH"; 27724ba675SRob Herring regulator-always-on; 28724ba675SRob Herring regulator-boot-on; 29724ba675SRob Herring }; 30724ba675SRob Herring 31724ba675SRob Herring /* GPIO controlled ethernet power regulator */ 32724ba675SRob Herring dragon_veth: xc622a331mrg { 33724ba675SRob Herring compatible = "regulator-fixed"; 34724ba675SRob Herring regulator-name = "XC6222A331MR-G"; 35724ba675SRob Herring regulator-min-microvolt = <3300000>; 36724ba675SRob Herring regulator-max-microvolt = <3300000>; 37724ba675SRob Herring vin-supply = <&vph>; 38724ba675SRob Herring gpio = <&pm8058_gpio 40 GPIO_ACTIVE_HIGH>; 39724ba675SRob Herring enable-active-high; 40724ba675SRob Herring pinctrl-names = "default"; 41724ba675SRob Herring pinctrl-0 = <&dragon_veth_gpios>; 42724ba675SRob Herring regulator-always-on; 43724ba675SRob Herring }; 44724ba675SRob Herring 45724ba675SRob Herring /* VDDvario fixed regulator */ 46724ba675SRob Herring dragon_vario: nds332p { 47724ba675SRob Herring compatible = "regulator-fixed"; 48724ba675SRob Herring regulator-name = "NDS332P"; 49724ba675SRob Herring regulator-min-microvolt = <1800000>; 50724ba675SRob Herring regulator-max-microvolt = <1800000>; 51724ba675SRob Herring vin-supply = <&pm8058_s3>; 52724ba675SRob Herring }; 53724ba675SRob Herring 54724ba675SRob Herring /* This is a levelshifter for SDCC5 */ 55724ba675SRob Herring dragon_vio_txb: txb0104rgyr { 56724ba675SRob Herring compatible = "regulator-fixed"; 57724ba675SRob Herring regulator-name = "Dragon SDCC levelshifter"; 58724ba675SRob Herring vin-supply = <&pm8058_l14>; 59724ba675SRob Herring regulator-always-on; 60724ba675SRob Herring }; 61724ba675SRob Herring 62724ba675SRob Herring /* 63724ba675SRob Herring * Capella CM3605 light and proximity sensor mounted directly 64724ba675SRob Herring * on the sensor board. 65724ba675SRob Herring */ 66724ba675SRob Herring cm3605 { 67724ba675SRob Herring compatible = "capella,cm3605"; 68724ba675SRob Herring vdd-supply = <&pm8058_l14>; // 2.85V 69724ba675SRob Herring aset-gpios = <&pm8058_gpio 35 GPIO_ACTIVE_LOW>; 70724ba675SRob Herring capella,aset-resistance-ohms = <100000>; 71724ba675SRob Herring /* Trig on both edges - getting close or far away */ 72724ba675SRob Herring interrupts-extended = <&pm8058_gpio 34 IRQ_TYPE_EDGE_BOTH>; 73724ba675SRob Herring /* MPP05 analog input to the XOADC */ 74c6d86aa8SDmitry Baryshkov io-channels = <&pm8058_xoadc 0x00 0x05>; 75724ba675SRob Herring io-channel-names = "aout"; 76724ba675SRob Herring pinctrl-names = "default"; 77724ba675SRob Herring pinctrl-0 = <&dragon_cm3605_gpios>, <&dragon_cm3605_mpps>; 78724ba675SRob Herring }; 79724ba675SRob Herring}; 80724ba675SRob Herring 81724ba675SRob Herring&ebi2 { 82724ba675SRob Herring /* The EBI2 will instantiate first, then populate its children */ 83724ba675SRob Herring pinctrl-names = "default"; 84724ba675SRob Herring pinctrl-0 = <&dragon_ebi2_pins>; 85724ba675SRob Herring status = "okay"; 86724ba675SRob Herring 87724ba675SRob Herring /* 88724ba675SRob Herring * An on-board SMSC LAN9221 chip for "debug ethernet", 89724ba675SRob Herring * which is actually just an ordinary ethernet on the 90724ba675SRob Herring * EBI2. This has a 25MHz chrystal next to it, so no 91724ba675SRob Herring * clocking is needed. 92724ba675SRob Herring */ 93724ba675SRob Herring ethernet@2,0 { 94724ba675SRob Herring compatible = "smsc,lan9221", "smsc,lan9115"; 95724ba675SRob Herring reg = <2 0x0 0x100>; 96724ba675SRob Herring /* 97724ba675SRob Herring * The second interrupt is the PME interrupt 98724ba675SRob Herring * for network wakeup, connected to the TLMM. 99724ba675SRob Herring */ 100724ba675SRob Herring interrupts-extended = <&pm8058_gpio 7 IRQ_TYPE_EDGE_FALLING>, 101724ba675SRob Herring <&tlmm 29 IRQ_TYPE_EDGE_RISING>; 102724ba675SRob Herring reset-gpios = <&tlmm 30 GPIO_ACTIVE_LOW>; 103724ba675SRob Herring vdd33a-supply = <&dragon_veth>; 104724ba675SRob Herring vddvario-supply = <&dragon_vario>; 105724ba675SRob Herring pinctrl-names = "default"; 106724ba675SRob Herring pinctrl-0 = <&dragon_ethernet_gpios>; 107724ba675SRob Herring phy-mode = "mii"; 108724ba675SRob Herring reg-io-width = <2>; 109724ba675SRob Herring smsc,force-external-phy; 110724ba675SRob Herring smsc,irq-push-pull; 111724ba675SRob Herring 112724ba675SRob Herring /* 113724ba675SRob Herring * SLOW chipselect config 114724ba675SRob Herring * Delay 9 cycles (140ns@64MHz) between SMSC 115724ba675SRob Herring * LAN9221 Ethernet controller reads and writes 116724ba675SRob Herring * on CS2. 117724ba675SRob Herring */ 118724ba675SRob Herring qcom,xmem-recovery-cycles = <0>; 119724ba675SRob Herring qcom,xmem-write-hold-cycles = <3>; 120724ba675SRob Herring qcom,xmem-write-delta-cycles = <31>; 121724ba675SRob Herring qcom,xmem-read-delta-cycles = <28>; 122724ba675SRob Herring qcom,xmem-write-wait-cycles = <9>; 123724ba675SRob Herring qcom,xmem-read-wait-cycles = <9>; 124724ba675SRob Herring }; 125724ba675SRob Herring}; 126724ba675SRob Herring 127724ba675SRob Herring&gsbi3 { 128724ba675SRob Herring qcom,mode = <GSBI_PROT_I2C>; 129724ba675SRob Herring status = "okay"; 130724ba675SRob Herring}; 131724ba675SRob Herring 132724ba675SRob Herring&gsbi3_i2c { 133724ba675SRob Herring pinctrl-names = "default"; 134724ba675SRob Herring pinctrl-0 = <&dragon_gsbi3_i2c_pins>; 135724ba675SRob Herring status = "okay"; 136724ba675SRob Herring 137724ba675SRob Herring touchscreen@24 { 138724ba675SRob Herring compatible = "cypress,cy8ctma340"; 139724ba675SRob Herring reg = <0x24>; 140724ba675SRob Herring /* Certainly we can do at least 400 kHz */ 141724ba675SRob Herring clock-frequency = <400000>; 142724ba675SRob Herring /* IRQ on GPIO61 called /CTP_INT */ 143724ba675SRob Herring interrupt-parent = <&tlmm>; 144724ba675SRob Herring interrupts = <61 IRQ_TYPE_EDGE_FALLING>; 145724ba675SRob Herring /* 146724ba675SRob Herring * The I2C bus is using a PCA9306 level translator from L16A 147724ba675SRob Herring * to L2B so these two voltages are needed and L16A is 148724ba675SRob Herring * kind of the IO voltage, however L16Aisn't really fed to 149724ba675SRob Herring * the TMA340, which relies entirely on L2B (PM8901 L2). 150724ba675SRob Herring */ 151724ba675SRob Herring vcpin-supply = <&pm8058_l16>; 152724ba675SRob Herring vdd-supply = <&pm8901_l2>; 153724ba675SRob Herring /* GPIO58, called WAKE_CTP */ 154724ba675SRob Herring reset-gpios = <&tlmm 58 GPIO_ACTIVE_LOW>; 155724ba675SRob Herring touchscreen-size-x = <480>; 156724ba675SRob Herring touchscreen-size-y = <800>; 157724ba675SRob Herring active-interval-ms = <0>; 158724ba675SRob Herring touch-timeout-ms = <255>; 159724ba675SRob Herring lowpower-interval-ms = <10>; 160724ba675SRob Herring bootloader-key = /bits/ 8 <0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07>; 161724ba675SRob Herring pinctrl-names = "default"; 162724ba675SRob Herring pinctrl-0 = <&dragon_tma340_gpios>; 163724ba675SRob Herring }; 164724ba675SRob Herring}; 165724ba675SRob Herring 166724ba675SRob Herring&gsbi8 { 167724ba675SRob Herring qcom,mode = <GSBI_PROT_I2C>; 168724ba675SRob Herring status = "okay"; 169724ba675SRob Herring}; 170724ba675SRob Herring 171724ba675SRob Herring&gsbi8_i2c { 172724ba675SRob Herring pinctrl-names = "default"; 173724ba675SRob Herring pinctrl-0 = <&dragon_gsbi8_i2c_pins>; 174724ba675SRob Herring status = "okay"; 175724ba675SRob Herring 176724ba675SRob Herring eeprom@52 { 177724ba675SRob Herring /* A 16KiB Platform ID EEPROM on the CPU carrier board */ 178724ba675SRob Herring compatible = "atmel,24c128"; 179724ba675SRob Herring reg = <0x52>; 180724ba675SRob Herring vcc-supply = <&pm8058_s3>; 181724ba675SRob Herring pagesize = <64>; 182724ba675SRob Herring }; 183724ba675SRob Herring wm8903: wm8903@1a { 184724ba675SRob Herring /* This Woolfson Micro device has an unrouted interrupt line */ 185724ba675SRob Herring compatible = "wlf,wm8903"; 186724ba675SRob Herring reg = <0x1a>; 187724ba675SRob Herring 188724ba675SRob Herring AVDD-supply = <&pm8058_l16>; 189724ba675SRob Herring CPVDD-supply = <&pm8058_l16>; 190724ba675SRob Herring DBVDD-supply = <&pm8058_s3>; 191724ba675SRob Herring DCVDD-supply = <&pm8058_l0>; 192724ba675SRob Herring 193724ba675SRob Herring gpio-controller; 194724ba675SRob Herring #gpio-cells = <2>; 195724ba675SRob Herring 196724ba675SRob Herring micdet-cfg = <0>; 197724ba675SRob Herring micdet-delay = <100>; 198724ba675SRob Herring gpio-cfg = <0xffffffff 0xffffffff 0 0xffffffff 0xffffffff>; 199724ba675SRob Herring }; 200724ba675SRob Herring}; 201724ba675SRob Herring 202724ba675SRob Herring&gsbi12 { 203724ba675SRob Herring qcom,mode = <GSBI_PROT_I2C_UART>; 204724ba675SRob Herring status = "okay"; 205724ba675SRob Herring}; 206724ba675SRob Herring 207724ba675SRob Herring&gsbi12_serial { 208724ba675SRob Herring pinctrl-names = "default"; 209724ba675SRob Herring pinctrl-0 = <&dragon_gsbi12_serial_pins>; 210724ba675SRob Herring status = "okay"; 211724ba675SRob Herring}; 212724ba675SRob Herring 213724ba675SRob Herring&gsbi12_i2c { 214724ba675SRob Herring pinctrl-names = "default"; 215724ba675SRob Herring pinctrl-0 = <&dragon_gsbi12_i2c_pins>; 216724ba675SRob Herring status = "okay"; 217724ba675SRob Herring 218724ba675SRob Herring ak8975@c { 219724ba675SRob Herring compatible = "asahi-kasei,ak8975"; 220724ba675SRob Herring reg = <0x0c>; 221724ba675SRob Herring interrupt-parent = <&pm8058_gpio>; 222724ba675SRob Herring interrupts = <33 IRQ_TYPE_EDGE_RISING>; 223724ba675SRob Herring pinctrl-names = "default"; 224724ba675SRob Herring pinctrl-0 = <&dragon_ak8975_gpios>; 225724ba675SRob Herring vid-supply = <&pm8058_lvs0>; // 1.8V 226724ba675SRob Herring vdd-supply = <&pm8058_l14>; // 2.85V 227724ba675SRob Herring }; 228724ba675SRob Herring bmp085@77 { 229724ba675SRob Herring compatible = "bosch,bmp085"; 230724ba675SRob Herring reg = <0x77>; 231724ba675SRob Herring interrupt-parent = <&pm8058_gpio>; 232724ba675SRob Herring interrupts = <16 IRQ_TYPE_EDGE_RISING>; 233724ba675SRob Herring reset-gpios = <&tlmm 86 GPIO_ACTIVE_LOW>; 234724ba675SRob Herring pinctrl-names = "default"; 235724ba675SRob Herring pinctrl-0 = <&dragon_bmp085_gpios>; 236724ba675SRob Herring vddd-supply = <&pm8058_lvs0>; // 1.8V 237724ba675SRob Herring vdda-supply = <&pm8058_l14>; // 2.85V 238724ba675SRob Herring }; 239724ba675SRob Herring mpu3050@68 { 240724ba675SRob Herring compatible = "invensense,mpu3050"; 241724ba675SRob Herring reg = <0x68>; 242724ba675SRob Herring /* 243724ba675SRob Herring * GPIO17 is pulled high by a 10k 244724ba675SRob Herring * resistor to VLOGIC so needs to be 245724ba675SRob Herring * active low/falling edge. 246724ba675SRob Herring */ 247724ba675SRob Herring interrupts-extended = <&pm8058_gpio 17 IRQ_TYPE_EDGE_FALLING>; 248724ba675SRob Herring pinctrl-names = "default"; 249724ba675SRob Herring pinctrl-0 = <&dragon_mpu3050_gpios>; 250724ba675SRob Herring vlogic-supply = <&pm8058_lvs0>; // 1.8V 251724ba675SRob Herring vdd-supply = <&pm8058_l14>; // 2.85V 252724ba675SRob Herring 253724ba675SRob Herring /* 254724ba675SRob Herring * The MPU-3050 acts as a hub for the 255724ba675SRob Herring * accelerometer. 256724ba675SRob Herring */ 257724ba675SRob Herring i2c-gate { 258724ba675SRob Herring #address-cells = <1>; 259724ba675SRob Herring #size-cells = <0>; 260724ba675SRob Herring 261724ba675SRob Herring kxsd9@18 { 262724ba675SRob Herring compatible = "kionix,kxsd9"; 263724ba675SRob Herring reg = <0x18>; 264724ba675SRob Herring interrupt-parent = <&tlmm>; 265724ba675SRob Herring interrupts = <57 IRQ_TYPE_EDGE_FALLING>; 266724ba675SRob Herring pinctrl-names = "default"; 267724ba675SRob Herring pinctrl-0 = <&dragon_kxsd9_gpios>; 268724ba675SRob Herring iovdd-supply = <&pm8058_lvs0>; // 1.8V 269724ba675SRob Herring vdd-supply = <&pm8058_l14>; // 2.85V 270724ba675SRob Herring }; 271724ba675SRob Herring }; 272724ba675SRob Herring }; 273724ba675SRob Herring}; 274724ba675SRob Herring 275*41cdee8aSDmitry Baryshkov&pm8058 { 276*41cdee8aSDmitry Baryshkov interrupts-extended = <&tlmm 88 IRQ_TYPE_LEVEL_LOW>; 277*41cdee8aSDmitry Baryshkov}; 278*41cdee8aSDmitry Baryshkov 279724ba675SRob Herring&pm8058_gpio { 280724ba675SRob Herring dragon_ethernet_gpios: ethernet-state { 281724ba675SRob Herring pinconf { 282724ba675SRob Herring pins = "gpio7"; 283724ba675SRob Herring function = "normal"; 284724ba675SRob Herring input-enable; 285724ba675SRob Herring bias-disable; 286724ba675SRob Herring power-source = <PM8058_GPIO_S3>; 287724ba675SRob Herring }; 288724ba675SRob Herring }; 289724ba675SRob Herring dragon_bmp085_gpios: bmp085-state { 290724ba675SRob Herring pinconf { 291724ba675SRob Herring pins = "gpio16"; 292724ba675SRob Herring function = "normal"; 293724ba675SRob Herring input-enable; 294724ba675SRob Herring bias-disable; 295724ba675SRob Herring power-source = <PM8058_GPIO_S3>; 296724ba675SRob Herring }; 297724ba675SRob Herring }; 298724ba675SRob Herring dragon_mpu3050_gpios: mpu3050-state { 299724ba675SRob Herring pinconf { 300724ba675SRob Herring pins = "gpio17"; 301724ba675SRob Herring function = "normal"; 302724ba675SRob Herring input-enable; 303724ba675SRob Herring bias-disable; 304724ba675SRob Herring power-source = <PM8058_GPIO_S3>; 305724ba675SRob Herring }; 306724ba675SRob Herring }; 307724ba675SRob Herring dragon_sdcc3_gpios: sdcc3-state { 308724ba675SRob Herring pinconf { 309724ba675SRob Herring pins = "gpio22"; 310724ba675SRob Herring function = "normal"; 311724ba675SRob Herring input-enable; 312724ba675SRob Herring bias-disable; 313724ba675SRob Herring power-source = <PM8058_GPIO_S3>; 314724ba675SRob Herring }; 315724ba675SRob Herring }; 316724ba675SRob Herring dragon_sdcc5_gpios: sdcc5-state { 317724ba675SRob Herring pinconf { 318724ba675SRob Herring pins = "gpio26"; 319724ba675SRob Herring function = "normal"; 320724ba675SRob Herring input-enable; 321724ba675SRob Herring bias-pull-up; 322724ba675SRob Herring qcom,pull-up-strength = <PMIC_GPIO_PULL_UP_30>; 323724ba675SRob Herring power-source = <PM8058_GPIO_S3>; 324724ba675SRob Herring }; 325724ba675SRob Herring }; 326724ba675SRob Herring dragon_ak8975_gpios: ak8975-state { 327724ba675SRob Herring pinconf { 328724ba675SRob Herring pins = "gpio33"; 329724ba675SRob Herring function = "normal"; 330724ba675SRob Herring input-enable; 331724ba675SRob Herring bias-disable; 332724ba675SRob Herring power-source = <PM8058_GPIO_S3>; 333724ba675SRob Herring }; 334724ba675SRob Herring }; 335724ba675SRob Herring dragon_cm3605_gpios: cm3605-state { 336724ba675SRob Herring /* Pin 34 connected to the proxy IRQ */ 337724ba675SRob Herring gpio34-pins { 338724ba675SRob Herring pins = "gpio34"; 339724ba675SRob Herring function = "normal"; 340724ba675SRob Herring input-enable; 341724ba675SRob Herring bias-disable; 342724ba675SRob Herring power-source = <PM8058_GPIO_S3>; 343724ba675SRob Herring }; 344724ba675SRob Herring /* Pin 35 connected to ASET */ 345724ba675SRob Herring gpio35-pins { 346724ba675SRob Herring pins = "gpio35"; 347724ba675SRob Herring function = "normal"; 348724ba675SRob Herring output-high; 349724ba675SRob Herring bias-disable; 350724ba675SRob Herring power-source = <PM8058_GPIO_S3>; 351724ba675SRob Herring }; 352724ba675SRob Herring }; 353724ba675SRob Herring dragon_veth_gpios: veth-state { 354724ba675SRob Herring pinconf { 355724ba675SRob Herring pins = "gpio40"; 356724ba675SRob Herring function = "normal"; 357724ba675SRob Herring bias-disable; 358724ba675SRob Herring drive-push-pull; 359724ba675SRob Herring }; 360724ba675SRob Herring }; 361724ba675SRob Herring}; 362724ba675SRob Herring 363724ba675SRob Herring&pm8058_keypad { 364724ba675SRob Herring linux,keymap = < 365724ba675SRob Herring MATRIX_KEY(0, 0, KEY_MENU) 366724ba675SRob Herring MATRIX_KEY(0, 2, KEY_1) 367724ba675SRob Herring MATRIX_KEY(0, 3, KEY_4) 368724ba675SRob Herring MATRIX_KEY(0, 4, KEY_7) 369724ba675SRob Herring MATRIX_KEY(1, 0, KEY_UP) 370724ba675SRob Herring MATRIX_KEY(1, 1, KEY_LEFT) 371724ba675SRob Herring MATRIX_KEY(1, 2, KEY_DOWN) 372724ba675SRob Herring MATRIX_KEY(1, 3, KEY_5) 373724ba675SRob Herring MATRIX_KEY(1, 3, KEY_8) 374724ba675SRob Herring MATRIX_KEY(2, 0, KEY_HOME) 375724ba675SRob Herring MATRIX_KEY(2, 1, KEY_REPLY) 376724ba675SRob Herring MATRIX_KEY(2, 2, KEY_2) 377724ba675SRob Herring MATRIX_KEY(2, 3, KEY_6) 378724ba675SRob Herring MATRIX_KEY(3, 0, KEY_VOLUMEUP) 379724ba675SRob Herring MATRIX_KEY(3, 1, KEY_RIGHT) 380724ba675SRob Herring MATRIX_KEY(3, 2, KEY_3) 381724ba675SRob Herring MATRIX_KEY(3, 3, KEY_9) 382724ba675SRob Herring MATRIX_KEY(3, 4, KEY_SWITCHVIDEOMODE) 383724ba675SRob Herring MATRIX_KEY(4, 0, KEY_VOLUMEDOWN) 384724ba675SRob Herring MATRIX_KEY(4, 1, KEY_BACK) 385724ba675SRob Herring MATRIX_KEY(4, 2, KEY_CAMERA) 386724ba675SRob Herring MATRIX_KEY(4, 3, KEY_KBDILLUMTOGGLE) 387724ba675SRob Herring >; 388724ba675SRob Herring keypad,num-rows = <6>; 389724ba675SRob Herring keypad,num-columns = <5>; 390724ba675SRob Herring}; 391724ba675SRob Herring 392724ba675SRob Herring&pm8058_led48 { 393724ba675SRob Herring /* 394724ba675SRob Herring * The keypad LED @0x48 is routed to 395724ba675SRob Herring * the sensor board where it is 396724ba675SRob Herring * connected to an infrared LED 397724ba675SRob Herring * SFH4650 (60mW, @850nm) next to the 398724ba675SRob Herring * ambient light and proximity sensor 399724ba675SRob Herring * Capella Microsystems CM3605. 400724ba675SRob Herring */ 401724ba675SRob Herring label = "pm8058:infrared:proximitysensor"; 402724ba675SRob Herring default-state = "off"; 403724ba675SRob Herring linux,default-trigger = "cm3605"; 404724ba675SRob Herring status = "okay"; 405724ba675SRob Herring}; 406724ba675SRob Herring 407724ba675SRob Herring&pm8058_led131 { 408724ba675SRob Herring label = "pm8058:red"; 409724ba675SRob Herring color = <LED_COLOR_ID_RED>; 410724ba675SRob Herring default-state = "off"; 411724ba675SRob Herring status = "okay"; 412724ba675SRob Herring}; 413724ba675SRob Herring 414724ba675SRob Herring&pm8058_led132 { 415724ba675SRob Herring /* 416724ba675SRob Herring * This is actually green too on my 417724ba675SRob Herring * board, but documented as yellow. 418724ba675SRob Herring */ 419724ba675SRob Herring label = "pm8058:yellow"; 420724ba675SRob Herring color = <LED_COLOR_ID_YELLOW>; 421724ba675SRob Herring default-state = "off"; 422724ba675SRob Herring linux,default-trigger = "mmc0"; 423724ba675SRob Herring status = "okay"; 424724ba675SRob Herring}; 425724ba675SRob Herring 426724ba675SRob Herring&pm8058_led133 { 427724ba675SRob Herring label = "pm8058:green"; 428724ba675SRob Herring function = LED_FUNCTION_HEARTBEAT; 429724ba675SRob Herring color = <LED_COLOR_ID_GREEN>; 430724ba675SRob Herring default-state = "on"; 431724ba675SRob Herring linux,default-trigger = "heartbeat"; 432724ba675SRob Herring status = "okay"; 433724ba675SRob Herring}; 434724ba675SRob Herring 435724ba675SRob Herring&pm8058_mpps { 436724ba675SRob Herring dragon_cm3605_mpps: cm3605-mpps-state { 437724ba675SRob Herring pins = "mpp5"; 438724ba675SRob Herring function = "analog"; 439724ba675SRob Herring input-enable; 440724ba675SRob Herring bias-high-impedance; 441724ba675SRob Herring /* Let's use channel 5 */ 442724ba675SRob Herring qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH5>; 443724ba675SRob Herring power-source = <PM8058_GPIO_S3>; 444724ba675SRob Herring }; 445724ba675SRob Herring}; 446724ba675SRob Herring 447724ba675SRob Herring&rpm { 448724ba675SRob Herring /* 449724ba675SRob Herring * Set up of the PMIC RPM regulators for this board 450724ba675SRob Herring * PM8901 supplies "preliminary regulators" whatever 451724ba675SRob Herring * that means 452724ba675SRob Herring */ 453724ba675SRob Herring regulators-0 { 454724ba675SRob Herring vdd_l0-supply = <&pm8901_s4>; 455724ba675SRob Herring vdd_l1-supply = <&vph>; 456724ba675SRob Herring vdd_l2-supply = <&vph>; 457724ba675SRob Herring vdd_l3-supply = <&vph>; 458724ba675SRob Herring vdd_l4-supply = <&vph>; 459724ba675SRob Herring vdd_l5-supply = <&vph>; 460724ba675SRob Herring vdd_l6-supply = <&vph>; 461724ba675SRob Herring /* vdd_s0-supply, vdd_s1-supply: SAW regulators */ 462724ba675SRob Herring vdd_s2-supply = <&vph>; 463724ba675SRob Herring vdd_s3-supply = <&vph>; 464724ba675SRob Herring vdd_s4-supply = <&vph>; 465724ba675SRob Herring lvs0_in-supply = <&pm8058_s3>; 466724ba675SRob Herring lvs1_in-supply = <&pm8901_s4>; 467724ba675SRob Herring lvs2_in-supply = <&pm8058_l0>; 468724ba675SRob Herring lvs3_in-supply = <&pm8058_s2>; 469724ba675SRob Herring mvs_in-supply = <&pm8058_s3>; 470724ba675SRob Herring 471724ba675SRob Herring l0 { 472724ba675SRob Herring regulator-min-microvolt = <1200000>; 473724ba675SRob Herring regulator-max-microvolt = <1200000>; 474724ba675SRob Herring bias-pull-down; 475724ba675SRob Herring }; 476724ba675SRob Herring l1 { 477724ba675SRob Herring regulator-min-microvolt = <3300000>; 478724ba675SRob Herring regulator-max-microvolt = <3300000>; 479724ba675SRob Herring bias-pull-down; 480724ba675SRob Herring }; 481724ba675SRob Herring l2 { 482724ba675SRob Herring /* TMA340 requires strictly 3.3V */ 483724ba675SRob Herring regulator-min-microvolt = <3300000>; 484724ba675SRob Herring regulator-max-microvolt = <3300000>; 485724ba675SRob Herring bias-pull-down; 486724ba675SRob Herring }; 487724ba675SRob Herring l3 { 488724ba675SRob Herring regulator-min-microvolt = <3300000>; 489724ba675SRob Herring regulator-max-microvolt = <3300000>; 490724ba675SRob Herring bias-pull-down; 491724ba675SRob Herring }; 492724ba675SRob Herring l4 { 493724ba675SRob Herring regulator-min-microvolt = <2600000>; 494724ba675SRob Herring regulator-max-microvolt = <2600000>; 495724ba675SRob Herring bias-pull-down; 496724ba675SRob Herring }; 497724ba675SRob Herring l5 { 498724ba675SRob Herring regulator-min-microvolt = <2850000>; 499724ba675SRob Herring regulator-max-microvolt = <2850000>; 500724ba675SRob Herring bias-pull-down; 501724ba675SRob Herring }; 502724ba675SRob Herring l6 { 503724ba675SRob Herring regulator-min-microvolt = <2200000>; 504724ba675SRob Herring regulator-max-microvolt = <2200000>; 505724ba675SRob Herring bias-pull-down; 506724ba675SRob Herring }; 507724ba675SRob Herring 508724ba675SRob Herring /* s0 and s1 are SAW regulators controlled over SPM */ 509724ba675SRob Herring s2 { 510724ba675SRob Herring regulator-min-microvolt = <1300000>; 511724ba675SRob Herring regulator-max-microvolt = <1300000>; 512724ba675SRob Herring qcom,switch-mode-frequency = <1600000>; 513724ba675SRob Herring bias-pull-down; 514724ba675SRob Herring }; 515724ba675SRob Herring s3 { 516724ba675SRob Herring regulator-min-microvolt = <1100000>; 517724ba675SRob Herring regulator-max-microvolt = <1100000>; 518724ba675SRob Herring qcom,switch-mode-frequency = <1600000>; 519724ba675SRob Herring bias-pull-down; 520724ba675SRob Herring }; 521724ba675SRob Herring s4 { 522724ba675SRob Herring regulator-min-microvolt = <1225000>; 523724ba675SRob Herring regulator-max-microvolt = <1225000>; 524724ba675SRob Herring qcom,switch-mode-frequency = <1600000>; 525724ba675SRob Herring bias-pull-down; 526724ba675SRob Herring }; 527724ba675SRob Herring 528724ba675SRob Herring /* LVS0 thru 3 and mvs are just switches */ 529724ba675SRob Herring lvs0 { 530724ba675SRob Herring regulator-always-on; 531724ba675SRob Herring }; 532724ba675SRob Herring lvs1 { }; 533724ba675SRob Herring lvs2 { }; 534724ba675SRob Herring lvs3 { }; 535724ba675SRob Herring mvs { }; 536724ba675SRob Herring 537724ba675SRob Herring }; 538724ba675SRob Herring 539724ba675SRob Herring regulators-1 { 540724ba675SRob Herring vdd_l0_l1_lvs-supply = <&pm8058_s3>; 541724ba675SRob Herring vdd_l2_l11_l12-supply = <&vph>; 542724ba675SRob Herring vdd_l3_l4_l5-supply = <&vph>; 543724ba675SRob Herring vdd_l6_l7-supply = <&vph>; 544724ba675SRob Herring vdd_l8-supply = <&vph>; 545724ba675SRob Herring vdd_l9-supply = <&vph>; 546724ba675SRob Herring vdd_l10-supply = <&vph>; 547724ba675SRob Herring vdd_l13_l16-supply = <&pm8058_s4>; 548724ba675SRob Herring vdd_l14_l15-supply = <&vph>; 549724ba675SRob Herring vdd_l17_l18-supply = <&vph>; 550724ba675SRob Herring vdd_l19_l20-supply = <&vph>; 551724ba675SRob Herring vdd_l21-supply = <&pm8058_s3>; 552724ba675SRob Herring vdd_l22-supply = <&pm8058_s3>; 553724ba675SRob Herring vdd_l23_l24_l25-supply = <&pm8058_s3>; 554724ba675SRob Herring vdd_s0-supply = <&vph>; 555724ba675SRob Herring vdd_s1-supply = <&vph>; 556724ba675SRob Herring vdd_s2-supply = <&vph>; 557724ba675SRob Herring vdd_s3-supply = <&vph>; 558724ba675SRob Herring vdd_s4-supply = <&vph>; 559724ba675SRob Herring vdd_ncp-supply = <&vph>; 560724ba675SRob Herring 561724ba675SRob Herring l0 { 562724ba675SRob Herring regulator-min-microvolt = <1200000>; 563724ba675SRob Herring regulator-max-microvolt = <1200000>; 564724ba675SRob Herring bias-pull-down; 565724ba675SRob Herring }; 566724ba675SRob Herring l1 { 567724ba675SRob Herring regulator-min-microvolt = <1200000>; 568724ba675SRob Herring regulator-max-microvolt = <1200000>; 569724ba675SRob Herring bias-pull-down; 570724ba675SRob Herring }; 571724ba675SRob Herring l2 { 572724ba675SRob Herring regulator-min-microvolt = <1800000>; 573724ba675SRob Herring regulator-max-microvolt = <2600000>; 574724ba675SRob Herring bias-pull-down; 575724ba675SRob Herring }; 576724ba675SRob Herring l3 { 577724ba675SRob Herring regulator-min-microvolt = <1800000>; 578724ba675SRob Herring regulator-max-microvolt = <1800000>; 579724ba675SRob Herring bias-pull-down; 580724ba675SRob Herring }; 581724ba675SRob Herring l4 { 582724ba675SRob Herring regulator-min-microvolt = <2850000>; 583724ba675SRob Herring regulator-max-microvolt = <2850000>; 584724ba675SRob Herring bias-pull-down; 585724ba675SRob Herring }; 586724ba675SRob Herring l5 { 587724ba675SRob Herring regulator-min-microvolt = <2850000>; 588724ba675SRob Herring regulator-max-microvolt = <2850000>; 589724ba675SRob Herring bias-pull-down; 590724ba675SRob Herring }; 591724ba675SRob Herring l6 { 592724ba675SRob Herring regulator-min-microvolt = <3000000>; 593724ba675SRob Herring regulator-max-microvolt = <3600000>; 594724ba675SRob Herring bias-pull-down; 595724ba675SRob Herring }; 596724ba675SRob Herring l7 { 597724ba675SRob Herring regulator-min-microvolt = <1800000>; 598724ba675SRob Herring regulator-max-microvolt = <1800000>; 599724ba675SRob Herring bias-pull-down; 600724ba675SRob Herring }; 601724ba675SRob Herring l8 { 602724ba675SRob Herring regulator-min-microvolt = <2900000>; 603724ba675SRob Herring regulator-max-microvolt = <3050000>; 604724ba675SRob Herring bias-pull-down; 605724ba675SRob Herring }; 606724ba675SRob Herring l9 { 607724ba675SRob Herring regulator-min-microvolt = <1800000>; 608724ba675SRob Herring regulator-max-microvolt = <1800000>; 609724ba675SRob Herring bias-pull-down; 610724ba675SRob Herring }; 611724ba675SRob Herring l10 { 612724ba675SRob Herring regulator-min-microvolt = <2600000>; 613724ba675SRob Herring regulator-max-microvolt = <2600000>; 614724ba675SRob Herring bias-pull-down; 615724ba675SRob Herring }; 616724ba675SRob Herring l11 { 617724ba675SRob Herring regulator-min-microvolt = <1500000>; 618724ba675SRob Herring regulator-max-microvolt = <1500000>; 619724ba675SRob Herring bias-pull-down; 620724ba675SRob Herring }; 621724ba675SRob Herring l12 { 622724ba675SRob Herring regulator-min-microvolt = <2900000>; 623724ba675SRob Herring regulator-max-microvolt = <2900000>; 624724ba675SRob Herring bias-pull-down; 625724ba675SRob Herring }; 626724ba675SRob Herring l13 { 627724ba675SRob Herring regulator-min-microvolt = <2050000>; 628724ba675SRob Herring regulator-max-microvolt = <2050000>; 629724ba675SRob Herring bias-pull-down; 630724ba675SRob Herring }; 631724ba675SRob Herring l14 { 632724ba675SRob Herring regulator-min-microvolt = <2850000>; 633724ba675SRob Herring regulator-max-microvolt = <2850000>; 634724ba675SRob Herring }; 635724ba675SRob Herring l15 { 636724ba675SRob Herring regulator-min-microvolt = <2850000>; 637724ba675SRob Herring regulator-max-microvolt = <2850000>; 638724ba675SRob Herring bias-pull-down; 639724ba675SRob Herring }; 640724ba675SRob Herring l16 { 641724ba675SRob Herring regulator-min-microvolt = <1800000>; 642724ba675SRob Herring regulator-max-microvolt = <1800000>; 643724ba675SRob Herring bias-pull-down; 644724ba675SRob Herring regulator-always-on; 645724ba675SRob Herring }; 646724ba675SRob Herring l17 { 647724ba675SRob Herring // 1.5V according to schematic 648724ba675SRob Herring regulator-min-microvolt = <2600000>; 649724ba675SRob Herring regulator-max-microvolt = <2600000>; 650724ba675SRob Herring bias-pull-down; 651724ba675SRob Herring }; 652724ba675SRob Herring l18 { 653724ba675SRob Herring regulator-min-microvolt = <2200000>; 654724ba675SRob Herring regulator-max-microvolt = <2200000>; 655724ba675SRob Herring bias-pull-down; 656724ba675SRob Herring }; 657724ba675SRob Herring l19 { 658724ba675SRob Herring regulator-min-microvolt = <2500000>; 659724ba675SRob Herring regulator-max-microvolt = <2500000>; 660724ba675SRob Herring bias-pull-down; 661724ba675SRob Herring }; 662724ba675SRob Herring l20 { 663724ba675SRob Herring regulator-min-microvolt = <1800000>; 664724ba675SRob Herring regulator-max-microvolt = <1800000>; 665724ba675SRob Herring bias-pull-down; 666724ba675SRob Herring }; 667724ba675SRob Herring l21 { 668724ba675SRob Herring // 1.1 V according to schematic 669724ba675SRob Herring regulator-min-microvolt = <1200000>; 670724ba675SRob Herring regulator-max-microvolt = <1200000>; 671724ba675SRob Herring bias-pull-down; 672724ba675SRob Herring regulator-always-on; 673724ba675SRob Herring }; 674724ba675SRob Herring l22 { 675724ba675SRob Herring // 1.2 V according to schematic 676724ba675SRob Herring regulator-min-microvolt = <1150000>; 677724ba675SRob Herring regulator-max-microvolt = <1150000>; 678724ba675SRob Herring bias-pull-down; 679724ba675SRob Herring }; 680724ba675SRob Herring l23 { 681724ba675SRob Herring // Unused 682724ba675SRob Herring regulator-min-microvolt = <1200000>; 683724ba675SRob Herring regulator-max-microvolt = <1200000>; 684724ba675SRob Herring bias-pull-down; 685724ba675SRob Herring }; 686724ba675SRob Herring l24 { 687724ba675SRob Herring // Unused 688724ba675SRob Herring regulator-min-microvolt = <1200000>; 689724ba675SRob Herring regulator-max-microvolt = <1200000>; 690724ba675SRob Herring bias-pull-down; 691724ba675SRob Herring }; 692724ba675SRob Herring l25 { 693724ba675SRob Herring regulator-min-microvolt = <1200000>; 694724ba675SRob Herring regulator-max-microvolt = <1200000>; 695724ba675SRob Herring bias-pull-down; 696724ba675SRob Herring }; 697724ba675SRob Herring 698724ba675SRob Herring s0 { 699724ba675SRob Herring // regulator-min-microvolt = <500000>; 700724ba675SRob Herring // regulator-max-microvolt = <1325000>; 701724ba675SRob Herring regulator-min-microvolt = <1100000>; 702724ba675SRob Herring regulator-max-microvolt = <1100000>; 703724ba675SRob Herring qcom,switch-mode-frequency = <1600000>; 704724ba675SRob Herring bias-pull-down; 705724ba675SRob Herring }; 706724ba675SRob Herring s1 { 707724ba675SRob Herring // regulator-min-microvolt = <500000>; 708724ba675SRob Herring // regulator-max-microvolt = <1250000>; 709724ba675SRob Herring regulator-min-microvolt = <1100000>; 710724ba675SRob Herring regulator-max-microvolt = <1100000>; 711724ba675SRob Herring qcom,switch-mode-frequency = <1600000>; 712724ba675SRob Herring bias-pull-down; 713724ba675SRob Herring }; 714724ba675SRob Herring s2 { 715724ba675SRob Herring // 1.3 V according to schematic 716724ba675SRob Herring regulator-min-microvolt = <1200000>; 717724ba675SRob Herring regulator-max-microvolt = <1400000>; 718724ba675SRob Herring qcom,switch-mode-frequency = <1600000>; 719724ba675SRob Herring bias-pull-down; 720724ba675SRob Herring }; 721724ba675SRob Herring s3 { 722724ba675SRob Herring regulator-min-microvolt = <1800000>; 723724ba675SRob Herring regulator-max-microvolt = <1800000>; 724724ba675SRob Herring qcom,switch-mode-frequency = <1600000>; 725724ba675SRob Herring regulator-always-on; 726724ba675SRob Herring bias-pull-down; 727724ba675SRob Herring }; 728724ba675SRob Herring s4 { 729724ba675SRob Herring regulator-min-microvolt = <2200000>; 730724ba675SRob Herring regulator-max-microvolt = <2200000>; 731724ba675SRob Herring qcom,switch-mode-frequency = <1600000>; 732724ba675SRob Herring regulator-always-on; 733724ba675SRob Herring bias-pull-down; 734724ba675SRob Herring }; 735724ba675SRob Herring 736724ba675SRob Herring /* LVS0 and LVS1 are just switches */ 737724ba675SRob Herring lvs0 { 738724ba675SRob Herring bias-pull-down; 739724ba675SRob Herring }; 740724ba675SRob Herring lvs1 { 741724ba675SRob Herring bias-pull-down; 742724ba675SRob Herring }; 743724ba675SRob Herring 744724ba675SRob Herring ncp { 745724ba675SRob Herring regulator-min-microvolt = <1800000>; 746724ba675SRob Herring regulator-max-microvolt = <1800000>; 747724ba675SRob Herring qcom,switch-mode-frequency = <1600000>; 748724ba675SRob Herring }; 749724ba675SRob Herring }; 750724ba675SRob Herring}; 751724ba675SRob Herring 752724ba675SRob Herring/* Internal 3.69 GiB eMMC */ 753724ba675SRob Herring&sdcc1 { 754724ba675SRob Herring pinctrl-names = "default"; 755724ba675SRob Herring pinctrl-0 = <&dragon_sdcc1_pins>; 756724ba675SRob Herring vmmc-supply = <&pm8901_l5>; 757724ba675SRob Herring vqmmc-supply = <&pm8901_lvs0>; 758724ba675SRob Herring status = "okay"; 759724ba675SRob Herring}; 760724ba675SRob Herring 761724ba675SRob Herring/* External micro SD card, directly connected, pulled up to 2.85 V */ 762724ba675SRob Herring&sdcc3 { 763724ba675SRob Herring /* Enable SSBI GPIO 22 as input, use for card detect */ 764724ba675SRob Herring pinctrl-names = "default"; 765724ba675SRob Herring pinctrl-0 = <&dragon_sdcc3_pins>, <&dragon_sdcc3_gpios>; 766724ba675SRob Herring cd-gpios = <&pm8058_gpio 22 GPIO_ACTIVE_LOW>; 767724ba675SRob Herring wp-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>; 768724ba675SRob Herring vmmc-supply = <&pm8058_l14>; 769724ba675SRob Herring status = "okay"; 770724ba675SRob Herring}; 771724ba675SRob Herring 772724ba675SRob Herring/* 773724ba675SRob Herring * Second external micro SD card, using two TXB104RGYR levelshifters 774724ba675SRob Herring * to lift from 1.8 V to 2.85 V 775724ba675SRob Herring */ 776724ba675SRob Herring&sdcc5 { 777724ba675SRob Herring /* Enable SSBI GPIO 26 as input, use for card detect */ 778724ba675SRob Herring pinctrl-names = "default"; 779724ba675SRob Herring pinctrl-0 = <&dragon_sdcc5_pins>, <&dragon_sdcc5_gpios>; 780724ba675SRob Herring cd-gpios = <&pm8058_gpio 26 GPIO_ACTIVE_LOW>; 781724ba675SRob Herring wp-gpios = <&tlmm 106 GPIO_ACTIVE_HIGH>; 782724ba675SRob Herring vmmc-supply = <&pm8058_l14>; 783724ba675SRob Herring vqmmc-supply = <&dragon_vio_txb>; 784724ba675SRob Herring status = "okay"; 785724ba675SRob Herring}; 786724ba675SRob Herring 787724ba675SRob Herring&tlmm { 788724ba675SRob Herring /* eMMC pins, all 8 data lines connected */ 789724ba675SRob Herring dragon_sdcc1_pins: sdcc1-state { 790724ba675SRob Herring clk-pins { 791724ba675SRob Herring pins = "gpio167"; /* SDC1 CLK */ 792724ba675SRob Herring function = "sdc1"; 793724ba675SRob Herring drive-strength = <16>; 794724ba675SRob Herring bias-disable; 795724ba675SRob Herring }; 796724ba675SRob Herring cmd-pins { 797724ba675SRob Herring pins = "gpio168"; /* SDC1 CMD */ 798724ba675SRob Herring function = "sdc1"; 799724ba675SRob Herring drive-strength = <10>; 800724ba675SRob Herring bias-pull-up; 801724ba675SRob Herring }; 802724ba675SRob Herring data-pins { 803724ba675SRob Herring /* SDC1 D0 to D7 */ 804724ba675SRob Herring pins = "gpio159", "gpio160", "gpio161", "gpio162", 805724ba675SRob Herring "gpio163", "gpio164", "gpio165", "gpio166"; 806724ba675SRob Herring function = "sdc1"; 807724ba675SRob Herring drive-strength = <10>; 808724ba675SRob Herring bias-pull-up; 809724ba675SRob Herring }; 810724ba675SRob Herring }; 811724ba675SRob Herring 812724ba675SRob Herring /* 813724ba675SRob Herring * The SDCC3 pins are hardcoded (non-muxable) but need some pin 814724ba675SRob Herring * configuration. 815724ba675SRob Herring */ 816724ba675SRob Herring dragon_sdcc3_pins: sdcc3-state { 817724ba675SRob Herring clk-pins { 818724ba675SRob Herring pins = "sdc3_clk"; 819724ba675SRob Herring drive-strength = <8>; 820724ba675SRob Herring bias-disable; 821724ba675SRob Herring }; 822724ba675SRob Herring cmd-pins { 823724ba675SRob Herring pins = "sdc3_cmd"; 824724ba675SRob Herring drive-strength = <8>; 825724ba675SRob Herring bias-pull-up; 826724ba675SRob Herring }; 827724ba675SRob Herring data-pins { 828724ba675SRob Herring pins = "sdc3_data"; 829724ba675SRob Herring drive-strength = <8>; 830724ba675SRob Herring bias-pull-up; 831724ba675SRob Herring }; 832724ba675SRob Herring }; 833724ba675SRob Herring 834724ba675SRob Herring /* Second SD card slot pins */ 835724ba675SRob Herring dragon_sdcc5_pins: sdcc5-state { 836724ba675SRob Herring clk-pins { 837724ba675SRob Herring pins = "gpio97"; /* SDC5 CLK */ 838724ba675SRob Herring function = "sdc5"; 839724ba675SRob Herring drive-strength = <16>; 840724ba675SRob Herring bias-disable; 841724ba675SRob Herring }; 842724ba675SRob Herring cmd-pins { 843724ba675SRob Herring pins = "gpio95"; /* SDC5 CMD */ 844724ba675SRob Herring function = "sdc5"; 845724ba675SRob Herring drive-strength = <10>; 846724ba675SRob Herring bias-pull-up; 847724ba675SRob Herring }; 848724ba675SRob Herring data-pins { 849724ba675SRob Herring /* SDC5 D0 to D3 */ 850724ba675SRob Herring pins = "gpio96", "gpio98", "gpio99", "gpio100"; 851724ba675SRob Herring function = "sdc5"; 852724ba675SRob Herring drive-strength = <10>; 853724ba675SRob Herring bias-pull-up; 854724ba675SRob Herring }; 855724ba675SRob Herring }; 856724ba675SRob Herring 857724ba675SRob Herring dragon_gsbi3_i2c_pins: gsbi3-i2c-state { 858724ba675SRob Herring pins = "gpio43", "gpio44"; 859724ba675SRob Herring function = "gsbi3"; 860724ba675SRob Herring drive-strength = <8>; 861724ba675SRob Herring /* These have external pull-up 2.2kOhm to 1.8V */ 862724ba675SRob Herring bias-disable; 863724ba675SRob Herring }; 864724ba675SRob Herring 865724ba675SRob Herring dragon_gsbi8_i2c_pins: gsbi8-i2c-state { 866724ba675SRob Herring pins = "gpio64", "gpio65"; 867724ba675SRob Herring function = "gsbi8"; 868724ba675SRob Herring drive-strength = <16>; 869724ba675SRob Herring /* These have external pull-up 2.2kOhm to 1.8V */ 870724ba675SRob Herring bias-disable; 871724ba675SRob Herring }; 872724ba675SRob Herring 873724ba675SRob Herring dragon_gsbi12_i2c_pins: gsbi12-i2c-state { 874724ba675SRob Herring pins = "gpio115", "gpio116"; 875724ba675SRob Herring function = "gsbi12"; 876724ba675SRob Herring drive-strength = <16>; 877724ba675SRob Herring /* These have external pull-up 4.7kOhm to 1.8V */ 878724ba675SRob Herring bias-disable; 879724ba675SRob Herring }; 880724ba675SRob Herring 881724ba675SRob Herring /* Primary serial port uart 0 pins */ 882724ba675SRob Herring dragon_gsbi12_serial_pins: gsbi12-serial-state { 883724ba675SRob Herring tx-pins { 884724ba675SRob Herring pins = "gpio117"; 885724ba675SRob Herring function = "gsbi12"; 886724ba675SRob Herring drive-strength = <8>; 887724ba675SRob Herring bias-disable; 888724ba675SRob Herring }; 889724ba675SRob Herring rx-pins { 890724ba675SRob Herring pins = "gpio118"; 891724ba675SRob Herring function = "gsbi12"; 892724ba675SRob Herring drive-strength = <2>; 893724ba675SRob Herring bias-pull-up; 894724ba675SRob Herring }; 895724ba675SRob Herring }; 896724ba675SRob Herring 897724ba675SRob Herring dragon_ebi2_pins: ebi2-state { 898724ba675SRob Herring /* 899724ba675SRob Herring * Pins used by EBI2 on the Dragonboard, actually only 900724ba675SRob Herring * CS2 is used by a real peripheral. CS0 is just 901724ba675SRob Herring * routed to a test point. 902724ba675SRob Herring */ 903724ba675SRob Herring mux0-pins { 904724ba675SRob Herring pins = 905724ba675SRob Herring /* "gpio39", CS1A_N this is not good to mux */ 906724ba675SRob Herring "gpio40", /* CS2A_N */ 907724ba675SRob Herring "gpio134"; /* CS0_N testpoint TP29 */ 908724ba675SRob Herring function = "ebi2cs"; 909724ba675SRob Herring }; 910724ba675SRob Herring mux1-pins { 911724ba675SRob Herring pins = 912724ba675SRob Herring /* EBI2_ADDR_7 downto EBI2_ADDR_0 address bus */ 913724ba675SRob Herring "gpio123", "gpio124", "gpio125", "gpio126", 914724ba675SRob Herring "gpio127", "gpio128", "gpio129", "gpio130", 915724ba675SRob Herring /* EBI2_DATA_15 downto EBI2_DATA_0 data bus */ 916724ba675SRob Herring "gpio135", "gpio136", "gpio137", "gpio138", 917724ba675SRob Herring "gpio139", "gpio140", "gpio141", "gpio142", 918724ba675SRob Herring "gpio143", "gpio144", "gpio145", "gpio146", 919724ba675SRob Herring "gpio147", "gpio148", "gpio149", "gpio150", 920724ba675SRob Herring "gpio151", /* EBI2_OE_N */ 921724ba675SRob Herring "gpio153", /* EBI2_ADV */ 922724ba675SRob Herring "gpio157"; /* EBI2_WE_N */ 923724ba675SRob Herring function = "ebi2"; 924724ba675SRob Herring }; 925724ba675SRob Herring }; 926724ba675SRob Herring 927724ba675SRob Herring /* Interrupt line for the KXSD9 accelerometer */ 928724ba675SRob Herring dragon_kxsd9_gpios: kxsd9-state { 929724ba675SRob Herring pins = "gpio57"; /* IRQ line */ 930724ba675SRob Herring function = "gpio"; 931724ba675SRob Herring bias-pull-up; 932724ba675SRob Herring }; 933724ba675SRob Herring 934724ba675SRob Herring dragon_tma340_gpios: tma340-state { 935724ba675SRob Herring reset-pins { 936724ba675SRob Herring /* RESET line, TS_ATTN, WAKE_CTP */ 937724ba675SRob Herring pins = "gpio58"; 938724ba675SRob Herring function = "gpio"; 939724ba675SRob Herring drive-strength = <6>; 940724ba675SRob Herring bias-disable; 941724ba675SRob Herring }; 942724ba675SRob Herring irq-pins { 943724ba675SRob Herring pins = "gpio61"; /* IRQ line */ 944724ba675SRob Herring function = "gpio"; 945724ba675SRob Herring drive-strength = <2>; 946724ba675SRob Herring bias-pull-up; 947724ba675SRob Herring }; 948724ba675SRob Herring }; 949724ba675SRob Herring}; 950724ba675SRob Herring 951c6d86aa8SDmitry Baryshkov&pm8058_xoadc { 952724ba675SRob Herring /* Reference voltage 2.2 V */ 953724ba675SRob Herring xoadc-ref-supply = <&pm8058_l18>; 954724ba675SRob Herring 955724ba675SRob Herring /* Board-specific channels */ 956724ba675SRob Herring mpp5@5 { 957724ba675SRob Herring /* Connected to AOUT of ALS sensor */ 958724ba675SRob Herring reg = <0x00 0x05>; 959724ba675SRob Herring }; 960724ba675SRob Herring mpp6@6 { 961724ba675SRob Herring /* Connected to test point TP43 */ 962724ba675SRob Herring reg = <0x00 0x06>; 963724ba675SRob Herring }; 964724ba675SRob Herring mpp7@7 { 965724ba675SRob Herring /* Connected to battery thermistor */ 966724ba675SRob Herring reg = <0x00 0x07>; 967724ba675SRob Herring }; 968724ba675SRob Herring mpp8@8 { 969724ba675SRob Herring /* Connected to battery ID detector */ 970724ba675SRob Herring reg = <0x00 0x08>; 971724ba675SRob Herring }; 972724ba675SRob Herring mpp9@9 { 973724ba675SRob Herring /* Connected to XO thermistor */ 974724ba675SRob Herring reg = <0x00 0x09>; 975724ba675SRob Herring }; 976724ba675SRob Herring}; 977