1*0e8011faSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*0e8011faSEmmanuel Vadot 3*0e8011faSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 4*0e8011faSEmmanuel Vadot#include <dt-bindings/leds/common.h> 5*0e8011faSEmmanuel Vadot#include <dt-bindings/pinctrl/rockchip.h> 6*0e8011faSEmmanuel Vadot#include <dt-bindings/soc/rockchip,vop2.h> 7*0e8011faSEmmanuel Vadot#include "rk3566.dtsi" 8*0e8011faSEmmanuel Vadot 9*0e8011faSEmmanuel Vadot/ { 10*0e8011faSEmmanuel Vadot model = "Xunlong Orange Pi 3B"; 11*0e8011faSEmmanuel Vadot compatible = "xunlong,orangepi-3b", "rockchip,rk3566"; 12*0e8011faSEmmanuel Vadot 13*0e8011faSEmmanuel Vadot aliases { 14*0e8011faSEmmanuel Vadot ethernet0 = &gmac1; 15*0e8011faSEmmanuel Vadot mmc0 = &sdhci; 16*0e8011faSEmmanuel Vadot mmc1 = &sdmmc0; 17*0e8011faSEmmanuel Vadot mmc2 = &sdmmc1; 18*0e8011faSEmmanuel Vadot }; 19*0e8011faSEmmanuel Vadot 20*0e8011faSEmmanuel Vadot chosen { 21*0e8011faSEmmanuel Vadot stdout-path = "serial2:1500000n8"; 22*0e8011faSEmmanuel Vadot }; 23*0e8011faSEmmanuel Vadot 24*0e8011faSEmmanuel Vadot hdmi-con { 25*0e8011faSEmmanuel Vadot compatible = "hdmi-connector"; 26*0e8011faSEmmanuel Vadot type = "a"; 27*0e8011faSEmmanuel Vadot 28*0e8011faSEmmanuel Vadot port { 29*0e8011faSEmmanuel Vadot hdmi_con_in: endpoint { 30*0e8011faSEmmanuel Vadot remote-endpoint = <&hdmi_out_con>; 31*0e8011faSEmmanuel Vadot }; 32*0e8011faSEmmanuel Vadot }; 33*0e8011faSEmmanuel Vadot }; 34*0e8011faSEmmanuel Vadot 35*0e8011faSEmmanuel Vadot leds { 36*0e8011faSEmmanuel Vadot compatible = "gpio-leds"; 37*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 38*0e8011faSEmmanuel Vadot pinctrl-0 = <&work_led>; 39*0e8011faSEmmanuel Vadot 40*0e8011faSEmmanuel Vadot led-0 { 41*0e8011faSEmmanuel Vadot color = <LED_COLOR_ID_GREEN>; 42*0e8011faSEmmanuel Vadot default-state = "on"; 43*0e8011faSEmmanuel Vadot function = LED_FUNCTION_HEARTBEAT; 44*0e8011faSEmmanuel Vadot gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>; 45*0e8011faSEmmanuel Vadot linux,default-trigger = "heartbeat"; 46*0e8011faSEmmanuel Vadot }; 47*0e8011faSEmmanuel Vadot }; 48*0e8011faSEmmanuel Vadot 49*0e8011faSEmmanuel Vadot vcc3v3_pcie30: regulator-3v3-vcc-pcie30 { 50*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 51*0e8011faSEmmanuel Vadot enable-active-high; 52*0e8011faSEmmanuel Vadot gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; 53*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 54*0e8011faSEmmanuel Vadot pinctrl-0 = <&pcie20_pwren>; 55*0e8011faSEmmanuel Vadot regulator-name = "vcc3v3_pcie30"; 56*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3300000>; 57*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 58*0e8011faSEmmanuel Vadot vin-supply = <&vcc3v3_sys>; 59*0e8011faSEmmanuel Vadot }; 60*0e8011faSEmmanuel Vadot 61*0e8011faSEmmanuel Vadot vcc3v3_sys: regulator-3v3-vcc-sys { 62*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 63*0e8011faSEmmanuel Vadot regulator-name = "vcc3v3_sys"; 64*0e8011faSEmmanuel Vadot regulator-always-on; 65*0e8011faSEmmanuel Vadot regulator-boot-on; 66*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3300000>; 67*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 68*0e8011faSEmmanuel Vadot vin-supply = <&vcc5v0_sys>; 69*0e8011faSEmmanuel Vadot }; 70*0e8011faSEmmanuel Vadot 71*0e8011faSEmmanuel Vadot vcc5v0_sys: regulator-5v0-vcc-sys { 72*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 73*0e8011faSEmmanuel Vadot regulator-name = "vcc5v0_sys"; 74*0e8011faSEmmanuel Vadot regulator-always-on; 75*0e8011faSEmmanuel Vadot regulator-boot-on; 76*0e8011faSEmmanuel Vadot regulator-min-microvolt = <5000000>; 77*0e8011faSEmmanuel Vadot regulator-max-microvolt = <5000000>; 78*0e8011faSEmmanuel Vadot }; 79*0e8011faSEmmanuel Vadot 80*0e8011faSEmmanuel Vadot vcc5v0_usb_host: regulator-5v0-vcc-usb-host { 81*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 82*0e8011faSEmmanuel Vadot enable-active-high; 83*0e8011faSEmmanuel Vadot gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; 84*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 85*0e8011faSEmmanuel Vadot pinctrl-0 = <&usb_host_pwren_h>; 86*0e8011faSEmmanuel Vadot regulator-name = "vcc5v0_usb_host"; 87*0e8011faSEmmanuel Vadot regulator-min-microvolt = <5000000>; 88*0e8011faSEmmanuel Vadot regulator-max-microvolt = <5000000>; 89*0e8011faSEmmanuel Vadot vin-supply = <&vcc5v0_sys>; 90*0e8011faSEmmanuel Vadot }; 91*0e8011faSEmmanuel Vadot 92*0e8011faSEmmanuel Vadot vcc5v0_usb_otg: regulator-5v0-vcc-usb-otg { 93*0e8011faSEmmanuel Vadot compatible = "regulator-fixed"; 94*0e8011faSEmmanuel Vadot enable-active-high; 95*0e8011faSEmmanuel Vadot gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; 96*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 97*0e8011faSEmmanuel Vadot pinctrl-0 = <&usb_otg_pwren_h>; 98*0e8011faSEmmanuel Vadot regulator-name = "vcc5v0_usb_otg"; 99*0e8011faSEmmanuel Vadot regulator-min-microvolt = <5000000>; 100*0e8011faSEmmanuel Vadot regulator-max-microvolt = <5000000>; 101*0e8011faSEmmanuel Vadot vin-supply = <&vcc5v0_sys>; 102*0e8011faSEmmanuel Vadot }; 103*0e8011faSEmmanuel Vadot 104*0e8011faSEmmanuel Vadot sdio_pwrseq: sdio-pwrseq { 105*0e8011faSEmmanuel Vadot compatible = "mmc-pwrseq-simple"; 106*0e8011faSEmmanuel Vadot clocks = <&rk809 1>; 107*0e8011faSEmmanuel Vadot clock-names = "ext_clock"; 108*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 109*0e8011faSEmmanuel Vadot pinctrl-0 = <&wifi_reg_on_h>; 110*0e8011faSEmmanuel Vadot post-power-on-delay-ms = <200>; 111*0e8011faSEmmanuel Vadot power-off-delay-us = <5000000>; 112*0e8011faSEmmanuel Vadot reset-gpios = <&gpio0 RK_PD3 GPIO_ACTIVE_LOW>; 113*0e8011faSEmmanuel Vadot }; 114*0e8011faSEmmanuel Vadot 115*0e8011faSEmmanuel Vadot sound { 116*0e8011faSEmmanuel Vadot compatible = "simple-audio-card"; 117*0e8011faSEmmanuel Vadot simple-audio-card,format = "i2s"; 118*0e8011faSEmmanuel Vadot simple-audio-card,name = "Analog RK809"; 119*0e8011faSEmmanuel Vadot simple-audio-card,mclk-fs = <256>; 120*0e8011faSEmmanuel Vadot 121*0e8011faSEmmanuel Vadot simple-audio-card,cpu { 122*0e8011faSEmmanuel Vadot sound-dai = <&i2s1_8ch>; 123*0e8011faSEmmanuel Vadot }; 124*0e8011faSEmmanuel Vadot 125*0e8011faSEmmanuel Vadot simple-audio-card,codec { 126*0e8011faSEmmanuel Vadot sound-dai = <&rk809>; 127*0e8011faSEmmanuel Vadot }; 128*0e8011faSEmmanuel Vadot }; 129*0e8011faSEmmanuel Vadot}; 130*0e8011faSEmmanuel Vadot 131*0e8011faSEmmanuel Vadot&combphy1 { 132*0e8011faSEmmanuel Vadot status = "okay"; 133*0e8011faSEmmanuel Vadot}; 134*0e8011faSEmmanuel Vadot 135*0e8011faSEmmanuel Vadot&combphy2 { 136*0e8011faSEmmanuel Vadot status = "okay"; 137*0e8011faSEmmanuel Vadot}; 138*0e8011faSEmmanuel Vadot 139*0e8011faSEmmanuel Vadot&cpu0 { 140*0e8011faSEmmanuel Vadot cpu-supply = <&vdd_cpu>; 141*0e8011faSEmmanuel Vadot}; 142*0e8011faSEmmanuel Vadot 143*0e8011faSEmmanuel Vadot&cpu1 { 144*0e8011faSEmmanuel Vadot cpu-supply = <&vdd_cpu>; 145*0e8011faSEmmanuel Vadot}; 146*0e8011faSEmmanuel Vadot 147*0e8011faSEmmanuel Vadot&cpu2 { 148*0e8011faSEmmanuel Vadot cpu-supply = <&vdd_cpu>; 149*0e8011faSEmmanuel Vadot}; 150*0e8011faSEmmanuel Vadot 151*0e8011faSEmmanuel Vadot&cpu3 { 152*0e8011faSEmmanuel Vadot cpu-supply = <&vdd_cpu>; 153*0e8011faSEmmanuel Vadot}; 154*0e8011faSEmmanuel Vadot 155*0e8011faSEmmanuel Vadot&gmac1 { 156*0e8011faSEmmanuel Vadot assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>; 157*0e8011faSEmmanuel Vadot assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru CLK_MAC1_2TOP>; 158*0e8011faSEmmanuel Vadot clock_in_out = "input"; 159*0e8011faSEmmanuel Vadot phy-mode = "rgmii-id"; 160*0e8011faSEmmanuel Vadot phy-supply = <&vcc_3v3>; 161*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 162*0e8011faSEmmanuel Vadot pinctrl-0 = <&gmac1m0_miim 163*0e8011faSEmmanuel Vadot &gmac1m0_tx_bus2 164*0e8011faSEmmanuel Vadot &gmac1m0_rx_bus2 165*0e8011faSEmmanuel Vadot &gmac1m0_rgmii_clk 166*0e8011faSEmmanuel Vadot &gmac1m0_rgmii_bus 167*0e8011faSEmmanuel Vadot &gmac1m0_clkinout>; 168*0e8011faSEmmanuel Vadot}; 169*0e8011faSEmmanuel Vadot 170*0e8011faSEmmanuel Vadot&gpu { 171*0e8011faSEmmanuel Vadot mali-supply = <&vdd_gpu>; 172*0e8011faSEmmanuel Vadot status = "okay"; 173*0e8011faSEmmanuel Vadot}; 174*0e8011faSEmmanuel Vadot 175*0e8011faSEmmanuel Vadot&hdmi { 176*0e8011faSEmmanuel Vadot avdd-0v9-supply = <&vdda0v9_image>; 177*0e8011faSEmmanuel Vadot avdd-1v8-supply = <&vcca1v8_image>; 178*0e8011faSEmmanuel Vadot status = "okay"; 179*0e8011faSEmmanuel Vadot}; 180*0e8011faSEmmanuel Vadot 181*0e8011faSEmmanuel Vadot&hdmi_in { 182*0e8011faSEmmanuel Vadot hdmi_in_vp0: endpoint { 183*0e8011faSEmmanuel Vadot remote-endpoint = <&vp0_out_hdmi>; 184*0e8011faSEmmanuel Vadot }; 185*0e8011faSEmmanuel Vadot}; 186*0e8011faSEmmanuel Vadot 187*0e8011faSEmmanuel Vadot&hdmi_out { 188*0e8011faSEmmanuel Vadot hdmi_out_con: endpoint { 189*0e8011faSEmmanuel Vadot remote-endpoint = <&hdmi_con_in>; 190*0e8011faSEmmanuel Vadot }; 191*0e8011faSEmmanuel Vadot}; 192*0e8011faSEmmanuel Vadot 193*0e8011faSEmmanuel Vadot&hdmi_sound { 194*0e8011faSEmmanuel Vadot status = "okay"; 195*0e8011faSEmmanuel Vadot}; 196*0e8011faSEmmanuel Vadot 197*0e8011faSEmmanuel Vadot&i2c0 { 198*0e8011faSEmmanuel Vadot status = "okay"; 199*0e8011faSEmmanuel Vadot 200*0e8011faSEmmanuel Vadot rk809: pmic@20 { 201*0e8011faSEmmanuel Vadot compatible = "rockchip,rk809"; 202*0e8011faSEmmanuel Vadot reg = <0x20>; 203*0e8011faSEmmanuel Vadot assigned-clocks = <&cru I2S1_MCLKOUT_TX>; 204*0e8011faSEmmanuel Vadot assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; 205*0e8011faSEmmanuel Vadot #clock-cells = <1>; 206*0e8011faSEmmanuel Vadot clocks = <&cru I2S1_MCLKOUT_TX>; 207*0e8011faSEmmanuel Vadot clock-names = "mclk"; 208*0e8011faSEmmanuel Vadot clock-output-names = "rk809-clkout1", "rk809-clkout2"; 209*0e8011faSEmmanuel Vadot interrupt-parent = <&gpio0>; 210*0e8011faSEmmanuel Vadot interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>; 211*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 212*0e8011faSEmmanuel Vadot pinctrl-0 = <&pmic_int_l>, <&i2s1m0_mclk>; 213*0e8011faSEmmanuel Vadot #sound-dai-cells = <0>; 214*0e8011faSEmmanuel Vadot system-power-controller; 215*0e8011faSEmmanuel Vadot wakeup-source; 216*0e8011faSEmmanuel Vadot 217*0e8011faSEmmanuel Vadot vcc1-supply = <&vcc3v3_sys>; 218*0e8011faSEmmanuel Vadot vcc2-supply = <&vcc3v3_sys>; 219*0e8011faSEmmanuel Vadot vcc3-supply = <&vcc3v3_sys>; 220*0e8011faSEmmanuel Vadot vcc4-supply = <&vcc3v3_sys>; 221*0e8011faSEmmanuel Vadot vcc5-supply = <&vcc3v3_sys>; 222*0e8011faSEmmanuel Vadot vcc6-supply = <&vcc3v3_sys>; 223*0e8011faSEmmanuel Vadot vcc7-supply = <&vcc3v3_sys>; 224*0e8011faSEmmanuel Vadot vcc8-supply = <&vcc3v3_sys>; 225*0e8011faSEmmanuel Vadot vcc9-supply = <&vcc3v3_sys>; 226*0e8011faSEmmanuel Vadot 227*0e8011faSEmmanuel Vadot regulators { 228*0e8011faSEmmanuel Vadot vdd_logic: DCDC_REG1 { 229*0e8011faSEmmanuel Vadot regulator-name = "vdd_logic"; 230*0e8011faSEmmanuel Vadot regulator-always-on; 231*0e8011faSEmmanuel Vadot regulator-boot-on; 232*0e8011faSEmmanuel Vadot regulator-initial-mode = <0x2>; 233*0e8011faSEmmanuel Vadot regulator-min-microvolt = <500000>; 234*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1350000>; 235*0e8011faSEmmanuel Vadot regulator-ramp-delay = <6001>; 236*0e8011faSEmmanuel Vadot 237*0e8011faSEmmanuel Vadot regulator-state-mem { 238*0e8011faSEmmanuel Vadot regulator-off-in-suspend; 239*0e8011faSEmmanuel Vadot }; 240*0e8011faSEmmanuel Vadot }; 241*0e8011faSEmmanuel Vadot 242*0e8011faSEmmanuel Vadot vdd_gpu: DCDC_REG2 { 243*0e8011faSEmmanuel Vadot regulator-name = "vdd_gpu"; 244*0e8011faSEmmanuel Vadot regulator-always-on; 245*0e8011faSEmmanuel Vadot regulator-boot-on; 246*0e8011faSEmmanuel Vadot regulator-initial-mode = <0x2>; 247*0e8011faSEmmanuel Vadot regulator-min-microvolt = <500000>; 248*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1350000>; 249*0e8011faSEmmanuel Vadot regulator-ramp-delay = <6001>; 250*0e8011faSEmmanuel Vadot 251*0e8011faSEmmanuel Vadot regulator-state-mem { 252*0e8011faSEmmanuel Vadot regulator-off-in-suspend; 253*0e8011faSEmmanuel Vadot }; 254*0e8011faSEmmanuel Vadot }; 255*0e8011faSEmmanuel Vadot 256*0e8011faSEmmanuel Vadot vcc_ddr: DCDC_REG3 { 257*0e8011faSEmmanuel Vadot regulator-name = "vcc_ddr"; 258*0e8011faSEmmanuel Vadot regulator-always-on; 259*0e8011faSEmmanuel Vadot regulator-boot-on; 260*0e8011faSEmmanuel Vadot regulator-initial-mode = <0x2>; 261*0e8011faSEmmanuel Vadot 262*0e8011faSEmmanuel Vadot regulator-state-mem { 263*0e8011faSEmmanuel Vadot regulator-on-in-suspend; 264*0e8011faSEmmanuel Vadot }; 265*0e8011faSEmmanuel Vadot }; 266*0e8011faSEmmanuel Vadot 267*0e8011faSEmmanuel Vadot vdd_npu: DCDC_REG4 { 268*0e8011faSEmmanuel Vadot regulator-name = "vdd_npu"; 269*0e8011faSEmmanuel Vadot regulator-initial-mode = <0x2>; 270*0e8011faSEmmanuel Vadot regulator-min-microvolt = <500000>; 271*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1350000>; 272*0e8011faSEmmanuel Vadot regulator-ramp-delay = <6001>; 273*0e8011faSEmmanuel Vadot 274*0e8011faSEmmanuel Vadot regulator-state-mem { 275*0e8011faSEmmanuel Vadot regulator-off-in-suspend; 276*0e8011faSEmmanuel Vadot }; 277*0e8011faSEmmanuel Vadot }; 278*0e8011faSEmmanuel Vadot 279*0e8011faSEmmanuel Vadot vcc_1v8: DCDC_REG5 { 280*0e8011faSEmmanuel Vadot regulator-name = "vcc_1v8"; 281*0e8011faSEmmanuel Vadot regulator-always-on; 282*0e8011faSEmmanuel Vadot regulator-boot-on; 283*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 284*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1800000>; 285*0e8011faSEmmanuel Vadot 286*0e8011faSEmmanuel Vadot regulator-state-mem { 287*0e8011faSEmmanuel Vadot regulator-off-in-suspend; 288*0e8011faSEmmanuel Vadot }; 289*0e8011faSEmmanuel Vadot }; 290*0e8011faSEmmanuel Vadot 291*0e8011faSEmmanuel Vadot vdda0v9_image: LDO_REG1 { 292*0e8011faSEmmanuel Vadot regulator-name = "vdda0v9_image"; 293*0e8011faSEmmanuel Vadot regulator-min-microvolt = <900000>; 294*0e8011faSEmmanuel Vadot regulator-max-microvolt = <900000>; 295*0e8011faSEmmanuel Vadot 296*0e8011faSEmmanuel Vadot regulator-state-mem { 297*0e8011faSEmmanuel Vadot regulator-off-in-suspend; 298*0e8011faSEmmanuel Vadot }; 299*0e8011faSEmmanuel Vadot }; 300*0e8011faSEmmanuel Vadot 301*0e8011faSEmmanuel Vadot vdda_0v9: LDO_REG2 { 302*0e8011faSEmmanuel Vadot regulator-name = "vdda_0v9"; 303*0e8011faSEmmanuel Vadot regulator-always-on; 304*0e8011faSEmmanuel Vadot regulator-boot-on; 305*0e8011faSEmmanuel Vadot regulator-min-microvolt = <900000>; 306*0e8011faSEmmanuel Vadot regulator-max-microvolt = <900000>; 307*0e8011faSEmmanuel Vadot 308*0e8011faSEmmanuel Vadot regulator-state-mem { 309*0e8011faSEmmanuel Vadot regulator-off-in-suspend; 310*0e8011faSEmmanuel Vadot }; 311*0e8011faSEmmanuel Vadot }; 312*0e8011faSEmmanuel Vadot 313*0e8011faSEmmanuel Vadot vdda0v9_pmu: LDO_REG3 { 314*0e8011faSEmmanuel Vadot regulator-name = "vdda0v9_pmu"; 315*0e8011faSEmmanuel Vadot regulator-always-on; 316*0e8011faSEmmanuel Vadot regulator-boot-on; 317*0e8011faSEmmanuel Vadot regulator-min-microvolt = <900000>; 318*0e8011faSEmmanuel Vadot regulator-max-microvolt = <900000>; 319*0e8011faSEmmanuel Vadot 320*0e8011faSEmmanuel Vadot regulator-state-mem { 321*0e8011faSEmmanuel Vadot regulator-on-in-suspend; 322*0e8011faSEmmanuel Vadot regulator-suspend-microvolt = <900000>; 323*0e8011faSEmmanuel Vadot }; 324*0e8011faSEmmanuel Vadot }; 325*0e8011faSEmmanuel Vadot 326*0e8011faSEmmanuel Vadot vccio_acodec: LDO_REG4 { 327*0e8011faSEmmanuel Vadot regulator-name = "vccio_acodec"; 328*0e8011faSEmmanuel Vadot regulator-always-on; 329*0e8011faSEmmanuel Vadot regulator-boot-on; 330*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3300000>; 331*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 332*0e8011faSEmmanuel Vadot 333*0e8011faSEmmanuel Vadot regulator-state-mem { 334*0e8011faSEmmanuel Vadot regulator-off-in-suspend; 335*0e8011faSEmmanuel Vadot }; 336*0e8011faSEmmanuel Vadot }; 337*0e8011faSEmmanuel Vadot 338*0e8011faSEmmanuel Vadot vccio_sd: LDO_REG5 { 339*0e8011faSEmmanuel Vadot regulator-name = "vccio_sd"; 340*0e8011faSEmmanuel Vadot regulator-always-on; 341*0e8011faSEmmanuel Vadot regulator-boot-on; 342*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 343*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 344*0e8011faSEmmanuel Vadot 345*0e8011faSEmmanuel Vadot regulator-state-mem { 346*0e8011faSEmmanuel Vadot regulator-off-in-suspend; 347*0e8011faSEmmanuel Vadot }; 348*0e8011faSEmmanuel Vadot }; 349*0e8011faSEmmanuel Vadot 350*0e8011faSEmmanuel Vadot vcc3v3_pmu: LDO_REG6 { 351*0e8011faSEmmanuel Vadot regulator-name = "vcc3v3_pmu"; 352*0e8011faSEmmanuel Vadot regulator-always-on; 353*0e8011faSEmmanuel Vadot regulator-boot-on; 354*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3300000>; 355*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 356*0e8011faSEmmanuel Vadot 357*0e8011faSEmmanuel Vadot regulator-state-mem { 358*0e8011faSEmmanuel Vadot regulator-on-in-suspend; 359*0e8011faSEmmanuel Vadot regulator-suspend-microvolt = <3300000>; 360*0e8011faSEmmanuel Vadot }; 361*0e8011faSEmmanuel Vadot }; 362*0e8011faSEmmanuel Vadot 363*0e8011faSEmmanuel Vadot vcca_1v8: LDO_REG7 { 364*0e8011faSEmmanuel Vadot regulator-name = "vcca_1v8"; 365*0e8011faSEmmanuel Vadot regulator-always-on; 366*0e8011faSEmmanuel Vadot regulator-boot-on; 367*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 368*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1800000>; 369*0e8011faSEmmanuel Vadot 370*0e8011faSEmmanuel Vadot regulator-state-mem { 371*0e8011faSEmmanuel Vadot regulator-off-in-suspend; 372*0e8011faSEmmanuel Vadot }; 373*0e8011faSEmmanuel Vadot }; 374*0e8011faSEmmanuel Vadot 375*0e8011faSEmmanuel Vadot vcca1v8_pmu: LDO_REG8 { 376*0e8011faSEmmanuel Vadot regulator-name = "vcca1v8_pmu"; 377*0e8011faSEmmanuel Vadot regulator-always-on; 378*0e8011faSEmmanuel Vadot regulator-boot-on; 379*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 380*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1800000>; 381*0e8011faSEmmanuel Vadot 382*0e8011faSEmmanuel Vadot regulator-state-mem { 383*0e8011faSEmmanuel Vadot regulator-on-in-suspend; 384*0e8011faSEmmanuel Vadot regulator-suspend-microvolt = <1800000>; 385*0e8011faSEmmanuel Vadot }; 386*0e8011faSEmmanuel Vadot }; 387*0e8011faSEmmanuel Vadot 388*0e8011faSEmmanuel Vadot vcca1v8_image: LDO_REG9 { 389*0e8011faSEmmanuel Vadot regulator-name = "vcca1v8_image"; 390*0e8011faSEmmanuel Vadot regulator-min-microvolt = <1800000>; 391*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1800000>; 392*0e8011faSEmmanuel Vadot 393*0e8011faSEmmanuel Vadot regulator-state-mem { 394*0e8011faSEmmanuel Vadot regulator-off-in-suspend; 395*0e8011faSEmmanuel Vadot }; 396*0e8011faSEmmanuel Vadot }; 397*0e8011faSEmmanuel Vadot 398*0e8011faSEmmanuel Vadot vcc_3v3: SWITCH_REG1 { 399*0e8011faSEmmanuel Vadot regulator-name = "vcc_3v3"; 400*0e8011faSEmmanuel Vadot regulator-always-on; 401*0e8011faSEmmanuel Vadot regulator-boot-on; 402*0e8011faSEmmanuel Vadot 403*0e8011faSEmmanuel Vadot regulator-state-mem { 404*0e8011faSEmmanuel Vadot regulator-off-in-suspend; 405*0e8011faSEmmanuel Vadot }; 406*0e8011faSEmmanuel Vadot }; 407*0e8011faSEmmanuel Vadot 408*0e8011faSEmmanuel Vadot vcc3v3_sd: SWITCH_REG2 { 409*0e8011faSEmmanuel Vadot regulator-name = "vcc3v3_sd"; 410*0e8011faSEmmanuel Vadot regulator-always-on; 411*0e8011faSEmmanuel Vadot regulator-boot-on; 412*0e8011faSEmmanuel Vadot 413*0e8011faSEmmanuel Vadot regulator-state-mem { 414*0e8011faSEmmanuel Vadot regulator-off-in-suspend; 415*0e8011faSEmmanuel Vadot }; 416*0e8011faSEmmanuel Vadot }; 417*0e8011faSEmmanuel Vadot }; 418*0e8011faSEmmanuel Vadot }; 419*0e8011faSEmmanuel Vadot 420*0e8011faSEmmanuel Vadot vdd_cpu: regulator@40 { 421*0e8011faSEmmanuel Vadot compatible = "silergy,syr827"; 422*0e8011faSEmmanuel Vadot reg = <0x40>; 423*0e8011faSEmmanuel Vadot fcs,suspend-voltage-selector = <1>; 424*0e8011faSEmmanuel Vadot regulator-name = "vdd_cpu"; 425*0e8011faSEmmanuel Vadot regulator-always-on; 426*0e8011faSEmmanuel Vadot regulator-boot-on; 427*0e8011faSEmmanuel Vadot regulator-min-microvolt = <830000>; 428*0e8011faSEmmanuel Vadot regulator-max-microvolt = <1200000>; 429*0e8011faSEmmanuel Vadot regulator-ramp-delay = <2300>; 430*0e8011faSEmmanuel Vadot vin-supply = <&vcc3v3_sys>; 431*0e8011faSEmmanuel Vadot 432*0e8011faSEmmanuel Vadot regulator-state-mem { 433*0e8011faSEmmanuel Vadot regulator-off-in-suspend; 434*0e8011faSEmmanuel Vadot }; 435*0e8011faSEmmanuel Vadot }; 436*0e8011faSEmmanuel Vadot}; 437*0e8011faSEmmanuel Vadot 438*0e8011faSEmmanuel Vadot&i2s0_8ch { 439*0e8011faSEmmanuel Vadot status = "okay"; 440*0e8011faSEmmanuel Vadot}; 441*0e8011faSEmmanuel Vadot 442*0e8011faSEmmanuel Vadot&i2s1_8ch { 443*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 444*0e8011faSEmmanuel Vadot pinctrl-0 = <&i2s1m0_sclktx 445*0e8011faSEmmanuel Vadot &i2s1m0_lrcktx 446*0e8011faSEmmanuel Vadot &i2s1m0_sdi0 447*0e8011faSEmmanuel Vadot &i2s1m0_sdo0>; 448*0e8011faSEmmanuel Vadot rockchip,trcm-sync-tx-only; 449*0e8011faSEmmanuel Vadot status = "okay"; 450*0e8011faSEmmanuel Vadot}; 451*0e8011faSEmmanuel Vadot 452*0e8011faSEmmanuel Vadot&pcie2x1 { 453*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 454*0e8011faSEmmanuel Vadot pinctrl-0 = <&pcie20_pins>; 455*0e8011faSEmmanuel Vadot reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>; 456*0e8011faSEmmanuel Vadot vpcie3v3-supply = <&vcc3v3_pcie30>; 457*0e8011faSEmmanuel Vadot status = "okay"; 458*0e8011faSEmmanuel Vadot}; 459*0e8011faSEmmanuel Vadot 460*0e8011faSEmmanuel Vadot&pinctrl { 461*0e8011faSEmmanuel Vadot bluetooth { 462*0e8011faSEmmanuel Vadot bt_reg_on_h: bt-reg-on-h { 463*0e8011faSEmmanuel Vadot rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; 464*0e8011faSEmmanuel Vadot }; 465*0e8011faSEmmanuel Vadot 466*0e8011faSEmmanuel Vadot bt_wake_host_h: bt-wake-host-h { 467*0e8011faSEmmanuel Vadot rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_down>; 468*0e8011faSEmmanuel Vadot }; 469*0e8011faSEmmanuel Vadot 470*0e8011faSEmmanuel Vadot host_wake_bt_h: host-wake-bt-h { 471*0e8011faSEmmanuel Vadot rockchip,pins = <2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; 472*0e8011faSEmmanuel Vadot }; 473*0e8011faSEmmanuel Vadot }; 474*0e8011faSEmmanuel Vadot 475*0e8011faSEmmanuel Vadot leds { 476*0e8011faSEmmanuel Vadot work_led: work-led { 477*0e8011faSEmmanuel Vadot rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; 478*0e8011faSEmmanuel Vadot }; 479*0e8011faSEmmanuel Vadot }; 480*0e8011faSEmmanuel Vadot 481*0e8011faSEmmanuel Vadot pcie { 482*0e8011faSEmmanuel Vadot pcie20_pins: pcie20-pins { 483*0e8011faSEmmanuel Vadot rockchip,pins = 484*0e8011faSEmmanuel Vadot <1 RK_PB0 4 &pcfg_pull_none>, 485*0e8011faSEmmanuel Vadot <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>, 486*0e8011faSEmmanuel Vadot <1 RK_PB1 4 &pcfg_pull_none>; 487*0e8011faSEmmanuel Vadot }; 488*0e8011faSEmmanuel Vadot 489*0e8011faSEmmanuel Vadot pcie20_pwren: pcie20-pwren { 490*0e8011faSEmmanuel Vadot rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; 491*0e8011faSEmmanuel Vadot }; 492*0e8011faSEmmanuel Vadot }; 493*0e8011faSEmmanuel Vadot 494*0e8011faSEmmanuel Vadot pmic { 495*0e8011faSEmmanuel Vadot pmic_int_l: pmic-int-l { 496*0e8011faSEmmanuel Vadot rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 497*0e8011faSEmmanuel Vadot }; 498*0e8011faSEmmanuel Vadot }; 499*0e8011faSEmmanuel Vadot 500*0e8011faSEmmanuel Vadot usb { 501*0e8011faSEmmanuel Vadot usb_host_pwren_h: usb-host-pwren-h { 502*0e8011faSEmmanuel Vadot rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 503*0e8011faSEmmanuel Vadot }; 504*0e8011faSEmmanuel Vadot 505*0e8011faSEmmanuel Vadot usb_otg_pwren_h: usb-otg-pwren-h { 506*0e8011faSEmmanuel Vadot rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 507*0e8011faSEmmanuel Vadot }; 508*0e8011faSEmmanuel Vadot }; 509*0e8011faSEmmanuel Vadot 510*0e8011faSEmmanuel Vadot wifi { 511*0e8011faSEmmanuel Vadot wifi_reg_on_h: wifi-reg-on-h { 512*0e8011faSEmmanuel Vadot rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 513*0e8011faSEmmanuel Vadot }; 514*0e8011faSEmmanuel Vadot 515*0e8011faSEmmanuel Vadot wifi_wake_host_h: wifi-wake-host-h { 516*0e8011faSEmmanuel Vadot rockchip,pins = <0 RK_PD6 RK_FUNC_GPIO &pcfg_pull_down>; 517*0e8011faSEmmanuel Vadot }; 518*0e8011faSEmmanuel Vadot }; 519*0e8011faSEmmanuel Vadot}; 520*0e8011faSEmmanuel Vadot 521*0e8011faSEmmanuel Vadot&pmu_io_domains { 522*0e8011faSEmmanuel Vadot pmuio1-supply = <&vcc3v3_pmu>; 523*0e8011faSEmmanuel Vadot pmuio2-supply = <&vcc3v3_pmu>; 524*0e8011faSEmmanuel Vadot vccio1-supply = <&vccio_acodec>; 525*0e8011faSEmmanuel Vadot vccio2-supply = <&vcc_1v8>; 526*0e8011faSEmmanuel Vadot vccio3-supply = <&vccio_sd>; 527*0e8011faSEmmanuel Vadot vccio4-supply = <&vcc_1v8>; 528*0e8011faSEmmanuel Vadot vccio6-supply = <&vcc_3v3>; 529*0e8011faSEmmanuel Vadot vccio7-supply = <&vcc_3v3>; 530*0e8011faSEmmanuel Vadot status = "okay"; 531*0e8011faSEmmanuel Vadot}; 532*0e8011faSEmmanuel Vadot 533*0e8011faSEmmanuel Vadot&saradc { 534*0e8011faSEmmanuel Vadot vref-supply = <&vcca_1v8>; 535*0e8011faSEmmanuel Vadot status = "okay"; 536*0e8011faSEmmanuel Vadot}; 537*0e8011faSEmmanuel Vadot 538*0e8011faSEmmanuel Vadot&sdhci { 539*0e8011faSEmmanuel Vadot bus-width = <8>; 540*0e8011faSEmmanuel Vadot cap-mmc-highspeed; 541*0e8011faSEmmanuel Vadot max-frequency = <200000000>; 542*0e8011faSEmmanuel Vadot mmc-hs200-1_8v; 543*0e8011faSEmmanuel Vadot non-removable; 544*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 545*0e8011faSEmmanuel Vadot pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>; 546*0e8011faSEmmanuel Vadot vmmc-supply = <&vcc_3v3>; 547*0e8011faSEmmanuel Vadot vqmmc-supply = <&vcc_1v8>; 548*0e8011faSEmmanuel Vadot status = "okay"; 549*0e8011faSEmmanuel Vadot}; 550*0e8011faSEmmanuel Vadot 551*0e8011faSEmmanuel Vadot&sdmmc0 { 552*0e8011faSEmmanuel Vadot bus-width = <4>; 553*0e8011faSEmmanuel Vadot cap-sd-highspeed; 554*0e8011faSEmmanuel Vadot disable-wp; 555*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 556*0e8011faSEmmanuel Vadot pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; 557*0e8011faSEmmanuel Vadot vmmc-supply = <&vcc3v3_sd>; 558*0e8011faSEmmanuel Vadot vqmmc-supply = <&vccio_sd>; 559*0e8011faSEmmanuel Vadot status = "okay"; 560*0e8011faSEmmanuel Vadot}; 561*0e8011faSEmmanuel Vadot 562*0e8011faSEmmanuel Vadot&sdmmc1 { 563*0e8011faSEmmanuel Vadot bus-width = <4>; 564*0e8011faSEmmanuel Vadot cap-sd-highspeed; 565*0e8011faSEmmanuel Vadot cap-sdio-irq; 566*0e8011faSEmmanuel Vadot keep-power-in-suspend; 567*0e8011faSEmmanuel Vadot mmc-pwrseq = <&sdio_pwrseq>; 568*0e8011faSEmmanuel Vadot no-mmc; 569*0e8011faSEmmanuel Vadot no-sd; 570*0e8011faSEmmanuel Vadot non-removable; 571*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 572*0e8011faSEmmanuel Vadot pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_clk &sdmmc1_cmd>; 573*0e8011faSEmmanuel Vadot sd-uhs-sdr104; 574*0e8011faSEmmanuel Vadot vmmc-supply = <&vcc_3v3>; 575*0e8011faSEmmanuel Vadot vqmmc-supply = <&vcc_1v8>; 576*0e8011faSEmmanuel Vadot status = "okay"; 577*0e8011faSEmmanuel Vadot}; 578*0e8011faSEmmanuel Vadot 579*0e8011faSEmmanuel Vadot&sfc { 580*0e8011faSEmmanuel Vadot #address-cells = <1>; 581*0e8011faSEmmanuel Vadot #size-cells = <0>; 582*0e8011faSEmmanuel Vadot status = "okay"; 583*0e8011faSEmmanuel Vadot 584*0e8011faSEmmanuel Vadot flash@0 { 585*0e8011faSEmmanuel Vadot compatible = "jedec,spi-nor"; 586*0e8011faSEmmanuel Vadot reg = <0>; 587*0e8011faSEmmanuel Vadot spi-max-frequency = <104000000>; 588*0e8011faSEmmanuel Vadot spi-rx-bus-width = <4>; 589*0e8011faSEmmanuel Vadot spi-tx-bus-width = <1>; 590*0e8011faSEmmanuel Vadot }; 591*0e8011faSEmmanuel Vadot}; 592*0e8011faSEmmanuel Vadot 593*0e8011faSEmmanuel Vadot&tsadc { 594*0e8011faSEmmanuel Vadot rockchip,hw-tshut-mode = <1>; 595*0e8011faSEmmanuel Vadot rockchip,hw-tshut-polarity = <0>; 596*0e8011faSEmmanuel Vadot status = "okay"; 597*0e8011faSEmmanuel Vadot}; 598*0e8011faSEmmanuel Vadot 599*0e8011faSEmmanuel Vadot&uart1 { 600*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 601*0e8011faSEmmanuel Vadot pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>; 602*0e8011faSEmmanuel Vadot uart-has-rtscts; 603*0e8011faSEmmanuel Vadot status = "okay"; 604*0e8011faSEmmanuel Vadot}; 605*0e8011faSEmmanuel Vadot 606*0e8011faSEmmanuel Vadot&uart2 { 607*0e8011faSEmmanuel Vadot status = "okay"; 608*0e8011faSEmmanuel Vadot}; 609*0e8011faSEmmanuel Vadot 610*0e8011faSEmmanuel Vadot&usb_host0_ehci { 611*0e8011faSEmmanuel Vadot status = "okay"; 612*0e8011faSEmmanuel Vadot}; 613*0e8011faSEmmanuel Vadot 614*0e8011faSEmmanuel Vadot&usb_host0_ohci { 615*0e8011faSEmmanuel Vadot status = "okay"; 616*0e8011faSEmmanuel Vadot}; 617*0e8011faSEmmanuel Vadot 618*0e8011faSEmmanuel Vadot&usb_host0_xhci { 619*0e8011faSEmmanuel Vadot dr_mode = "host"; 620*0e8011faSEmmanuel Vadot status = "okay"; 621*0e8011faSEmmanuel Vadot}; 622*0e8011faSEmmanuel Vadot 623*0e8011faSEmmanuel Vadot&usb_host1_ehci { 624*0e8011faSEmmanuel Vadot status = "okay"; 625*0e8011faSEmmanuel Vadot}; 626*0e8011faSEmmanuel Vadot 627*0e8011faSEmmanuel Vadot&usb_host1_ohci { 628*0e8011faSEmmanuel Vadot status = "okay"; 629*0e8011faSEmmanuel Vadot}; 630*0e8011faSEmmanuel Vadot 631*0e8011faSEmmanuel Vadot&usb_host1_xhci { 632*0e8011faSEmmanuel Vadot status = "okay"; 633*0e8011faSEmmanuel Vadot}; 634*0e8011faSEmmanuel Vadot 635*0e8011faSEmmanuel Vadot&usb2phy0 { 636*0e8011faSEmmanuel Vadot status = "okay"; 637*0e8011faSEmmanuel Vadot}; 638*0e8011faSEmmanuel Vadot 639*0e8011faSEmmanuel Vadot&usb2phy0_host { 640*0e8011faSEmmanuel Vadot phy-supply = <&vcc5v0_usb_host>; 641*0e8011faSEmmanuel Vadot status = "okay"; 642*0e8011faSEmmanuel Vadot}; 643*0e8011faSEmmanuel Vadot 644*0e8011faSEmmanuel Vadot&usb2phy0_otg { 645*0e8011faSEmmanuel Vadot phy-supply = <&vcc5v0_usb_otg>; 646*0e8011faSEmmanuel Vadot status = "okay"; 647*0e8011faSEmmanuel Vadot}; 648*0e8011faSEmmanuel Vadot 649*0e8011faSEmmanuel Vadot&usb2phy1 { 650*0e8011faSEmmanuel Vadot status = "okay"; 651*0e8011faSEmmanuel Vadot}; 652*0e8011faSEmmanuel Vadot 653*0e8011faSEmmanuel Vadot&usb2phy1_host { 654*0e8011faSEmmanuel Vadot phy-supply = <&vcc5v0_usb_host>; 655*0e8011faSEmmanuel Vadot status = "okay"; 656*0e8011faSEmmanuel Vadot}; 657*0e8011faSEmmanuel Vadot 658*0e8011faSEmmanuel Vadot&usb2phy1_otg { 659*0e8011faSEmmanuel Vadot phy-supply = <&vcc5v0_usb_host>; 660*0e8011faSEmmanuel Vadot status = "okay"; 661*0e8011faSEmmanuel Vadot}; 662*0e8011faSEmmanuel Vadot 663*0e8011faSEmmanuel Vadot&vop { 664*0e8011faSEmmanuel Vadot assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; 665*0e8011faSEmmanuel Vadot assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; 666*0e8011faSEmmanuel Vadot status = "okay"; 667*0e8011faSEmmanuel Vadot}; 668*0e8011faSEmmanuel Vadot 669*0e8011faSEmmanuel Vadot&vop_mmu { 670*0e8011faSEmmanuel Vadot status = "okay"; 671*0e8011faSEmmanuel Vadot}; 672*0e8011faSEmmanuel Vadot 673*0e8011faSEmmanuel Vadot&vp0 { 674*0e8011faSEmmanuel Vadot vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 675*0e8011faSEmmanuel Vadot reg = <ROCKCHIP_VOP2_EP_HDMI0>; 676*0e8011faSEmmanuel Vadot remote-endpoint = <&hdmi_in_vp0>; 677*0e8011faSEmmanuel Vadot }; 678*0e8011faSEmmanuel Vadot}; 679