1*724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Google Veyron (and derivatives) board device tree source 4*724ba675SRob Herring * 5*724ba675SRob Herring * Copyright 2015 Google, Inc 6*724ba675SRob Herring */ 7*724ba675SRob Herring 8*724ba675SRob Herring#include <dt-bindings/clock/rockchip,rk808.h> 9*724ba675SRob Herring#include <dt-bindings/input/input.h> 10*724ba675SRob Herring#include "rk3288.dtsi" 11*724ba675SRob Herring 12*724ba675SRob Herring/ { 13*724ba675SRob Herring aliases { 14*724ba675SRob Herring mmc0 = &emmc; 15*724ba675SRob Herring }; 16*724ba675SRob Herring 17*724ba675SRob Herring chosen { 18*724ba675SRob Herring stdout-path = "serial2:115200n8"; 19*724ba675SRob Herring }; 20*724ba675SRob Herring 21*724ba675SRob Herring /* 22*724ba675SRob Herring * The default coreboot on veyron devices ignores memory@0 nodes 23*724ba675SRob Herring * and would instead create another memory node. 24*724ba675SRob Herring */ 25*724ba675SRob Herring memory { 26*724ba675SRob Herring device_type = "memory"; 27*724ba675SRob Herring reg = <0x0 0x0 0x0 0x80000000>; 28*724ba675SRob Herring }; 29*724ba675SRob Herring 30*724ba675SRob Herring 31*724ba675SRob Herring power_button: power-button { 32*724ba675SRob Herring compatible = "gpio-keys"; 33*724ba675SRob Herring pinctrl-names = "default"; 34*724ba675SRob Herring pinctrl-0 = <&pwr_key_l>; 35*724ba675SRob Herring 36*724ba675SRob Herring key-power { 37*724ba675SRob Herring label = "Power"; 38*724ba675SRob Herring gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; 39*724ba675SRob Herring linux,code = <KEY_POWER>; 40*724ba675SRob Herring debounce-interval = <100>; 41*724ba675SRob Herring wakeup-source; 42*724ba675SRob Herring }; 43*724ba675SRob Herring }; 44*724ba675SRob Herring 45*724ba675SRob Herring gpio-restart { 46*724ba675SRob Herring compatible = "gpio-restart"; 47*724ba675SRob Herring gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; 48*724ba675SRob Herring pinctrl-names = "default"; 49*724ba675SRob Herring pinctrl-0 = <&ap_warm_reset_h>; 50*724ba675SRob Herring priority = <200>; 51*724ba675SRob Herring }; 52*724ba675SRob Herring 53*724ba675SRob Herring emmc_pwrseq: emmc-pwrseq { 54*724ba675SRob Herring compatible = "mmc-pwrseq-emmc"; 55*724ba675SRob Herring pinctrl-0 = <&emmc_reset>; 56*724ba675SRob Herring pinctrl-names = "default"; 57*724ba675SRob Herring reset-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_HIGH>; 58*724ba675SRob Herring }; 59*724ba675SRob Herring 60*724ba675SRob Herring sdio_pwrseq: sdio-pwrseq { 61*724ba675SRob Herring compatible = "mmc-pwrseq-simple"; 62*724ba675SRob Herring clocks = <&rk808 RK808_CLKOUT1>; 63*724ba675SRob Herring clock-names = "ext_clock"; 64*724ba675SRob Herring pinctrl-names = "default"; 65*724ba675SRob Herring pinctrl-0 = <&wifi_enable_h>; 66*724ba675SRob Herring 67*724ba675SRob Herring /* 68*724ba675SRob Herring * Depending on the actual card populated GPIO4 D4 69*724ba675SRob Herring * correspond to one of these signals on the module: 70*724ba675SRob Herring * 71*724ba675SRob Herring * D4: 72*724ba675SRob Herring * - SDIO_RESET_L_WL_REG_ON 73*724ba675SRob Herring * - PDN (power down when low) 74*724ba675SRob Herring */ 75*724ba675SRob Herring reset-gpios = <&gpio4 RK_PD4 GPIO_ACTIVE_LOW>; 76*724ba675SRob Herring }; 77*724ba675SRob Herring 78*724ba675SRob Herring vcc_5v: vcc-5v { 79*724ba675SRob Herring compatible = "regulator-fixed"; 80*724ba675SRob Herring regulator-name = "vcc_5v"; 81*724ba675SRob Herring regulator-always-on; 82*724ba675SRob Herring regulator-boot-on; 83*724ba675SRob Herring regulator-min-microvolt = <5000000>; 84*724ba675SRob Herring regulator-max-microvolt = <5000000>; 85*724ba675SRob Herring }; 86*724ba675SRob Herring 87*724ba675SRob Herring vcc33_sys: vcc33-sys { 88*724ba675SRob Herring compatible = "regulator-fixed"; 89*724ba675SRob Herring regulator-name = "vcc33_sys"; 90*724ba675SRob Herring regulator-always-on; 91*724ba675SRob Herring regulator-boot-on; 92*724ba675SRob Herring regulator-min-microvolt = <3300000>; 93*724ba675SRob Herring regulator-max-microvolt = <3300000>; 94*724ba675SRob Herring }; 95*724ba675SRob Herring 96*724ba675SRob Herring vcc50_hdmi: vcc50-hdmi { 97*724ba675SRob Herring compatible = "regulator-fixed"; 98*724ba675SRob Herring regulator-name = "vcc50_hdmi"; 99*724ba675SRob Herring regulator-always-on; 100*724ba675SRob Herring regulator-boot-on; 101*724ba675SRob Herring vin-supply = <&vcc_5v>; 102*724ba675SRob Herring }; 103*724ba675SRob Herring 104*724ba675SRob Herring vdd_logic: vdd-logic { 105*724ba675SRob Herring compatible = "pwm-regulator"; 106*724ba675SRob Herring regulator-name = "vdd_logic"; 107*724ba675SRob Herring 108*724ba675SRob Herring pwms = <&pwm1 0 1994 0>; 109*724ba675SRob Herring pwm-supply = <&vcc33_sys>; 110*724ba675SRob Herring 111*724ba675SRob Herring pwm-dutycycle-range = <0x7b 0>; 112*724ba675SRob Herring pwm-dutycycle-unit = <0x94>; 113*724ba675SRob Herring 114*724ba675SRob Herring regulator-always-on; 115*724ba675SRob Herring regulator-boot-on; 116*724ba675SRob Herring regulator-min-microvolt = <950000>; 117*724ba675SRob Herring regulator-max-microvolt = <1350000>; 118*724ba675SRob Herring regulator-ramp-delay = <4000>; 119*724ba675SRob Herring }; 120*724ba675SRob Herring}; 121*724ba675SRob Herring 122*724ba675SRob Herring&cpu0 { 123*724ba675SRob Herring cpu0-supply = <&vdd_cpu>; 124*724ba675SRob Herring}; 125*724ba675SRob Herring 126*724ba675SRob Herring&cpu_crit { 127*724ba675SRob Herring temperature = <100000>; 128*724ba675SRob Herring}; 129*724ba675SRob Herring 130*724ba675SRob Herring/* rk3288-c used in Veyron Chrome-devices has slightly changed OPPs */ 131*724ba675SRob Herring&cpu_opp_table { 132*724ba675SRob Herring /delete-node/ opp-312000000; 133*724ba675SRob Herring 134*724ba675SRob Herring opp-1512000000 { 135*724ba675SRob Herring opp-microvolt = <1250000>; 136*724ba675SRob Herring }; 137*724ba675SRob Herring opp-1608000000 { 138*724ba675SRob Herring opp-microvolt = <1300000>; 139*724ba675SRob Herring }; 140*724ba675SRob Herring opp-1704000000 { 141*724ba675SRob Herring opp-hz = /bits/ 64 <1704000000>; 142*724ba675SRob Herring opp-microvolt = <1350000>; 143*724ba675SRob Herring }; 144*724ba675SRob Herring opp-1800000000 { 145*724ba675SRob Herring opp-hz = /bits/ 64 <1800000000>; 146*724ba675SRob Herring opp-microvolt = <1400000>; 147*724ba675SRob Herring }; 148*724ba675SRob Herring}; 149*724ba675SRob Herring 150*724ba675SRob Herring&emmc { 151*724ba675SRob Herring status = "okay"; 152*724ba675SRob Herring 153*724ba675SRob Herring bus-width = <8>; 154*724ba675SRob Herring cap-mmc-highspeed; 155*724ba675SRob Herring rockchip,default-sample-phase = <158>; 156*724ba675SRob Herring disable-wp; 157*724ba675SRob Herring mmc-hs200-1_8v; 158*724ba675SRob Herring mmc-pwrseq = <&emmc_pwrseq>; 159*724ba675SRob Herring non-removable; 160*724ba675SRob Herring pinctrl-names = "default"; 161*724ba675SRob Herring pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; 162*724ba675SRob Herring}; 163*724ba675SRob Herring 164*724ba675SRob Herring&gpu { 165*724ba675SRob Herring mali-supply = <&vdd_gpu>; 166*724ba675SRob Herring status = "okay"; 167*724ba675SRob Herring}; 168*724ba675SRob Herring 169*724ba675SRob Herring&gpu_alert0 { 170*724ba675SRob Herring temperature = <72500>; 171*724ba675SRob Herring}; 172*724ba675SRob Herring 173*724ba675SRob Herring&gpu_crit { 174*724ba675SRob Herring temperature = <100000>; 175*724ba675SRob Herring}; 176*724ba675SRob Herring 177*724ba675SRob Herring&hdmi { 178*724ba675SRob Herring pinctrl-names = "default", "unwedge"; 179*724ba675SRob Herring pinctrl-0 = <&hdmi_ddc>; 180*724ba675SRob Herring pinctrl-1 = <&hdmi_ddc_unwedge>; 181*724ba675SRob Herring status = "okay"; 182*724ba675SRob Herring}; 183*724ba675SRob Herring 184*724ba675SRob Herring&i2c0 { 185*724ba675SRob Herring status = "okay"; 186*724ba675SRob Herring 187*724ba675SRob Herring clock-frequency = <400000>; 188*724ba675SRob Herring i2c-scl-falling-time-ns = <50>; /* 2.5ns measured */ 189*724ba675SRob Herring i2c-scl-rising-time-ns = <100>; /* 45ns measured */ 190*724ba675SRob Herring 191*724ba675SRob Herring rk808: pmic@1b { 192*724ba675SRob Herring compatible = "rockchip,rk808"; 193*724ba675SRob Herring reg = <0x1b>; 194*724ba675SRob Herring clock-output-names = "xin32k", "wifibt_32kin"; 195*724ba675SRob Herring interrupt-parent = <&gpio0>; 196*724ba675SRob Herring interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>; 197*724ba675SRob Herring pinctrl-names = "default"; 198*724ba675SRob Herring pinctrl-0 = <&pmic_int_l>; 199*724ba675SRob Herring rockchip,system-power-controller; 200*724ba675SRob Herring wakeup-source; 201*724ba675SRob Herring #clock-cells = <1>; 202*724ba675SRob Herring 203*724ba675SRob Herring vcc1-supply = <&vcc33_sys>; 204*724ba675SRob Herring vcc2-supply = <&vcc33_sys>; 205*724ba675SRob Herring vcc3-supply = <&vcc33_sys>; 206*724ba675SRob Herring vcc4-supply = <&vcc33_sys>; 207*724ba675SRob Herring vcc6-supply = <&vcc_5v>; 208*724ba675SRob Herring vcc7-supply = <&vcc33_sys>; 209*724ba675SRob Herring vcc8-supply = <&vcc33_sys>; 210*724ba675SRob Herring vcc12-supply = <&vcc_18>; 211*724ba675SRob Herring vddio-supply = <&vcc33_io>; 212*724ba675SRob Herring 213*724ba675SRob Herring regulators { 214*724ba675SRob Herring vdd_cpu: DCDC_REG1 { 215*724ba675SRob Herring regulator-name = "vdd_arm"; 216*724ba675SRob Herring regulator-always-on; 217*724ba675SRob Herring regulator-boot-on; 218*724ba675SRob Herring regulator-min-microvolt = <750000>; 219*724ba675SRob Herring regulator-max-microvolt = <1450000>; 220*724ba675SRob Herring regulator-ramp-delay = <6001>; 221*724ba675SRob Herring regulator-state-mem { 222*724ba675SRob Herring regulator-off-in-suspend; 223*724ba675SRob Herring }; 224*724ba675SRob Herring }; 225*724ba675SRob Herring 226*724ba675SRob Herring vdd_gpu: DCDC_REG2 { 227*724ba675SRob Herring regulator-name = "vdd_gpu"; 228*724ba675SRob Herring regulator-always-on; 229*724ba675SRob Herring regulator-boot-on; 230*724ba675SRob Herring regulator-min-microvolt = <800000>; 231*724ba675SRob Herring regulator-max-microvolt = <1250000>; 232*724ba675SRob Herring regulator-ramp-delay = <6001>; 233*724ba675SRob Herring regulator-state-mem { 234*724ba675SRob Herring regulator-off-in-suspend; 235*724ba675SRob Herring }; 236*724ba675SRob Herring }; 237*724ba675SRob Herring 238*724ba675SRob Herring vcc135_ddr: DCDC_REG3 { 239*724ba675SRob Herring regulator-name = "vcc135_ddr"; 240*724ba675SRob Herring regulator-always-on; 241*724ba675SRob Herring regulator-boot-on; 242*724ba675SRob Herring regulator-state-mem { 243*724ba675SRob Herring regulator-on-in-suspend; 244*724ba675SRob Herring }; 245*724ba675SRob Herring }; 246*724ba675SRob Herring 247*724ba675SRob Herring /* 248*724ba675SRob Herring * vcc_18 has several aliases. (vcc18_flashio and 249*724ba675SRob Herring * vcc18_wl). We'll add those aliases here just to 250*724ba675SRob Herring * make it easier to follow the schematic. The signals 251*724ba675SRob Herring * are actually hooked together and only separated for 252*724ba675SRob Herring * power measurement purposes). 253*724ba675SRob Herring */ 254*724ba675SRob Herring vcc18_wl: vcc18_flashio: vcc_18: DCDC_REG4 { 255*724ba675SRob Herring regulator-name = "vcc_18"; 256*724ba675SRob Herring regulator-always-on; 257*724ba675SRob Herring regulator-boot-on; 258*724ba675SRob Herring regulator-min-microvolt = <1800000>; 259*724ba675SRob Herring regulator-max-microvolt = <1800000>; 260*724ba675SRob Herring regulator-state-mem { 261*724ba675SRob Herring regulator-on-in-suspend; 262*724ba675SRob Herring regulator-suspend-microvolt = <1800000>; 263*724ba675SRob Herring }; 264*724ba675SRob Herring }; 265*724ba675SRob Herring 266*724ba675SRob Herring /* 267*724ba675SRob Herring * Note that both vcc33_io and vcc33_pmuio are always 268*724ba675SRob Herring * powered together. To simplify the logic in the dts 269*724ba675SRob Herring * we just refer to vcc33_io every time something is 270*724ba675SRob Herring * powered from vcc33_pmuio. In fact, on later boards 271*724ba675SRob Herring * (such as danger) they're the same net. 272*724ba675SRob Herring */ 273*724ba675SRob Herring vcc33_io: LDO_REG1 { 274*724ba675SRob Herring regulator-name = "vcc33_io"; 275*724ba675SRob Herring regulator-always-on; 276*724ba675SRob Herring regulator-boot-on; 277*724ba675SRob Herring regulator-min-microvolt = <3300000>; 278*724ba675SRob Herring regulator-max-microvolt = <3300000>; 279*724ba675SRob Herring regulator-state-mem { 280*724ba675SRob Herring regulator-on-in-suspend; 281*724ba675SRob Herring regulator-suspend-microvolt = <3300000>; 282*724ba675SRob Herring }; 283*724ba675SRob Herring }; 284*724ba675SRob Herring 285*724ba675SRob Herring vdd_10: LDO_REG3 { 286*724ba675SRob Herring regulator-name = "vdd_10"; 287*724ba675SRob Herring regulator-always-on; 288*724ba675SRob Herring regulator-boot-on; 289*724ba675SRob Herring regulator-min-microvolt = <1000000>; 290*724ba675SRob Herring regulator-max-microvolt = <1000000>; 291*724ba675SRob Herring regulator-state-mem { 292*724ba675SRob Herring regulator-on-in-suspend; 293*724ba675SRob Herring regulator-suspend-microvolt = <1000000>; 294*724ba675SRob Herring }; 295*724ba675SRob Herring }; 296*724ba675SRob Herring 297*724ba675SRob Herring vdd10_lcd_pwren_h: LDO_REG7 { 298*724ba675SRob Herring regulator-name = "vdd10_lcd_pwren_h"; 299*724ba675SRob Herring regulator-always-on; 300*724ba675SRob Herring regulator-boot-on; 301*724ba675SRob Herring regulator-min-microvolt = <2500000>; 302*724ba675SRob Herring regulator-max-microvolt = <2500000>; 303*724ba675SRob Herring regulator-state-mem { 304*724ba675SRob Herring regulator-off-in-suspend; 305*724ba675SRob Herring }; 306*724ba675SRob Herring }; 307*724ba675SRob Herring 308*724ba675SRob Herring vcc33_lcd: SWITCH_REG1 { 309*724ba675SRob Herring regulator-name = "vcc33_lcd"; 310*724ba675SRob Herring regulator-always-on; 311*724ba675SRob Herring regulator-boot-on; 312*724ba675SRob Herring regulator-state-mem { 313*724ba675SRob Herring regulator-off-in-suspend; 314*724ba675SRob Herring }; 315*724ba675SRob Herring }; 316*724ba675SRob Herring }; 317*724ba675SRob Herring }; 318*724ba675SRob Herring}; 319*724ba675SRob Herring 320*724ba675SRob Herring&i2c1 { 321*724ba675SRob Herring status = "okay"; 322*724ba675SRob Herring 323*724ba675SRob Herring clock-frequency = <400000>; 324*724ba675SRob Herring i2c-scl-falling-time-ns = <50>; /* 2.5ns measured */ 325*724ba675SRob Herring i2c-scl-rising-time-ns = <100>; /* 40ns measured */ 326*724ba675SRob Herring 327*724ba675SRob Herring tpm: tpm@20 { 328*724ba675SRob Herring compatible = "infineon,slb9645tt"; 329*724ba675SRob Herring reg = <0x20>; 330*724ba675SRob Herring powered-while-suspended; 331*724ba675SRob Herring }; 332*724ba675SRob Herring}; 333*724ba675SRob Herring 334*724ba675SRob Herring&i2c2 { 335*724ba675SRob Herring status = "okay"; 336*724ba675SRob Herring 337*724ba675SRob Herring /* 100kHz since 4.7k resistors don't rise fast enough */ 338*724ba675SRob Herring clock-frequency = <100000>; 339*724ba675SRob Herring i2c-scl-falling-time-ns = <50>; /* 10ns measured */ 340*724ba675SRob Herring i2c-scl-rising-time-ns = <800>; /* 600ns measured */ 341*724ba675SRob Herring}; 342*724ba675SRob Herring 343*724ba675SRob Herring&i2c4 { 344*724ba675SRob Herring status = "okay"; 345*724ba675SRob Herring 346*724ba675SRob Herring clock-frequency = <400000>; 347*724ba675SRob Herring i2c-scl-falling-time-ns = <50>; /* 11ns measured */ 348*724ba675SRob Herring i2c-scl-rising-time-ns = <300>; /* 225ns measured */ 349*724ba675SRob Herring}; 350*724ba675SRob Herring 351*724ba675SRob Herring&io_domains { 352*724ba675SRob Herring status = "okay"; 353*724ba675SRob Herring 354*724ba675SRob Herring bb-supply = <&vcc33_io>; 355*724ba675SRob Herring dvp-supply = <&vcc_18>; 356*724ba675SRob Herring flash0-supply = <&vcc18_flashio>; 357*724ba675SRob Herring gpio1830-supply = <&vcc33_io>; 358*724ba675SRob Herring gpio30-supply = <&vcc33_io>; 359*724ba675SRob Herring lcdc-supply = <&vcc33_lcd>; 360*724ba675SRob Herring wifi-supply = <&vcc18_wl>; 361*724ba675SRob Herring}; 362*724ba675SRob Herring 363*724ba675SRob Herring&pwm1 { 364*724ba675SRob Herring status = "okay"; 365*724ba675SRob Herring}; 366*724ba675SRob Herring 367*724ba675SRob Herring&sdio0 { 368*724ba675SRob Herring status = "okay"; 369*724ba675SRob Herring 370*724ba675SRob Herring bus-width = <4>; 371*724ba675SRob Herring cap-sd-highspeed; 372*724ba675SRob Herring cap-sdio-irq; 373*724ba675SRob Herring keep-power-in-suspend; 374*724ba675SRob Herring mmc-pwrseq = <&sdio_pwrseq>; 375*724ba675SRob Herring non-removable; 376*724ba675SRob Herring pinctrl-names = "default"; 377*724ba675SRob Herring pinctrl-0 = <&sdio0_clk &sdio0_cmd &sdio0_bus4>; 378*724ba675SRob Herring sd-uhs-sdr12; 379*724ba675SRob Herring sd-uhs-sdr25; 380*724ba675SRob Herring sd-uhs-sdr50; 381*724ba675SRob Herring sd-uhs-sdr104; 382*724ba675SRob Herring vmmc-supply = <&vcc33_sys>; 383*724ba675SRob Herring vqmmc-supply = <&vcc18_wl>; 384*724ba675SRob Herring}; 385*724ba675SRob Herring 386*724ba675SRob Herring&spi2 { 387*724ba675SRob Herring status = "okay"; 388*724ba675SRob Herring 389*724ba675SRob Herring rx-sample-delay-ns = <12>; 390*724ba675SRob Herring 391*724ba675SRob Herring flash@0 { 392*724ba675SRob Herring compatible = "jedec,spi-nor"; 393*724ba675SRob Herring spi-max-frequency = <50000000>; 394*724ba675SRob Herring reg = <0>; 395*724ba675SRob Herring }; 396*724ba675SRob Herring}; 397*724ba675SRob Herring 398*724ba675SRob Herring&tsadc { 399*724ba675SRob Herring status = "okay"; 400*724ba675SRob Herring 401*724ba675SRob Herring rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */ 402*724ba675SRob Herring rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */ 403*724ba675SRob Herring rockchip,hw-tshut-temp = <125000>; 404*724ba675SRob Herring}; 405*724ba675SRob Herring 406*724ba675SRob Herring&uart0 { 407*724ba675SRob Herring status = "okay"; 408*724ba675SRob Herring 409*724ba675SRob Herring /* Pins don't include flow control by default; add that in */ 410*724ba675SRob Herring pinctrl-names = "default"; 411*724ba675SRob Herring pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 412*724ba675SRob Herring}; 413*724ba675SRob Herring 414*724ba675SRob Herring&uart1 { 415*724ba675SRob Herring status = "okay"; 416*724ba675SRob Herring}; 417*724ba675SRob Herring 418*724ba675SRob Herring&uart2 { 419*724ba675SRob Herring status = "okay"; 420*724ba675SRob Herring}; 421*724ba675SRob Herring 422*724ba675SRob Herring&usbphy { 423*724ba675SRob Herring status = "okay"; 424*724ba675SRob Herring}; 425*724ba675SRob Herring 426*724ba675SRob Herring&usb_host0_ehci { 427*724ba675SRob Herring status = "okay"; 428*724ba675SRob Herring 429*724ba675SRob Herring needs-reset-on-resume; 430*724ba675SRob Herring}; 431*724ba675SRob Herring 432*724ba675SRob Herring&usb_host1 { 433*724ba675SRob Herring status = "okay"; 434*724ba675SRob Herring snps,need-phy-for-wake; 435*724ba675SRob Herring}; 436*724ba675SRob Herring 437*724ba675SRob Herring&usb_otg { 438*724ba675SRob Herring status = "okay"; 439*724ba675SRob Herring 440*724ba675SRob Herring assigned-clocks = <&cru SCLK_USBPHY480M_SRC>; 441*724ba675SRob Herring assigned-clock-parents = <&usbphy0>; 442*724ba675SRob Herring dr_mode = "host"; 443*724ba675SRob Herring snps,need-phy-for-wake; 444*724ba675SRob Herring}; 445*724ba675SRob Herring 446*724ba675SRob Herring&vopb { 447*724ba675SRob Herring status = "okay"; 448*724ba675SRob Herring}; 449*724ba675SRob Herring 450*724ba675SRob Herring&vopb_mmu { 451*724ba675SRob Herring status = "okay"; 452*724ba675SRob Herring}; 453*724ba675SRob Herring 454*724ba675SRob Herring&wdt { 455*724ba675SRob Herring status = "okay"; 456*724ba675SRob Herring}; 457*724ba675SRob Herring 458*724ba675SRob Herring&pinctrl { 459*724ba675SRob Herring pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma { 460*724ba675SRob Herring bias-disable; 461*724ba675SRob Herring drive-strength = <8>; 462*724ba675SRob Herring }; 463*724ba675SRob Herring 464*724ba675SRob Herring pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma { 465*724ba675SRob Herring bias-pull-up; 466*724ba675SRob Herring drive-strength = <8>; 467*724ba675SRob Herring }; 468*724ba675SRob Herring 469*724ba675SRob Herring pcfg_output_high: pcfg-output-high { 470*724ba675SRob Herring output-high; 471*724ba675SRob Herring }; 472*724ba675SRob Herring 473*724ba675SRob Herring pcfg_output_low: pcfg-output-low { 474*724ba675SRob Herring output-low; 475*724ba675SRob Herring }; 476*724ba675SRob Herring 477*724ba675SRob Herring buttons { 478*724ba675SRob Herring pwr_key_l: pwr-key-l { 479*724ba675SRob Herring rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 480*724ba675SRob Herring }; 481*724ba675SRob Herring }; 482*724ba675SRob Herring 483*724ba675SRob Herring emmc { 484*724ba675SRob Herring emmc_reset: emmc-reset { 485*724ba675SRob Herring rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 486*724ba675SRob Herring }; 487*724ba675SRob Herring 488*724ba675SRob Herring /* 489*724ba675SRob Herring * We run eMMC at max speed; bump up drive strength. 490*724ba675SRob Herring * We also have external pulls, so disable the internal ones. 491*724ba675SRob Herring */ 492*724ba675SRob Herring emmc_clk: emmc-clk { 493*724ba675SRob Herring rockchip,pins = <3 RK_PC2 2 &pcfg_pull_none_drv_8ma>; 494*724ba675SRob Herring }; 495*724ba675SRob Herring 496*724ba675SRob Herring emmc_cmd: emmc-cmd { 497*724ba675SRob Herring rockchip,pins = <3 RK_PC0 2 &pcfg_pull_none_drv_8ma>; 498*724ba675SRob Herring }; 499*724ba675SRob Herring 500*724ba675SRob Herring emmc_bus8: emmc-bus8 { 501*724ba675SRob Herring rockchip,pins = <3 RK_PA0 2 &pcfg_pull_none_drv_8ma>, 502*724ba675SRob Herring <3 RK_PA1 2 &pcfg_pull_none_drv_8ma>, 503*724ba675SRob Herring <3 RK_PA2 2 &pcfg_pull_none_drv_8ma>, 504*724ba675SRob Herring <3 RK_PA3 2 &pcfg_pull_none_drv_8ma>, 505*724ba675SRob Herring <3 RK_PA4 2 &pcfg_pull_none_drv_8ma>, 506*724ba675SRob Herring <3 RK_PA5 2 &pcfg_pull_none_drv_8ma>, 507*724ba675SRob Herring <3 RK_PA6 2 &pcfg_pull_none_drv_8ma>, 508*724ba675SRob Herring <3 RK_PA7 2 &pcfg_pull_none_drv_8ma>; 509*724ba675SRob Herring }; 510*724ba675SRob Herring }; 511*724ba675SRob Herring 512*724ba675SRob Herring pmic { 513*724ba675SRob Herring pmic_int_l: pmic-int-l { 514*724ba675SRob Herring rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; 515*724ba675SRob Herring }; 516*724ba675SRob Herring }; 517*724ba675SRob Herring 518*724ba675SRob Herring reboot { 519*724ba675SRob Herring ap_warm_reset_h: ap-warm-reset-h { 520*724ba675SRob Herring rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 521*724ba675SRob Herring }; 522*724ba675SRob Herring }; 523*724ba675SRob Herring 524*724ba675SRob Herring recovery-switch { 525*724ba675SRob Herring rec_mode_l: rec-mode-l { 526*724ba675SRob Herring rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>; 527*724ba675SRob Herring }; 528*724ba675SRob Herring }; 529*724ba675SRob Herring 530*724ba675SRob Herring sdio0 { 531*724ba675SRob Herring wifi_enable_h: wifienable-h { 532*724ba675SRob Herring rockchip,pins = <4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 533*724ba675SRob Herring }; 534*724ba675SRob Herring 535*724ba675SRob Herring /* NOTE: mislabelled on schematic; should be bt_enable_h */ 536*724ba675SRob Herring bt_enable_l: bt-enable-l { 537*724ba675SRob Herring rockchip,pins = <4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; 538*724ba675SRob Herring }; 539*724ba675SRob Herring 540*724ba675SRob Herring bt_host_wake: bt-host-wake { 541*724ba675SRob Herring rockchip,pins = <4 RK_PD7 RK_FUNC_GPIO &pcfg_pull_down>; 542*724ba675SRob Herring }; 543*724ba675SRob Herring 544*724ba675SRob Herring bt_host_wake_l: bt-host-wake-l { 545*724ba675SRob Herring rockchip,pins = <4 RK_PD7 RK_FUNC_GPIO &pcfg_pull_none>; 546*724ba675SRob Herring }; 547*724ba675SRob Herring 548*724ba675SRob Herring /* 549*724ba675SRob Herring * We run sdio0 at max speed; bump up drive strength. 550*724ba675SRob Herring * We also have external pulls, so disable the internal ones. 551*724ba675SRob Herring */ 552*724ba675SRob Herring sdio0_bus4: sdio0-bus4 { 553*724ba675SRob Herring rockchip,pins = <4 RK_PC4 1 &pcfg_pull_none_drv_8ma>, 554*724ba675SRob Herring <4 RK_PC5 1 &pcfg_pull_none_drv_8ma>, 555*724ba675SRob Herring <4 RK_PC6 1 &pcfg_pull_none_drv_8ma>, 556*724ba675SRob Herring <4 RK_PC7 1 &pcfg_pull_none_drv_8ma>; 557*724ba675SRob Herring }; 558*724ba675SRob Herring 559*724ba675SRob Herring sdio0_cmd: sdio0-cmd { 560*724ba675SRob Herring rockchip,pins = <4 RK_PD0 1 &pcfg_pull_none_drv_8ma>; 561*724ba675SRob Herring }; 562*724ba675SRob Herring 563*724ba675SRob Herring sdio0_clk: sdio0-clk { 564*724ba675SRob Herring rockchip,pins = <4 RK_PD1 1 &pcfg_pull_none_drv_8ma>; 565*724ba675SRob Herring }; 566*724ba675SRob Herring 567*724ba675SRob Herring /* 568*724ba675SRob Herring * These pins are only present on very new veyron boards; on 569*724ba675SRob Herring * older boards bt_dev_wake is simply always high. Note that 570*724ba675SRob Herring * gpio4_D2 is a NC on old veyron boards, so it doesn't hurt 571*724ba675SRob Herring * to map this pin everywhere 572*724ba675SRob Herring */ 573*724ba675SRob Herring bt_dev_wake_sleep: bt-dev-wake-sleep { 574*724ba675SRob Herring rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_output_low>; 575*724ba675SRob Herring }; 576*724ba675SRob Herring 577*724ba675SRob Herring bt_dev_wake_awake: bt-dev-wake-awake { 578*724ba675SRob Herring rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_output_high>; 579*724ba675SRob Herring }; 580*724ba675SRob Herring 581*724ba675SRob Herring bt_dev_wake: bt-dev-wake { 582*724ba675SRob Herring rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; 583*724ba675SRob Herring }; 584*724ba675SRob Herring }; 585*724ba675SRob Herring 586*724ba675SRob Herring tpm { 587*724ba675SRob Herring tpm_int_h: tpm-int-h { 588*724ba675SRob Herring rockchip,pins = <7 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 589*724ba675SRob Herring }; 590*724ba675SRob Herring }; 591*724ba675SRob Herring 592*724ba675SRob Herring write-protect { 593*724ba675SRob Herring fw_wp_ap: fw-wp-ap { 594*724ba675SRob Herring rockchip,pins = <7 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 595*724ba675SRob Herring }; 596*724ba675SRob Herring }; 597*724ba675SRob Herring}; 598