101610a24SLiang Chen// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 201610a24SLiang Chen/* 301610a24SLiang Chen * Copyright (c) 2021 Rockchip Electronics Co., Ltd. 401610a24SLiang Chen * 501610a24SLiang Chen */ 601610a24SLiang Chen 701610a24SLiang Chen/dts-v1/; 801610a24SLiang Chen#include <dt-bindings/gpio/gpio.h> 9406c607eSMichael Riesch#include <dt-bindings/leds/common.h> 1001610a24SLiang Chen#include <dt-bindings/pinctrl/rockchip.h> 11991b3d12SSascha Hauer#include <dt-bindings/soc/rockchip,vop2.h> 1201610a24SLiang Chen#include "rk3568.dtsi" 1301610a24SLiang Chen 1401610a24SLiang Chen/ { 1501610a24SLiang Chen model = "Rockchip RK3568 EVB1 DDR4 V10 Board"; 1601610a24SLiang Chen compatible = "rockchip,rk3568-evb1-v10", "rockchip,rk3568"; 1701610a24SLiang Chen 18fc57d783SMichael Riesch aliases { 19fc57d783SMichael Riesch ethernet0 = &gmac0; 20fc57d783SMichael Riesch ethernet1 = &gmac1; 212a068e19SMichael Riesch mmc0 = &sdmmc0; 228a599b56SMichael Riesch mmc1 = &sdhci; 23fc57d783SMichael Riesch }; 24fc57d783SMichael Riesch 25*06b29cb8SAndy Yan backlight: backlight { 26*06b29cb8SAndy Yan compatible = "pwm-backlight"; 27*06b29cb8SAndy Yan brightness-levels = <20 220>; 28*06b29cb8SAndy Yan default-brightness-level = <100>; 29*06b29cb8SAndy Yan num-interpolated-steps = <200>; 30*06b29cb8SAndy Yan power-supply = <&vcc3v3_sys>; 31*06b29cb8SAndy Yan pwms = <&pwm4 0 25000 0>; 32*06b29cb8SAndy Yan }; 33*06b29cb8SAndy Yan 3401610a24SLiang Chen chosen: chosen { 3501610a24SLiang Chen stdout-path = "serial2:1500000n8"; 3601610a24SLiang Chen }; 3701610a24SLiang Chen 385c96e633SJohan Jonker dc_12v: regulator-dc-12v { 3901610a24SLiang Chen compatible = "regulator-fixed"; 4001610a24SLiang Chen regulator-name = "dc_12v"; 4101610a24SLiang Chen regulator-always-on; 4201610a24SLiang Chen regulator-boot-on; 4301610a24SLiang Chen regulator-min-microvolt = <12000000>; 4401610a24SLiang Chen regulator-max-microvolt = <12000000>; 4501610a24SLiang Chen }; 4601610a24SLiang Chen 47991b3d12SSascha Hauer hdmi-con { 48991b3d12SSascha Hauer compatible = "hdmi-connector"; 49991b3d12SSascha Hauer type = "a"; 50991b3d12SSascha Hauer 51991b3d12SSascha Hauer port { 52991b3d12SSascha Hauer hdmi_con_in: endpoint { 53991b3d12SSascha Hauer remote-endpoint = <&hdmi_out_con>; 54991b3d12SSascha Hauer }; 55991b3d12SSascha Hauer }; 56991b3d12SSascha Hauer }; 57991b3d12SSascha Hauer 58406c607eSMichael Riesch leds { 59406c607eSMichael Riesch compatible = "gpio-leds"; 60406c607eSMichael Riesch 61406c607eSMichael Riesch led_work: led-0 { 62406c607eSMichael Riesch gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>; 63406c607eSMichael Riesch function = LED_FUNCTION_HEARTBEAT; 64406c607eSMichael Riesch color = <LED_COLOR_ID_BLUE>; 65406c607eSMichael Riesch linux,default-trigger = "heartbeat"; 66406c607eSMichael Riesch pinctrl-names = "default"; 67406c607eSMichael Riesch pinctrl-0 = <&led_work_en>; 68406c607eSMichael Riesch }; 69406c607eSMichael Riesch }; 70406c607eSMichael Riesch 713e4c629cSMichael Riesch rk809-sound { 723e4c629cSMichael Riesch compatible = "simple-audio-card"; 733e4c629cSMichael Riesch simple-audio-card,format = "i2s"; 743e4c629cSMichael Riesch simple-audio-card,name = "Analog RK809"; 753e4c629cSMichael Riesch simple-audio-card,mclk-fs = <256>; 763e4c629cSMichael Riesch 773e4c629cSMichael Riesch simple-audio-card,cpu { 783e4c629cSMichael Riesch sound-dai = <&i2s1_8ch>; 793e4c629cSMichael Riesch }; 803e4c629cSMichael Riesch simple-audio-card,codec { 813e4c629cSMichael Riesch sound-dai = <&rk809>; 823e4c629cSMichael Riesch }; 833e4c629cSMichael Riesch }; 843e4c629cSMichael Riesch 855c96e633SJohan Jonker vcc3v3_sys: regulator-vcc3v3-sys { 8601610a24SLiang Chen compatible = "regulator-fixed"; 8701610a24SLiang Chen regulator-name = "vcc3v3_sys"; 8801610a24SLiang Chen regulator-always-on; 8901610a24SLiang Chen regulator-boot-on; 9001610a24SLiang Chen regulator-min-microvolt = <3300000>; 9101610a24SLiang Chen regulator-max-microvolt = <3300000>; 9201610a24SLiang Chen vin-supply = <&dc_12v>; 9301610a24SLiang Chen }; 9401610a24SLiang Chen 955c96e633SJohan Jonker vcc5v0_sys: regulator-vcc5v0-sys { 9601610a24SLiang Chen compatible = "regulator-fixed"; 9701610a24SLiang Chen regulator-name = "vcc5v0_sys"; 9801610a24SLiang Chen regulator-always-on; 9901610a24SLiang Chen regulator-boot-on; 10001610a24SLiang Chen regulator-min-microvolt = <5000000>; 10101610a24SLiang Chen regulator-max-microvolt = <5000000>; 10201610a24SLiang Chen vin-supply = <&dc_12v>; 10301610a24SLiang Chen }; 10401610a24SLiang Chen 1055c96e633SJohan Jonker vcc5v0_usb: regulator-vcc5v0-usb { 106e49e24d7SMichael Riesch compatible = "regulator-fixed"; 107e49e24d7SMichael Riesch regulator-name = "vcc5v0_usb"; 108e49e24d7SMichael Riesch regulator-always-on; 109e49e24d7SMichael Riesch regulator-boot-on; 110e49e24d7SMichael Riesch regulator-min-microvolt = <5000000>; 111e49e24d7SMichael Riesch regulator-max-microvolt = <5000000>; 112e49e24d7SMichael Riesch vin-supply = <&dc_12v>; 113e49e24d7SMichael Riesch }; 114e49e24d7SMichael Riesch 1155c96e633SJohan Jonker vcc5v0_usb_host: regulator-vcc5v0-usb-host { 116e49e24d7SMichael Riesch compatible = "regulator-fixed"; 117e49e24d7SMichael Riesch enable-active-high; 118e49e24d7SMichael Riesch gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; 119e49e24d7SMichael Riesch pinctrl-names = "default"; 120e49e24d7SMichael Riesch pinctrl-0 = <&vcc5v0_usb_host_en>; 121e49e24d7SMichael Riesch regulator-name = "vcc5v0_usb_host"; 122e49e24d7SMichael Riesch regulator-min-microvolt = <5000000>; 123e49e24d7SMichael Riesch regulator-max-microvolt = <5000000>; 124e49e24d7SMichael Riesch vin-supply = <&vcc5v0_usb>; 125e49e24d7SMichael Riesch }; 126e49e24d7SMichael Riesch 1275c96e633SJohan Jonker vcc5v0_usb_otg: regulator-vcc5v0-usb-otg { 128d6cfb110SMichael Riesch compatible = "regulator-fixed"; 129d6cfb110SMichael Riesch enable-active-high; 130d6cfb110SMichael Riesch gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; 131d6cfb110SMichael Riesch pinctrl-names = "default"; 132d6cfb110SMichael Riesch pinctrl-0 = <&vcc5v0_usb_otg_en>; 133d6cfb110SMichael Riesch regulator-name = "vcc5v0_usb_otg"; 134d6cfb110SMichael Riesch regulator-min-microvolt = <5000000>; 135d6cfb110SMichael Riesch regulator-max-microvolt = <5000000>; 136d6cfb110SMichael Riesch vin-supply = <&vcc5v0_usb>; 137d6cfb110SMichael Riesch }; 138d6cfb110SMichael Riesch 1395c96e633SJohan Jonker vcc3v3_lcd0_n: regulator-vcc3v3-lcd0-n { 14001610a24SLiang Chen compatible = "regulator-fixed"; 14101610a24SLiang Chen regulator-name = "vcc3v3_lcd0_n"; 1429ade1ab4SMichael Riesch regulator-min-microvolt = <3300000>; 1439ade1ab4SMichael Riesch regulator-max-microvolt = <3300000>; 1449ade1ab4SMichael Riesch enable-active-high; 1459ade1ab4SMichael Riesch gpio = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>; 1469ade1ab4SMichael Riesch vin-supply = <&vcc3v3_sys>; 1479ade1ab4SMichael Riesch pinctrl-names = "default"; 1489ade1ab4SMichael Riesch pinctrl-0 = <&vcc3v3_lcd0_n_en>; 14901610a24SLiang Chen 15001610a24SLiang Chen regulator-state-mem { 15101610a24SLiang Chen regulator-off-in-suspend; 15201610a24SLiang Chen }; 15301610a24SLiang Chen }; 15401610a24SLiang Chen 1555c96e633SJohan Jonker vcc3v3_lcd1_n: regulator-vcc3v3-lcd1-n { 15601610a24SLiang Chen compatible = "regulator-fixed"; 15701610a24SLiang Chen regulator-name = "vcc3v3_lcd1_n"; 1589ade1ab4SMichael Riesch regulator-min-microvolt = <3300000>; 1599ade1ab4SMichael Riesch regulator-max-microvolt = <3300000>; 1609ade1ab4SMichael Riesch enable-active-high; 1619ade1ab4SMichael Riesch gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>; 1629ade1ab4SMichael Riesch vin-supply = <&vcc3v3_sys>; 1639ade1ab4SMichael Riesch pinctrl-names = "default"; 1649ade1ab4SMichael Riesch pinctrl-0 = <&vcc3v3_lcd1_n_en>; 16501610a24SLiang Chen 16601610a24SLiang Chen regulator-state-mem { 16701610a24SLiang Chen regulator-off-in-suspend; 16801610a24SLiang Chen }; 16901610a24SLiang Chen }; 17001610a24SLiang Chen}; 17101610a24SLiang Chen 172d6cfb110SMichael Riesch&combphy0 { 173d6cfb110SMichael Riesch status = "okay"; 174d6cfb110SMichael Riesch}; 175d6cfb110SMichael Riesch 176d6cfb110SMichael Riesch&combphy1 { 177d6cfb110SMichael Riesch status = "okay"; 178d6cfb110SMichael Riesch}; 179d6cfb110SMichael Riesch 180738bbac5SMichael Riesch&cpu0 { 181738bbac5SMichael Riesch cpu-supply = <&vdd_cpu>; 182738bbac5SMichael Riesch}; 183738bbac5SMichael Riesch 184738bbac5SMichael Riesch&cpu1 { 185738bbac5SMichael Riesch cpu-supply = <&vdd_cpu>; 186738bbac5SMichael Riesch}; 187738bbac5SMichael Riesch 188738bbac5SMichael Riesch&cpu2 { 189738bbac5SMichael Riesch cpu-supply = <&vdd_cpu>; 190738bbac5SMichael Riesch}; 191738bbac5SMichael Riesch 192738bbac5SMichael Riesch&cpu3 { 193738bbac5SMichael Riesch cpu-supply = <&vdd_cpu>; 194738bbac5SMichael Riesch}; 195738bbac5SMichael Riesch 196*06b29cb8SAndy Yan&dsi0 { 197*06b29cb8SAndy Yan clock-master; 198*06b29cb8SAndy Yan #address-cells = <1>; 199*06b29cb8SAndy Yan #size-cells = <0>; 200*06b29cb8SAndy Yan status = "okay"; 201*06b29cb8SAndy Yan 202*06b29cb8SAndy Yan panel@0 { 203*06b29cb8SAndy Yan compatible = "wanchanglong,w552793baa", "raydium,rm67200"; 204*06b29cb8SAndy Yan reg = <0>; 205*06b29cb8SAndy Yan backlight = <&backlight>; 206*06b29cb8SAndy Yan iovcc-supply = <&vcc3v3_lcd0_n>; 207*06b29cb8SAndy Yan reset-gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>; 208*06b29cb8SAndy Yan vdd-supply = <&vcc3v3_lcd0_n>; 209*06b29cb8SAndy Yan vsn-supply = <&vcc5v0_sys>; 210*06b29cb8SAndy Yan vsp-supply = <&vcc5v0_sys>; 211*06b29cb8SAndy Yan 212*06b29cb8SAndy Yan port { 213*06b29cb8SAndy Yan panel_in_dsi: endpoint { 214*06b29cb8SAndy Yan remote-endpoint = <&dsi0_out_panel>; 215*06b29cb8SAndy Yan }; 216*06b29cb8SAndy Yan }; 217*06b29cb8SAndy Yan }; 218*06b29cb8SAndy Yan 219*06b29cb8SAndy Yan}; 220*06b29cb8SAndy Yan 221*06b29cb8SAndy Yan&dsi0_in { 222*06b29cb8SAndy Yan dsi0_in_vp1: endpoint { 223*06b29cb8SAndy Yan remote-endpoint = <&vp1_out_dsi0>; 224*06b29cb8SAndy Yan }; 225*06b29cb8SAndy Yan}; 226*06b29cb8SAndy Yan 227*06b29cb8SAndy Yan&dsi0_out { 228*06b29cb8SAndy Yan dsi0_out_panel: endpoint { 229*06b29cb8SAndy Yan remote-endpoint = <&panel_in_dsi>; 230*06b29cb8SAndy Yan }; 231*06b29cb8SAndy Yan}; 232*06b29cb8SAndy Yan 233*06b29cb8SAndy Yan&dsi_dphy0 { 234*06b29cb8SAndy Yan status = "okay"; 235*06b29cb8SAndy Yan}; 236*06b29cb8SAndy Yan 237fc57d783SMichael Riesch&gmac0 { 238fc57d783SMichael Riesch assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>; 239fc57d783SMichael Riesch assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>; 240fc57d783SMichael Riesch assigned-clock-rates = <0>, <125000000>; 241fc57d783SMichael Riesch clock_in_out = "output"; 242fc57d783SMichael Riesch phy-handle = <&rgmii_phy0>; 243fc57d783SMichael Riesch phy-mode = "rgmii-id"; 244fc57d783SMichael Riesch pinctrl-names = "default"; 245fc57d783SMichael Riesch pinctrl-0 = <&gmac0_miim 246fc57d783SMichael Riesch &gmac0_tx_bus2 247fc57d783SMichael Riesch &gmac0_rx_bus2 248fc57d783SMichael Riesch &gmac0_rgmii_clk 249fc57d783SMichael Riesch &gmac0_rgmii_bus>; 250fc57d783SMichael Riesch status = "okay"; 251fc57d783SMichael Riesch}; 252fc57d783SMichael Riesch 253fc57d783SMichael Riesch&gmac1 { 254fc57d783SMichael Riesch assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>; 255fc57d783SMichael Riesch assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>; 256fc57d783SMichael Riesch assigned-clock-rates = <0>, <125000000>; 257fc57d783SMichael Riesch clock_in_out = "output"; 258fc57d783SMichael Riesch phy-handle = <&rgmii_phy1>; 259fc57d783SMichael Riesch phy-mode = "rgmii-id"; 260fc57d783SMichael Riesch pinctrl-names = "default"; 261fc57d783SMichael Riesch pinctrl-0 = <&gmac1m1_miim 262fc57d783SMichael Riesch &gmac1m1_tx_bus2 263fc57d783SMichael Riesch &gmac1m1_rx_bus2 264fc57d783SMichael Riesch &gmac1m1_rgmii_clk 265fc57d783SMichael Riesch &gmac1m1_rgmii_bus>; 266fc57d783SMichael Riesch status = "okay"; 267fc57d783SMichael Riesch}; 268fc57d783SMichael Riesch 2690f546cd6SMichael Riesch&gpu { 2700f546cd6SMichael Riesch mali-supply = <&vdd_gpu>; 2710f546cd6SMichael Riesch status = "okay"; 2720f546cd6SMichael Riesch}; 2730f546cd6SMichael Riesch 274991b3d12SSascha Hauer&hdmi { 275991b3d12SSascha Hauer avdd-0v9-supply = <&vdda0v9_image>; 276991b3d12SSascha Hauer avdd-1v8-supply = <&vcca1v8_image>; 277991b3d12SSascha Hauer status = "okay"; 278991b3d12SSascha Hauer}; 279991b3d12SSascha Hauer 280991b3d12SSascha Hauer&hdmi_in { 281991b3d12SSascha Hauer hdmi_in_vp0: endpoint { 282991b3d12SSascha Hauer remote-endpoint = <&vp0_out_hdmi>; 283991b3d12SSascha Hauer }; 284991b3d12SSascha Hauer}; 285991b3d12SSascha Hauer 286991b3d12SSascha Hauer&hdmi_out { 287991b3d12SSascha Hauer hdmi_out_con: endpoint { 288991b3d12SSascha Hauer remote-endpoint = <&hdmi_con_in>; 289991b3d12SSascha Hauer }; 290991b3d12SSascha Hauer}; 291991b3d12SSascha Hauer 292ea452bc0SMichael Riesch&hdmi_sound { 293ea452bc0SMichael Riesch status = "okay"; 294ea452bc0SMichael Riesch}; 295ea452bc0SMichael Riesch 29614f1c34eSMichael Riesch&i2c0 { 29714f1c34eSMichael Riesch status = "okay"; 29814f1c34eSMichael Riesch 299738bbac5SMichael Riesch vdd_cpu: regulator@1c { 300738bbac5SMichael Riesch compatible = "tcs,tcs4525"; 301738bbac5SMichael Riesch reg = <0x1c>; 302738bbac5SMichael Riesch fcs,suspend-voltage-selector = <1>; 303738bbac5SMichael Riesch regulator-name = "vdd_cpu"; 304738bbac5SMichael Riesch regulator-always-on; 305738bbac5SMichael Riesch regulator-boot-on; 306738bbac5SMichael Riesch regulator-min-microvolt = <800000>; 307738bbac5SMichael Riesch regulator-max-microvolt = <1150000>; 308738bbac5SMichael Riesch regulator-ramp-delay = <2300>; 309738bbac5SMichael Riesch vin-supply = <&vcc5v0_sys>; 310738bbac5SMichael Riesch 311738bbac5SMichael Riesch regulator-state-mem { 312738bbac5SMichael Riesch regulator-off-in-suspend; 313738bbac5SMichael Riesch }; 314738bbac5SMichael Riesch }; 315738bbac5SMichael Riesch 31614f1c34eSMichael Riesch rk809: pmic@20 { 31714f1c34eSMichael Riesch compatible = "rockchip,rk809"; 31814f1c34eSMichael Riesch reg = <0x20>; 31914f1c34eSMichael Riesch interrupt-parent = <&gpio0>; 32014f1c34eSMichael Riesch interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>; 3213e4c629cSMichael Riesch assigned-clocks = <&cru I2S1_MCLKOUT_TX>; 3223e4c629cSMichael Riesch assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; 32314f1c34eSMichael Riesch #clock-cells = <1>; 3243e4c629cSMichael Riesch clock-names = "mclk"; 3253e4c629cSMichael Riesch clocks = <&cru I2S1_MCLKOUT_TX>; 32614f1c34eSMichael Riesch pinctrl-names = "default"; 3273e4c629cSMichael Riesch pinctrl-0 = <&pmic_int>, <&i2s1m0_mclk>; 328b99ac7e2SDiederik de Haas system-power-controller; 3293e4c629cSMichael Riesch #sound-dai-cells = <0>; 33014f1c34eSMichael Riesch vcc1-supply = <&vcc3v3_sys>; 33114f1c34eSMichael Riesch vcc2-supply = <&vcc3v3_sys>; 33214f1c34eSMichael Riesch vcc3-supply = <&vcc3v3_sys>; 33314f1c34eSMichael Riesch vcc4-supply = <&vcc3v3_sys>; 33414f1c34eSMichael Riesch vcc5-supply = <&vcc3v3_sys>; 33514f1c34eSMichael Riesch vcc6-supply = <&vcc3v3_sys>; 33614f1c34eSMichael Riesch vcc7-supply = <&vcc3v3_sys>; 33714f1c34eSMichael Riesch vcc8-supply = <&vcc3v3_sys>; 33814f1c34eSMichael Riesch vcc9-supply = <&vcc3v3_sys>; 33914f1c34eSMichael Riesch wakeup-source; 34014f1c34eSMichael Riesch 34114f1c34eSMichael Riesch regulators { 34214f1c34eSMichael Riesch vdd_logic: DCDC_REG1 { 34314f1c34eSMichael Riesch regulator-name = "vdd_logic"; 34414f1c34eSMichael Riesch regulator-always-on; 34514f1c34eSMichael Riesch regulator-boot-on; 34614f1c34eSMichael Riesch regulator-initial-mode = <0x2>; 34714f1c34eSMichael Riesch regulator-min-microvolt = <500000>; 34814f1c34eSMichael Riesch regulator-max-microvolt = <1350000>; 34914f1c34eSMichael Riesch regulator-ramp-delay = <6001>; 35014f1c34eSMichael Riesch 35114f1c34eSMichael Riesch regulator-state-mem { 35214f1c34eSMichael Riesch regulator-off-in-suspend; 35314f1c34eSMichael Riesch }; 35414f1c34eSMichael Riesch }; 35514f1c34eSMichael Riesch 35614f1c34eSMichael Riesch vdd_gpu: DCDC_REG2 { 35714f1c34eSMichael Riesch regulator-name = "vdd_gpu"; 358bbe5d394SMichael Riesch regulator-always-on; 35914f1c34eSMichael Riesch regulator-initial-mode = <0x2>; 36014f1c34eSMichael Riesch regulator-min-microvolt = <500000>; 36114f1c34eSMichael Riesch regulator-max-microvolt = <1350000>; 36214f1c34eSMichael Riesch regulator-ramp-delay = <6001>; 36314f1c34eSMichael Riesch 36414f1c34eSMichael Riesch regulator-state-mem { 36514f1c34eSMichael Riesch regulator-off-in-suspend; 36614f1c34eSMichael Riesch }; 36714f1c34eSMichael Riesch }; 36814f1c34eSMichael Riesch 36914f1c34eSMichael Riesch vcc_ddr: DCDC_REG3 { 37014f1c34eSMichael Riesch regulator-name = "vcc_ddr"; 37114f1c34eSMichael Riesch regulator-always-on; 37214f1c34eSMichael Riesch regulator-boot-on; 37314f1c34eSMichael Riesch regulator-initial-mode = <0x2>; 37414f1c34eSMichael Riesch 37514f1c34eSMichael Riesch regulator-state-mem { 37614f1c34eSMichael Riesch regulator-on-in-suspend; 37714f1c34eSMichael Riesch }; 37814f1c34eSMichael Riesch }; 37914f1c34eSMichael Riesch 38014f1c34eSMichael Riesch vdd_npu: DCDC_REG4 { 38114f1c34eSMichael Riesch regulator-name = "vdd_npu"; 38214f1c34eSMichael Riesch regulator-initial-mode = <0x2>; 38314f1c34eSMichael Riesch regulator-min-microvolt = <500000>; 38414f1c34eSMichael Riesch regulator-max-microvolt = <1350000>; 38514f1c34eSMichael Riesch regulator-ramp-delay = <6001>; 38614f1c34eSMichael Riesch 38714f1c34eSMichael Riesch regulator-state-mem { 38814f1c34eSMichael Riesch regulator-off-in-suspend; 38914f1c34eSMichael Riesch }; 39014f1c34eSMichael Riesch }; 39114f1c34eSMichael Riesch 39214f1c34eSMichael Riesch vcc_1v8: DCDC_REG5 { 39314f1c34eSMichael Riesch regulator-name = "vcc_1v8"; 39414f1c34eSMichael Riesch regulator-always-on; 39514f1c34eSMichael Riesch regulator-boot-on; 39614f1c34eSMichael Riesch regulator-min-microvolt = <1800000>; 39714f1c34eSMichael Riesch regulator-max-microvolt = <1800000>; 39814f1c34eSMichael Riesch 39914f1c34eSMichael Riesch regulator-state-mem { 40014f1c34eSMichael Riesch regulator-off-in-suspend; 40114f1c34eSMichael Riesch }; 40214f1c34eSMichael Riesch }; 40314f1c34eSMichael Riesch 40414f1c34eSMichael Riesch vdda0v9_image: LDO_REG1 { 40514f1c34eSMichael Riesch regulator-name = "vdda0v9_image"; 40614f1c34eSMichael Riesch regulator-min-microvolt = <900000>; 40714f1c34eSMichael Riesch regulator-max-microvolt = <900000>; 40814f1c34eSMichael Riesch 40914f1c34eSMichael Riesch regulator-state-mem { 41014f1c34eSMichael Riesch regulator-off-in-suspend; 41114f1c34eSMichael Riesch }; 41214f1c34eSMichael Riesch }; 41314f1c34eSMichael Riesch 41414f1c34eSMichael Riesch vdda_0v9: LDO_REG2 { 41514f1c34eSMichael Riesch regulator-name = "vdda_0v9"; 41614f1c34eSMichael Riesch regulator-always-on; 41714f1c34eSMichael Riesch regulator-boot-on; 41814f1c34eSMichael Riesch regulator-min-microvolt = <900000>; 41914f1c34eSMichael Riesch regulator-max-microvolt = <900000>; 42014f1c34eSMichael Riesch 42114f1c34eSMichael Riesch regulator-state-mem { 42214f1c34eSMichael Riesch regulator-off-in-suspend; 42314f1c34eSMichael Riesch }; 42414f1c34eSMichael Riesch }; 42514f1c34eSMichael Riesch 42614f1c34eSMichael Riesch vdda0v9_pmu: LDO_REG3 { 42714f1c34eSMichael Riesch regulator-name = "vdda0v9_pmu"; 42814f1c34eSMichael Riesch regulator-always-on; 42914f1c34eSMichael Riesch regulator-boot-on; 43014f1c34eSMichael Riesch regulator-min-microvolt = <900000>; 43114f1c34eSMichael Riesch regulator-max-microvolt = <900000>; 43214f1c34eSMichael Riesch 43314f1c34eSMichael Riesch regulator-state-mem { 43414f1c34eSMichael Riesch regulator-on-in-suspend; 43514f1c34eSMichael Riesch regulator-suspend-microvolt = <900000>; 43614f1c34eSMichael Riesch }; 43714f1c34eSMichael Riesch }; 43814f1c34eSMichael Riesch 43914f1c34eSMichael Riesch vccio_acodec: LDO_REG4 { 44014f1c34eSMichael Riesch regulator-name = "vccio_acodec"; 4413e4c629cSMichael Riesch regulator-always-on; 44214f1c34eSMichael Riesch regulator-min-microvolt = <3300000>; 44314f1c34eSMichael Riesch regulator-max-microvolt = <3300000>; 44414f1c34eSMichael Riesch 44514f1c34eSMichael Riesch regulator-state-mem { 44614f1c34eSMichael Riesch regulator-off-in-suspend; 44714f1c34eSMichael Riesch }; 44814f1c34eSMichael Riesch }; 44914f1c34eSMichael Riesch 45014f1c34eSMichael Riesch vccio_sd: LDO_REG5 { 45114f1c34eSMichael Riesch regulator-name = "vccio_sd"; 45214f1c34eSMichael Riesch regulator-min-microvolt = <1800000>; 45314f1c34eSMichael Riesch regulator-max-microvolt = <3300000>; 45414f1c34eSMichael Riesch 45514f1c34eSMichael Riesch regulator-state-mem { 45614f1c34eSMichael Riesch regulator-off-in-suspend; 45714f1c34eSMichael Riesch }; 45814f1c34eSMichael Riesch }; 45914f1c34eSMichael Riesch 46014f1c34eSMichael Riesch vcc3v3_pmu: LDO_REG6 { 46114f1c34eSMichael Riesch regulator-name = "vcc3v3_pmu"; 46214f1c34eSMichael Riesch regulator-always-on; 46314f1c34eSMichael Riesch regulator-boot-on; 46414f1c34eSMichael Riesch regulator-min-microvolt = <3300000>; 46514f1c34eSMichael Riesch regulator-max-microvolt = <3300000>; 46614f1c34eSMichael Riesch 46714f1c34eSMichael Riesch regulator-state-mem { 46814f1c34eSMichael Riesch regulator-on-in-suspend; 46914f1c34eSMichael Riesch regulator-suspend-microvolt = <3300000>; 47014f1c34eSMichael Riesch }; 47114f1c34eSMichael Riesch }; 47214f1c34eSMichael Riesch 47314f1c34eSMichael Riesch vcca_1v8: LDO_REG7 { 47414f1c34eSMichael Riesch regulator-name = "vcca_1v8"; 47514f1c34eSMichael Riesch regulator-always-on; 47614f1c34eSMichael Riesch regulator-boot-on; 47714f1c34eSMichael Riesch regulator-min-microvolt = <1800000>; 47814f1c34eSMichael Riesch regulator-max-microvolt = <1800000>; 47914f1c34eSMichael Riesch 48014f1c34eSMichael Riesch regulator-state-mem { 48114f1c34eSMichael Riesch regulator-off-in-suspend; 48214f1c34eSMichael Riesch }; 48314f1c34eSMichael Riesch }; 48414f1c34eSMichael Riesch 48514f1c34eSMichael Riesch vcca1v8_pmu: LDO_REG8 { 48614f1c34eSMichael Riesch regulator-name = "vcca1v8_pmu"; 48714f1c34eSMichael Riesch regulator-always-on; 48814f1c34eSMichael Riesch regulator-boot-on; 48914f1c34eSMichael Riesch regulator-min-microvolt = <1800000>; 49014f1c34eSMichael Riesch regulator-max-microvolt = <1800000>; 49114f1c34eSMichael Riesch 49214f1c34eSMichael Riesch regulator-state-mem { 49314f1c34eSMichael Riesch regulator-on-in-suspend; 49414f1c34eSMichael Riesch regulator-suspend-microvolt = <1800000>; 49514f1c34eSMichael Riesch }; 49614f1c34eSMichael Riesch }; 49714f1c34eSMichael Riesch 49814f1c34eSMichael Riesch vcca1v8_image: LDO_REG9 { 49914f1c34eSMichael Riesch regulator-name = "vcca1v8_image"; 50014f1c34eSMichael Riesch regulator-min-microvolt = <1800000>; 50114f1c34eSMichael Riesch regulator-max-microvolt = <1800000>; 50214f1c34eSMichael Riesch 50314f1c34eSMichael Riesch regulator-state-mem { 50414f1c34eSMichael Riesch regulator-off-in-suspend; 50514f1c34eSMichael Riesch }; 50614f1c34eSMichael Riesch }; 50714f1c34eSMichael Riesch 50814f1c34eSMichael Riesch vcc_3v3: SWITCH_REG1 { 50914f1c34eSMichael Riesch regulator-name = "vcc_3v3"; 51014f1c34eSMichael Riesch regulator-always-on; 51114f1c34eSMichael Riesch regulator-boot-on; 51214f1c34eSMichael Riesch 51314f1c34eSMichael Riesch regulator-state-mem { 51414f1c34eSMichael Riesch regulator-off-in-suspend; 51514f1c34eSMichael Riesch }; 51614f1c34eSMichael Riesch }; 51714f1c34eSMichael Riesch 51814f1c34eSMichael Riesch vcc3v3_sd: SWITCH_REG2 { 51914f1c34eSMichael Riesch regulator-name = "vcc3v3_sd"; 52014f1c34eSMichael Riesch 52114f1c34eSMichael Riesch regulator-state-mem { 52214f1c34eSMichael Riesch regulator-off-in-suspend; 52314f1c34eSMichael Riesch }; 52414f1c34eSMichael Riesch }; 52514f1c34eSMichael Riesch }; 5263e4c629cSMichael Riesch 5273e4c629cSMichael Riesch codec { 528ec030738SCristian Ciocaltea rockchip,mic-in-differential; 5293e4c629cSMichael Riesch }; 53014f1c34eSMichael Riesch }; 53114f1c34eSMichael Riesch}; 53214f1c34eSMichael Riesch 533922237a6SMichael Riesch&i2c1 { 534922237a6SMichael Riesch status = "okay"; 535922237a6SMichael Riesch 536922237a6SMichael Riesch touchscreen0: goodix@14 { 537922237a6SMichael Riesch compatible = "goodix,gt1151"; 538922237a6SMichael Riesch reg = <0x14>; 539922237a6SMichael Riesch interrupt-parent = <&gpio0>; 540922237a6SMichael Riesch interrupts = <RK_PB5 IRQ_TYPE_EDGE_FALLING>; 541922237a6SMichael Riesch AVDD28-supply = <&vcc3v3_lcd0_n>; 542922237a6SMichael Riesch irq-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; 543922237a6SMichael Riesch pinctrl-names = "default"; 544922237a6SMichael Riesch pinctrl-0 = <&touch_int &touch_rst>; 545922237a6SMichael Riesch reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>; 546922237a6SMichael Riesch VDDIO-supply = <&vcc3v3_lcd0_n>; 547922237a6SMichael Riesch }; 548922237a6SMichael Riesch}; 549922237a6SMichael Riesch 550ea452bc0SMichael Riesch&i2s0_8ch { 551ea452bc0SMichael Riesch status = "okay"; 552ea452bc0SMichael Riesch}; 553ea452bc0SMichael Riesch 5543e4c629cSMichael Riesch&i2s1_8ch { 5553e4c629cSMichael Riesch rockchip,trcm-sync-tx-only; 5563e4c629cSMichael Riesch status = "okay"; 5573e4c629cSMichael Riesch}; 5583e4c629cSMichael Riesch 559fc57d783SMichael Riesch&mdio0 { 560fc57d783SMichael Riesch rgmii_phy0: ethernet-phy@0 { 561fc57d783SMichael Riesch compatible = "ethernet-phy-ieee802.3-c22"; 562fc57d783SMichael Riesch reg = <0x0>; 563fc57d783SMichael Riesch reset-assert-us = <20000>; 564fc57d783SMichael Riesch reset-deassert-us = <100000>; 565fc57d783SMichael Riesch reset-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_LOW>; 566fc57d783SMichael Riesch }; 567fc57d783SMichael Riesch}; 568fc57d783SMichael Riesch 569fc57d783SMichael Riesch&mdio1 { 570fc57d783SMichael Riesch rgmii_phy1: ethernet-phy@0 { 571fc57d783SMichael Riesch compatible = "ethernet-phy-ieee802.3-c22"; 572fc57d783SMichael Riesch reg = <0x0>; 573fc57d783SMichael Riesch reset-assert-us = <20000>; 574fc57d783SMichael Riesch reset-deassert-us = <100000>; 575fc57d783SMichael Riesch reset-gpios = <&gpio2 RK_PD1 GPIO_ACTIVE_LOW>; 576fc57d783SMichael Riesch }; 577fc57d783SMichael Riesch}; 578fc57d783SMichael Riesch 57914f1c34eSMichael Riesch&pinctrl { 5809ade1ab4SMichael Riesch display { 5819ade1ab4SMichael Riesch vcc3v3_lcd0_n_en: vcc3v3_lcd0_n_en { 5829ade1ab4SMichael Riesch rockchip,pins = <0 RK_PC7 0 &pcfg_pull_none>; 5839ade1ab4SMichael Riesch }; 5849ade1ab4SMichael Riesch vcc3v3_lcd1_n_en: vcc3v3_lcd1_n_en { 5859ade1ab4SMichael Riesch rockchip,pins = <0 RK_PC5 0 &pcfg_pull_none>; 5869ade1ab4SMichael Riesch }; 5879ade1ab4SMichael Riesch }; 5889ade1ab4SMichael Riesch 589406c607eSMichael Riesch leds { 590406c607eSMichael Riesch led_work_en: led_work_en { 591406c607eSMichael Riesch rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; 592406c607eSMichael Riesch }; 593406c607eSMichael Riesch }; 594406c607eSMichael Riesch 59514f1c34eSMichael Riesch pmic { 59614f1c34eSMichael Riesch pmic_int: pmic_int { 59714f1c34eSMichael Riesch rockchip,pins = 59814f1c34eSMichael Riesch <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 59914f1c34eSMichael Riesch }; 60014f1c34eSMichael Riesch }; 601922237a6SMichael Riesch 602922237a6SMichael Riesch touchscreen { 603922237a6SMichael Riesch touch_int: touch_int { 604922237a6SMichael Riesch rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>; 605922237a6SMichael Riesch }; 606922237a6SMichael Riesch touch_rst: touch_rst { 607922237a6SMichael Riesch rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; 608922237a6SMichael Riesch }; 609922237a6SMichael Riesch }; 610e49e24d7SMichael Riesch 611e49e24d7SMichael Riesch usb { 612e49e24d7SMichael Riesch vcc5v0_usb_host_en: vcc5v0_usb_host_en { 613e49e24d7SMichael Riesch rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 614e49e24d7SMichael Riesch }; 615d6cfb110SMichael Riesch vcc5v0_usb_otg_en: vcc5v0_usb_otg_en { 616d6cfb110SMichael Riesch rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 617d6cfb110SMichael Riesch }; 618e49e24d7SMichael Riesch }; 61914f1c34eSMichael Riesch}; 62014f1c34eSMichael Riesch 621e86d4810SMichael Riesch&pmu_io_domains { 622e86d4810SMichael Riesch pmuio1-supply = <&vcc3v3_pmu>; 623e86d4810SMichael Riesch pmuio2-supply = <&vcc3v3_pmu>; 624e86d4810SMichael Riesch vccio1-supply = <&vccio_acodec>; 625e86d4810SMichael Riesch vccio2-supply = <&vcc_1v8>; 626e86d4810SMichael Riesch vccio3-supply = <&vccio_sd>; 627e86d4810SMichael Riesch vccio4-supply = <&vcc_1v8>; 628e86d4810SMichael Riesch vccio5-supply = <&vcc_3v3>; 629e86d4810SMichael Riesch vccio6-supply = <&vcc_1v8>; 630e86d4810SMichael Riesch vccio7-supply = <&vcc_3v3>; 631e86d4810SMichael Riesch status = "okay"; 632e86d4810SMichael Riesch}; 633e86d4810SMichael Riesch 634*06b29cb8SAndy Yan&pwm4 { 635*06b29cb8SAndy Yan status = "okay"; 636*06b29cb8SAndy Yan}; 637*06b29cb8SAndy Yan 638cf194472SMichael Riesch&saradc { 639cf194472SMichael Riesch vref-supply = <&vcca_1v8>; 640cf194472SMichael Riesch status = "okay"; 641cf194472SMichael Riesch}; 642cf194472SMichael Riesch 64301610a24SLiang Chen&sdhci { 64401610a24SLiang Chen bus-width = <8>; 64501610a24SLiang Chen max-frequency = <200000000>; 64601610a24SLiang Chen non-removable; 6478a599b56SMichael Riesch pinctrl-names = "default"; 6488a599b56SMichael Riesch pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>; 64901610a24SLiang Chen status = "okay"; 65001610a24SLiang Chen}; 65101610a24SLiang Chen 6522a068e19SMichael Riesch&sdmmc0 { 6532a068e19SMichael Riesch bus-width = <4>; 6542a068e19SMichael Riesch cap-sd-highspeed; 6552a068e19SMichael Riesch cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; 6562a068e19SMichael Riesch disable-wp; 6572a068e19SMichael Riesch pinctrl-names = "default"; 6582a068e19SMichael Riesch pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; 6592a068e19SMichael Riesch sd-uhs-sdr104; 6602a068e19SMichael Riesch vmmc-supply = <&vcc3v3_sd>; 6612a068e19SMichael Riesch vqmmc-supply = <&vccio_sd>; 6622a068e19SMichael Riesch status = "okay"; 6632a068e19SMichael Riesch}; 6642a068e19SMichael Riesch 665679f048aSMichael Riesch&tsadc { 666679f048aSMichael Riesch rockchip,hw-tshut-mode = <1>; 667679f048aSMichael Riesch rockchip,hw-tshut-polarity = <0>; 668679f048aSMichael Riesch status = "okay"; 669679f048aSMichael Riesch}; 670679f048aSMichael Riesch 67101610a24SLiang Chen&uart2 { 67201610a24SLiang Chen status = "okay"; 67301610a24SLiang Chen}; 674e49e24d7SMichael Riesch 675e49e24d7SMichael Riesch&usb_host0_ehci { 676e49e24d7SMichael Riesch status = "okay"; 677e49e24d7SMichael Riesch}; 678e49e24d7SMichael Riesch 679e49e24d7SMichael Riesch&usb_host0_ohci { 680e49e24d7SMichael Riesch status = "okay"; 681e49e24d7SMichael Riesch}; 682e49e24d7SMichael Riesch 683d6cfb110SMichael Riesch&usb_host0_xhci { 684d6cfb110SMichael Riesch extcon = <&usb2phy0>; 685d6cfb110SMichael Riesch status = "okay"; 686d6cfb110SMichael Riesch}; 687d6cfb110SMichael Riesch 688e49e24d7SMichael Riesch&usb_host1_ehci { 689e49e24d7SMichael Riesch status = "okay"; 690e49e24d7SMichael Riesch}; 691e49e24d7SMichael Riesch 692e49e24d7SMichael Riesch&usb_host1_ohci { 693e49e24d7SMichael Riesch status = "okay"; 694e49e24d7SMichael Riesch}; 695e49e24d7SMichael Riesch 696d6cfb110SMichael Riesch&usb_host1_xhci { 697d6cfb110SMichael Riesch status = "okay"; 698d6cfb110SMichael Riesch}; 699d6cfb110SMichael Riesch 700d6cfb110SMichael Riesch&usb2phy0 { 701d6cfb110SMichael Riesch status = "okay"; 702d6cfb110SMichael Riesch}; 703d6cfb110SMichael Riesch 704d6cfb110SMichael Riesch&usb2phy0_host { 705d6cfb110SMichael Riesch phy-supply = <&vcc5v0_usb_host>; 706d6cfb110SMichael Riesch status = "okay"; 707d6cfb110SMichael Riesch}; 708d6cfb110SMichael Riesch 709d6cfb110SMichael Riesch&usb2phy0_otg { 7101988e3efSMichael Riesch phy-supply = <&vcc5v0_usb_otg>; 711d6cfb110SMichael Riesch status = "okay"; 712d6cfb110SMichael Riesch}; 713d6cfb110SMichael Riesch 714e49e24d7SMichael Riesch&usb2phy1 { 715e49e24d7SMichael Riesch status = "okay"; 716e49e24d7SMichael Riesch}; 717e49e24d7SMichael Riesch 718e49e24d7SMichael Riesch&usb2phy1_host { 719e49e24d7SMichael Riesch phy-supply = <&vcc5v0_usb_host>; 720e49e24d7SMichael Riesch status = "okay"; 721e49e24d7SMichael Riesch}; 722e49e24d7SMichael Riesch 723e49e24d7SMichael Riesch&usb2phy1_otg { 724e49e24d7SMichael Riesch phy-supply = <&vcc5v0_usb_host>; 725e49e24d7SMichael Riesch status = "okay"; 726e49e24d7SMichael Riesch}; 727991b3d12SSascha Hauer 728991b3d12SSascha Hauer&vop { 729*06b29cb8SAndy Yan assigned-clocks = <&cru DCLK_VOP0>, <&cru PLL_VPLL>, <&cru DCLK_VOP1>; 730*06b29cb8SAndy Yan assigned-clock-parents = <&pmucru PLL_HPLL>, <&xin24m>, <&cru PLL_VPLL>; 731*06b29cb8SAndy Yan assigned-clock-rates = <0>, <132000000>, <132000000>; 732991b3d12SSascha Hauer status = "okay"; 733991b3d12SSascha Hauer}; 734991b3d12SSascha Hauer 735991b3d12SSascha Hauer&vop_mmu { 736991b3d12SSascha Hauer status = "okay"; 737991b3d12SSascha Hauer}; 738991b3d12SSascha Hauer 739991b3d12SSascha Hauer&vp0 { 740991b3d12SSascha Hauer vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 741991b3d12SSascha Hauer reg = <ROCKCHIP_VOP2_EP_HDMI0>; 742991b3d12SSascha Hauer remote-endpoint = <&hdmi_in_vp0>; 743991b3d12SSascha Hauer }; 744991b3d12SSascha Hauer}; 745*06b29cb8SAndy Yan 746*06b29cb8SAndy Yan&vp1 { 747*06b29cb8SAndy Yan vp1_out_dsi0: endpoint@ROCKCHIP_VOP2_EP_MIPI0 { 748*06b29cb8SAndy Yan reg = <ROCKCHIP_VOP2_EP_MIPI0>; 749*06b29cb8SAndy Yan remote-endpoint = <&dsi0_in_vp1>; 750*06b29cb8SAndy Yan }; 751*06b29cb8SAndy Yan}; 752