1*24645034SJagan Teki// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*24645034SJagan Teki/* 3*24645034SJagan Teki * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd 4*24645034SJagan Teki * Copyright (c) 2019 Radxa Limited 5*24645034SJagan Teki * Copyright (c) 2022 Amarula Solutions(India) 6*24645034SJagan Teki */ 7*24645034SJagan Teki 8*24645034SJagan Teki/dts-v1/; 9*24645034SJagan Teki#include "rk3399.dtsi" 10*24645034SJagan Teki#include "rk3399-t-opp.dtsi" 11*24645034SJagan Teki 12*24645034SJagan Teki/ { 13*24645034SJagan Teki model = "Radxa ROCK 4C+"; 14*24645034SJagan Teki compatible = "radxa,rock-4c-plus", "rockchip,rk3399"; 15*24645034SJagan Teki 16*24645034SJagan Teki aliases { 17*24645034SJagan Teki mmc0 = &sdmmc; 18*24645034SJagan Teki mmc1 = &sdhci; 19*24645034SJagan Teki }; 20*24645034SJagan Teki 21*24645034SJagan Teki chosen { 22*24645034SJagan Teki stdout-path = "serial2:1500000n8"; 23*24645034SJagan Teki }; 24*24645034SJagan Teki 25*24645034SJagan Teki sdio_pwrseq: sdio-pwrseq { 26*24645034SJagan Teki compatible = "mmc-pwrseq-simple"; 27*24645034SJagan Teki clocks = <&rk809 1>; 28*24645034SJagan Teki clock-names = "ext_clock"; 29*24645034SJagan Teki pinctrl-names = "default"; 30*24645034SJagan Teki pinctrl-0 = <&wifi_enable_h>; 31*24645034SJagan Teki reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 32*24645034SJagan Teki }; 33*24645034SJagan Teki 34*24645034SJagan Teki clkin_gmac: external-gmac-clock { 35*24645034SJagan Teki compatible = "fixed-clock"; 36*24645034SJagan Teki clock-frequency = <125000000>; 37*24645034SJagan Teki clock-output-names = "clkin_gmac"; 38*24645034SJagan Teki #clock-cells = <0>; 39*24645034SJagan Teki }; 40*24645034SJagan Teki 41*24645034SJagan Teki vcc5v0_sys: vcc5v0-sys-regulator { 42*24645034SJagan Teki compatible = "regulator-fixed"; 43*24645034SJagan Teki regulator-name = "vcc5v0_sys"; 44*24645034SJagan Teki regulator-always-on; 45*24645034SJagan Teki regulator-boot-on; 46*24645034SJagan Teki regulator-min-microvolt = <5000000>; 47*24645034SJagan Teki regulator-max-microvolt = <5000000>; 48*24645034SJagan Teki }; 49*24645034SJagan Teki 50*24645034SJagan Teki vcc5v0_host1: vcc5v0-host-regulator { 51*24645034SJagan Teki compatible = "regulator-fixed"; 52*24645034SJagan Teki enable-active-high; 53*24645034SJagan Teki gpio = <&gpio3 RK_PD6 GPIO_ACTIVE_HIGH>; 54*24645034SJagan Teki pinctrl-names = "default"; 55*24645034SJagan Teki pinctrl-0 = <&vcc5v0_host_en>; 56*24645034SJagan Teki regulator-name = "vcc5v0_host1"; 57*24645034SJagan Teki regulator-always-on; 58*24645034SJagan Teki regulator-boot-on; 59*24645034SJagan Teki vin-supply = <&vcc5v0_host0_s0>; 60*24645034SJagan Teki }; 61*24645034SJagan Teki 62*24645034SJagan Teki vcc5v0_typec: vcc5v0-typec-regulator { 63*24645034SJagan Teki compatible = "regulator-fixed"; 64*24645034SJagan Teki enable-active-high; 65*24645034SJagan Teki gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>; 66*24645034SJagan Teki pinctrl-names = "default"; 67*24645034SJagan Teki pinctrl-0 = <&vcc5v0_typec0_en>; 68*24645034SJagan Teki regulator-name = "vcc5v0_typec"; 69*24645034SJagan Teki regulator-always-on; 70*24645034SJagan Teki regulator-boot-on; 71*24645034SJagan Teki vin-supply = <&vcc5v0_sys>; 72*24645034SJagan Teki }; 73*24645034SJagan Teki 74*24645034SJagan Teki vcc_lan: vcc3v3-phy-regulator { 75*24645034SJagan Teki compatible = "regulator-fixed"; 76*24645034SJagan Teki regulator-name = "vcc_lan"; 77*24645034SJagan Teki regulator-always-on; 78*24645034SJagan Teki regulator-boot-on; 79*24645034SJagan Teki regulator-min-microvolt = <3300000>; 80*24645034SJagan Teki regulator-max-microvolt = <3300000>; 81*24645034SJagan Teki }; 82*24645034SJagan Teki}; 83*24645034SJagan Teki 84*24645034SJagan Teki&cpu_l0 { 85*24645034SJagan Teki cpu-supply = <&vdd_cpu_l>; 86*24645034SJagan Teki}; 87*24645034SJagan Teki 88*24645034SJagan Teki&cpu_l1 { 89*24645034SJagan Teki cpu-supply = <&vdd_cpu_l>; 90*24645034SJagan Teki}; 91*24645034SJagan Teki 92*24645034SJagan Teki&cpu_l2 { 93*24645034SJagan Teki cpu-supply = <&vdd_cpu_l>; 94*24645034SJagan Teki}; 95*24645034SJagan Teki 96*24645034SJagan Teki&cpu_l3 { 97*24645034SJagan Teki cpu-supply = <&vdd_cpu_l>; 98*24645034SJagan Teki}; 99*24645034SJagan Teki 100*24645034SJagan Teki&cpu_b0 { 101*24645034SJagan Teki cpu-supply = <&vdd_cpu_b>; 102*24645034SJagan Teki}; 103*24645034SJagan Teki 104*24645034SJagan Teki&cpu_b1 { 105*24645034SJagan Teki cpu-supply = <&vdd_cpu_b>; 106*24645034SJagan Teki}; 107*24645034SJagan Teki 108*24645034SJagan Teki&emmc_phy { 109*24645034SJagan Teki status = "okay"; 110*24645034SJagan Teki}; 111*24645034SJagan Teki 112*24645034SJagan Teki&gmac { 113*24645034SJagan Teki assigned-clocks = <&cru SCLK_RMII_SRC>; 114*24645034SJagan Teki assigned-clock-parents = <&clkin_gmac>; 115*24645034SJagan Teki clock_in_out = "input"; 116*24645034SJagan Teki phy-supply = <&vcc_lan>; 117*24645034SJagan Teki phy-mode = "rgmii"; 118*24645034SJagan Teki pinctrl-names = "default"; 119*24645034SJagan Teki pinctrl-0 = <&rgmii_pins>; 120*24645034SJagan Teki snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 121*24645034SJagan Teki snps,reset-active-low; 122*24645034SJagan Teki snps,reset-delays-us = <0 10000 50000>; 123*24645034SJagan Teki tx_delay = <0x2a>; 124*24645034SJagan Teki rx_delay = <0x21>; 125*24645034SJagan Teki status = "okay"; 126*24645034SJagan Teki}; 127*24645034SJagan Teki 128*24645034SJagan Teki&gpu { 129*24645034SJagan Teki mali-supply = <&vdd_gpu>; 130*24645034SJagan Teki status = "okay"; 131*24645034SJagan Teki}; 132*24645034SJagan Teki 133*24645034SJagan Teki&hdmi { 134*24645034SJagan Teki ddc-i2c-bus = <&i2c3>; 135*24645034SJagan Teki pinctrl-names = "default"; 136*24645034SJagan Teki pinctrl-0 = <&hdmi_cec>; 137*24645034SJagan Teki status = "okay"; 138*24645034SJagan Teki}; 139*24645034SJagan Teki 140*24645034SJagan Teki&hdmi_sound { 141*24645034SJagan Teki status = "okay"; 142*24645034SJagan Teki}; 143*24645034SJagan Teki 144*24645034SJagan Teki&i2c0 { 145*24645034SJagan Teki status = "okay"; 146*24645034SJagan Teki i2c-scl-falling-time-ns = <30>; 147*24645034SJagan Teki i2c-scl-rising-time-ns = <180>; 148*24645034SJagan Teki clock-frequency = <400000>; 149*24645034SJagan Teki 150*24645034SJagan Teki rk809: pmic@20 { 151*24645034SJagan Teki compatible = "rockchip,rk809"; 152*24645034SJagan Teki reg = <0x20>; 153*24645034SJagan Teki interrupt-parent = <&gpio1>; 154*24645034SJagan Teki interrupts = <RK_PC5 IRQ_TYPE_LEVEL_LOW>; 155*24645034SJagan Teki #clock-cells = <1>; 156*24645034SJagan Teki clock-output-names = "rk808-clkout1", "rk808-clkout2"; 157*24645034SJagan Teki pinctrl-names = "default"; 158*24645034SJagan Teki pinctrl-0 = <&pmic_int_l>; 159*24645034SJagan Teki rockchip,system-power-controller; 160*24645034SJagan Teki wakeup-source; 161*24645034SJagan Teki 162*24645034SJagan Teki vcc1-supply = <&vcc5v0_sys>; 163*24645034SJagan Teki vcc2-supply = <&vcc5v0_sys>; 164*24645034SJagan Teki vcc3-supply = <&vcc5v0_sys>; 165*24645034SJagan Teki vcc4-supply = <&vcc5v0_sys>; 166*24645034SJagan Teki vcc5-supply = <&vcc_buck5>; 167*24645034SJagan Teki vcc6-supply = <&vcc_buck5>; 168*24645034SJagan Teki vcc7-supply = <&vcc5v0_sys>; 169*24645034SJagan Teki vcc8-supply = <&vcc3v3_sys>; 170*24645034SJagan Teki vcc9-supply = <&vcc5v0_sys>; 171*24645034SJagan Teki 172*24645034SJagan Teki regulators { 173*24645034SJagan Teki vdd_log: DCDC_REG1 { 174*24645034SJagan Teki regulator-always-on; 175*24645034SJagan Teki regulator-boot-on; 176*24645034SJagan Teki regulator-min-microvolt = <750000>; 177*24645034SJagan Teki regulator-max-microvolt = <1350000>; 178*24645034SJagan Teki regulator-initial-mode = <0x2>; 179*24645034SJagan Teki regulator-name = "vdd_log"; 180*24645034SJagan Teki regulator-state-mem { 181*24645034SJagan Teki regulator-off-in-suspend; 182*24645034SJagan Teki regulator-suspend-microvolt = <900000>; 183*24645034SJagan Teki }; 184*24645034SJagan Teki }; 185*24645034SJagan Teki 186*24645034SJagan Teki vdd_cpu_l: DCDC_REG2 { 187*24645034SJagan Teki regulator-always-on; 188*24645034SJagan Teki regulator-boot-on; 189*24645034SJagan Teki regulator-min-microvolt = <750000>; 190*24645034SJagan Teki regulator-max-microvolt = <1350000>; 191*24645034SJagan Teki regulator-ramp-delay = <6001>; 192*24645034SJagan Teki regulator-initial-mode = <0x2>; 193*24645034SJagan Teki regulator-name = "vdd_cpu_l"; 194*24645034SJagan Teki regulator-state-mem { 195*24645034SJagan Teki regulator-off-in-suspend; 196*24645034SJagan Teki }; 197*24645034SJagan Teki }; 198*24645034SJagan Teki 199*24645034SJagan Teki vcc_ddr: DCDC_REG3 { 200*24645034SJagan Teki regulator-always-on; 201*24645034SJagan Teki regulator-boot-on; 202*24645034SJagan Teki regulator-name = "vcc_ddr"; 203*24645034SJagan Teki regulator-initial-mode = <0x2>; 204*24645034SJagan Teki regulator-state-mem { 205*24645034SJagan Teki regulator-on-in-suspend; 206*24645034SJagan Teki }; 207*24645034SJagan Teki }; 208*24645034SJagan Teki 209*24645034SJagan Teki vcc3v3_sys: DCDC_REG4 { 210*24645034SJagan Teki regulator-always-on; 211*24645034SJagan Teki regulator-boot-on; 212*24645034SJagan Teki regulator-min-microvolt = <3300000>; 213*24645034SJagan Teki regulator-max-microvolt = <3300000>; 214*24645034SJagan Teki regulator-initial-mode = <0x2>; 215*24645034SJagan Teki regulator-name = "vcc3v3_sys"; 216*24645034SJagan Teki regulator-state-mem { 217*24645034SJagan Teki regulator-on-in-suspend; 218*24645034SJagan Teki regulator-suspend-microvolt = <3300000>; 219*24645034SJagan Teki }; 220*24645034SJagan Teki }; 221*24645034SJagan Teki 222*24645034SJagan Teki vcc_buck5: DCDC_REG5 { 223*24645034SJagan Teki regulator-always-on; 224*24645034SJagan Teki regulator-boot-on; 225*24645034SJagan Teki regulator-min-microvolt = <3300000>; 226*24645034SJagan Teki regulator-max-microvolt = <3300000>; 227*24645034SJagan Teki regulator-name = "vcc_buck5"; 228*24645034SJagan Teki regulator-state-mem { 229*24645034SJagan Teki regulator-on-in-suspend; 230*24645034SJagan Teki regulator-suspend-microvolt = <3300000>; 231*24645034SJagan Teki }; 232*24645034SJagan Teki }; 233*24645034SJagan Teki 234*24645034SJagan Teki vcca_0v9: LDO_REG1 { 235*24645034SJagan Teki regulator-always-on; 236*24645034SJagan Teki regulator-boot-on; 237*24645034SJagan Teki regulator-min-microvolt = <900000>; 238*24645034SJagan Teki regulator-max-microvolt = <900000>; 239*24645034SJagan Teki regulator-name = "vcca_0v9"; 240*24645034SJagan Teki regulator-state-mem { 241*24645034SJagan Teki regulator-off-in-suspend; 242*24645034SJagan Teki }; 243*24645034SJagan Teki }; 244*24645034SJagan Teki 245*24645034SJagan Teki vcc_1v8: LDO_REG2 { 246*24645034SJagan Teki regulator-always-on; 247*24645034SJagan Teki regulator-boot-on; 248*24645034SJagan Teki regulator-min-microvolt = <1800000>; 249*24645034SJagan Teki regulator-max-microvolt = <1800000>; 250*24645034SJagan Teki regulator-name = "vcc_1v8"; 251*24645034SJagan Teki regulator-state-mem { 252*24645034SJagan Teki regulator-on-in-suspend; 253*24645034SJagan Teki regulator-suspend-microvolt = <1800000>; 254*24645034SJagan Teki }; 255*24645034SJagan Teki }; 256*24645034SJagan Teki 257*24645034SJagan Teki vcc0v9_soc: LDO_REG3 { 258*24645034SJagan Teki regulator-always-on; 259*24645034SJagan Teki regulator-boot-on; 260*24645034SJagan Teki regulator-min-microvolt = <900000>; 261*24645034SJagan Teki regulator-max-microvolt = <900000>; 262*24645034SJagan Teki regulator-name = "vcc0v9_soc"; 263*24645034SJagan Teki regulator-state-mem { 264*24645034SJagan Teki regulator-on-in-suspend; 265*24645034SJagan Teki regulator-suspend-microvolt = <900000>; 266*24645034SJagan Teki }; 267*24645034SJagan Teki }; 268*24645034SJagan Teki 269*24645034SJagan Teki vcca_1v8: LDO_REG4 { 270*24645034SJagan Teki regulator-always-on; 271*24645034SJagan Teki regulator-boot-on; 272*24645034SJagan Teki regulator-min-microvolt = <1800000>; 273*24645034SJagan Teki regulator-max-microvolt = <1800000>; 274*24645034SJagan Teki regulator-name = "vcca_1v8"; 275*24645034SJagan Teki regulator-state-mem { 276*24645034SJagan Teki regulator-off-in-suspend; 277*24645034SJagan Teki }; 278*24645034SJagan Teki }; 279*24645034SJagan Teki 280*24645034SJagan Teki vcc_mipi: LDO_REG5 { 281*24645034SJagan Teki regulator-always-on; 282*24645034SJagan Teki regulator-boot-on; 283*24645034SJagan Teki regulator-min-microvolt = <3000000>; 284*24645034SJagan Teki regulator-max-microvolt = <3000000>; 285*24645034SJagan Teki regulator-name = "vcc_mipi"; 286*24645034SJagan Teki regulator-state-mem { 287*24645034SJagan Teki regulator-off-in-suspend; 288*24645034SJagan Teki }; 289*24645034SJagan Teki }; 290*24645034SJagan Teki 291*24645034SJagan Teki vcc_1v5: LDO_REG6 { 292*24645034SJagan Teki regulator-always-on; 293*24645034SJagan Teki regulator-boot-on; 294*24645034SJagan Teki regulator-min-microvolt = <1500000>; 295*24645034SJagan Teki regulator-max-microvolt = <1500000>; 296*24645034SJagan Teki regulator-name = "vcc_1v5"; 297*24645034SJagan Teki regulator-state-mem { 298*24645034SJagan Teki regulator-off-in-suspend; 299*24645034SJagan Teki }; 300*24645034SJagan Teki }; 301*24645034SJagan Teki 302*24645034SJagan Teki vcc_3v0: LDO_REG7 { 303*24645034SJagan Teki regulator-always-on; 304*24645034SJagan Teki regulator-boot-on; 305*24645034SJagan Teki regulator-min-microvolt = <3000000>; 306*24645034SJagan Teki regulator-max-microvolt = <3000000>; 307*24645034SJagan Teki regulator-name = "vcc_3v0"; 308*24645034SJagan Teki regulator-state-mem { 309*24645034SJagan Teki regulator-off-in-suspend; 310*24645034SJagan Teki }; 311*24645034SJagan Teki }; 312*24645034SJagan Teki 313*24645034SJagan Teki vccio_sd: LDO_REG8 { 314*24645034SJagan Teki regulator-always-on; 315*24645034SJagan Teki regulator-boot-on; 316*24645034SJagan Teki regulator-min-microvolt = <1800000>; 317*24645034SJagan Teki regulator-max-microvolt = <3300000>; 318*24645034SJagan Teki regulator-name = "vccio_sd"; 319*24645034SJagan Teki regulator-state-mem { 320*24645034SJagan Teki regulator-off-in-suspend; 321*24645034SJagan Teki }; 322*24645034SJagan Teki }; 323*24645034SJagan Teki 324*24645034SJagan Teki vcc_cam: LDO_REG9 { 325*24645034SJagan Teki regulator-always-on; 326*24645034SJagan Teki regulator-boot-on; 327*24645034SJagan Teki regulator-min-microvolt = <3300000>; 328*24645034SJagan Teki regulator-max-microvolt = <3300000>; 329*24645034SJagan Teki regulator-name = "vcc_cam"; 330*24645034SJagan Teki regulator-state-mem { 331*24645034SJagan Teki regulator-off-in-suspend; 332*24645034SJagan Teki }; 333*24645034SJagan Teki }; 334*24645034SJagan Teki 335*24645034SJagan Teki vcc5v0_host0_s0: SWITCH_REG1 { 336*24645034SJagan Teki regulator-always-on; 337*24645034SJagan Teki regulator-boot-on; 338*24645034SJagan Teki regulator-name = "vcc5v0_host0_s0"; 339*24645034SJagan Teki regulator-state-mem { 340*24645034SJagan Teki regulator-on-in-suspend; 341*24645034SJagan Teki }; 342*24645034SJagan Teki }; 343*24645034SJagan Teki 344*24645034SJagan Teki lcd_3v3: SWITCH_REG2 { 345*24645034SJagan Teki regulator-always-on; 346*24645034SJagan Teki regulator-boot-on; 347*24645034SJagan Teki regulator-name = "lcd_3v3"; 348*24645034SJagan Teki regulator-state-mem { 349*24645034SJagan Teki regulator-off-in-suspend; 350*24645034SJagan Teki }; 351*24645034SJagan Teki }; 352*24645034SJagan Teki }; 353*24645034SJagan Teki }; 354*24645034SJagan Teki 355*24645034SJagan Teki vdd_cpu_b: regulator@40 { 356*24645034SJagan Teki compatible = "silergy,syr827"; 357*24645034SJagan Teki reg = <0x40>; 358*24645034SJagan Teki fcs,suspend-voltage-selector = <1>; 359*24645034SJagan Teki regulator-compatible = "fan53555-reg"; 360*24645034SJagan Teki pinctrl-0 = <&vsel1_gpio>; 361*24645034SJagan Teki vsel-gpios = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>; 362*24645034SJagan Teki regulator-name = "vdd_cpu_b"; 363*24645034SJagan Teki regulator-min-microvolt = <712500>; 364*24645034SJagan Teki regulator-max-microvolt = <1500000>; 365*24645034SJagan Teki regulator-ramp-delay = <1000>; 366*24645034SJagan Teki regulator-always-on; 367*24645034SJagan Teki regulator-boot-on; 368*24645034SJagan Teki vin-supply = <&vcc5v0_sys>; 369*24645034SJagan Teki regulator-state-mem { 370*24645034SJagan Teki regulator-off-in-suspend; 371*24645034SJagan Teki }; 372*24645034SJagan Teki }; 373*24645034SJagan Teki 374*24645034SJagan Teki vdd_gpu: regulator@41 { 375*24645034SJagan Teki compatible = "silergy,syr828"; 376*24645034SJagan Teki reg = <0x41>; 377*24645034SJagan Teki fcs,suspend-voltage-selector = <1>; 378*24645034SJagan Teki regulator-compatible = "fan53555-reg"; 379*24645034SJagan Teki pinctrl-0 = <&vsel2_gpio>; 380*24645034SJagan Teki vsel-gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_HIGH>; 381*24645034SJagan Teki regulator-name = "vdd_gpu"; 382*24645034SJagan Teki regulator-min-microvolt = <712500>; 383*24645034SJagan Teki regulator-max-microvolt = <1500000>; 384*24645034SJagan Teki regulator-ramp-delay = <1000>; 385*24645034SJagan Teki regulator-always-on; 386*24645034SJagan Teki regulator-boot-on; 387*24645034SJagan Teki vin-supply = <&vcc5v0_sys>; 388*24645034SJagan Teki regulator-initial-mode = <1>; /* 1:force PWM 2:auto */ 389*24645034SJagan Teki regulator-state-mem { 390*24645034SJagan Teki regulator-off-in-suspend; 391*24645034SJagan Teki }; 392*24645034SJagan Teki }; 393*24645034SJagan Teki}; 394*24645034SJagan Teki 395*24645034SJagan Teki&i2c3 { 396*24645034SJagan Teki i2c-scl-rising-time-ns = <450>; 397*24645034SJagan Teki i2c-scl-falling-time-ns = <15>; 398*24645034SJagan Teki status = "okay"; 399*24645034SJagan Teki}; 400*24645034SJagan Teki 401*24645034SJagan Teki&i2s2 { 402*24645034SJagan Teki status = "okay"; 403*24645034SJagan Teki}; 404*24645034SJagan Teki 405*24645034SJagan Teki&io_domains { 406*24645034SJagan Teki bt656-supply = <&vcc_3v0>; 407*24645034SJagan Teki gpio1830-supply = <&vcc_3v0>; 408*24645034SJagan Teki sdmmc-supply = <&vccio_sd>; 409*24645034SJagan Teki status = "okay"; 410*24645034SJagan Teki}; 411*24645034SJagan Teki 412*24645034SJagan Teki&pinctrl { 413*24645034SJagan Teki bt { 414*24645034SJagan Teki bt_enable_h: bt-enable-h { 415*24645034SJagan Teki rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 416*24645034SJagan Teki }; 417*24645034SJagan Teki 418*24645034SJagan Teki bt_host_wake_l: bt-host-wake-l { 419*24645034SJagan Teki rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 420*24645034SJagan Teki }; 421*24645034SJagan Teki 422*24645034SJagan Teki bt_wake_l: bt-wake-l { 423*24645034SJagan Teki rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 424*24645034SJagan Teki }; 425*24645034SJagan Teki }; 426*24645034SJagan Teki 427*24645034SJagan Teki pmic { 428*24645034SJagan Teki pmic_int_l: pmic-int-l { 429*24645034SJagan Teki rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 430*24645034SJagan Teki }; 431*24645034SJagan Teki 432*24645034SJagan Teki vsel1_gpio: vsel1-gpio { 433*24645034SJagan Teki rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; 434*24645034SJagan Teki }; 435*24645034SJagan Teki 436*24645034SJagan Teki vsel2_gpio: vsel2-gpio { 437*24645034SJagan Teki rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 438*24645034SJagan Teki }; 439*24645034SJagan Teki }; 440*24645034SJagan Teki 441*24645034SJagan Teki sdmmc { 442*24645034SJagan Teki sdmmc_bus4: sdmmc-bus4 { 443*24645034SJagan Teki rockchip,pins = <4 8 1 &pcfg_pull_up_8ma>, 444*24645034SJagan Teki <4 9 1 &pcfg_pull_up_8ma>, 445*24645034SJagan Teki <4 10 1 &pcfg_pull_up_8ma>, 446*24645034SJagan Teki <4 11 1 &pcfg_pull_up_8ma>; 447*24645034SJagan Teki }; 448*24645034SJagan Teki 449*24645034SJagan Teki sdmmc_clk: sdmmc-clk { 450*24645034SJagan Teki rockchip,pins = <4 12 1 &pcfg_pull_none_18ma>; 451*24645034SJagan Teki }; 452*24645034SJagan Teki 453*24645034SJagan Teki sdmmc_cmd: sdmmc-cmd { 454*24645034SJagan Teki rockchip,pins = <4 13 1 &pcfg_pull_up_8ma>; 455*24645034SJagan Teki }; 456*24645034SJagan Teki }; 457*24645034SJagan Teki 458*24645034SJagan Teki usb-typec { 459*24645034SJagan Teki vcc5v0_typec0_en: vcc5v0-typec-en { 460*24645034SJagan Teki rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 461*24645034SJagan Teki }; 462*24645034SJagan Teki }; 463*24645034SJagan Teki 464*24645034SJagan Teki usb2 { 465*24645034SJagan Teki vcc5v0_host_en: vcc5v0-host-en { 466*24645034SJagan Teki rockchip,pins = <3 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; 467*24645034SJagan Teki }; 468*24645034SJagan Teki }; 469*24645034SJagan Teki 470*24645034SJagan Teki wifi { 471*24645034SJagan Teki wifi_enable_h: wifi-enable-h { 472*24645034SJagan Teki rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 473*24645034SJagan Teki }; 474*24645034SJagan Teki 475*24645034SJagan Teki wifi_host_wake_l: wifi-host-wake-l { 476*24645034SJagan Teki rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 477*24645034SJagan Teki }; 478*24645034SJagan Teki }; 479*24645034SJagan Teki}; 480*24645034SJagan Teki 481*24645034SJagan Teki&pmu_io_domains { 482*24645034SJagan Teki pmu1830-supply = <&vcc_3v0>; 483*24645034SJagan Teki status = "okay"; 484*24645034SJagan Teki}; 485*24645034SJagan Teki 486*24645034SJagan Teki&saradc { 487*24645034SJagan Teki status = "okay"; 488*24645034SJagan Teki vref-supply = <&vcc_1v8>; 489*24645034SJagan Teki}; 490*24645034SJagan Teki 491*24645034SJagan Teki&sdhci { 492*24645034SJagan Teki max-frequency = <150000000>; 493*24645034SJagan Teki bus-width = <8>; 494*24645034SJagan Teki mmc-hs400-1_8v; 495*24645034SJagan Teki non-removable; 496*24645034SJagan Teki mmc-hs400-enhanced-strobe; 497*24645034SJagan Teki status = "okay"; 498*24645034SJagan Teki}; 499*24645034SJagan Teki 500*24645034SJagan Teki&sdio0 { 501*24645034SJagan Teki #address-cells = <1>; 502*24645034SJagan Teki #size-cells = <0>; 503*24645034SJagan Teki bus-width = <4>; 504*24645034SJagan Teki clock-frequency = <50000000>; 505*24645034SJagan Teki cap-sdio-irq; 506*24645034SJagan Teki cap-sd-highspeed; 507*24645034SJagan Teki keep-power-in-suspend; 508*24645034SJagan Teki mmc-pwrseq = <&sdio_pwrseq>; 509*24645034SJagan Teki non-removable; 510*24645034SJagan Teki pinctrl-names = "default"; 511*24645034SJagan Teki pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; 512*24645034SJagan Teki sd-uhs-sdr104; 513*24645034SJagan Teki status = "okay"; 514*24645034SJagan Teki 515*24645034SJagan Teki brcmf: wifi@1 { 516*24645034SJagan Teki compatible = "brcm,bcm4329-fmac"; 517*24645034SJagan Teki reg = <1>; 518*24645034SJagan Teki interrupt-parent = <&gpio0>; 519*24645034SJagan Teki interrupts = <RK_PA3 IRQ_TYPE_LEVEL_HIGH>; 520*24645034SJagan Teki interrupt-names = "host-wake"; 521*24645034SJagan Teki pinctrl-names = "default"; 522*24645034SJagan Teki pinctrl-0 = <&wifi_host_wake_l>; 523*24645034SJagan Teki }; 524*24645034SJagan Teki}; 525*24645034SJagan Teki 526*24645034SJagan Teki&sdmmc { 527*24645034SJagan Teki bus-width = <4>; 528*24645034SJagan Teki cap-mmc-highspeed; 529*24645034SJagan Teki cap-sd-highspeed; 530*24645034SJagan Teki card-detect-delay = <800>; 531*24645034SJagan Teki disable-wp; 532*24645034SJagan Teki pinctrl-names = "default"; 533*24645034SJagan Teki pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 534*24645034SJagan Teki cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 535*24645034SJagan Teki vqmmc-supply = <&vccio_sd>; 536*24645034SJagan Teki status = "okay"; 537*24645034SJagan Teki}; 538*24645034SJagan Teki 539*24645034SJagan Teki&tcphy0 { 540*24645034SJagan Teki status = "okay"; 541*24645034SJagan Teki}; 542*24645034SJagan Teki 543*24645034SJagan Teki&tcphy1 { 544*24645034SJagan Teki status = "okay"; 545*24645034SJagan Teki}; 546*24645034SJagan Teki 547*24645034SJagan Teki&u2phy0 { 548*24645034SJagan Teki status = "okay"; 549*24645034SJagan Teki 550*24645034SJagan Teki u2phy0_otg: otg-port { 551*24645034SJagan Teki status = "okay"; 552*24645034SJagan Teki }; 553*24645034SJagan Teki 554*24645034SJagan Teki u2phy0_host: host-port { 555*24645034SJagan Teki phy-supply = <&vcc5v0_host1>; 556*24645034SJagan Teki status = "okay"; 557*24645034SJagan Teki }; 558*24645034SJagan Teki}; 559*24645034SJagan Teki 560*24645034SJagan Teki&u2phy1 { 561*24645034SJagan Teki status = "okay"; 562*24645034SJagan Teki 563*24645034SJagan Teki u2phy1_otg: otg-port { 564*24645034SJagan Teki status = "okay"; 565*24645034SJagan Teki }; 566*24645034SJagan Teki 567*24645034SJagan Teki u2phy1_host: host-port { 568*24645034SJagan Teki phy-supply = <&vcc5v0_host1>; 569*24645034SJagan Teki status = "okay"; 570*24645034SJagan Teki }; 571*24645034SJagan Teki}; 572*24645034SJagan Teki 573*24645034SJagan Teki&uart0 { 574*24645034SJagan Teki pinctrl-names = "default"; 575*24645034SJagan Teki pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 576*24645034SJagan Teki status = "okay"; 577*24645034SJagan Teki 578*24645034SJagan Teki bluetooth { 579*24645034SJagan Teki compatible = "brcm,bcm4345c5"; 580*24645034SJagan Teki clocks = <&rk809 1>; 581*24645034SJagan Teki clock-names = "lpo"; 582*24645034SJagan Teki device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; 583*24645034SJagan Teki host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; 584*24645034SJagan Teki shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; 585*24645034SJagan Teki max-speed = <1500000>; 586*24645034SJagan Teki pinctrl-names = "default"; 587*24645034SJagan Teki pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>; 588*24645034SJagan Teki vbat-supply = <&vcc3v3_sys>; 589*24645034SJagan Teki vddio-supply = <&vcc_1v8>; 590*24645034SJagan Teki }; 591*24645034SJagan Teki}; 592*24645034SJagan Teki 593*24645034SJagan Teki&uart2 { 594*24645034SJagan Teki status = "okay"; 595*24645034SJagan Teki}; 596*24645034SJagan Teki 597*24645034SJagan Teki&usb_host0_ehci { 598*24645034SJagan Teki status = "okay"; 599*24645034SJagan Teki}; 600*24645034SJagan Teki 601*24645034SJagan Teki&usb_host0_ohci { 602*24645034SJagan Teki status = "okay"; 603*24645034SJagan Teki}; 604*24645034SJagan Teki 605*24645034SJagan Teki&usb_host1_ehci { 606*24645034SJagan Teki status = "okay"; 607*24645034SJagan Teki}; 608*24645034SJagan Teki 609*24645034SJagan Teki&usb_host1_ohci { 610*24645034SJagan Teki status = "okay"; 611*24645034SJagan Teki}; 612*24645034SJagan Teki 613*24645034SJagan Teki&usbdrd3_0 { 614*24645034SJagan Teki extcon = <&u2phy0>; 615*24645034SJagan Teki status = "okay"; 616*24645034SJagan Teki}; 617*24645034SJagan Teki 618*24645034SJagan Teki&usbdrd_dwc3_0 { 619*24645034SJagan Teki status = "okay"; 620*24645034SJagan Teki dr_mode = "host"; 621*24645034SJagan Teki}; 622*24645034SJagan Teki 623*24645034SJagan Teki&usbdrd3_1 { 624*24645034SJagan Teki status = "okay"; 625*24645034SJagan Teki}; 626*24645034SJagan Teki 627*24645034SJagan Teki&usbdrd_dwc3_1 { 628*24645034SJagan Teki status = "okay"; 629*24645034SJagan Teki dr_mode = "host"; 630*24645034SJagan Teki}; 631*24645034SJagan Teki 632*24645034SJagan Teki&vopb { 633*24645034SJagan Teki status = "okay"; 634*24645034SJagan Teki}; 635*24645034SJagan Teki 636*24645034SJagan Teki&vopb_mmu { 637*24645034SJagan Teki status = "okay"; 638*24645034SJagan Teki}; 639*24645034SJagan Teki 640*24645034SJagan Teki&vopl { 641*24645034SJagan Teki status = "okay"; 642*24645034SJagan Teki}; 643*24645034SJagan Teki 644*24645034SJagan Teki&vopl_mmu { 645*24645034SJagan Teki status = "okay"; 646*24645034SJagan Teki}; 647