1f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h> 3f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 4f126890aSEmmanuel Vadot#include <dt-bindings/leds/common.h> 5f126890aSEmmanuel Vadot#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 6f126890aSEmmanuel Vadot#include <dt-bindings/pinctrl/qcom,pmic-mpp.h> 7f126890aSEmmanuel Vadot#include "qcom-msm8660.dtsi" 8*8d13bc63SEmmanuel Vadot#include "pm8058.dtsi" 9f126890aSEmmanuel Vadot 10f126890aSEmmanuel Vadot/ { 11f126890aSEmmanuel Vadot model = "Qualcomm APQ8060 Dragonboard"; 12f126890aSEmmanuel Vadot compatible = "qcom,apq8060-dragonboard", "qcom,msm8660"; 13f126890aSEmmanuel Vadot 14f126890aSEmmanuel Vadot aliases { 15f126890aSEmmanuel Vadot serial0 = &gsbi12_serial; 16f126890aSEmmanuel Vadot }; 17f126890aSEmmanuel Vadot 18f126890aSEmmanuel Vadot chosen { 19f126890aSEmmanuel Vadot stdout-path = "serial0:115200n8"; 20f126890aSEmmanuel Vadot }; 21f126890aSEmmanuel Vadot 22f126890aSEmmanuel Vadot /* Main power of the board: 3.7V */ 23f126890aSEmmanuel Vadot vph: regulator-fixed { 24f126890aSEmmanuel Vadot compatible = "regulator-fixed"; 25f126890aSEmmanuel Vadot regulator-min-microvolt = <3700000>; 26f126890aSEmmanuel Vadot regulator-max-microvolt = <3700000>; 27f126890aSEmmanuel Vadot regulator-name = "VPH"; 28f126890aSEmmanuel Vadot regulator-always-on; 29f126890aSEmmanuel Vadot regulator-boot-on; 30f126890aSEmmanuel Vadot }; 31f126890aSEmmanuel Vadot 32f126890aSEmmanuel Vadot /* GPIO controlled ethernet power regulator */ 33f126890aSEmmanuel Vadot dragon_veth: xc622a331mrg { 34f126890aSEmmanuel Vadot compatible = "regulator-fixed"; 35f126890aSEmmanuel Vadot regulator-name = "XC6222A331MR-G"; 36f126890aSEmmanuel Vadot regulator-min-microvolt = <3300000>; 37f126890aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 38f126890aSEmmanuel Vadot vin-supply = <&vph>; 39f126890aSEmmanuel Vadot gpio = <&pm8058_gpio 40 GPIO_ACTIVE_HIGH>; 40f126890aSEmmanuel Vadot enable-active-high; 41f126890aSEmmanuel Vadot pinctrl-names = "default"; 42f126890aSEmmanuel Vadot pinctrl-0 = <&dragon_veth_gpios>; 43f126890aSEmmanuel Vadot regulator-always-on; 44f126890aSEmmanuel Vadot }; 45f126890aSEmmanuel Vadot 46f126890aSEmmanuel Vadot /* VDDvario fixed regulator */ 47f126890aSEmmanuel Vadot dragon_vario: nds332p { 48f126890aSEmmanuel Vadot compatible = "regulator-fixed"; 49f126890aSEmmanuel Vadot regulator-name = "NDS332P"; 50f126890aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 51f126890aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 52f126890aSEmmanuel Vadot vin-supply = <&pm8058_s3>; 53f126890aSEmmanuel Vadot }; 54f126890aSEmmanuel Vadot 55f126890aSEmmanuel Vadot /* This is a levelshifter for SDCC5 */ 56f126890aSEmmanuel Vadot dragon_vio_txb: txb0104rgyr { 57f126890aSEmmanuel Vadot compatible = "regulator-fixed"; 58f126890aSEmmanuel Vadot regulator-name = "Dragon SDCC levelshifter"; 59f126890aSEmmanuel Vadot vin-supply = <&pm8058_l14>; 60f126890aSEmmanuel Vadot regulator-always-on; 61f126890aSEmmanuel Vadot }; 62f126890aSEmmanuel Vadot 63f126890aSEmmanuel Vadot /* 64f126890aSEmmanuel Vadot * Capella CM3605 light and proximity sensor mounted directly 65f126890aSEmmanuel Vadot * on the sensor board. 66f126890aSEmmanuel Vadot */ 67f126890aSEmmanuel Vadot cm3605 { 68f126890aSEmmanuel Vadot compatible = "capella,cm3605"; 69f126890aSEmmanuel Vadot vdd-supply = <&pm8058_l14>; // 2.85V 70f126890aSEmmanuel Vadot aset-gpios = <&pm8058_gpio 35 GPIO_ACTIVE_LOW>; 71f126890aSEmmanuel Vadot capella,aset-resistance-ohms = <100000>; 72f126890aSEmmanuel Vadot /* Trig on both edges - getting close or far away */ 73f126890aSEmmanuel Vadot interrupts-extended = <&pm8058_gpio 34 IRQ_TYPE_EDGE_BOTH>; 74f126890aSEmmanuel Vadot /* MPP05 analog input to the XOADC */ 75*8d13bc63SEmmanuel Vadot io-channels = <&pm8058_xoadc 0x00 0x05>; 76f126890aSEmmanuel Vadot io-channel-names = "aout"; 77f126890aSEmmanuel Vadot pinctrl-names = "default"; 78f126890aSEmmanuel Vadot pinctrl-0 = <&dragon_cm3605_gpios>, <&dragon_cm3605_mpps>; 79f126890aSEmmanuel Vadot }; 80f126890aSEmmanuel Vadot}; 81f126890aSEmmanuel Vadot 82f126890aSEmmanuel Vadot&ebi2 { 83f126890aSEmmanuel Vadot /* The EBI2 will instantiate first, then populate its children */ 84f126890aSEmmanuel Vadot pinctrl-names = "default"; 85f126890aSEmmanuel Vadot pinctrl-0 = <&dragon_ebi2_pins>; 86f126890aSEmmanuel Vadot status = "okay"; 87f126890aSEmmanuel Vadot 88f126890aSEmmanuel Vadot /* 89f126890aSEmmanuel Vadot * An on-board SMSC LAN9221 chip for "debug ethernet", 90f126890aSEmmanuel Vadot * which is actually just an ordinary ethernet on the 91f126890aSEmmanuel Vadot * EBI2. This has a 25MHz chrystal next to it, so no 92f126890aSEmmanuel Vadot * clocking is needed. 93f126890aSEmmanuel Vadot */ 94f126890aSEmmanuel Vadot ethernet@2,0 { 95f126890aSEmmanuel Vadot compatible = "smsc,lan9221", "smsc,lan9115"; 96f126890aSEmmanuel Vadot reg = <2 0x0 0x100>; 97f126890aSEmmanuel Vadot /* 98f126890aSEmmanuel Vadot * The second interrupt is the PME interrupt 99f126890aSEmmanuel Vadot * for network wakeup, connected to the TLMM. 100f126890aSEmmanuel Vadot */ 101f126890aSEmmanuel Vadot interrupts-extended = <&pm8058_gpio 7 IRQ_TYPE_EDGE_FALLING>, 102f126890aSEmmanuel Vadot <&tlmm 29 IRQ_TYPE_EDGE_RISING>; 103f126890aSEmmanuel Vadot reset-gpios = <&tlmm 30 GPIO_ACTIVE_LOW>; 104f126890aSEmmanuel Vadot vdd33a-supply = <&dragon_veth>; 105f126890aSEmmanuel Vadot vddvario-supply = <&dragon_vario>; 106f126890aSEmmanuel Vadot pinctrl-names = "default"; 107f126890aSEmmanuel Vadot pinctrl-0 = <&dragon_ethernet_gpios>; 108f126890aSEmmanuel Vadot phy-mode = "mii"; 109f126890aSEmmanuel Vadot reg-io-width = <2>; 110f126890aSEmmanuel Vadot smsc,force-external-phy; 111f126890aSEmmanuel Vadot smsc,irq-push-pull; 112f126890aSEmmanuel Vadot 113f126890aSEmmanuel Vadot /* 114f126890aSEmmanuel Vadot * SLOW chipselect config 115f126890aSEmmanuel Vadot * Delay 9 cycles (140ns@64MHz) between SMSC 116f126890aSEmmanuel Vadot * LAN9221 Ethernet controller reads and writes 117f126890aSEmmanuel Vadot * on CS2. 118f126890aSEmmanuel Vadot */ 119f126890aSEmmanuel Vadot qcom,xmem-recovery-cycles = <0>; 120f126890aSEmmanuel Vadot qcom,xmem-write-hold-cycles = <3>; 121f126890aSEmmanuel Vadot qcom,xmem-write-delta-cycles = <31>; 122f126890aSEmmanuel Vadot qcom,xmem-read-delta-cycles = <28>; 123f126890aSEmmanuel Vadot qcom,xmem-write-wait-cycles = <9>; 124f126890aSEmmanuel Vadot qcom,xmem-read-wait-cycles = <9>; 125f126890aSEmmanuel Vadot }; 126f126890aSEmmanuel Vadot}; 127f126890aSEmmanuel Vadot 128f126890aSEmmanuel Vadot&gsbi3 { 129f126890aSEmmanuel Vadot qcom,mode = <GSBI_PROT_I2C>; 130f126890aSEmmanuel Vadot status = "okay"; 131f126890aSEmmanuel Vadot}; 132f126890aSEmmanuel Vadot 133f126890aSEmmanuel Vadot&gsbi3_i2c { 134f126890aSEmmanuel Vadot pinctrl-names = "default"; 135f126890aSEmmanuel Vadot pinctrl-0 = <&dragon_gsbi3_i2c_pins>; 136f126890aSEmmanuel Vadot status = "okay"; 137f126890aSEmmanuel Vadot 138f126890aSEmmanuel Vadot touchscreen@24 { 139f126890aSEmmanuel Vadot compatible = "cypress,cy8ctma340"; 140f126890aSEmmanuel Vadot reg = <0x24>; 141f126890aSEmmanuel Vadot /* Certainly we can do at least 400 kHz */ 142f126890aSEmmanuel Vadot clock-frequency = <400000>; 143f126890aSEmmanuel Vadot /* IRQ on GPIO61 called /CTP_INT */ 144f126890aSEmmanuel Vadot interrupt-parent = <&tlmm>; 145f126890aSEmmanuel Vadot interrupts = <61 IRQ_TYPE_EDGE_FALLING>; 146f126890aSEmmanuel Vadot /* 147f126890aSEmmanuel Vadot * The I2C bus is using a PCA9306 level translator from L16A 148f126890aSEmmanuel Vadot * to L2B so these two voltages are needed and L16A is 149f126890aSEmmanuel Vadot * kind of the IO voltage, however L16Aisn't really fed to 150f126890aSEmmanuel Vadot * the TMA340, which relies entirely on L2B (PM8901 L2). 151f126890aSEmmanuel Vadot */ 152f126890aSEmmanuel Vadot vcpin-supply = <&pm8058_l16>; 153f126890aSEmmanuel Vadot vdd-supply = <&pm8901_l2>; 154f126890aSEmmanuel Vadot /* GPIO58, called WAKE_CTP */ 155f126890aSEmmanuel Vadot reset-gpios = <&tlmm 58 GPIO_ACTIVE_LOW>; 156f126890aSEmmanuel Vadot touchscreen-size-x = <480>; 157f126890aSEmmanuel Vadot touchscreen-size-y = <800>; 158f126890aSEmmanuel Vadot active-interval-ms = <0>; 159f126890aSEmmanuel Vadot touch-timeout-ms = <255>; 160f126890aSEmmanuel Vadot lowpower-interval-ms = <10>; 161f126890aSEmmanuel Vadot bootloader-key = /bits/ 8 <0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07>; 162f126890aSEmmanuel Vadot pinctrl-names = "default"; 163f126890aSEmmanuel Vadot pinctrl-0 = <&dragon_tma340_gpios>; 164f126890aSEmmanuel Vadot }; 165f126890aSEmmanuel Vadot}; 166f126890aSEmmanuel Vadot 167f126890aSEmmanuel Vadot&gsbi8 { 168f126890aSEmmanuel Vadot qcom,mode = <GSBI_PROT_I2C>; 169f126890aSEmmanuel Vadot status = "okay"; 170f126890aSEmmanuel Vadot}; 171f126890aSEmmanuel Vadot 172f126890aSEmmanuel Vadot&gsbi8_i2c { 173f126890aSEmmanuel Vadot pinctrl-names = "default"; 174f126890aSEmmanuel Vadot pinctrl-0 = <&dragon_gsbi8_i2c_pins>; 175f126890aSEmmanuel Vadot status = "okay"; 176f126890aSEmmanuel Vadot 177f126890aSEmmanuel Vadot eeprom@52 { 178f126890aSEmmanuel Vadot /* A 16KiB Platform ID EEPROM on the CPU carrier board */ 179f126890aSEmmanuel Vadot compatible = "atmel,24c128"; 180f126890aSEmmanuel Vadot reg = <0x52>; 181f126890aSEmmanuel Vadot vcc-supply = <&pm8058_s3>; 182f126890aSEmmanuel Vadot pagesize = <64>; 183f126890aSEmmanuel Vadot }; 184f126890aSEmmanuel Vadot wm8903: wm8903@1a { 185f126890aSEmmanuel Vadot /* This Woolfson Micro device has an unrouted interrupt line */ 186f126890aSEmmanuel Vadot compatible = "wlf,wm8903"; 187f126890aSEmmanuel Vadot reg = <0x1a>; 188f126890aSEmmanuel Vadot 189f126890aSEmmanuel Vadot AVDD-supply = <&pm8058_l16>; 190f126890aSEmmanuel Vadot CPVDD-supply = <&pm8058_l16>; 191f126890aSEmmanuel Vadot DBVDD-supply = <&pm8058_s3>; 192f126890aSEmmanuel Vadot DCVDD-supply = <&pm8058_l0>; 193f126890aSEmmanuel Vadot 194f126890aSEmmanuel Vadot gpio-controller; 195f126890aSEmmanuel Vadot #gpio-cells = <2>; 196f126890aSEmmanuel Vadot 197f126890aSEmmanuel Vadot micdet-cfg = <0>; 198f126890aSEmmanuel Vadot micdet-delay = <100>; 199f126890aSEmmanuel Vadot gpio-cfg = <0xffffffff 0xffffffff 0 0xffffffff 0xffffffff>; 200f126890aSEmmanuel Vadot }; 201f126890aSEmmanuel Vadot}; 202f126890aSEmmanuel Vadot 203f126890aSEmmanuel Vadot&gsbi12 { 204f126890aSEmmanuel Vadot qcom,mode = <GSBI_PROT_I2C_UART>; 205f126890aSEmmanuel Vadot status = "okay"; 206f126890aSEmmanuel Vadot}; 207f126890aSEmmanuel Vadot 208f126890aSEmmanuel Vadot&gsbi12_serial { 209f126890aSEmmanuel Vadot pinctrl-names = "default"; 210f126890aSEmmanuel Vadot pinctrl-0 = <&dragon_gsbi12_serial_pins>; 211f126890aSEmmanuel Vadot status = "okay"; 212f126890aSEmmanuel Vadot}; 213f126890aSEmmanuel Vadot 214f126890aSEmmanuel Vadot&gsbi12_i2c { 215f126890aSEmmanuel Vadot pinctrl-names = "default"; 216f126890aSEmmanuel Vadot pinctrl-0 = <&dragon_gsbi12_i2c_pins>; 217f126890aSEmmanuel Vadot status = "okay"; 218f126890aSEmmanuel Vadot 219f126890aSEmmanuel Vadot ak8975@c { 220f126890aSEmmanuel Vadot compatible = "asahi-kasei,ak8975"; 221f126890aSEmmanuel Vadot reg = <0x0c>; 222f126890aSEmmanuel Vadot interrupt-parent = <&pm8058_gpio>; 223f126890aSEmmanuel Vadot interrupts = <33 IRQ_TYPE_EDGE_RISING>; 224f126890aSEmmanuel Vadot pinctrl-names = "default"; 225f126890aSEmmanuel Vadot pinctrl-0 = <&dragon_ak8975_gpios>; 226f126890aSEmmanuel Vadot vid-supply = <&pm8058_lvs0>; // 1.8V 227f126890aSEmmanuel Vadot vdd-supply = <&pm8058_l14>; // 2.85V 228f126890aSEmmanuel Vadot }; 229f126890aSEmmanuel Vadot bmp085@77 { 230f126890aSEmmanuel Vadot compatible = "bosch,bmp085"; 231f126890aSEmmanuel Vadot reg = <0x77>; 232f126890aSEmmanuel Vadot interrupt-parent = <&pm8058_gpio>; 233f126890aSEmmanuel Vadot interrupts = <16 IRQ_TYPE_EDGE_RISING>; 234f126890aSEmmanuel Vadot reset-gpios = <&tlmm 86 GPIO_ACTIVE_LOW>; 235f126890aSEmmanuel Vadot pinctrl-names = "default"; 236f126890aSEmmanuel Vadot pinctrl-0 = <&dragon_bmp085_gpios>; 237f126890aSEmmanuel Vadot vddd-supply = <&pm8058_lvs0>; // 1.8V 238f126890aSEmmanuel Vadot vdda-supply = <&pm8058_l14>; // 2.85V 239f126890aSEmmanuel Vadot }; 240f126890aSEmmanuel Vadot mpu3050@68 { 241f126890aSEmmanuel Vadot compatible = "invensense,mpu3050"; 242f126890aSEmmanuel Vadot reg = <0x68>; 243f126890aSEmmanuel Vadot /* 244f126890aSEmmanuel Vadot * GPIO17 is pulled high by a 10k 245f126890aSEmmanuel Vadot * resistor to VLOGIC so needs to be 246f126890aSEmmanuel Vadot * active low/falling edge. 247f126890aSEmmanuel Vadot */ 248f126890aSEmmanuel Vadot interrupts-extended = <&pm8058_gpio 17 IRQ_TYPE_EDGE_FALLING>; 249f126890aSEmmanuel Vadot pinctrl-names = "default"; 250f126890aSEmmanuel Vadot pinctrl-0 = <&dragon_mpu3050_gpios>; 251f126890aSEmmanuel Vadot vlogic-supply = <&pm8058_lvs0>; // 1.8V 252f126890aSEmmanuel Vadot vdd-supply = <&pm8058_l14>; // 2.85V 253f126890aSEmmanuel Vadot 254f126890aSEmmanuel Vadot /* 255f126890aSEmmanuel Vadot * The MPU-3050 acts as a hub for the 256f126890aSEmmanuel Vadot * accelerometer. 257f126890aSEmmanuel Vadot */ 258f126890aSEmmanuel Vadot i2c-gate { 259f126890aSEmmanuel Vadot #address-cells = <1>; 260f126890aSEmmanuel Vadot #size-cells = <0>; 261f126890aSEmmanuel Vadot 262f126890aSEmmanuel Vadot kxsd9@18 { 263f126890aSEmmanuel Vadot compatible = "kionix,kxsd9"; 264f126890aSEmmanuel Vadot reg = <0x18>; 265f126890aSEmmanuel Vadot interrupt-parent = <&tlmm>; 266f126890aSEmmanuel Vadot interrupts = <57 IRQ_TYPE_EDGE_FALLING>; 267f126890aSEmmanuel Vadot pinctrl-names = "default"; 268f126890aSEmmanuel Vadot pinctrl-0 = <&dragon_kxsd9_gpios>; 269f126890aSEmmanuel Vadot iovdd-supply = <&pm8058_lvs0>; // 1.8V 270f126890aSEmmanuel Vadot vdd-supply = <&pm8058_l14>; // 2.85V 271f126890aSEmmanuel Vadot }; 272f126890aSEmmanuel Vadot }; 273f126890aSEmmanuel Vadot }; 274f126890aSEmmanuel Vadot}; 275f126890aSEmmanuel Vadot 276*8d13bc63SEmmanuel Vadot&pm8058 { 277*8d13bc63SEmmanuel Vadot interrupts-extended = <&tlmm 88 IRQ_TYPE_LEVEL_LOW>; 278*8d13bc63SEmmanuel Vadot}; 279*8d13bc63SEmmanuel Vadot 280f126890aSEmmanuel Vadot&pm8058_gpio { 281f126890aSEmmanuel Vadot dragon_ethernet_gpios: ethernet-state { 282f126890aSEmmanuel Vadot pinconf { 283f126890aSEmmanuel Vadot pins = "gpio7"; 284f126890aSEmmanuel Vadot function = "normal"; 285f126890aSEmmanuel Vadot input-enable; 286f126890aSEmmanuel Vadot bias-disable; 287f126890aSEmmanuel Vadot power-source = <PM8058_GPIO_S3>; 288f126890aSEmmanuel Vadot }; 289f126890aSEmmanuel Vadot }; 290f126890aSEmmanuel Vadot dragon_bmp085_gpios: bmp085-state { 291f126890aSEmmanuel Vadot pinconf { 292f126890aSEmmanuel Vadot pins = "gpio16"; 293f126890aSEmmanuel Vadot function = "normal"; 294f126890aSEmmanuel Vadot input-enable; 295f126890aSEmmanuel Vadot bias-disable; 296f126890aSEmmanuel Vadot power-source = <PM8058_GPIO_S3>; 297f126890aSEmmanuel Vadot }; 298f126890aSEmmanuel Vadot }; 299f126890aSEmmanuel Vadot dragon_mpu3050_gpios: mpu3050-state { 300f126890aSEmmanuel Vadot pinconf { 301f126890aSEmmanuel Vadot pins = "gpio17"; 302f126890aSEmmanuel Vadot function = "normal"; 303f126890aSEmmanuel Vadot input-enable; 304f126890aSEmmanuel Vadot bias-disable; 305f126890aSEmmanuel Vadot power-source = <PM8058_GPIO_S3>; 306f126890aSEmmanuel Vadot }; 307f126890aSEmmanuel Vadot }; 308f126890aSEmmanuel Vadot dragon_sdcc3_gpios: sdcc3-state { 309f126890aSEmmanuel Vadot pinconf { 310f126890aSEmmanuel Vadot pins = "gpio22"; 311f126890aSEmmanuel Vadot function = "normal"; 312f126890aSEmmanuel Vadot input-enable; 313f126890aSEmmanuel Vadot bias-disable; 314f126890aSEmmanuel Vadot power-source = <PM8058_GPIO_S3>; 315f126890aSEmmanuel Vadot }; 316f126890aSEmmanuel Vadot }; 317f126890aSEmmanuel Vadot dragon_sdcc5_gpios: sdcc5-state { 318f126890aSEmmanuel Vadot pinconf { 319f126890aSEmmanuel Vadot pins = "gpio26"; 320f126890aSEmmanuel Vadot function = "normal"; 321f126890aSEmmanuel Vadot input-enable; 322f126890aSEmmanuel Vadot bias-pull-up; 323f126890aSEmmanuel Vadot qcom,pull-up-strength = <PMIC_GPIO_PULL_UP_30>; 324f126890aSEmmanuel Vadot power-source = <PM8058_GPIO_S3>; 325f126890aSEmmanuel Vadot }; 326f126890aSEmmanuel Vadot }; 327f126890aSEmmanuel Vadot dragon_ak8975_gpios: ak8975-state { 328f126890aSEmmanuel Vadot pinconf { 329f126890aSEmmanuel Vadot pins = "gpio33"; 330f126890aSEmmanuel Vadot function = "normal"; 331f126890aSEmmanuel Vadot input-enable; 332f126890aSEmmanuel Vadot bias-disable; 333f126890aSEmmanuel Vadot power-source = <PM8058_GPIO_S3>; 334f126890aSEmmanuel Vadot }; 335f126890aSEmmanuel Vadot }; 336f126890aSEmmanuel Vadot dragon_cm3605_gpios: cm3605-state { 337f126890aSEmmanuel Vadot /* Pin 34 connected to the proxy IRQ */ 338f126890aSEmmanuel Vadot gpio34-pins { 339f126890aSEmmanuel Vadot pins = "gpio34"; 340f126890aSEmmanuel Vadot function = "normal"; 341f126890aSEmmanuel Vadot input-enable; 342f126890aSEmmanuel Vadot bias-disable; 343f126890aSEmmanuel Vadot power-source = <PM8058_GPIO_S3>; 344f126890aSEmmanuel Vadot }; 345f126890aSEmmanuel Vadot /* Pin 35 connected to ASET */ 346f126890aSEmmanuel Vadot gpio35-pins { 347f126890aSEmmanuel Vadot pins = "gpio35"; 348f126890aSEmmanuel Vadot function = "normal"; 349f126890aSEmmanuel Vadot output-high; 350f126890aSEmmanuel Vadot bias-disable; 351f126890aSEmmanuel Vadot power-source = <PM8058_GPIO_S3>; 352f126890aSEmmanuel Vadot }; 353f126890aSEmmanuel Vadot }; 354f126890aSEmmanuel Vadot dragon_veth_gpios: veth-state { 355f126890aSEmmanuel Vadot pinconf { 356f126890aSEmmanuel Vadot pins = "gpio40"; 357f126890aSEmmanuel Vadot function = "normal"; 358f126890aSEmmanuel Vadot bias-disable; 359f126890aSEmmanuel Vadot drive-push-pull; 360f126890aSEmmanuel Vadot }; 361f126890aSEmmanuel Vadot }; 362f126890aSEmmanuel Vadot}; 363f126890aSEmmanuel Vadot 364f126890aSEmmanuel Vadot&pm8058_keypad { 365f126890aSEmmanuel Vadot linux,keymap = < 366f126890aSEmmanuel Vadot MATRIX_KEY(0, 0, KEY_MENU) 367f126890aSEmmanuel Vadot MATRIX_KEY(0, 2, KEY_1) 368f126890aSEmmanuel Vadot MATRIX_KEY(0, 3, KEY_4) 369f126890aSEmmanuel Vadot MATRIX_KEY(0, 4, KEY_7) 370f126890aSEmmanuel Vadot MATRIX_KEY(1, 0, KEY_UP) 371f126890aSEmmanuel Vadot MATRIX_KEY(1, 1, KEY_LEFT) 372f126890aSEmmanuel Vadot MATRIX_KEY(1, 2, KEY_DOWN) 373f126890aSEmmanuel Vadot MATRIX_KEY(1, 3, KEY_5) 374f126890aSEmmanuel Vadot MATRIX_KEY(1, 3, KEY_8) 375f126890aSEmmanuel Vadot MATRIX_KEY(2, 0, KEY_HOME) 376f126890aSEmmanuel Vadot MATRIX_KEY(2, 1, KEY_REPLY) 377f126890aSEmmanuel Vadot MATRIX_KEY(2, 2, KEY_2) 378f126890aSEmmanuel Vadot MATRIX_KEY(2, 3, KEY_6) 379f126890aSEmmanuel Vadot MATRIX_KEY(3, 0, KEY_VOLUMEUP) 380f126890aSEmmanuel Vadot MATRIX_KEY(3, 1, KEY_RIGHT) 381f126890aSEmmanuel Vadot MATRIX_KEY(3, 2, KEY_3) 382f126890aSEmmanuel Vadot MATRIX_KEY(3, 3, KEY_9) 383f126890aSEmmanuel Vadot MATRIX_KEY(3, 4, KEY_SWITCHVIDEOMODE) 384f126890aSEmmanuel Vadot MATRIX_KEY(4, 0, KEY_VOLUMEDOWN) 385f126890aSEmmanuel Vadot MATRIX_KEY(4, 1, KEY_BACK) 386f126890aSEmmanuel Vadot MATRIX_KEY(4, 2, KEY_CAMERA) 387f126890aSEmmanuel Vadot MATRIX_KEY(4, 3, KEY_KBDILLUMTOGGLE) 388f126890aSEmmanuel Vadot >; 389f126890aSEmmanuel Vadot keypad,num-rows = <6>; 390f126890aSEmmanuel Vadot keypad,num-columns = <5>; 391f126890aSEmmanuel Vadot}; 392f126890aSEmmanuel Vadot 393f126890aSEmmanuel Vadot&pm8058_led48 { 394f126890aSEmmanuel Vadot /* 395f126890aSEmmanuel Vadot * The keypad LED @0x48 is routed to 396f126890aSEmmanuel Vadot * the sensor board where it is 397f126890aSEmmanuel Vadot * connected to an infrared LED 398f126890aSEmmanuel Vadot * SFH4650 (60mW, @850nm) next to the 399f126890aSEmmanuel Vadot * ambient light and proximity sensor 400f126890aSEmmanuel Vadot * Capella Microsystems CM3605. 401f126890aSEmmanuel Vadot */ 402f126890aSEmmanuel Vadot label = "pm8058:infrared:proximitysensor"; 403f126890aSEmmanuel Vadot default-state = "off"; 404f126890aSEmmanuel Vadot linux,default-trigger = "cm3605"; 405f126890aSEmmanuel Vadot status = "okay"; 406f126890aSEmmanuel Vadot}; 407f126890aSEmmanuel Vadot 408f126890aSEmmanuel Vadot&pm8058_led131 { 409f126890aSEmmanuel Vadot label = "pm8058:red"; 410f126890aSEmmanuel Vadot color = <LED_COLOR_ID_RED>; 411f126890aSEmmanuel Vadot default-state = "off"; 412f126890aSEmmanuel Vadot status = "okay"; 413f126890aSEmmanuel Vadot}; 414f126890aSEmmanuel Vadot 415f126890aSEmmanuel Vadot&pm8058_led132 { 416f126890aSEmmanuel Vadot /* 417f126890aSEmmanuel Vadot * This is actually green too on my 418f126890aSEmmanuel Vadot * board, but documented as yellow. 419f126890aSEmmanuel Vadot */ 420f126890aSEmmanuel Vadot label = "pm8058:yellow"; 421f126890aSEmmanuel Vadot color = <LED_COLOR_ID_YELLOW>; 422f126890aSEmmanuel Vadot default-state = "off"; 423f126890aSEmmanuel Vadot linux,default-trigger = "mmc0"; 424f126890aSEmmanuel Vadot status = "okay"; 425f126890aSEmmanuel Vadot}; 426f126890aSEmmanuel Vadot 427f126890aSEmmanuel Vadot&pm8058_led133 { 428f126890aSEmmanuel Vadot label = "pm8058:green"; 429f126890aSEmmanuel Vadot function = LED_FUNCTION_HEARTBEAT; 430f126890aSEmmanuel Vadot color = <LED_COLOR_ID_GREEN>; 431f126890aSEmmanuel Vadot default-state = "on"; 432f126890aSEmmanuel Vadot linux,default-trigger = "heartbeat"; 433f126890aSEmmanuel Vadot status = "okay"; 434f126890aSEmmanuel Vadot}; 435f126890aSEmmanuel Vadot 436f126890aSEmmanuel Vadot&pm8058_mpps { 437f126890aSEmmanuel Vadot dragon_cm3605_mpps: cm3605-mpps-state { 438f126890aSEmmanuel Vadot pins = "mpp5"; 439f126890aSEmmanuel Vadot function = "analog"; 440f126890aSEmmanuel Vadot input-enable; 441f126890aSEmmanuel Vadot bias-high-impedance; 442f126890aSEmmanuel Vadot /* Let's use channel 5 */ 443f126890aSEmmanuel Vadot qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH5>; 444f126890aSEmmanuel Vadot power-source = <PM8058_GPIO_S3>; 445f126890aSEmmanuel Vadot }; 446f126890aSEmmanuel Vadot}; 447f126890aSEmmanuel Vadot 448f126890aSEmmanuel Vadot&rpm { 449f126890aSEmmanuel Vadot /* 450f126890aSEmmanuel Vadot * Set up of the PMIC RPM regulators for this board 451f126890aSEmmanuel Vadot * PM8901 supplies "preliminary regulators" whatever 452f126890aSEmmanuel Vadot * that means 453f126890aSEmmanuel Vadot */ 454f126890aSEmmanuel Vadot regulators-0 { 455*8d13bc63SEmmanuel Vadot compatible = "qcom,rpm-pm8901-regulators"; 456*8d13bc63SEmmanuel Vadot 457f126890aSEmmanuel Vadot vdd_l0-supply = <&pm8901_s4>; 458f126890aSEmmanuel Vadot vdd_l1-supply = <&vph>; 459f126890aSEmmanuel Vadot vdd_l2-supply = <&vph>; 460f126890aSEmmanuel Vadot vdd_l3-supply = <&vph>; 461f126890aSEmmanuel Vadot vdd_l4-supply = <&vph>; 462f126890aSEmmanuel Vadot vdd_l5-supply = <&vph>; 463f126890aSEmmanuel Vadot vdd_l6-supply = <&vph>; 464f126890aSEmmanuel Vadot /* vdd_s0-supply, vdd_s1-supply: SAW regulators */ 465f126890aSEmmanuel Vadot vdd_s2-supply = <&vph>; 466f126890aSEmmanuel Vadot vdd_s3-supply = <&vph>; 467f126890aSEmmanuel Vadot vdd_s4-supply = <&vph>; 468f126890aSEmmanuel Vadot lvs0_in-supply = <&pm8058_s3>; 469f126890aSEmmanuel Vadot lvs1_in-supply = <&pm8901_s4>; 470f126890aSEmmanuel Vadot lvs2_in-supply = <&pm8058_l0>; 471f126890aSEmmanuel Vadot lvs3_in-supply = <&pm8058_s2>; 472f126890aSEmmanuel Vadot mvs_in-supply = <&pm8058_s3>; 473f126890aSEmmanuel Vadot 474*8d13bc63SEmmanuel Vadot pm8901_l0: l0 { 475f126890aSEmmanuel Vadot regulator-min-microvolt = <1200000>; 476f126890aSEmmanuel Vadot regulator-max-microvolt = <1200000>; 477f126890aSEmmanuel Vadot bias-pull-down; 478f126890aSEmmanuel Vadot }; 479*8d13bc63SEmmanuel Vadot 480*8d13bc63SEmmanuel Vadot pm8901_l1: l1 { 481f126890aSEmmanuel Vadot regulator-min-microvolt = <3300000>; 482f126890aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 483f126890aSEmmanuel Vadot bias-pull-down; 484f126890aSEmmanuel Vadot }; 485*8d13bc63SEmmanuel Vadot 486*8d13bc63SEmmanuel Vadot pm8901_l2: l2 { 487f126890aSEmmanuel Vadot /* TMA340 requires strictly 3.3V */ 488f126890aSEmmanuel Vadot regulator-min-microvolt = <3300000>; 489f126890aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 490f126890aSEmmanuel Vadot bias-pull-down; 491f126890aSEmmanuel Vadot }; 492*8d13bc63SEmmanuel Vadot 493*8d13bc63SEmmanuel Vadot pm8901_l3: l3 { 494f126890aSEmmanuel Vadot regulator-min-microvolt = <3300000>; 495f126890aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 496f126890aSEmmanuel Vadot bias-pull-down; 497f126890aSEmmanuel Vadot }; 498*8d13bc63SEmmanuel Vadot 499*8d13bc63SEmmanuel Vadot pm8901_l4: l4 { 500f126890aSEmmanuel Vadot regulator-min-microvolt = <2600000>; 501f126890aSEmmanuel Vadot regulator-max-microvolt = <2600000>; 502f126890aSEmmanuel Vadot bias-pull-down; 503f126890aSEmmanuel Vadot }; 504*8d13bc63SEmmanuel Vadot 505*8d13bc63SEmmanuel Vadot pm8901_l5: l5 { 506f126890aSEmmanuel Vadot regulator-min-microvolt = <2850000>; 507f126890aSEmmanuel Vadot regulator-max-microvolt = <2850000>; 508f126890aSEmmanuel Vadot bias-pull-down; 509f126890aSEmmanuel Vadot }; 510*8d13bc63SEmmanuel Vadot 511*8d13bc63SEmmanuel Vadot pm8901_l6: l6 { 512f126890aSEmmanuel Vadot regulator-min-microvolt = <2200000>; 513f126890aSEmmanuel Vadot regulator-max-microvolt = <2200000>; 514f126890aSEmmanuel Vadot bias-pull-down; 515f126890aSEmmanuel Vadot }; 516f126890aSEmmanuel Vadot 517f126890aSEmmanuel Vadot /* s0 and s1 are SAW regulators controlled over SPM */ 518*8d13bc63SEmmanuel Vadot pm8901_s2: s2 { 519f126890aSEmmanuel Vadot regulator-min-microvolt = <1300000>; 520f126890aSEmmanuel Vadot regulator-max-microvolt = <1300000>; 521f126890aSEmmanuel Vadot qcom,switch-mode-frequency = <1600000>; 522f126890aSEmmanuel Vadot bias-pull-down; 523f126890aSEmmanuel Vadot }; 524*8d13bc63SEmmanuel Vadot pm8901_s3: s3 { 525f126890aSEmmanuel Vadot regulator-min-microvolt = <1100000>; 526f126890aSEmmanuel Vadot regulator-max-microvolt = <1100000>; 527f126890aSEmmanuel Vadot qcom,switch-mode-frequency = <1600000>; 528f126890aSEmmanuel Vadot bias-pull-down; 529f126890aSEmmanuel Vadot }; 530*8d13bc63SEmmanuel Vadot pm8901_s4: s4 { 531f126890aSEmmanuel Vadot regulator-min-microvolt = <1225000>; 532f126890aSEmmanuel Vadot regulator-max-microvolt = <1225000>; 533f126890aSEmmanuel Vadot qcom,switch-mode-frequency = <1600000>; 534f126890aSEmmanuel Vadot bias-pull-down; 535f126890aSEmmanuel Vadot }; 536f126890aSEmmanuel Vadot 537f126890aSEmmanuel Vadot /* LVS0 thru 3 and mvs are just switches */ 538*8d13bc63SEmmanuel Vadot pm8901_lvs0: lvs0 { 539f126890aSEmmanuel Vadot regulator-always-on; 540f126890aSEmmanuel Vadot }; 541f126890aSEmmanuel Vadot 542*8d13bc63SEmmanuel Vadot pm8901_lvs1: lvs1 { }; 543*8d13bc63SEmmanuel Vadot 544*8d13bc63SEmmanuel Vadot pm8901_lvs2: lvs2 { }; 545*8d13bc63SEmmanuel Vadot 546*8d13bc63SEmmanuel Vadot pm8901_lvs3: lvs3 { }; 547*8d13bc63SEmmanuel Vadot 548*8d13bc63SEmmanuel Vadot pm8901_mvs: mvs { }; 549f126890aSEmmanuel Vadot }; 550f126890aSEmmanuel Vadot 551f126890aSEmmanuel Vadot regulators-1 { 552*8d13bc63SEmmanuel Vadot compatible = "qcom,rpm-pm8058-regulators"; 553*8d13bc63SEmmanuel Vadot 554f126890aSEmmanuel Vadot vdd_l0_l1_lvs-supply = <&pm8058_s3>; 555f126890aSEmmanuel Vadot vdd_l2_l11_l12-supply = <&vph>; 556f126890aSEmmanuel Vadot vdd_l3_l4_l5-supply = <&vph>; 557f126890aSEmmanuel Vadot vdd_l6_l7-supply = <&vph>; 558f126890aSEmmanuel Vadot vdd_l8-supply = <&vph>; 559f126890aSEmmanuel Vadot vdd_l9-supply = <&vph>; 560f126890aSEmmanuel Vadot vdd_l10-supply = <&vph>; 561f126890aSEmmanuel Vadot vdd_l13_l16-supply = <&pm8058_s4>; 562f126890aSEmmanuel Vadot vdd_l14_l15-supply = <&vph>; 563f126890aSEmmanuel Vadot vdd_l17_l18-supply = <&vph>; 564f126890aSEmmanuel Vadot vdd_l19_l20-supply = <&vph>; 565f126890aSEmmanuel Vadot vdd_l21-supply = <&pm8058_s3>; 566f126890aSEmmanuel Vadot vdd_l22-supply = <&pm8058_s3>; 567f126890aSEmmanuel Vadot vdd_l23_l24_l25-supply = <&pm8058_s3>; 568f126890aSEmmanuel Vadot vdd_s0-supply = <&vph>; 569f126890aSEmmanuel Vadot vdd_s1-supply = <&vph>; 570f126890aSEmmanuel Vadot vdd_s2-supply = <&vph>; 571f126890aSEmmanuel Vadot vdd_s3-supply = <&vph>; 572f126890aSEmmanuel Vadot vdd_s4-supply = <&vph>; 573f126890aSEmmanuel Vadot vdd_ncp-supply = <&vph>; 574f126890aSEmmanuel Vadot 575*8d13bc63SEmmanuel Vadot pm8058_l0: l0 { 576f126890aSEmmanuel Vadot regulator-min-microvolt = <1200000>; 577f126890aSEmmanuel Vadot regulator-max-microvolt = <1200000>; 578f126890aSEmmanuel Vadot bias-pull-down; 579f126890aSEmmanuel Vadot }; 580*8d13bc63SEmmanuel Vadot 581*8d13bc63SEmmanuel Vadot pm8058_l1: l1 { 582f126890aSEmmanuel Vadot regulator-min-microvolt = <1200000>; 583f126890aSEmmanuel Vadot regulator-max-microvolt = <1200000>; 584f126890aSEmmanuel Vadot bias-pull-down; 585f126890aSEmmanuel Vadot }; 586*8d13bc63SEmmanuel Vadot 587*8d13bc63SEmmanuel Vadot pm8058_l2: l2 { 588f126890aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 589f126890aSEmmanuel Vadot regulator-max-microvolt = <2600000>; 590f126890aSEmmanuel Vadot bias-pull-down; 591f126890aSEmmanuel Vadot }; 592*8d13bc63SEmmanuel Vadot 593*8d13bc63SEmmanuel Vadot pm8058_l3: l3 { 594f126890aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 595f126890aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 596f126890aSEmmanuel Vadot bias-pull-down; 597f126890aSEmmanuel Vadot }; 598*8d13bc63SEmmanuel Vadot 599*8d13bc63SEmmanuel Vadot pm8058_l4: l4 { 600f126890aSEmmanuel Vadot regulator-min-microvolt = <2850000>; 601f126890aSEmmanuel Vadot regulator-max-microvolt = <2850000>; 602f126890aSEmmanuel Vadot bias-pull-down; 603f126890aSEmmanuel Vadot }; 604*8d13bc63SEmmanuel Vadot 605*8d13bc63SEmmanuel Vadot pm8058_l5: l5 { 606f126890aSEmmanuel Vadot regulator-min-microvolt = <2850000>; 607f126890aSEmmanuel Vadot regulator-max-microvolt = <2850000>; 608f126890aSEmmanuel Vadot bias-pull-down; 609f126890aSEmmanuel Vadot }; 610*8d13bc63SEmmanuel Vadot 611*8d13bc63SEmmanuel Vadot pm8058_l6: l6 { 612f126890aSEmmanuel Vadot regulator-min-microvolt = <3000000>; 613f126890aSEmmanuel Vadot regulator-max-microvolt = <3600000>; 614f126890aSEmmanuel Vadot bias-pull-down; 615f126890aSEmmanuel Vadot }; 616*8d13bc63SEmmanuel Vadot 617*8d13bc63SEmmanuel Vadot pm8058_l7: l7 { 618f126890aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 619f126890aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 620f126890aSEmmanuel Vadot bias-pull-down; 621f126890aSEmmanuel Vadot }; 622*8d13bc63SEmmanuel Vadot 623*8d13bc63SEmmanuel Vadot pm8058_l8: l8 { 624f126890aSEmmanuel Vadot regulator-min-microvolt = <2900000>; 625f126890aSEmmanuel Vadot regulator-max-microvolt = <3050000>; 626f126890aSEmmanuel Vadot bias-pull-down; 627f126890aSEmmanuel Vadot }; 628*8d13bc63SEmmanuel Vadot 629*8d13bc63SEmmanuel Vadot pm8058_l9: l9 { 630f126890aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 631f126890aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 632f126890aSEmmanuel Vadot bias-pull-down; 633f126890aSEmmanuel Vadot }; 634*8d13bc63SEmmanuel Vadot 635*8d13bc63SEmmanuel Vadot pm8058_l10: l10 { 636f126890aSEmmanuel Vadot regulator-min-microvolt = <2600000>; 637f126890aSEmmanuel Vadot regulator-max-microvolt = <2600000>; 638f126890aSEmmanuel Vadot bias-pull-down; 639f126890aSEmmanuel Vadot }; 640*8d13bc63SEmmanuel Vadot 641*8d13bc63SEmmanuel Vadot pm8058_l11: l11 { 642f126890aSEmmanuel Vadot regulator-min-microvolt = <1500000>; 643f126890aSEmmanuel Vadot regulator-max-microvolt = <1500000>; 644f126890aSEmmanuel Vadot bias-pull-down; 645f126890aSEmmanuel Vadot }; 646*8d13bc63SEmmanuel Vadot 647*8d13bc63SEmmanuel Vadot pm8058_l12: l12 { 648f126890aSEmmanuel Vadot regulator-min-microvolt = <2900000>; 649f126890aSEmmanuel Vadot regulator-max-microvolt = <2900000>; 650f126890aSEmmanuel Vadot bias-pull-down; 651f126890aSEmmanuel Vadot }; 652*8d13bc63SEmmanuel Vadot 653*8d13bc63SEmmanuel Vadot pm8058_l13: l13 { 654f126890aSEmmanuel Vadot regulator-min-microvolt = <2050000>; 655f126890aSEmmanuel Vadot regulator-max-microvolt = <2050000>; 656f126890aSEmmanuel Vadot bias-pull-down; 657f126890aSEmmanuel Vadot }; 658*8d13bc63SEmmanuel Vadot 659*8d13bc63SEmmanuel Vadot pm8058_l14: l14 { 660f126890aSEmmanuel Vadot regulator-min-microvolt = <2850000>; 661f126890aSEmmanuel Vadot regulator-max-microvolt = <2850000>; 662f126890aSEmmanuel Vadot }; 663*8d13bc63SEmmanuel Vadot 664*8d13bc63SEmmanuel Vadot pm8058_l15: l15 { 665f126890aSEmmanuel Vadot regulator-min-microvolt = <2850000>; 666f126890aSEmmanuel Vadot regulator-max-microvolt = <2850000>; 667f126890aSEmmanuel Vadot bias-pull-down; 668f126890aSEmmanuel Vadot }; 669*8d13bc63SEmmanuel Vadot 670*8d13bc63SEmmanuel Vadot pm8058_l16: l16 { 671f126890aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 672f126890aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 673f126890aSEmmanuel Vadot bias-pull-down; 674f126890aSEmmanuel Vadot regulator-always-on; 675f126890aSEmmanuel Vadot }; 676*8d13bc63SEmmanuel Vadot 677*8d13bc63SEmmanuel Vadot pm8058_l17: l17 { 678f126890aSEmmanuel Vadot // 1.5V according to schematic 679f126890aSEmmanuel Vadot regulator-min-microvolt = <2600000>; 680f126890aSEmmanuel Vadot regulator-max-microvolt = <2600000>; 681f126890aSEmmanuel Vadot bias-pull-down; 682f126890aSEmmanuel Vadot }; 683*8d13bc63SEmmanuel Vadot 684*8d13bc63SEmmanuel Vadot pm8058_l18: l18 { 685f126890aSEmmanuel Vadot regulator-min-microvolt = <2200000>; 686f126890aSEmmanuel Vadot regulator-max-microvolt = <2200000>; 687f126890aSEmmanuel Vadot bias-pull-down; 688f126890aSEmmanuel Vadot }; 689*8d13bc63SEmmanuel Vadot 690*8d13bc63SEmmanuel Vadot pm8058_l19: l19 { 691f126890aSEmmanuel Vadot regulator-min-microvolt = <2500000>; 692f126890aSEmmanuel Vadot regulator-max-microvolt = <2500000>; 693f126890aSEmmanuel Vadot bias-pull-down; 694f126890aSEmmanuel Vadot }; 695*8d13bc63SEmmanuel Vadot 696*8d13bc63SEmmanuel Vadot pm8058_l20: l20 { 697f126890aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 698f126890aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 699f126890aSEmmanuel Vadot bias-pull-down; 700f126890aSEmmanuel Vadot }; 701*8d13bc63SEmmanuel Vadot 702*8d13bc63SEmmanuel Vadot pm8058_l21: l21 { 703f126890aSEmmanuel Vadot // 1.1 V according to schematic 704f126890aSEmmanuel Vadot regulator-min-microvolt = <1200000>; 705f126890aSEmmanuel Vadot regulator-max-microvolt = <1200000>; 706f126890aSEmmanuel Vadot bias-pull-down; 707f126890aSEmmanuel Vadot regulator-always-on; 708f126890aSEmmanuel Vadot }; 709*8d13bc63SEmmanuel Vadot 710*8d13bc63SEmmanuel Vadot pm8058_l22: l22 { 711f126890aSEmmanuel Vadot // 1.2 V according to schematic 712f126890aSEmmanuel Vadot regulator-min-microvolt = <1150000>; 713f126890aSEmmanuel Vadot regulator-max-microvolt = <1150000>; 714f126890aSEmmanuel Vadot bias-pull-down; 715f126890aSEmmanuel Vadot }; 716*8d13bc63SEmmanuel Vadot 717*8d13bc63SEmmanuel Vadot pm8058_l23: l23 { 718f126890aSEmmanuel Vadot // Unused 719f126890aSEmmanuel Vadot regulator-min-microvolt = <1200000>; 720f126890aSEmmanuel Vadot regulator-max-microvolt = <1200000>; 721f126890aSEmmanuel Vadot bias-pull-down; 722f126890aSEmmanuel Vadot }; 723f126890aSEmmanuel Vadot 724*8d13bc63SEmmanuel Vadot pm8058_l24: l24 { 725*8d13bc63SEmmanuel Vadot // Unused 726*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <1200000>; 727*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <1200000>; 728*8d13bc63SEmmanuel Vadot bias-pull-down; 729*8d13bc63SEmmanuel Vadot }; 730*8d13bc63SEmmanuel Vadot 731*8d13bc63SEmmanuel Vadot pm8058_l25: l25 { 732*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <1200000>; 733*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <1200000>; 734*8d13bc63SEmmanuel Vadot bias-pull-down; 735*8d13bc63SEmmanuel Vadot }; 736*8d13bc63SEmmanuel Vadot 737*8d13bc63SEmmanuel Vadot pm8058_s0: s0 { 738f126890aSEmmanuel Vadot // regulator-min-microvolt = <500000>; 739f126890aSEmmanuel Vadot // regulator-max-microvolt = <1325000>; 740f126890aSEmmanuel Vadot regulator-min-microvolt = <1100000>; 741f126890aSEmmanuel Vadot regulator-max-microvolt = <1100000>; 742f126890aSEmmanuel Vadot qcom,switch-mode-frequency = <1600000>; 743f126890aSEmmanuel Vadot bias-pull-down; 744f126890aSEmmanuel Vadot }; 745*8d13bc63SEmmanuel Vadot 746*8d13bc63SEmmanuel Vadot pm8058_s1: s1 { 747f126890aSEmmanuel Vadot // regulator-min-microvolt = <500000>; 748f126890aSEmmanuel Vadot // regulator-max-microvolt = <1250000>; 749f126890aSEmmanuel Vadot regulator-min-microvolt = <1100000>; 750f126890aSEmmanuel Vadot regulator-max-microvolt = <1100000>; 751f126890aSEmmanuel Vadot qcom,switch-mode-frequency = <1600000>; 752f126890aSEmmanuel Vadot bias-pull-down; 753f126890aSEmmanuel Vadot }; 754*8d13bc63SEmmanuel Vadot 755*8d13bc63SEmmanuel Vadot pm8058_s2: s2 { 756f126890aSEmmanuel Vadot // 1.3 V according to schematic 757f126890aSEmmanuel Vadot regulator-min-microvolt = <1200000>; 758f126890aSEmmanuel Vadot regulator-max-microvolt = <1400000>; 759f126890aSEmmanuel Vadot qcom,switch-mode-frequency = <1600000>; 760f126890aSEmmanuel Vadot bias-pull-down; 761f126890aSEmmanuel Vadot }; 762*8d13bc63SEmmanuel Vadot 763*8d13bc63SEmmanuel Vadot pm8058_s3: s3 { 764f126890aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 765f126890aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 766f126890aSEmmanuel Vadot qcom,switch-mode-frequency = <1600000>; 767f126890aSEmmanuel Vadot regulator-always-on; 768f126890aSEmmanuel Vadot bias-pull-down; 769f126890aSEmmanuel Vadot }; 770*8d13bc63SEmmanuel Vadot 771*8d13bc63SEmmanuel Vadot pm8058_s4: s4 { 772f126890aSEmmanuel Vadot regulator-min-microvolt = <2200000>; 773f126890aSEmmanuel Vadot regulator-max-microvolt = <2200000>; 774f126890aSEmmanuel Vadot qcom,switch-mode-frequency = <1600000>; 775f126890aSEmmanuel Vadot regulator-always-on; 776f126890aSEmmanuel Vadot bias-pull-down; 777f126890aSEmmanuel Vadot }; 778f126890aSEmmanuel Vadot 779f126890aSEmmanuel Vadot /* LVS0 and LVS1 are just switches */ 780*8d13bc63SEmmanuel Vadot pm8058_lvs0: lvs0 { 781f126890aSEmmanuel Vadot bias-pull-down; 782f126890aSEmmanuel Vadot }; 783f126890aSEmmanuel Vadot 784*8d13bc63SEmmanuel Vadot pm8058_lvs1: lvs1 { 785*8d13bc63SEmmanuel Vadot bias-pull-down; 786*8d13bc63SEmmanuel Vadot }; 787*8d13bc63SEmmanuel Vadot 788*8d13bc63SEmmanuel Vadot pm8058_ncp: ncp { 789f126890aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 790f126890aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 791f126890aSEmmanuel Vadot qcom,switch-mode-frequency = <1600000>; 792f126890aSEmmanuel Vadot }; 793f126890aSEmmanuel Vadot }; 794f126890aSEmmanuel Vadot}; 795f126890aSEmmanuel Vadot 796f126890aSEmmanuel Vadot/* Internal 3.69 GiB eMMC */ 797f126890aSEmmanuel Vadot&sdcc1 { 798f126890aSEmmanuel Vadot pinctrl-names = "default"; 799f126890aSEmmanuel Vadot pinctrl-0 = <&dragon_sdcc1_pins>; 800f126890aSEmmanuel Vadot vmmc-supply = <&pm8901_l5>; 801f126890aSEmmanuel Vadot vqmmc-supply = <&pm8901_lvs0>; 802f126890aSEmmanuel Vadot status = "okay"; 803f126890aSEmmanuel Vadot}; 804f126890aSEmmanuel Vadot 805f126890aSEmmanuel Vadot/* External micro SD card, directly connected, pulled up to 2.85 V */ 806f126890aSEmmanuel Vadot&sdcc3 { 807f126890aSEmmanuel Vadot /* Enable SSBI GPIO 22 as input, use for card detect */ 808f126890aSEmmanuel Vadot pinctrl-names = "default"; 809f126890aSEmmanuel Vadot pinctrl-0 = <&dragon_sdcc3_pins>, <&dragon_sdcc3_gpios>; 810f126890aSEmmanuel Vadot cd-gpios = <&pm8058_gpio 22 GPIO_ACTIVE_LOW>; 811f126890aSEmmanuel Vadot wp-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>; 812f126890aSEmmanuel Vadot vmmc-supply = <&pm8058_l14>; 813f126890aSEmmanuel Vadot status = "okay"; 814f126890aSEmmanuel Vadot}; 815f126890aSEmmanuel Vadot 816f126890aSEmmanuel Vadot/* 817f126890aSEmmanuel Vadot * Second external micro SD card, using two TXB104RGYR levelshifters 818f126890aSEmmanuel Vadot * to lift from 1.8 V to 2.85 V 819f126890aSEmmanuel Vadot */ 820f126890aSEmmanuel Vadot&sdcc5 { 821f126890aSEmmanuel Vadot /* Enable SSBI GPIO 26 as input, use for card detect */ 822f126890aSEmmanuel Vadot pinctrl-names = "default"; 823f126890aSEmmanuel Vadot pinctrl-0 = <&dragon_sdcc5_pins>, <&dragon_sdcc5_gpios>; 824f126890aSEmmanuel Vadot cd-gpios = <&pm8058_gpio 26 GPIO_ACTIVE_LOW>; 825f126890aSEmmanuel Vadot wp-gpios = <&tlmm 106 GPIO_ACTIVE_HIGH>; 826f126890aSEmmanuel Vadot vmmc-supply = <&pm8058_l14>; 827f126890aSEmmanuel Vadot vqmmc-supply = <&dragon_vio_txb>; 828f126890aSEmmanuel Vadot status = "okay"; 829f126890aSEmmanuel Vadot}; 830f126890aSEmmanuel Vadot 831f126890aSEmmanuel Vadot&tlmm { 832f126890aSEmmanuel Vadot /* eMMC pins, all 8 data lines connected */ 833f126890aSEmmanuel Vadot dragon_sdcc1_pins: sdcc1-state { 834f126890aSEmmanuel Vadot clk-pins { 835f126890aSEmmanuel Vadot pins = "gpio167"; /* SDC1 CLK */ 836f126890aSEmmanuel Vadot function = "sdc1"; 837f126890aSEmmanuel Vadot drive-strength = <16>; 838f126890aSEmmanuel Vadot bias-disable; 839f126890aSEmmanuel Vadot }; 840f126890aSEmmanuel Vadot cmd-pins { 841f126890aSEmmanuel Vadot pins = "gpio168"; /* SDC1 CMD */ 842f126890aSEmmanuel Vadot function = "sdc1"; 843f126890aSEmmanuel Vadot drive-strength = <10>; 844f126890aSEmmanuel Vadot bias-pull-up; 845f126890aSEmmanuel Vadot }; 846f126890aSEmmanuel Vadot data-pins { 847f126890aSEmmanuel Vadot /* SDC1 D0 to D7 */ 848f126890aSEmmanuel Vadot pins = "gpio159", "gpio160", "gpio161", "gpio162", 849f126890aSEmmanuel Vadot "gpio163", "gpio164", "gpio165", "gpio166"; 850f126890aSEmmanuel Vadot function = "sdc1"; 851f126890aSEmmanuel Vadot drive-strength = <10>; 852f126890aSEmmanuel Vadot bias-pull-up; 853f126890aSEmmanuel Vadot }; 854f126890aSEmmanuel Vadot }; 855f126890aSEmmanuel Vadot 856f126890aSEmmanuel Vadot /* 857f126890aSEmmanuel Vadot * The SDCC3 pins are hardcoded (non-muxable) but need some pin 858f126890aSEmmanuel Vadot * configuration. 859f126890aSEmmanuel Vadot */ 860f126890aSEmmanuel Vadot dragon_sdcc3_pins: sdcc3-state { 861f126890aSEmmanuel Vadot clk-pins { 862f126890aSEmmanuel Vadot pins = "sdc3_clk"; 863f126890aSEmmanuel Vadot drive-strength = <8>; 864f126890aSEmmanuel Vadot bias-disable; 865f126890aSEmmanuel Vadot }; 866f126890aSEmmanuel Vadot cmd-pins { 867f126890aSEmmanuel Vadot pins = "sdc3_cmd"; 868f126890aSEmmanuel Vadot drive-strength = <8>; 869f126890aSEmmanuel Vadot bias-pull-up; 870f126890aSEmmanuel Vadot }; 871f126890aSEmmanuel Vadot data-pins { 872f126890aSEmmanuel Vadot pins = "sdc3_data"; 873f126890aSEmmanuel Vadot drive-strength = <8>; 874f126890aSEmmanuel Vadot bias-pull-up; 875f126890aSEmmanuel Vadot }; 876f126890aSEmmanuel Vadot }; 877f126890aSEmmanuel Vadot 878f126890aSEmmanuel Vadot /* Second SD card slot pins */ 879f126890aSEmmanuel Vadot dragon_sdcc5_pins: sdcc5-state { 880f126890aSEmmanuel Vadot clk-pins { 881f126890aSEmmanuel Vadot pins = "gpio97"; /* SDC5 CLK */ 882f126890aSEmmanuel Vadot function = "sdc5"; 883f126890aSEmmanuel Vadot drive-strength = <16>; 884f126890aSEmmanuel Vadot bias-disable; 885f126890aSEmmanuel Vadot }; 886f126890aSEmmanuel Vadot cmd-pins { 887f126890aSEmmanuel Vadot pins = "gpio95"; /* SDC5 CMD */ 888f126890aSEmmanuel Vadot function = "sdc5"; 889f126890aSEmmanuel Vadot drive-strength = <10>; 890f126890aSEmmanuel Vadot bias-pull-up; 891f126890aSEmmanuel Vadot }; 892f126890aSEmmanuel Vadot data-pins { 893f126890aSEmmanuel Vadot /* SDC5 D0 to D3 */ 894f126890aSEmmanuel Vadot pins = "gpio96", "gpio98", "gpio99", "gpio100"; 895f126890aSEmmanuel Vadot function = "sdc5"; 896f126890aSEmmanuel Vadot drive-strength = <10>; 897f126890aSEmmanuel Vadot bias-pull-up; 898f126890aSEmmanuel Vadot }; 899f126890aSEmmanuel Vadot }; 900f126890aSEmmanuel Vadot 901f126890aSEmmanuel Vadot dragon_gsbi3_i2c_pins: gsbi3-i2c-state { 902f126890aSEmmanuel Vadot pins = "gpio43", "gpio44"; 903f126890aSEmmanuel Vadot function = "gsbi3"; 904f126890aSEmmanuel Vadot drive-strength = <8>; 905f126890aSEmmanuel Vadot /* These have external pull-up 2.2kOhm to 1.8V */ 906f126890aSEmmanuel Vadot bias-disable; 907f126890aSEmmanuel Vadot }; 908f126890aSEmmanuel Vadot 909f126890aSEmmanuel Vadot dragon_gsbi8_i2c_pins: gsbi8-i2c-state { 910f126890aSEmmanuel Vadot pins = "gpio64", "gpio65"; 911f126890aSEmmanuel Vadot function = "gsbi8"; 912f126890aSEmmanuel Vadot drive-strength = <16>; 913f126890aSEmmanuel Vadot /* These have external pull-up 2.2kOhm to 1.8V */ 914f126890aSEmmanuel Vadot bias-disable; 915f126890aSEmmanuel Vadot }; 916f126890aSEmmanuel Vadot 917f126890aSEmmanuel Vadot dragon_gsbi12_i2c_pins: gsbi12-i2c-state { 918f126890aSEmmanuel Vadot pins = "gpio115", "gpio116"; 919f126890aSEmmanuel Vadot function = "gsbi12"; 920f126890aSEmmanuel Vadot drive-strength = <16>; 921f126890aSEmmanuel Vadot /* These have external pull-up 4.7kOhm to 1.8V */ 922f126890aSEmmanuel Vadot bias-disable; 923f126890aSEmmanuel Vadot }; 924f126890aSEmmanuel Vadot 925f126890aSEmmanuel Vadot /* Primary serial port uart 0 pins */ 926f126890aSEmmanuel Vadot dragon_gsbi12_serial_pins: gsbi12-serial-state { 927f126890aSEmmanuel Vadot tx-pins { 928f126890aSEmmanuel Vadot pins = "gpio117"; 929f126890aSEmmanuel Vadot function = "gsbi12"; 930f126890aSEmmanuel Vadot drive-strength = <8>; 931f126890aSEmmanuel Vadot bias-disable; 932f126890aSEmmanuel Vadot }; 933f126890aSEmmanuel Vadot rx-pins { 934f126890aSEmmanuel Vadot pins = "gpio118"; 935f126890aSEmmanuel Vadot function = "gsbi12"; 936f126890aSEmmanuel Vadot drive-strength = <2>; 937f126890aSEmmanuel Vadot bias-pull-up; 938f126890aSEmmanuel Vadot }; 939f126890aSEmmanuel Vadot }; 940f126890aSEmmanuel Vadot 941f126890aSEmmanuel Vadot dragon_ebi2_pins: ebi2-state { 942f126890aSEmmanuel Vadot /* 943f126890aSEmmanuel Vadot * Pins used by EBI2 on the Dragonboard, actually only 944f126890aSEmmanuel Vadot * CS2 is used by a real peripheral. CS0 is just 945f126890aSEmmanuel Vadot * routed to a test point. 946f126890aSEmmanuel Vadot */ 947f126890aSEmmanuel Vadot mux0-pins { 948f126890aSEmmanuel Vadot pins = 949f126890aSEmmanuel Vadot /* "gpio39", CS1A_N this is not good to mux */ 950f126890aSEmmanuel Vadot "gpio40", /* CS2A_N */ 951f126890aSEmmanuel Vadot "gpio134"; /* CS0_N testpoint TP29 */ 952f126890aSEmmanuel Vadot function = "ebi2cs"; 953f126890aSEmmanuel Vadot }; 954f126890aSEmmanuel Vadot mux1-pins { 955f126890aSEmmanuel Vadot pins = 956f126890aSEmmanuel Vadot /* EBI2_ADDR_7 downto EBI2_ADDR_0 address bus */ 957f126890aSEmmanuel Vadot "gpio123", "gpio124", "gpio125", "gpio126", 958f126890aSEmmanuel Vadot "gpio127", "gpio128", "gpio129", "gpio130", 959f126890aSEmmanuel Vadot /* EBI2_DATA_15 downto EBI2_DATA_0 data bus */ 960f126890aSEmmanuel Vadot "gpio135", "gpio136", "gpio137", "gpio138", 961f126890aSEmmanuel Vadot "gpio139", "gpio140", "gpio141", "gpio142", 962f126890aSEmmanuel Vadot "gpio143", "gpio144", "gpio145", "gpio146", 963f126890aSEmmanuel Vadot "gpio147", "gpio148", "gpio149", "gpio150", 964f126890aSEmmanuel Vadot "gpio151", /* EBI2_OE_N */ 965f126890aSEmmanuel Vadot "gpio153", /* EBI2_ADV */ 966f126890aSEmmanuel Vadot "gpio157"; /* EBI2_WE_N */ 967f126890aSEmmanuel Vadot function = "ebi2"; 968f126890aSEmmanuel Vadot }; 969f126890aSEmmanuel Vadot }; 970f126890aSEmmanuel Vadot 971f126890aSEmmanuel Vadot /* Interrupt line for the KXSD9 accelerometer */ 972f126890aSEmmanuel Vadot dragon_kxsd9_gpios: kxsd9-state { 973f126890aSEmmanuel Vadot pins = "gpio57"; /* IRQ line */ 974f126890aSEmmanuel Vadot function = "gpio"; 975f126890aSEmmanuel Vadot bias-pull-up; 976f126890aSEmmanuel Vadot }; 977f126890aSEmmanuel Vadot 978f126890aSEmmanuel Vadot dragon_tma340_gpios: tma340-state { 979f126890aSEmmanuel Vadot reset-pins { 980f126890aSEmmanuel Vadot /* RESET line, TS_ATTN, WAKE_CTP */ 981f126890aSEmmanuel Vadot pins = "gpio58"; 982f126890aSEmmanuel Vadot function = "gpio"; 983f126890aSEmmanuel Vadot drive-strength = <6>; 984f126890aSEmmanuel Vadot bias-disable; 985f126890aSEmmanuel Vadot }; 986f126890aSEmmanuel Vadot irq-pins { 987f126890aSEmmanuel Vadot pins = "gpio61"; /* IRQ line */ 988f126890aSEmmanuel Vadot function = "gpio"; 989f126890aSEmmanuel Vadot drive-strength = <2>; 990f126890aSEmmanuel Vadot bias-pull-up; 991f126890aSEmmanuel Vadot }; 992f126890aSEmmanuel Vadot }; 993f126890aSEmmanuel Vadot}; 994f126890aSEmmanuel Vadot 995*8d13bc63SEmmanuel Vadot&pm8058_xoadc { 996f126890aSEmmanuel Vadot /* Reference voltage 2.2 V */ 997f126890aSEmmanuel Vadot xoadc-ref-supply = <&pm8058_l18>; 998f126890aSEmmanuel Vadot 999f126890aSEmmanuel Vadot /* Board-specific channels */ 1000*8d13bc63SEmmanuel Vadot adc-channel@5 { 1001f126890aSEmmanuel Vadot /* Connected to AOUT of ALS sensor */ 1002f126890aSEmmanuel Vadot reg = <0x00 0x05>; 1003f126890aSEmmanuel Vadot }; 1004*8d13bc63SEmmanuel Vadot 1005*8d13bc63SEmmanuel Vadot adc-channel@6 { 1006f126890aSEmmanuel Vadot /* Connected to test point TP43 */ 1007f126890aSEmmanuel Vadot reg = <0x00 0x06>; 1008f126890aSEmmanuel Vadot }; 1009*8d13bc63SEmmanuel Vadot 1010*8d13bc63SEmmanuel Vadot adc-channel@7 { 1011f126890aSEmmanuel Vadot /* Connected to battery thermistor */ 1012f126890aSEmmanuel Vadot reg = <0x00 0x07>; 1013f126890aSEmmanuel Vadot }; 1014*8d13bc63SEmmanuel Vadot 1015*8d13bc63SEmmanuel Vadot adc-channel@8 { 1016f126890aSEmmanuel Vadot /* Connected to battery ID detector */ 1017f126890aSEmmanuel Vadot reg = <0x00 0x08>; 1018f126890aSEmmanuel Vadot }; 1019*8d13bc63SEmmanuel Vadot 1020*8d13bc63SEmmanuel Vadot adc-channel@9 { 1021f126890aSEmmanuel Vadot /* Connected to XO thermistor */ 1022f126890aSEmmanuel Vadot reg = <0x00 0x09>; 1023f126890aSEmmanuel Vadot }; 1024f126890aSEmmanuel Vadot}; 1025