1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 3f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h> 4f126890aSEmmanuel Vadot#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 5*8d13bc63SEmmanuel Vadot 6*8d13bc63SEmmanuel Vadot#include "qcom-apq8064-v2.0.dtsi" 7*8d13bc63SEmmanuel Vadot#include "pm8821.dtsi" 8*8d13bc63SEmmanuel Vadot#include "pm8921.dtsi" 9*8d13bc63SEmmanuel Vadot 10f126890aSEmmanuel Vadot/ { 11f126890aSEmmanuel Vadot model = "Asus Nexus7(flo)"; 12f126890aSEmmanuel Vadot compatible = "asus,nexus7-flo", "qcom,apq8064"; 13f126890aSEmmanuel Vadot chassis-type = "tablet"; 14f126890aSEmmanuel Vadot 15f126890aSEmmanuel Vadot aliases { 16f126890aSEmmanuel Vadot serial0 = &gsbi7_serial; 17f126890aSEmmanuel Vadot serial1 = &gsbi6_serial; 18f126890aSEmmanuel Vadot }; 19f126890aSEmmanuel Vadot 20f126890aSEmmanuel Vadot chosen { 21f126890aSEmmanuel Vadot stdout-path = "serial0:115200n8"; 22f126890aSEmmanuel Vadot }; 23f126890aSEmmanuel Vadot 24f126890aSEmmanuel Vadot reserved-memory { 25f126890aSEmmanuel Vadot #address-cells = <1>; 26f126890aSEmmanuel Vadot #size-cells = <1>; 27f126890aSEmmanuel Vadot ranges; 28f126890aSEmmanuel Vadot 29f126890aSEmmanuel Vadot ramoops@88d00000 { 30f126890aSEmmanuel Vadot compatible = "ramoops"; 31f126890aSEmmanuel Vadot reg = <0x88d00000 0x100000>; 32f126890aSEmmanuel Vadot record-size = <0x00020000>; 33f126890aSEmmanuel Vadot console-size = <0x00020000>; 34f126890aSEmmanuel Vadot ftrace-size = <0x00020000>; 35f126890aSEmmanuel Vadot }; 36f126890aSEmmanuel Vadot }; 37f126890aSEmmanuel Vadot 38f126890aSEmmanuel Vadot ext_3p3v: regulator-ext-3p3v { 39f126890aSEmmanuel Vadot compatible = "regulator-fixed"; 40f126890aSEmmanuel Vadot regulator-min-microvolt = <3300000>; 41f126890aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 42f126890aSEmmanuel Vadot regulator-name = "ext_3p3v"; 43f126890aSEmmanuel Vadot startup-delay-us = <0>; 44f126890aSEmmanuel Vadot gpio = <&tlmm_pinmux 77 GPIO_ACTIVE_HIGH>; 45f126890aSEmmanuel Vadot enable-active-high; 46f126890aSEmmanuel Vadot regulator-boot-on; 47f126890aSEmmanuel Vadot }; 48f126890aSEmmanuel Vadot 49f126890aSEmmanuel Vadot gpio-keys { 50f126890aSEmmanuel Vadot compatible = "gpio-keys"; 51f126890aSEmmanuel Vadot key-volume-up { 52f126890aSEmmanuel Vadot label = "Volume Up"; 53f126890aSEmmanuel Vadot gpios = <&pm8921_gpio 4 GPIO_ACTIVE_HIGH>; 54f126890aSEmmanuel Vadot linux,code = <KEY_VOLUMEUP>; 55f126890aSEmmanuel Vadot }; 56f126890aSEmmanuel Vadot key-volume-down { 57f126890aSEmmanuel Vadot label = "Volume Down"; 58f126890aSEmmanuel Vadot gpios = <&pm8921_gpio 38 GPIO_ACTIVE_HIGH>; 59f126890aSEmmanuel Vadot linux,code = <KEY_VOLUMEDOWN>; 60f126890aSEmmanuel Vadot }; 61f126890aSEmmanuel Vadot }; 62f126890aSEmmanuel Vadot 63f126890aSEmmanuel Vadot soc { 64f126890aSEmmanuel Vadot sram@2a03f000 { 65f126890aSEmmanuel Vadot compatible = "qcom,apq8064-imem", "syscon", "simple-mfd"; 66f126890aSEmmanuel Vadot reg = <0x2a03f000 0x1000>; 67f126890aSEmmanuel Vadot 68f126890aSEmmanuel Vadot reboot-mode { 69f126890aSEmmanuel Vadot compatible = "syscon-reboot-mode"; 70f126890aSEmmanuel Vadot offset = <0x65c>; 71f126890aSEmmanuel Vadot 72f126890aSEmmanuel Vadot mode-normal = <0x77665501>; 73f126890aSEmmanuel Vadot mode-bootloader = <0x77665500>; 74f126890aSEmmanuel Vadot mode-recovery = <0x77665502>; 75f126890aSEmmanuel Vadot }; 76f126890aSEmmanuel Vadot }; 77f126890aSEmmanuel Vadot }; 78f126890aSEmmanuel Vadot}; 79f126890aSEmmanuel Vadot 80f126890aSEmmanuel Vadot&dsi0 { 81f126890aSEmmanuel Vadot vdda-supply = <&pm8921_l2>;/*VDD_MIPI1 to 4*/ 82f126890aSEmmanuel Vadot vdd-supply = <&pm8921_l8>; 83f126890aSEmmanuel Vadot vddio-supply = <&pm8921_lvs7>; 84f126890aSEmmanuel Vadot avdd-supply = <&pm8921_l11>; 85f126890aSEmmanuel Vadot status = "okay"; 86f126890aSEmmanuel Vadot 87f126890aSEmmanuel Vadot panel@0 { 88f126890aSEmmanuel Vadot reg = <0>; 89f126890aSEmmanuel Vadot compatible = "jdi,lt070me05000"; 90f126890aSEmmanuel Vadot 91f126890aSEmmanuel Vadot vddp-supply = <&pm8921_l17>; 92f126890aSEmmanuel Vadot iovcc-supply = <&pm8921_lvs7>; 93f126890aSEmmanuel Vadot 94f126890aSEmmanuel Vadot enable-gpios = <&pm8921_gpio 36 GPIO_ACTIVE_HIGH>; 95f126890aSEmmanuel Vadot reset-gpios = <&tlmm_pinmux 54 GPIO_ACTIVE_LOW>; 96f126890aSEmmanuel Vadot dcdc-en-gpios = <&pm8921_gpio 23 GPIO_ACTIVE_HIGH>; 97f126890aSEmmanuel Vadot 98f126890aSEmmanuel Vadot port { 99f126890aSEmmanuel Vadot panel_in: endpoint { 100f126890aSEmmanuel Vadot remote-endpoint = <&dsi0_out>; 101f126890aSEmmanuel Vadot }; 102f126890aSEmmanuel Vadot }; 103f126890aSEmmanuel Vadot }; 104f126890aSEmmanuel Vadot}; 105f126890aSEmmanuel Vadot 106f126890aSEmmanuel Vadot&dsi0_in { 107f126890aSEmmanuel Vadot remote-endpoint = <&mdp_dsi1_out>; 108f126890aSEmmanuel Vadot}; 109f126890aSEmmanuel Vadot 110f126890aSEmmanuel Vadot&dsi0_out { 111f126890aSEmmanuel Vadot remote-endpoint = <&panel_in>; 112f126890aSEmmanuel Vadot data-lanes = <0 1 2 3>; 113f126890aSEmmanuel Vadot}; 114f126890aSEmmanuel Vadot 115f126890aSEmmanuel Vadot&dsi0_phy { 116f126890aSEmmanuel Vadot vddio-supply = <&pm8921_lvs7>;/*VDD_PLL2_1 to 7*/ 117f126890aSEmmanuel Vadot status = "okay"; 118f126890aSEmmanuel Vadot}; 119f126890aSEmmanuel Vadot 120f126890aSEmmanuel Vadot&gsbi1 { 121f126890aSEmmanuel Vadot qcom,mode = <GSBI_PROT_I2C>; 122f126890aSEmmanuel Vadot status = "okay"; 123f126890aSEmmanuel Vadot}; 124f126890aSEmmanuel Vadot 125f126890aSEmmanuel Vadot&gsbi1_i2c { 126f126890aSEmmanuel Vadot status = "okay"; 127f126890aSEmmanuel Vadot clock-frequency = <200000>; 128f126890aSEmmanuel Vadot 129f126890aSEmmanuel Vadot eeprom@52 { 130f126890aSEmmanuel Vadot compatible = "atmel,24c128"; 131f126890aSEmmanuel Vadot reg = <0x52>; 132f126890aSEmmanuel Vadot pagesize = <32>; 133f126890aSEmmanuel Vadot }; 134f126890aSEmmanuel Vadot 135f126890aSEmmanuel Vadot bq27541@55 { 136f126890aSEmmanuel Vadot compatible = "ti,bq27541"; 137f126890aSEmmanuel Vadot reg = <0x55>; 138f126890aSEmmanuel Vadot }; 139f126890aSEmmanuel Vadot 140f126890aSEmmanuel Vadot}; 141f126890aSEmmanuel Vadot 142f126890aSEmmanuel Vadot&gsbi3 { 143f126890aSEmmanuel Vadot qcom,mode = <GSBI_PROT_I2C>; 144f126890aSEmmanuel Vadot status = "okay"; 145f126890aSEmmanuel Vadot}; 146f126890aSEmmanuel Vadot 147f126890aSEmmanuel Vadot&gsbi3_i2c { 148f126890aSEmmanuel Vadot clock-frequency = <200000>; 149f126890aSEmmanuel Vadot status = "okay"; 150f126890aSEmmanuel Vadot 151f126890aSEmmanuel Vadot trackpad@10 { 152f126890aSEmmanuel Vadot compatible = "elan,ekth3500"; 153f126890aSEmmanuel Vadot reg = <0x10>; 154f126890aSEmmanuel Vadot interrupt-parent = <&tlmm_pinmux>; 155f126890aSEmmanuel Vadot interrupts = <6 IRQ_TYPE_EDGE_FALLING>; 156f126890aSEmmanuel Vadot }; 157f126890aSEmmanuel Vadot}; 158f126890aSEmmanuel Vadot 159f126890aSEmmanuel Vadot&gsbi6 { 160f126890aSEmmanuel Vadot qcom,mode = <GSBI_PROT_I2C_UART>; 161f126890aSEmmanuel Vadot status = "okay"; 162f126890aSEmmanuel Vadot}; 163f126890aSEmmanuel Vadot 164f126890aSEmmanuel Vadot&gsbi6_serial { 165f126890aSEmmanuel Vadot pinctrl-names = "default"; 166f126890aSEmmanuel Vadot pinctrl-0 = <&gsbi6_uart_4pins>; 167f126890aSEmmanuel Vadot status = "okay"; 168f126890aSEmmanuel Vadot}; 169f126890aSEmmanuel Vadot 170f126890aSEmmanuel Vadot&gsbi7 { 171f126890aSEmmanuel Vadot qcom,mode = <GSBI_PROT_I2C_UART>; 172f126890aSEmmanuel Vadot status = "okay"; 173f126890aSEmmanuel Vadot}; 174f126890aSEmmanuel Vadot 175f126890aSEmmanuel Vadot&gsbi7_serial { 176f126890aSEmmanuel Vadot status = "okay"; 177f126890aSEmmanuel Vadot}; 178f126890aSEmmanuel Vadot 179f126890aSEmmanuel Vadot&mdp { 180f126890aSEmmanuel Vadot status = "okay"; 181f126890aSEmmanuel Vadot}; 182f126890aSEmmanuel Vadot 183f126890aSEmmanuel Vadot&mdp_dsi1_out { 184f126890aSEmmanuel Vadot remote-endpoint = <&dsi0_in>; 185f126890aSEmmanuel Vadot}; 186f126890aSEmmanuel Vadot 187*8d13bc63SEmmanuel Vadot&pm8821 { 188*8d13bc63SEmmanuel Vadot interrupts-extended = <&tlmm_pinmux 76 IRQ_TYPE_LEVEL_LOW>; 189*8d13bc63SEmmanuel Vadot}; 190*8d13bc63SEmmanuel Vadot 191*8d13bc63SEmmanuel Vadot&pm8921 { 192*8d13bc63SEmmanuel Vadot interrupts-extended = <&tlmm_pinmux 74 IRQ_TYPE_LEVEL_LOW>; 193*8d13bc63SEmmanuel Vadot}; 194*8d13bc63SEmmanuel Vadot 195f126890aSEmmanuel Vadot&rpm { 196f126890aSEmmanuel Vadot regulators { 197*8d13bc63SEmmanuel Vadot compatible = "qcom,rpm-pm8921-regulators"; 198*8d13bc63SEmmanuel Vadot 199f126890aSEmmanuel Vadot vdd_l1_l2_l12_l18-supply = <&pm8921_s4>; 200f126890aSEmmanuel Vadot vin_lvs1_3_6-supply = <&pm8921_s4>; 201f126890aSEmmanuel Vadot vin_lvs4_5_7-supply = <&pm8921_s4>; 202f126890aSEmmanuel Vadot 203f126890aSEmmanuel Vadot vdd_l24-supply = <&pm8921_s1>; 204f126890aSEmmanuel Vadot vdd_l25-supply = <&pm8921_s1>; 205f126890aSEmmanuel Vadot vin_lvs2-supply = <&pm8921_s1>; 206f126890aSEmmanuel Vadot 207f126890aSEmmanuel Vadot vdd_l26-supply = <&pm8921_s7>; 208f126890aSEmmanuel Vadot vdd_l27-supply = <&pm8921_s7>; 209f126890aSEmmanuel Vadot vdd_l28-supply = <&pm8921_s7>; 210f126890aSEmmanuel Vadot 211f126890aSEmmanuel Vadot vdd_ncp-supply = <&pm8921_l6>; 212f126890aSEmmanuel Vadot 213f126890aSEmmanuel Vadot /* Buck SMPS */ 214*8d13bc63SEmmanuel Vadot pm8921_s1: s1 { 215f126890aSEmmanuel Vadot regulator-always-on; 216f126890aSEmmanuel Vadot regulator-min-microvolt = <1225000>; 217f126890aSEmmanuel Vadot regulator-max-microvolt = <1225000>; 218f126890aSEmmanuel Vadot qcom,switch-mode-frequency = <3200000>; 219f126890aSEmmanuel Vadot bias-pull-down; 220f126890aSEmmanuel Vadot }; 221f126890aSEmmanuel Vadot 222f126890aSEmmanuel Vadot /* msm otg HSUSB_VDDCX */ 223*8d13bc63SEmmanuel Vadot pm8921_s3: s3 { 224f126890aSEmmanuel Vadot regulator-min-microvolt = <500000>; 225f126890aSEmmanuel Vadot regulator-max-microvolt = <1150000>; 226f126890aSEmmanuel Vadot qcom,switch-mode-frequency = <4800000>; 227f126890aSEmmanuel Vadot }; 228f126890aSEmmanuel Vadot 229f126890aSEmmanuel Vadot /* 230f126890aSEmmanuel Vadot * msm_sdcc.1-sdc-vdd_io 231f126890aSEmmanuel Vadot * tabla2x-slim-CDC_VDDA_RX 232f126890aSEmmanuel Vadot * tabla2x-slim-CDC_VDDA_TX 233f126890aSEmmanuel Vadot * tabla2x-slim-CDC_VDD_CP 234f126890aSEmmanuel Vadot * tabla2x-slim-VDDIO_CDC 235f126890aSEmmanuel Vadot */ 236*8d13bc63SEmmanuel Vadot pm8921_s4: s4 { 237f126890aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 238f126890aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 239f126890aSEmmanuel Vadot qcom,switch-mode-frequency = <3200000>; 240f126890aSEmmanuel Vadot regulator-always-on; 241f126890aSEmmanuel Vadot }; 242f126890aSEmmanuel Vadot 243*8d13bc63SEmmanuel Vadot pm8921_s7: s7 { 244f126890aSEmmanuel Vadot regulator-min-microvolt = <1300000>; 245f126890aSEmmanuel Vadot regulator-max-microvolt = <1300000>; 246f126890aSEmmanuel Vadot qcom,switch-mode-frequency = <3200000>; 247f126890aSEmmanuel Vadot }; 248f126890aSEmmanuel Vadot 249f126890aSEmmanuel Vadot /* mipi_dsi.1-dsi1_pll_vdda */ 250*8d13bc63SEmmanuel Vadot pm8921_l2: l2 { 251f126890aSEmmanuel Vadot regulator-min-microvolt = <1200000>; 252f126890aSEmmanuel Vadot regulator-max-microvolt = <1200000>; 253f126890aSEmmanuel Vadot regulator-always-on; 254f126890aSEmmanuel Vadot }; 255f126890aSEmmanuel Vadot 256f126890aSEmmanuel Vadot /* msm_otg-HSUSB_3p3 */ 257*8d13bc63SEmmanuel Vadot pm8921_l3: l3 { 258f126890aSEmmanuel Vadot regulator-min-microvolt = <3075000>; 259f126890aSEmmanuel Vadot regulator-max-microvolt = <3075000>; 260f126890aSEmmanuel Vadot bias-pull-down; 261f126890aSEmmanuel Vadot }; 262f126890aSEmmanuel Vadot 263f126890aSEmmanuel Vadot /* msm_otg-HSUSB_1p8 */ 264*8d13bc63SEmmanuel Vadot pm8921_l4: l4 { 265f126890aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 266f126890aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 267f126890aSEmmanuel Vadot bias-pull-down; 268f126890aSEmmanuel Vadot }; 269f126890aSEmmanuel Vadot 270f126890aSEmmanuel Vadot /* msm_sdcc.1-sdc_vdd */ 271*8d13bc63SEmmanuel Vadot pm8921_l5: l5 { 272f126890aSEmmanuel Vadot regulator-min-microvolt = <2950000>; 273f126890aSEmmanuel Vadot regulator-max-microvolt = <2950000>; 274f126890aSEmmanuel Vadot regulator-always-on; 275f126890aSEmmanuel Vadot bias-pull-down; 276f126890aSEmmanuel Vadot }; 277f126890aSEmmanuel Vadot 278*8d13bc63SEmmanuel Vadot pm8921_l6: l6 { 279f126890aSEmmanuel Vadot regulator-min-microvolt = <2950000>; 280f126890aSEmmanuel Vadot regulator-max-microvolt = <2950000>; 281f126890aSEmmanuel Vadot }; 282f126890aSEmmanuel Vadot 283*8d13bc63SEmmanuel Vadot pm8921_l8: l8 { 284*8d13bc63SEmmanuel Vadot }; 285*8d13bc63SEmmanuel Vadot 286f126890aSEmmanuel Vadot /* mipi_dsi.1-dsi1_avdd */ 287*8d13bc63SEmmanuel Vadot pm8921_l11: l11 { 288f126890aSEmmanuel Vadot regulator-min-microvolt = <3000000>; 289f126890aSEmmanuel Vadot regulator-max-microvolt = <3000000>; 290f126890aSEmmanuel Vadot bias-pull-down; 291f126890aSEmmanuel Vadot regulator-always-on; 292f126890aSEmmanuel Vadot }; 293f126890aSEmmanuel Vadot 294f126890aSEmmanuel Vadot /* pwm_power for backlight */ 295*8d13bc63SEmmanuel Vadot pm8921_l17: l17 { 296f126890aSEmmanuel Vadot regulator-min-microvolt = <3000000>; 297f126890aSEmmanuel Vadot regulator-max-microvolt = <3000000>; 298f126890aSEmmanuel Vadot regulator-always-on; 299f126890aSEmmanuel Vadot }; 300f126890aSEmmanuel Vadot 301f126890aSEmmanuel Vadot /* camera, qdsp6 */ 302*8d13bc63SEmmanuel Vadot pm8921_l23: l23 { 303f126890aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 304f126890aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 305f126890aSEmmanuel Vadot bias-pull-down; 306f126890aSEmmanuel Vadot }; 307f126890aSEmmanuel Vadot 308f126890aSEmmanuel Vadot /* 309f126890aSEmmanuel Vadot * tabla2x-slim-CDC_VDDA_A_1P2V 310f126890aSEmmanuel Vadot * tabla2x-slim-VDDD_CDC_D 311f126890aSEmmanuel Vadot */ 312*8d13bc63SEmmanuel Vadot pm8921_l25: l25 { 313f126890aSEmmanuel Vadot regulator-min-microvolt = <1250000>; 314f126890aSEmmanuel Vadot regulator-max-microvolt = <1250000>; 315f126890aSEmmanuel Vadot bias-pull-down; 316f126890aSEmmanuel Vadot }; 317f126890aSEmmanuel Vadot 318*8d13bc63SEmmanuel Vadot pm8921_lvs1: lvs1 { 319f126890aSEmmanuel Vadot bias-pull-down; 320f126890aSEmmanuel Vadot }; 321f126890aSEmmanuel Vadot 322*8d13bc63SEmmanuel Vadot pm8921_lvs4: lvs4 { 323f126890aSEmmanuel Vadot bias-pull-down; 324f126890aSEmmanuel Vadot }; 325f126890aSEmmanuel Vadot 326*8d13bc63SEmmanuel Vadot pm8921_lvs5: lvs5 { 327f126890aSEmmanuel Vadot bias-pull-down; 328f126890aSEmmanuel Vadot }; 329f126890aSEmmanuel Vadot 330*8d13bc63SEmmanuel Vadot pm8921_lvs6: lvs6 { 331f126890aSEmmanuel Vadot bias-pull-down; 332f126890aSEmmanuel Vadot }; 333f126890aSEmmanuel Vadot /* 334f126890aSEmmanuel Vadot * mipi_dsi.1-dsi1_vddio 335f126890aSEmmanuel Vadot * pil_riva-pll_vdd 336f126890aSEmmanuel Vadot */ 337*8d13bc63SEmmanuel Vadot pm8921_lvs7: lvs7 { 338f126890aSEmmanuel Vadot bias-pull-down; 339f126890aSEmmanuel Vadot }; 340f126890aSEmmanuel Vadot }; 341f126890aSEmmanuel Vadot}; 342f126890aSEmmanuel Vadot 343*8d13bc63SEmmanuel Vadot/* eMMC */ 344*8d13bc63SEmmanuel Vadot&sdcc1 { 345*8d13bc63SEmmanuel Vadot vmmc-supply = <&pm8921_l5>; 346*8d13bc63SEmmanuel Vadot vqmmc-supply = <&pm8921_s4>; 347*8d13bc63SEmmanuel Vadot status = "okay"; 348*8d13bc63SEmmanuel Vadot}; 349*8d13bc63SEmmanuel Vadot 350f126890aSEmmanuel Vadot&usb_hs1_phy { 351f126890aSEmmanuel Vadot v3p3-supply = <&pm8921_l3>; 352f126890aSEmmanuel Vadot v1p8-supply = <&pm8921_l4>; 353f126890aSEmmanuel Vadot}; 354f126890aSEmmanuel Vadot 355f126890aSEmmanuel Vadot/* OTG */ 356f126890aSEmmanuel Vadot&usb1 { 357f126890aSEmmanuel Vadot dr_mode = "otg"; 358f126890aSEmmanuel Vadot status = "okay"; 359f126890aSEmmanuel Vadot}; 360