1*f296bb50SCoia Prant// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*f296bb50SCoia Prant 3*f296bb50SCoia Prant/dts-v1/; 4*f296bb50SCoia Prant#include <dt-bindings/gpio/gpio.h> 5*f296bb50SCoia Prant#include <dt-bindings/input/input.h> 6*f296bb50SCoia Prant#include <dt-bindings/leds/common.h> 7*f296bb50SCoia Prant#include <dt-bindings/pinctrl/rockchip.h> 8*f296bb50SCoia Prant#include <dt-bindings/soc/rockchip,vop2.h> 9*f296bb50SCoia Prant#include "rk3568.dtsi" 10*f296bb50SCoia Prant 11*f296bb50SCoia Prant/ { 12*f296bb50SCoia Prant model = "Graperain G3568 v2"; 13*f296bb50SCoia Prant compatible = "graperain,g3568-v2", "rockchip,rk3568"; 14*f296bb50SCoia Prant 15*f296bb50SCoia Prant aliases { 16*f296bb50SCoia Prant ethernet0 = &gmac0; 17*f296bb50SCoia Prant ethernet1 = &gmac1; 18*f296bb50SCoia Prant mmc0 = &sdhci; 19*f296bb50SCoia Prant mmc1 = &sdmmc0; 20*f296bb50SCoia Prant mmc2 = &sdmmc2; 21*f296bb50SCoia Prant rtc0 = &rtc0; 22*f296bb50SCoia Prant }; 23*f296bb50SCoia Prant 24*f296bb50SCoia Prant chosen { 25*f296bb50SCoia Prant stdout-path = "serial2:1500000n8"; 26*f296bb50SCoia Prant }; 27*f296bb50SCoia Prant 28*f296bb50SCoia Prant adc-keys { 29*f296bb50SCoia Prant compatible = "adc-keys"; 30*f296bb50SCoia Prant io-channels = <&saradc 0>; 31*f296bb50SCoia Prant io-channel-names = "buttons"; 32*f296bb50SCoia Prant keyup-threshold-microvolt = <1800000>; 33*f296bb50SCoia Prant poll-interval = <100>; 34*f296bb50SCoia Prant 35*f296bb50SCoia Prant button-esc { 36*f296bb50SCoia Prant label = "esc"; 37*f296bb50SCoia Prant linux,code = <KEY_ESC>; 38*f296bb50SCoia Prant press-threshold-microvolt = <1250000>; 39*f296bb50SCoia Prant }; 40*f296bb50SCoia Prant 41*f296bb50SCoia Prant button-menu { 42*f296bb50SCoia Prant label = "menu"; 43*f296bb50SCoia Prant linux,code = <KEY_MENU>; 44*f296bb50SCoia Prant press-threshold-microvolt = <1600000>; 45*f296bb50SCoia Prant }; 46*f296bb50SCoia Prant 47*f296bb50SCoia Prant button-vol-down { 48*f296bb50SCoia Prant label = "volume down"; 49*f296bb50SCoia Prant linux,code = <KEY_VOLUMEDOWN>; 50*f296bb50SCoia Prant press-threshold-microvolt = <600000>; 51*f296bb50SCoia Prant }; 52*f296bb50SCoia Prant 53*f296bb50SCoia Prant button-vol-up { 54*f296bb50SCoia Prant label = "volume up"; 55*f296bb50SCoia Prant linux,code = <KEY_VOLUMEUP>; 56*f296bb50SCoia Prant press-threshold-microvolt = <100000>; 57*f296bb50SCoia Prant }; 58*f296bb50SCoia Prant }; 59*f296bb50SCoia Prant 60*f296bb50SCoia Prant hdmi-con { 61*f296bb50SCoia Prant compatible = "hdmi-connector"; 62*f296bb50SCoia Prant type = "a"; 63*f296bb50SCoia Prant 64*f296bb50SCoia Prant port { 65*f296bb50SCoia Prant hdmi_con_in: endpoint { 66*f296bb50SCoia Prant remote-endpoint = <&hdmi_out_con>; 67*f296bb50SCoia Prant }; 68*f296bb50SCoia Prant }; 69*f296bb50SCoia Prant }; 70*f296bb50SCoia Prant 71*f296bb50SCoia Prant leds { 72*f296bb50SCoia Prant compatible = "gpio-leds"; 73*f296bb50SCoia Prant 74*f296bb50SCoia Prant led_work: led-0 { 75*f296bb50SCoia Prant color = <LED_COLOR_ID_BLUE>; 76*f296bb50SCoia Prant function = LED_FUNCTION_HEARTBEAT; 77*f296bb50SCoia Prant gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>; 78*f296bb50SCoia Prant linux,default-trigger = "heartbeat"; 79*f296bb50SCoia Prant pinctrl-names = "default"; 80*f296bb50SCoia Prant pinctrl-0 = <&led_work_en>; 81*f296bb50SCoia Prant }; 82*f296bb50SCoia Prant }; 83*f296bb50SCoia Prant 84*f296bb50SCoia Prant rk809-sound { 85*f296bb50SCoia Prant compatible = "simple-audio-card"; 86*f296bb50SCoia Prant simple-audio-card,format = "i2s"; 87*f296bb50SCoia Prant simple-audio-card,name = "Analog RK809"; 88*f296bb50SCoia Prant simple-audio-card,mclk-fs = <256>; 89*f296bb50SCoia Prant 90*f296bb50SCoia Prant simple-audio-card,cpu { 91*f296bb50SCoia Prant sound-dai = <&i2s1_8ch>; 92*f296bb50SCoia Prant }; 93*f296bb50SCoia Prant simple-audio-card,codec { 94*f296bb50SCoia Prant sound-dai = <&rk809>; 95*f296bb50SCoia Prant }; 96*f296bb50SCoia Prant }; 97*f296bb50SCoia Prant 98*f296bb50SCoia Prant pdm_codec: pdm-codec { 99*f296bb50SCoia Prant compatible = "dmic-codec"; 100*f296bb50SCoia Prant num-channels = <2>; 101*f296bb50SCoia Prant #sound-dai-cells = <0>; 102*f296bb50SCoia Prant }; 103*f296bb50SCoia Prant 104*f296bb50SCoia Prant pdm_sound: pdm-sound { 105*f296bb50SCoia Prant compatible = "simple-audio-card"; 106*f296bb50SCoia Prant simple-audio-card,name = "microphone"; 107*f296bb50SCoia Prant 108*f296bb50SCoia Prant simple-audio-card,cpu { 109*f296bb50SCoia Prant sound-dai = <&pdm>; 110*f296bb50SCoia Prant }; 111*f296bb50SCoia Prant 112*f296bb50SCoia Prant simple-audio-card,codec { 113*f296bb50SCoia Prant sound-dai = <&pdm_codec>; 114*f296bb50SCoia Prant }; 115*f296bb50SCoia Prant }; 116*f296bb50SCoia Prant 117*f296bb50SCoia Prant spdif_dit: spdif-dit { 118*f296bb50SCoia Prant compatible = "linux,spdif-dit"; 119*f296bb50SCoia Prant #sound-dai-cells = <0>; 120*f296bb50SCoia Prant }; 121*f296bb50SCoia Prant 122*f296bb50SCoia Prant spdif_sound: spdif-sound { 123*f296bb50SCoia Prant compatible = "simple-audio-card"; 124*f296bb50SCoia Prant simple-audio-card,name = "SPDIF"; 125*f296bb50SCoia Prant 126*f296bb50SCoia Prant simple-audio-card,cpu { 127*f296bb50SCoia Prant sound-dai = <&spdif>; 128*f296bb50SCoia Prant }; 129*f296bb50SCoia Prant simple-audio-card,codec { 130*f296bb50SCoia Prant sound-dai = <&spdif_dit>; 131*f296bb50SCoia Prant }; 132*f296bb50SCoia Prant }; 133*f296bb50SCoia Prant 134*f296bb50SCoia Prant sdio_pwrseq: sdio-pwrseq { 135*f296bb50SCoia Prant compatible = "mmc-pwrseq-simple"; 136*f296bb50SCoia Prant clocks = <&rk809 1>; 137*f296bb50SCoia Prant clock-names = "ext_clock"; 138*f296bb50SCoia Prant pinctrl-names = "default"; 139*f296bb50SCoia Prant pinctrl-0 = <&wifi_enable>; 140*f296bb50SCoia Prant post-power-on-delay-ms = <100>; 141*f296bb50SCoia Prant power-off-delay-us = <300>; 142*f296bb50SCoia Prant reset-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_LOW>; 143*f296bb50SCoia Prant }; 144*f296bb50SCoia Prant 145*f296bb50SCoia Prant dc_12v: regulator-dc-12v { 146*f296bb50SCoia Prant compatible = "regulator-fixed"; 147*f296bb50SCoia Prant regulator-name = "dc_12v"; 148*f296bb50SCoia Prant regulator-always-on; 149*f296bb50SCoia Prant regulator-boot-on; 150*f296bb50SCoia Prant regulator-min-microvolt = <12000000>; 151*f296bb50SCoia Prant regulator-max-microvolt = <12000000>; 152*f296bb50SCoia Prant }; 153*f296bb50SCoia Prant 154*f296bb50SCoia Prant pcie30_avdd0v9: regulator-pcie30-avdd0v9 { 155*f296bb50SCoia Prant compatible = "regulator-fixed"; 156*f296bb50SCoia Prant regulator-name = "pcie30_avdd0v9"; 157*f296bb50SCoia Prant regulator-always-on; 158*f296bb50SCoia Prant regulator-boot-on; 159*f296bb50SCoia Prant regulator-min-microvolt = <900000>; 160*f296bb50SCoia Prant regulator-max-microvolt = <900000>; 161*f296bb50SCoia Prant vin-supply = <&vcc3v3_sys>; 162*f296bb50SCoia Prant }; 163*f296bb50SCoia Prant 164*f296bb50SCoia Prant pcie30_avdd1v8: regulator-pcie30-avdd1v8 { 165*f296bb50SCoia Prant compatible = "regulator-fixed"; 166*f296bb50SCoia Prant regulator-name = "pcie30_avdd1v8"; 167*f296bb50SCoia Prant regulator-always-on; 168*f296bb50SCoia Prant regulator-boot-on; 169*f296bb50SCoia Prant regulator-min-microvolt = <1800000>; 170*f296bb50SCoia Prant regulator-max-microvolt = <1800000>; 171*f296bb50SCoia Prant vin-supply = <&vcc3v3_sys>; 172*f296bb50SCoia Prant }; 173*f296bb50SCoia Prant 174*f296bb50SCoia Prant vcc3v3_sys: regulator-vcc3v3-sys { 175*f296bb50SCoia Prant compatible = "regulator-fixed"; 176*f296bb50SCoia Prant regulator-name = "vcc3v3_sys"; 177*f296bb50SCoia Prant regulator-always-on; 178*f296bb50SCoia Prant regulator-boot-on; 179*f296bb50SCoia Prant regulator-min-microvolt = <3300000>; 180*f296bb50SCoia Prant regulator-max-microvolt = <3300000>; 181*f296bb50SCoia Prant vin-supply = <&dc_12v>; 182*f296bb50SCoia Prant }; 183*f296bb50SCoia Prant 184*f296bb50SCoia Prant vcc3v3_pcie: regulator-vcc3v3-pcie { 185*f296bb50SCoia Prant compatible = "regulator-fixed"; 186*f296bb50SCoia Prant enable-active-high; 187*f296bb50SCoia Prant gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_HIGH>; 188*f296bb50SCoia Prant pinctrl-names = "default"; 189*f296bb50SCoia Prant pinctrl-0 = <&vcc3v3_pcie_en_pin>; 190*f296bb50SCoia Prant regulator-name = "vcc3v3_pcie"; 191*f296bb50SCoia Prant regulator-min-microvolt = <3300000>; 192*f296bb50SCoia Prant regulator-max-microvolt = <3300000>; 193*f296bb50SCoia Prant startup-delay-us = <5000>; 194*f296bb50SCoia Prant vin-supply = <&dc_12v>; 195*f296bb50SCoia Prant }; 196*f296bb50SCoia Prant 197*f296bb50SCoia Prant vcc5v0_sys: regulator-vcc5v0-sys { 198*f296bb50SCoia Prant compatible = "regulator-fixed"; 199*f296bb50SCoia Prant regulator-name = "vcc5v0_sys"; 200*f296bb50SCoia Prant regulator-always-on; 201*f296bb50SCoia Prant regulator-boot-on; 202*f296bb50SCoia Prant regulator-min-microvolt = <5000000>; 203*f296bb50SCoia Prant regulator-max-microvolt = <5000000>; 204*f296bb50SCoia Prant vin-supply = <&dc_12v>; 205*f296bb50SCoia Prant }; 206*f296bb50SCoia Prant 207*f296bb50SCoia Prant vcc5v0_usb: regulator-vcc5v0-usb { 208*f296bb50SCoia Prant compatible = "regulator-fixed"; 209*f296bb50SCoia Prant regulator-name = "vcc5v0_usb"; 210*f296bb50SCoia Prant regulator-always-on; 211*f296bb50SCoia Prant regulator-boot-on; 212*f296bb50SCoia Prant regulator-min-microvolt = <5000000>; 213*f296bb50SCoia Prant regulator-max-microvolt = <5000000>; 214*f296bb50SCoia Prant vin-supply = <&dc_12v>; 215*f296bb50SCoia Prant }; 216*f296bb50SCoia Prant 217*f296bb50SCoia Prant vcc5v0_usb_host: regulator-vcc5v0-usb-host { 218*f296bb50SCoia Prant compatible = "regulator-fixed"; 219*f296bb50SCoia Prant enable-active-high; 220*f296bb50SCoia Prant gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; 221*f296bb50SCoia Prant pinctrl-names = "default"; 222*f296bb50SCoia Prant pinctrl-0 = <&vcc5v0_usb_host_en>; 223*f296bb50SCoia Prant regulator-name = "vcc5v0_usb_host"; 224*f296bb50SCoia Prant regulator-min-microvolt = <5000000>; 225*f296bb50SCoia Prant regulator-max-microvolt = <5000000>; 226*f296bb50SCoia Prant vin-supply = <&vcc5v0_usb>; 227*f296bb50SCoia Prant }; 228*f296bb50SCoia Prant 229*f296bb50SCoia Prant vcc5v0_usb_otg: regulator-vcc5v0-usb-otg { 230*f296bb50SCoia Prant compatible = "regulator-fixed"; 231*f296bb50SCoia Prant enable-active-high; 232*f296bb50SCoia Prant gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; 233*f296bb50SCoia Prant pinctrl-names = "default"; 234*f296bb50SCoia Prant pinctrl-0 = <&vcc5v0_usb_otg_en>; 235*f296bb50SCoia Prant regulator-name = "vcc5v0_usb_otg"; 236*f296bb50SCoia Prant regulator-min-microvolt = <5000000>; 237*f296bb50SCoia Prant regulator-max-microvolt = <5000000>; 238*f296bb50SCoia Prant vin-supply = <&vcc5v0_usb>; 239*f296bb50SCoia Prant }; 240*f296bb50SCoia Prant}; 241*f296bb50SCoia Prant 242*f296bb50SCoia Prant&can1 { 243*f296bb50SCoia Prant assigned-clocks = <&cru CLK_CAN1>; 244*f296bb50SCoia Prant assigned-clock-rates = <150000000>; 245*f296bb50SCoia Prant pinctrl-names = "default"; 246*f296bb50SCoia Prant pinctrl-0 = <&can1m1_pins>; 247*f296bb50SCoia Prant status = "okay"; 248*f296bb50SCoia Prant}; 249*f296bb50SCoia Prant 250*f296bb50SCoia Prant/* used for usb_host0_xhci */ 251*f296bb50SCoia Prant&combphy0 { 252*f296bb50SCoia Prant status = "okay"; 253*f296bb50SCoia Prant}; 254*f296bb50SCoia Prant 255*f296bb50SCoia Prant/* used for usb_host1_xhci */ 256*f296bb50SCoia Prant&combphy1 { 257*f296bb50SCoia Prant status = "okay"; 258*f296bb50SCoia Prant}; 259*f296bb50SCoia Prant 260*f296bb50SCoia Prant/* connected to sata2 */ 261*f296bb50SCoia Prant&combphy2 { 262*f296bb50SCoia Prant status = "okay"; 263*f296bb50SCoia Prant}; 264*f296bb50SCoia Prant 265*f296bb50SCoia Prant&cpu0 { 266*f296bb50SCoia Prant cpu-supply = <&vdd_cpu>; 267*f296bb50SCoia Prant}; 268*f296bb50SCoia Prant 269*f296bb50SCoia Prant&cpu1 { 270*f296bb50SCoia Prant cpu-supply = <&vdd_cpu>; 271*f296bb50SCoia Prant}; 272*f296bb50SCoia Prant 273*f296bb50SCoia Prant&cpu2 { 274*f296bb50SCoia Prant cpu-supply = <&vdd_cpu>; 275*f296bb50SCoia Prant}; 276*f296bb50SCoia Prant 277*f296bb50SCoia Prant&cpu3 { 278*f296bb50SCoia Prant cpu-supply = <&vdd_cpu>; 279*f296bb50SCoia Prant}; 280*f296bb50SCoia Prant 281*f296bb50SCoia Prant&gmac0 { 282*f296bb50SCoia Prant assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>; 283*f296bb50SCoia Prant assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>; 284*f296bb50SCoia Prant assigned-clock-rates = <0>, <125000000>; 285*f296bb50SCoia Prant clock_in_out = "output"; 286*f296bb50SCoia Prant pinctrl-names = "default"; 287*f296bb50SCoia Prant pinctrl-0 = <&gmac0_miim 288*f296bb50SCoia Prant &gmac0_tx_bus2 289*f296bb50SCoia Prant &gmac0_rx_bus2 290*f296bb50SCoia Prant &gmac0_rgmii_clk 291*f296bb50SCoia Prant &gmac0_rgmii_bus>; 292*f296bb50SCoia Prant phy-handle = <&rgmii_phy0>; 293*f296bb50SCoia Prant phy-mode = "rgmii-id"; 294*f296bb50SCoia Prant status = "okay"; 295*f296bb50SCoia Prant}; 296*f296bb50SCoia Prant 297*f296bb50SCoia Prant&gmac1 { 298*f296bb50SCoia Prant assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>; 299*f296bb50SCoia Prant assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>; 300*f296bb50SCoia Prant assigned-clock-rates = <0>, <125000000>; 301*f296bb50SCoia Prant clock_in_out = "output"; 302*f296bb50SCoia Prant pinctrl-names = "default"; 303*f296bb50SCoia Prant pinctrl-0 = <&gmac1m1_miim 304*f296bb50SCoia Prant &gmac1m1_tx_bus2 305*f296bb50SCoia Prant &gmac1m1_rx_bus2 306*f296bb50SCoia Prant &gmac1m1_rgmii_clk 307*f296bb50SCoia Prant &gmac1m1_rgmii_bus>; 308*f296bb50SCoia Prant phy-handle = <&rgmii_phy1>; 309*f296bb50SCoia Prant phy-mode = "rgmii-id"; 310*f296bb50SCoia Prant status = "okay"; 311*f296bb50SCoia Prant}; 312*f296bb50SCoia Prant 313*f296bb50SCoia Prant&gpu { 314*f296bb50SCoia Prant mali-supply = <&vdd_gpu>; 315*f296bb50SCoia Prant status = "okay"; 316*f296bb50SCoia Prant}; 317*f296bb50SCoia Prant 318*f296bb50SCoia Prant&hdmi { 319*f296bb50SCoia Prant avdd-0v9-supply = <&vdda0v9_image>; 320*f296bb50SCoia Prant avdd-1v8-supply = <&vcca1v8_image>; 321*f296bb50SCoia Prant status = "okay"; 322*f296bb50SCoia Prant}; 323*f296bb50SCoia Prant 324*f296bb50SCoia Prant&hdmi_in { 325*f296bb50SCoia Prant hdmi_in_vp0: endpoint { 326*f296bb50SCoia Prant remote-endpoint = <&vp0_out_hdmi>; 327*f296bb50SCoia Prant }; 328*f296bb50SCoia Prant}; 329*f296bb50SCoia Prant 330*f296bb50SCoia Prant&hdmi_out { 331*f296bb50SCoia Prant hdmi_out_con: endpoint { 332*f296bb50SCoia Prant remote-endpoint = <&hdmi_con_in>; 333*f296bb50SCoia Prant }; 334*f296bb50SCoia Prant}; 335*f296bb50SCoia Prant 336*f296bb50SCoia Prant&hdmi_sound { 337*f296bb50SCoia Prant status = "okay"; 338*f296bb50SCoia Prant}; 339*f296bb50SCoia Prant 340*f296bb50SCoia Prant&i2c0 { 341*f296bb50SCoia Prant status = "okay"; 342*f296bb50SCoia Prant 343*f296bb50SCoia Prant vdd_cpu: regulator@1c { 344*f296bb50SCoia Prant compatible = "tcs,tcs4525"; 345*f296bb50SCoia Prant reg = <0x1c>; 346*f296bb50SCoia Prant regulator-name = "vdd_cpu"; 347*f296bb50SCoia Prant regulator-always-on; 348*f296bb50SCoia Prant regulator-boot-on; 349*f296bb50SCoia Prant regulator-min-microvolt = <800000>; 350*f296bb50SCoia Prant regulator-max-microvolt = <1150000>; 351*f296bb50SCoia Prant regulator-ramp-delay = <2300>; 352*f296bb50SCoia Prant vin-supply = <&vcc5v0_sys>; 353*f296bb50SCoia Prant fcs,suspend-voltage-selector = <1>; 354*f296bb50SCoia Prant 355*f296bb50SCoia Prant regulator-state-mem { 356*f296bb50SCoia Prant regulator-off-in-suspend; 357*f296bb50SCoia Prant }; 358*f296bb50SCoia Prant }; 359*f296bb50SCoia Prant 360*f296bb50SCoia Prant rk809: pmic@20 { 361*f296bb50SCoia Prant compatible = "rockchip,rk809"; 362*f296bb50SCoia Prant reg = <0x20>; 363*f296bb50SCoia Prant interrupt-parent = <&gpio0>; 364*f296bb50SCoia Prant interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>; 365*f296bb50SCoia Prant assigned-clocks = <&cru I2S1_MCLKOUT_TX>; 366*f296bb50SCoia Prant assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; 367*f296bb50SCoia Prant #clock-cells = <1>; 368*f296bb50SCoia Prant clock-names = "mclk"; 369*f296bb50SCoia Prant clocks = <&cru I2S1_MCLKOUT_TX>; 370*f296bb50SCoia Prant pinctrl-names = "default"; 371*f296bb50SCoia Prant pinctrl-0 = <&pmic_int>, <&i2s1m0_mclk>; 372*f296bb50SCoia Prant system-power-controller; 373*f296bb50SCoia Prant #sound-dai-cells = <0>; 374*f296bb50SCoia Prant vcc1-supply = <&vcc3v3_sys>; 375*f296bb50SCoia Prant vcc2-supply = <&vcc3v3_sys>; 376*f296bb50SCoia Prant vcc3-supply = <&vcc3v3_sys>; 377*f296bb50SCoia Prant vcc4-supply = <&vcc3v3_sys>; 378*f296bb50SCoia Prant vcc5-supply = <&vcc3v3_sys>; 379*f296bb50SCoia Prant vcc6-supply = <&vcc3v3_sys>; 380*f296bb50SCoia Prant vcc7-supply = <&vcc3v3_sys>; 381*f296bb50SCoia Prant vcc8-supply = <&vcc3v3_sys>; 382*f296bb50SCoia Prant vcc9-supply = <&vcc3v3_sys>; 383*f296bb50SCoia Prant wakeup-source; 384*f296bb50SCoia Prant 385*f296bb50SCoia Prant regulators { 386*f296bb50SCoia Prant vdd_logic: DCDC_REG1 { 387*f296bb50SCoia Prant regulator-name = "vdd_logic"; 388*f296bb50SCoia Prant regulator-always-on; 389*f296bb50SCoia Prant regulator-boot-on; 390*f296bb50SCoia Prant regulator-initial-mode = <0x2>; 391*f296bb50SCoia Prant regulator-min-microvolt = <500000>; 392*f296bb50SCoia Prant regulator-max-microvolt = <1350000>; 393*f296bb50SCoia Prant regulator-ramp-delay = <6001>; 394*f296bb50SCoia Prant 395*f296bb50SCoia Prant regulator-state-mem { 396*f296bb50SCoia Prant regulator-off-in-suspend; 397*f296bb50SCoia Prant }; 398*f296bb50SCoia Prant }; 399*f296bb50SCoia Prant 400*f296bb50SCoia Prant vdd_gpu: DCDC_REG2 { 401*f296bb50SCoia Prant regulator-name = "vdd_gpu"; 402*f296bb50SCoia Prant regulator-always-on; 403*f296bb50SCoia Prant regulator-initial-mode = <0x2>; 404*f296bb50SCoia Prant regulator-min-microvolt = <500000>; 405*f296bb50SCoia Prant regulator-max-microvolt = <1350000>; 406*f296bb50SCoia Prant regulator-ramp-delay = <6001>; 407*f296bb50SCoia Prant 408*f296bb50SCoia Prant regulator-state-mem { 409*f296bb50SCoia Prant regulator-off-in-suspend; 410*f296bb50SCoia Prant }; 411*f296bb50SCoia Prant }; 412*f296bb50SCoia Prant 413*f296bb50SCoia Prant vcc_ddr: DCDC_REG3 { 414*f296bb50SCoia Prant regulator-name = "vcc_ddr"; 415*f296bb50SCoia Prant regulator-always-on; 416*f296bb50SCoia Prant regulator-boot-on; 417*f296bb50SCoia Prant regulator-initial-mode = <0x2>; 418*f296bb50SCoia Prant 419*f296bb50SCoia Prant regulator-state-mem { 420*f296bb50SCoia Prant regulator-on-in-suspend; 421*f296bb50SCoia Prant }; 422*f296bb50SCoia Prant }; 423*f296bb50SCoia Prant 424*f296bb50SCoia Prant vdd_npu: DCDC_REG4 { 425*f296bb50SCoia Prant regulator-name = "vdd_npu"; 426*f296bb50SCoia Prant regulator-initial-mode = <0x2>; 427*f296bb50SCoia Prant regulator-min-microvolt = <500000>; 428*f296bb50SCoia Prant regulator-max-microvolt = <1350000>; 429*f296bb50SCoia Prant regulator-ramp-delay = <6001>; 430*f296bb50SCoia Prant 431*f296bb50SCoia Prant regulator-state-mem { 432*f296bb50SCoia Prant regulator-off-in-suspend; 433*f296bb50SCoia Prant }; 434*f296bb50SCoia Prant }; 435*f296bb50SCoia Prant 436*f296bb50SCoia Prant vcc_1v8: DCDC_REG5 { 437*f296bb50SCoia Prant regulator-name = "vcc_1v8"; 438*f296bb50SCoia Prant regulator-always-on; 439*f296bb50SCoia Prant regulator-boot-on; 440*f296bb50SCoia Prant regulator-min-microvolt = <1800000>; 441*f296bb50SCoia Prant regulator-max-microvolt = <1800000>; 442*f296bb50SCoia Prant 443*f296bb50SCoia Prant regulator-state-mem { 444*f296bb50SCoia Prant regulator-off-in-suspend; 445*f296bb50SCoia Prant }; 446*f296bb50SCoia Prant }; 447*f296bb50SCoia Prant 448*f296bb50SCoia Prant vdda0v9_image: LDO_REG1 { 449*f296bb50SCoia Prant regulator-name = "vdda0v9_image"; 450*f296bb50SCoia Prant regulator-min-microvolt = <900000>; 451*f296bb50SCoia Prant regulator-max-microvolt = <900000>; 452*f296bb50SCoia Prant 453*f296bb50SCoia Prant regulator-state-mem { 454*f296bb50SCoia Prant regulator-off-in-suspend; 455*f296bb50SCoia Prant }; 456*f296bb50SCoia Prant }; 457*f296bb50SCoia Prant 458*f296bb50SCoia Prant vdda_0v9: LDO_REG2 { 459*f296bb50SCoia Prant regulator-name = "vdda_0v9"; 460*f296bb50SCoia Prant regulator-always-on; 461*f296bb50SCoia Prant regulator-boot-on; 462*f296bb50SCoia Prant regulator-min-microvolt = <900000>; 463*f296bb50SCoia Prant regulator-max-microvolt = <900000>; 464*f296bb50SCoia Prant 465*f296bb50SCoia Prant regulator-state-mem { 466*f296bb50SCoia Prant regulator-off-in-suspend; 467*f296bb50SCoia Prant }; 468*f296bb50SCoia Prant }; 469*f296bb50SCoia Prant 470*f296bb50SCoia Prant vdda0v9_pmu: LDO_REG3 { 471*f296bb50SCoia Prant regulator-name = "vdda0v9_pmu"; 472*f296bb50SCoia Prant regulator-always-on; 473*f296bb50SCoia Prant regulator-boot-on; 474*f296bb50SCoia Prant regulator-min-microvolt = <900000>; 475*f296bb50SCoia Prant regulator-max-microvolt = <900000>; 476*f296bb50SCoia Prant 477*f296bb50SCoia Prant regulator-state-mem { 478*f296bb50SCoia Prant regulator-on-in-suspend; 479*f296bb50SCoia Prant }; 480*f296bb50SCoia Prant }; 481*f296bb50SCoia Prant 482*f296bb50SCoia Prant vccio_acodec: LDO_REG4 { 483*f296bb50SCoia Prant regulator-name = "vccio_acodec"; 484*f296bb50SCoia Prant regulator-always-on; 485*f296bb50SCoia Prant regulator-min-microvolt = <3300000>; 486*f296bb50SCoia Prant regulator-max-microvolt = <3300000>; 487*f296bb50SCoia Prant 488*f296bb50SCoia Prant regulator-state-mem { 489*f296bb50SCoia Prant regulator-off-in-suspend; 490*f296bb50SCoia Prant }; 491*f296bb50SCoia Prant }; 492*f296bb50SCoia Prant 493*f296bb50SCoia Prant vccio_sd: LDO_REG5 { 494*f296bb50SCoia Prant regulator-name = "vccio_sd"; 495*f296bb50SCoia Prant regulator-min-microvolt = <1800000>; 496*f296bb50SCoia Prant regulator-max-microvolt = <3300000>; 497*f296bb50SCoia Prant 498*f296bb50SCoia Prant regulator-state-mem { 499*f296bb50SCoia Prant regulator-off-in-suspend; 500*f296bb50SCoia Prant }; 501*f296bb50SCoia Prant }; 502*f296bb50SCoia Prant 503*f296bb50SCoia Prant vcc3v3_pmu: LDO_REG6 { 504*f296bb50SCoia Prant regulator-name = "vcc3v3_pmu"; 505*f296bb50SCoia Prant regulator-always-on; 506*f296bb50SCoia Prant regulator-boot-on; 507*f296bb50SCoia Prant regulator-min-microvolt = <3300000>; 508*f296bb50SCoia Prant regulator-max-microvolt = <3300000>; 509*f296bb50SCoia Prant 510*f296bb50SCoia Prant regulator-state-mem { 511*f296bb50SCoia Prant regulator-on-in-suspend; 512*f296bb50SCoia Prant }; 513*f296bb50SCoia Prant }; 514*f296bb50SCoia Prant 515*f296bb50SCoia Prant vcca_1v8: LDO_REG7 { 516*f296bb50SCoia Prant regulator-name = "vcca_1v8"; 517*f296bb50SCoia Prant regulator-always-on; 518*f296bb50SCoia Prant regulator-boot-on; 519*f296bb50SCoia Prant regulator-min-microvolt = <1800000>; 520*f296bb50SCoia Prant regulator-max-microvolt = <1800000>; 521*f296bb50SCoia Prant 522*f296bb50SCoia Prant regulator-state-mem { 523*f296bb50SCoia Prant regulator-off-in-suspend; 524*f296bb50SCoia Prant }; 525*f296bb50SCoia Prant }; 526*f296bb50SCoia Prant 527*f296bb50SCoia Prant vcca1v8_pmu: LDO_REG8 { 528*f296bb50SCoia Prant regulator-name = "vcca1v8_pmu"; 529*f296bb50SCoia Prant regulator-always-on; 530*f296bb50SCoia Prant regulator-boot-on; 531*f296bb50SCoia Prant regulator-min-microvolt = <1800000>; 532*f296bb50SCoia Prant regulator-max-microvolt = <1800000>; 533*f296bb50SCoia Prant 534*f296bb50SCoia Prant regulator-state-mem { 535*f296bb50SCoia Prant regulator-on-in-suspend; 536*f296bb50SCoia Prant }; 537*f296bb50SCoia Prant }; 538*f296bb50SCoia Prant 539*f296bb50SCoia Prant vcca1v8_image: LDO_REG9 { 540*f296bb50SCoia Prant regulator-name = "vcca1v8_image"; 541*f296bb50SCoia Prant regulator-min-microvolt = <1800000>; 542*f296bb50SCoia Prant regulator-max-microvolt = <1800000>; 543*f296bb50SCoia Prant 544*f296bb50SCoia Prant regulator-state-mem { 545*f296bb50SCoia Prant regulator-off-in-suspend; 546*f296bb50SCoia Prant }; 547*f296bb50SCoia Prant }; 548*f296bb50SCoia Prant 549*f296bb50SCoia Prant vcc_3v3: SWITCH_REG1 { 550*f296bb50SCoia Prant regulator-name = "vcc_3v3"; 551*f296bb50SCoia Prant regulator-always-on; 552*f296bb50SCoia Prant regulator-boot-on; 553*f296bb50SCoia Prant 554*f296bb50SCoia Prant regulator-state-mem { 555*f296bb50SCoia Prant regulator-off-in-suspend; 556*f296bb50SCoia Prant }; 557*f296bb50SCoia Prant }; 558*f296bb50SCoia Prant 559*f296bb50SCoia Prant vcc3v3_sd: SWITCH_REG2 { 560*f296bb50SCoia Prant regulator-name = "vcc3v3_sd"; 561*f296bb50SCoia Prant 562*f296bb50SCoia Prant regulator-state-mem { 563*f296bb50SCoia Prant regulator-off-in-suspend; 564*f296bb50SCoia Prant }; 565*f296bb50SCoia Prant }; 566*f296bb50SCoia Prant }; 567*f296bb50SCoia Prant 568*f296bb50SCoia Prant codec { 569*f296bb50SCoia Prant rockchip,mic-in-differential; 570*f296bb50SCoia Prant }; 571*f296bb50SCoia Prant }; 572*f296bb50SCoia Prant}; 573*f296bb50SCoia Prant 574*f296bb50SCoia Prant&i2c5 { 575*f296bb50SCoia Prant status = "okay"; 576*f296bb50SCoia Prant 577*f296bb50SCoia Prant rtc0: rtc@51 { 578*f296bb50SCoia Prant compatible = "nxp,pcf8563"; 579*f296bb50SCoia Prant reg = <0x51>; 580*f296bb50SCoia Prant #clock-cells = <0>; 581*f296bb50SCoia Prant }; 582*f296bb50SCoia Prant}; 583*f296bb50SCoia Prant 584*f296bb50SCoia Prant&i2s0_8ch { 585*f296bb50SCoia Prant status = "okay"; 586*f296bb50SCoia Prant}; 587*f296bb50SCoia Prant 588*f296bb50SCoia Prant&i2s1_8ch { 589*f296bb50SCoia Prant pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_lrcktx &i2s1m0_sdi0 &i2s1m0_sdo0>; 590*f296bb50SCoia Prant rockchip,trcm-sync-tx-only; 591*f296bb50SCoia Prant status = "okay"; 592*f296bb50SCoia Prant}; 593*f296bb50SCoia Prant 594*f296bb50SCoia Prant/* required rk3568-codec-digital for AP6356S Bluetooth Sound */ 595*f296bb50SCoia Prant&i2s3_2ch { 596*f296bb50SCoia Prant status = "disabled"; 597*f296bb50SCoia Prant}; 598*f296bb50SCoia Prant 599*f296bb50SCoia Prant&mdio0 { 600*f296bb50SCoia Prant rgmii_phy0: ethernet-phy@1 { 601*f296bb50SCoia Prant compatible = "ethernet-phy-ieee802.3-c22"; 602*f296bb50SCoia Prant reg = <1>; 603*f296bb50SCoia Prant reset-assert-us = <20000>; 604*f296bb50SCoia Prant reset-deassert-us = <100000>; 605*f296bb50SCoia Prant reset-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_LOW>; 606*f296bb50SCoia Prant 607*f296bb50SCoia Prant leds { 608*f296bb50SCoia Prant #address-cells = <1>; 609*f296bb50SCoia Prant #size-cells = <0>; 610*f296bb50SCoia Prant 611*f296bb50SCoia Prant led@1 { 612*f296bb50SCoia Prant reg = <1>; 613*f296bb50SCoia Prant color = <LED_COLOR_ID_GREEN>; 614*f296bb50SCoia Prant function = LED_FUNCTION_LAN; 615*f296bb50SCoia Prant default-state = "keep"; 616*f296bb50SCoia Prant }; 617*f296bb50SCoia Prant 618*f296bb50SCoia Prant led@2 { 619*f296bb50SCoia Prant reg = <2>; 620*f296bb50SCoia Prant color = <LED_COLOR_ID_AMBER>; 621*f296bb50SCoia Prant function = LED_FUNCTION_LAN; 622*f296bb50SCoia Prant default-state = "keep"; 623*f296bb50SCoia Prant }; 624*f296bb50SCoia Prant }; 625*f296bb50SCoia Prant }; 626*f296bb50SCoia Prant}; 627*f296bb50SCoia Prant 628*f296bb50SCoia Prant&mdio1 { 629*f296bb50SCoia Prant rgmii_phy1: ethernet-phy@1 { 630*f296bb50SCoia Prant compatible = "ethernet-phy-ieee802.3-c22"; 631*f296bb50SCoia Prant reg = <1>; 632*f296bb50SCoia Prant reset-assert-us = <20000>; 633*f296bb50SCoia Prant reset-deassert-us = <100000>; 634*f296bb50SCoia Prant reset-gpios = <&gpio2 RK_PD1 GPIO_ACTIVE_LOW>; 635*f296bb50SCoia Prant 636*f296bb50SCoia Prant leds { 637*f296bb50SCoia Prant #address-cells = <1>; 638*f296bb50SCoia Prant #size-cells = <0>; 639*f296bb50SCoia Prant 640*f296bb50SCoia Prant led@1 { 641*f296bb50SCoia Prant reg = <1>; 642*f296bb50SCoia Prant color = <LED_COLOR_ID_GREEN>; 643*f296bb50SCoia Prant function = LED_FUNCTION_LAN; 644*f296bb50SCoia Prant default-state = "keep"; 645*f296bb50SCoia Prant }; 646*f296bb50SCoia Prant 647*f296bb50SCoia Prant led@2 { 648*f296bb50SCoia Prant reg = <2>; 649*f296bb50SCoia Prant color = <LED_COLOR_ID_AMBER>; 650*f296bb50SCoia Prant function = LED_FUNCTION_LAN; 651*f296bb50SCoia Prant default-state = "keep"; 652*f296bb50SCoia Prant }; 653*f296bb50SCoia Prant }; 654*f296bb50SCoia Prant }; 655*f296bb50SCoia Prant}; 656*f296bb50SCoia Prant 657*f296bb50SCoia Prant&pcie30phy { 658*f296bb50SCoia Prant status = "okay"; 659*f296bb50SCoia Prant}; 660*f296bb50SCoia Prant 661*f296bb50SCoia Prant&pcie3x2 { 662*f296bb50SCoia Prant pinctrl-names = "default"; 663*f296bb50SCoia Prant pinctrl-0 = <&pcie_reset_pin>; 664*f296bb50SCoia Prant reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>; 665*f296bb50SCoia Prant vpcie3v3-supply = <&vcc3v3_pcie>; 666*f296bb50SCoia Prant status = "okay"; 667*f296bb50SCoia Prant}; 668*f296bb50SCoia Prant 669*f296bb50SCoia Prant&pdm { 670*f296bb50SCoia Prant status = "okay"; 671*f296bb50SCoia Prant}; 672*f296bb50SCoia Prant 673*f296bb50SCoia Prant&pinctrl { 674*f296bb50SCoia Prant bluetooth { 675*f296bb50SCoia Prant bt_reg_on_h: bt-reg-on-h { 676*f296bb50SCoia Prant rockchip,pins = <3 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 677*f296bb50SCoia Prant }; 678*f296bb50SCoia Prant 679*f296bb50SCoia Prant bt_wake_host_h: bt-wake-host-h { 680*f296bb50SCoia Prant rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_down>; 681*f296bb50SCoia Prant }; 682*f296bb50SCoia Prant 683*f296bb50SCoia Prant host_wake_bt_h: host-wake-bt-h { 684*f296bb50SCoia Prant rockchip,pins = <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 685*f296bb50SCoia Prant }; 686*f296bb50SCoia Prant }; 687*f296bb50SCoia Prant 688*f296bb50SCoia Prant leds { 689*f296bb50SCoia Prant led_work_en: led_work_en { 690*f296bb50SCoia Prant rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; 691*f296bb50SCoia Prant }; 692*f296bb50SCoia Prant }; 693*f296bb50SCoia Prant 694*f296bb50SCoia Prant pmic { 695*f296bb50SCoia Prant pmic_int: pmic_int { 696*f296bb50SCoia Prant rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 697*f296bb50SCoia Prant }; 698*f296bb50SCoia Prant }; 699*f296bb50SCoia Prant 700*f296bb50SCoia Prant pcie { 701*f296bb50SCoia Prant pcie_reset_pin: pcie-reset-pin { 702*f296bb50SCoia Prant rockchip,pins = <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; 703*f296bb50SCoia Prant }; 704*f296bb50SCoia Prant vcc3v3_pcie_en_pin: vcc3v3-pcie-en-pin { 705*f296bb50SCoia Prant rockchip,pins = <3 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>; 706*f296bb50SCoia Prant }; 707*f296bb50SCoia Prant }; 708*f296bb50SCoia Prant 709*f296bb50SCoia Prant sdio-pwrseq { 710*f296bb50SCoia Prant wifi_enable: wifi-enable { 711*f296bb50SCoia Prant rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; 712*f296bb50SCoia Prant }; 713*f296bb50SCoia Prant }; 714*f296bb50SCoia Prant 715*f296bb50SCoia Prant usb { 716*f296bb50SCoia Prant vcc5v0_usb_host_en: vcc5v0_usb_host_en { 717*f296bb50SCoia Prant rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 718*f296bb50SCoia Prant }; 719*f296bb50SCoia Prant vcc5v0_usb_otg_en: vcc5v0_usb_otg_en { 720*f296bb50SCoia Prant rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 721*f296bb50SCoia Prant }; 722*f296bb50SCoia Prant }; 723*f296bb50SCoia Prant 724*f296bb50SCoia Prant wifi-irq { 725*f296bb50SCoia Prant wifi_host_wake_irq: wifi-host-wake-irq { 726*f296bb50SCoia Prant rockchip,pins = <3 RK_PD4 RK_FUNC_GPIO &pcfg_pull_down>; 727*f296bb50SCoia Prant }; 728*f296bb50SCoia Prant }; 729*f296bb50SCoia Prant}; 730*f296bb50SCoia Prant 731*f296bb50SCoia Prant&pmu_io_domains { 732*f296bb50SCoia Prant pmuio1-supply = <&vcc3v3_pmu>; 733*f296bb50SCoia Prant pmuio2-supply = <&vcc3v3_pmu>; 734*f296bb50SCoia Prant vccio1-supply = <&vccio_acodec>; 735*f296bb50SCoia Prant vccio2-supply = <&vcc_1v8>; 736*f296bb50SCoia Prant vccio3-supply = <&vccio_sd>; 737*f296bb50SCoia Prant vccio4-supply = <&vcc_1v8>; 738*f296bb50SCoia Prant vccio5-supply = <&vcc_3v3>; 739*f296bb50SCoia Prant vccio6-supply = <&vcc_1v8>; 740*f296bb50SCoia Prant vccio7-supply = <&vcc_3v3>; 741*f296bb50SCoia Prant status = "okay"; 742*f296bb50SCoia Prant}; 743*f296bb50SCoia Prant 744*f296bb50SCoia Prant&pwm4 { 745*f296bb50SCoia Prant status = "okay"; 746*f296bb50SCoia Prant}; 747*f296bb50SCoia Prant 748*f296bb50SCoia Prant&pwm5 { 749*f296bb50SCoia Prant status = "okay"; 750*f296bb50SCoia Prant}; 751*f296bb50SCoia Prant 752*f296bb50SCoia Prant/* Required remotectl for IR receiver */ 753*f296bb50SCoia Prant&pwm7 { 754*f296bb50SCoia Prant status = "disabled"; 755*f296bb50SCoia Prant}; 756*f296bb50SCoia Prant 757*f296bb50SCoia Prant&saradc { 758*f296bb50SCoia Prant vref-supply = <&vcca_1v8>; 759*f296bb50SCoia Prant status = "okay"; 760*f296bb50SCoia Prant}; 761*f296bb50SCoia Prant 762*f296bb50SCoia Prant&sata2 { 763*f296bb50SCoia Prant status = "okay"; 764*f296bb50SCoia Prant}; 765*f296bb50SCoia Prant 766*f296bb50SCoia Prant/* used for eMMC */ 767*f296bb50SCoia Prant&sdhci { 768*f296bb50SCoia Prant bus-width = <8>; 769*f296bb50SCoia Prant max-frequency = <200000000>; 770*f296bb50SCoia Prant mmc-hs200-1_8v; 771*f296bb50SCoia Prant non-removable; 772*f296bb50SCoia Prant pinctrl-names = "default"; 773*f296bb50SCoia Prant pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>; 774*f296bb50SCoia Prant status = "okay"; 775*f296bb50SCoia Prant}; 776*f296bb50SCoia Prant 777*f296bb50SCoia Prant/* used for microSD (TF) Slot */ 778*f296bb50SCoia Prant&sdmmc0 { 779*f296bb50SCoia Prant bus-width = <4>; 780*f296bb50SCoia Prant cap-sd-highspeed; 781*f296bb50SCoia Prant cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; 782*f296bb50SCoia Prant disable-wp; 783*f296bb50SCoia Prant pinctrl-names = "default"; 784*f296bb50SCoia Prant pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; 785*f296bb50SCoia Prant sd-uhs-sdr104; 786*f296bb50SCoia Prant vmmc-supply = <&vcc3v3_sd>; 787*f296bb50SCoia Prant vqmmc-supply = <&vccio_sd>; 788*f296bb50SCoia Prant status = "okay"; 789*f296bb50SCoia Prant}; 790*f296bb50SCoia Prant 791*f296bb50SCoia Prant/* used for AP6356S WiFi */ 792*f296bb50SCoia Prant&sdmmc2 { 793*f296bb50SCoia Prant #address-cells = <1>; 794*f296bb50SCoia Prant #size-cells = <0>; 795*f296bb50SCoia Prant 796*f296bb50SCoia Prant bus-width = <4>; 797*f296bb50SCoia Prant cap-sd-highspeed; 798*f296bb50SCoia Prant cap-sdio-irq; 799*f296bb50SCoia Prant keep-power-in-suspend; 800*f296bb50SCoia Prant mmc-pwrseq = <&sdio_pwrseq>; 801*f296bb50SCoia Prant non-removable; 802*f296bb50SCoia Prant pinctrl-names = "default"; 803*f296bb50SCoia Prant pinctrl-0 = <&sdmmc2m0_bus4 &sdmmc2m0_cmd &sdmmc2m0_clk>; 804*f296bb50SCoia Prant sd-uhs-sdr104; 805*f296bb50SCoia Prant vmmc-supply = <&vcc3v3_sys>; 806*f296bb50SCoia Prant vqmmc-supply = <&vcc_1v8>; 807*f296bb50SCoia Prant status = "okay"; 808*f296bb50SCoia Prant 809*f296bb50SCoia Prant wifi@1 { 810*f296bb50SCoia Prant compatible = "brcm,bcm4356-fmac", "brcm,bcm4329-fmac"; 811*f296bb50SCoia Prant reg = <1>; 812*f296bb50SCoia Prant interrupt-parent = <&gpio3>; 813*f296bb50SCoia Prant interrupts = <RK_PD4 IRQ_TYPE_LEVEL_HIGH>; 814*f296bb50SCoia Prant interrupt-names = "host-wake"; 815*f296bb50SCoia Prant pinctrl-names = "default"; 816*f296bb50SCoia Prant pinctrl-0 = <&wifi_host_wake_irq>; 817*f296bb50SCoia Prant }; 818*f296bb50SCoia Prant}; 819*f296bb50SCoia Prant 820*f296bb50SCoia Prant&spdif { 821*f296bb50SCoia Prant status = "okay"; 822*f296bb50SCoia Prant}; 823*f296bb50SCoia Prant 824*f296bb50SCoia Prant&tsadc { 825*f296bb50SCoia Prant rockchip,hw-tshut-mode = <1>; 826*f296bb50SCoia Prant rockchip,hw-tshut-polarity = <0>; 827*f296bb50SCoia Prant status = "okay"; 828*f296bb50SCoia Prant}; 829*f296bb50SCoia Prant 830*f296bb50SCoia Prant/* used for Debug */ 831*f296bb50SCoia Prant&uart2 { 832*f296bb50SCoia Prant status = "okay"; 833*f296bb50SCoia Prant}; 834*f296bb50SCoia Prant 835*f296bb50SCoia Prant&uart3 { 836*f296bb50SCoia Prant pinctrl-0 = <&uart3m1_xfer>; 837*f296bb50SCoia Prant status = "okay"; 838*f296bb50SCoia Prant}; 839*f296bb50SCoia Prant 840*f296bb50SCoia Prant&uart4 { 841*f296bb50SCoia Prant pinctrl-0 = <&uart4m1_xfer>; 842*f296bb50SCoia Prant status = "okay"; 843*f296bb50SCoia Prant}; 844*f296bb50SCoia Prant 845*f296bb50SCoia Prant/* used for AP6356S Bluetooth */ 846*f296bb50SCoia Prant&uart8 { 847*f296bb50SCoia Prant dma-names = "tx", "rx"; 848*f296bb50SCoia Prant pinctrl-names = "default"; 849*f296bb50SCoia Prant pinctrl-0 = <&uart8m0_xfer &uart8m0_ctsn &uart8m0_rtsn>; 850*f296bb50SCoia Prant uart-has-rtscts; 851*f296bb50SCoia Prant status = "okay"; 852*f296bb50SCoia Prant 853*f296bb50SCoia Prant bluetooth { 854*f296bb50SCoia Prant compatible = "brcm,bcm4345c5"; 855*f296bb50SCoia Prant clocks = <&rk809 1>; 856*f296bb50SCoia Prant clock-names = "lpo"; 857*f296bb50SCoia Prant device-wakeup-gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_HIGH>; 858*f296bb50SCoia Prant host-wakeup-gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_HIGH>; 859*f296bb50SCoia Prant max-speed = <1500000>; 860*f296bb50SCoia Prant pinctrl-names = "default"; 861*f296bb50SCoia Prant pinctrl-0 = <&bt_reg_on_h &bt_wake_host_h &host_wake_bt_h>; 862*f296bb50SCoia Prant shutdown-gpios = <&gpio3 RK_PA0 GPIO_ACTIVE_HIGH>; 863*f296bb50SCoia Prant vddio-supply = <&vcc_1v8>; 864*f296bb50SCoia Prant }; 865*f296bb50SCoia Prant}; 866*f296bb50SCoia Prant 867*f296bb50SCoia Prant&uart9 { 868*f296bb50SCoia Prant pinctrl-0 = <&uart9m1_xfer>; 869*f296bb50SCoia Prant status = "okay"; 870*f296bb50SCoia Prant}; 871*f296bb50SCoia Prant 872*f296bb50SCoia Prant&usb_host0_ehci { 873*f296bb50SCoia Prant status = "okay"; 874*f296bb50SCoia Prant}; 875*f296bb50SCoia Prant 876*f296bb50SCoia Prant&usb_host0_ohci { 877*f296bb50SCoia Prant status = "okay"; 878*f296bb50SCoia Prant}; 879*f296bb50SCoia Prant 880*f296bb50SCoia Prant&usb_host0_xhci { 881*f296bb50SCoia Prant extcon = <&usb2phy0>; 882*f296bb50SCoia Prant status = "okay"; 883*f296bb50SCoia Prant}; 884*f296bb50SCoia Prant 885*f296bb50SCoia Prant&usb_host1_ehci { 886*f296bb50SCoia Prant status = "okay"; 887*f296bb50SCoia Prant}; 888*f296bb50SCoia Prant 889*f296bb50SCoia Prant&usb_host1_ohci { 890*f296bb50SCoia Prant status = "okay"; 891*f296bb50SCoia Prant}; 892*f296bb50SCoia Prant 893*f296bb50SCoia Prant&usb_host1_xhci { 894*f296bb50SCoia Prant status = "okay"; 895*f296bb50SCoia Prant}; 896*f296bb50SCoia Prant 897*f296bb50SCoia Prant&usb2phy0 { 898*f296bb50SCoia Prant status = "okay"; 899*f296bb50SCoia Prant}; 900*f296bb50SCoia Prant 901*f296bb50SCoia Prant&usb2phy0_host { 902*f296bb50SCoia Prant phy-supply = <&vcc5v0_usb_host>; 903*f296bb50SCoia Prant status = "okay"; 904*f296bb50SCoia Prant}; 905*f296bb50SCoia Prant 906*f296bb50SCoia Prant&usb2phy0_otg { 907*f296bb50SCoia Prant phy-supply = <&vcc5v0_usb_otg>; 908*f296bb50SCoia Prant status = "okay"; 909*f296bb50SCoia Prant}; 910*f296bb50SCoia Prant 911*f296bb50SCoia Prant&usb2phy1 { 912*f296bb50SCoia Prant status = "okay"; 913*f296bb50SCoia Prant}; 914*f296bb50SCoia Prant 915*f296bb50SCoia Prant&usb2phy1_host { 916*f296bb50SCoia Prant phy-supply = <&vcc5v0_usb_host>; 917*f296bb50SCoia Prant status = "okay"; 918*f296bb50SCoia Prant}; 919*f296bb50SCoia Prant 920*f296bb50SCoia Prant&usb2phy1_otg { 921*f296bb50SCoia Prant phy-supply = <&vcc5v0_usb_host>; 922*f296bb50SCoia Prant status = "okay"; 923*f296bb50SCoia Prant}; 924*f296bb50SCoia Prant 925*f296bb50SCoia Prant&vop { 926*f296bb50SCoia Prant assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; 927*f296bb50SCoia Prant assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; 928*f296bb50SCoia Prant status = "okay"; 929*f296bb50SCoia Prant}; 930*f296bb50SCoia Prant 931*f296bb50SCoia Prant&vop_mmu { 932*f296bb50SCoia Prant status = "okay"; 933*f296bb50SCoia Prant}; 934*f296bb50SCoia Prant 935*f296bb50SCoia Prant&vp0 { 936*f296bb50SCoia Prant vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 937*f296bb50SCoia Prant reg = <ROCKCHIP_VOP2_EP_HDMI0>; 938*f296bb50SCoia Prant remote-endpoint = <&hdmi_in_vp0>; 939*f296bb50SCoia Prant }; 940*f296bb50SCoia Prant}; 941