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