1cdf46cdbSAndy Yan// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2cdf46cdbSAndy Yan 3cdf46cdbSAndy Yan/* 4cdf46cdbSAndy Yan * Copyright (c) 2021 Rockchip Electronics Co., Ltd. 5cdf46cdbSAndy Yan * Copyright (c) 2022 EmbedFire <embedfire@embedfire.com> 6cdf46cdbSAndy Yan */ 7cdf46cdbSAndy Yan 8cdf46cdbSAndy Yan/dts-v1/; 9cdf46cdbSAndy Yan#include <dt-bindings/gpio/gpio.h> 10cdf46cdbSAndy Yan#include <dt-bindings/leds/common.h> 11cdf46cdbSAndy Yan#include <dt-bindings/pinctrl/rockchip.h> 12cdf46cdbSAndy Yan#include <dt-bindings/soc/rockchip,vop2.h> 13cdf46cdbSAndy Yan#include "rk3568.dtsi" 14cdf46cdbSAndy Yan 15cdf46cdbSAndy Yan/ { 16cdf46cdbSAndy Yan model = "EmbedFire LubanCat 2"; 17cdf46cdbSAndy Yan compatible = "embedfire,lubancat-2", "rockchip,rk3568"; 18cdf46cdbSAndy Yan 19cdf46cdbSAndy Yan aliases { 20cdf46cdbSAndy Yan ethernet0 = &gmac0; 21cdf46cdbSAndy Yan ethernet1 = &gmac1; 22cdf46cdbSAndy Yan mmc0 = &sdmmc0; 23cdf46cdbSAndy Yan mmc1 = &sdhci; 24cdf46cdbSAndy Yan }; 25cdf46cdbSAndy Yan 26cdf46cdbSAndy Yan chosen: chosen { 27cdf46cdbSAndy Yan stdout-path = "serial2:1500000n8"; 28cdf46cdbSAndy Yan }; 29cdf46cdbSAndy Yan 30cdf46cdbSAndy Yan leds { 31cdf46cdbSAndy Yan compatible = "gpio-leds"; 32cdf46cdbSAndy Yan 33cdf46cdbSAndy Yan user_led: user-led { 34cdf46cdbSAndy Yan label = "user_led"; 35cdf46cdbSAndy Yan linux,default-trigger = "heartbeat"; 36cdf46cdbSAndy Yan default-state = "on"; 37cdf46cdbSAndy Yan gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_LOW>; 38cdf46cdbSAndy Yan pinctrl-names = "default"; 39cdf46cdbSAndy Yan pinctrl-0 = <&user_led_pin>; 40cdf46cdbSAndy Yan }; 41cdf46cdbSAndy Yan }; 42cdf46cdbSAndy Yan 43cdf46cdbSAndy Yan hdmi-con { 44cdf46cdbSAndy Yan compatible = "hdmi-connector"; 45cdf46cdbSAndy Yan type = "a"; 46cdf46cdbSAndy Yan 47cdf46cdbSAndy Yan port { 48cdf46cdbSAndy Yan hdmi_con_in: endpoint { 49cdf46cdbSAndy Yan remote-endpoint = <&hdmi_out_con>; 50cdf46cdbSAndy Yan }; 51cdf46cdbSAndy Yan }; 52cdf46cdbSAndy Yan }; 53cdf46cdbSAndy Yan 54*5c96e633SJohan Jonker dc_5v: regulator-dc-5v { 55cdf46cdbSAndy Yan compatible = "regulator-fixed"; 56cdf46cdbSAndy Yan regulator-name = "dc_5v"; 57cdf46cdbSAndy Yan regulator-always-on; 58cdf46cdbSAndy Yan regulator-boot-on; 59cdf46cdbSAndy Yan regulator-min-microvolt = <5000000>; 60cdf46cdbSAndy Yan regulator-max-microvolt = <5000000>; 61cdf46cdbSAndy Yan }; 62cdf46cdbSAndy Yan 63*5c96e633SJohan Jonker vcc3v3_sys: regulator-vcc3v3-sys { 64cdf46cdbSAndy Yan compatible = "regulator-fixed"; 65cdf46cdbSAndy Yan regulator-name = "vcc3v3_sys"; 66cdf46cdbSAndy Yan regulator-always-on; 67cdf46cdbSAndy Yan regulator-boot-on; 68cdf46cdbSAndy Yan regulator-min-microvolt = <3300000>; 69cdf46cdbSAndy Yan regulator-max-microvolt = <3300000>; 70cdf46cdbSAndy Yan vin-supply = <&vcc5v0_sys>; 71cdf46cdbSAndy Yan }; 72cdf46cdbSAndy Yan 73*5c96e633SJohan Jonker vcc5v0_sys: regulator-vcc5v0-sys { 74cdf46cdbSAndy Yan compatible = "regulator-fixed"; 75cdf46cdbSAndy Yan regulator-name = "vcc5v0_sys"; 76cdf46cdbSAndy Yan regulator-always-on; 77cdf46cdbSAndy Yan regulator-boot-on; 78cdf46cdbSAndy Yan regulator-min-microvolt = <5000000>; 79cdf46cdbSAndy Yan regulator-max-microvolt = <5000000>; 80cdf46cdbSAndy Yan vin-supply = <&dc_5v>; 81cdf46cdbSAndy Yan }; 82cdf46cdbSAndy Yan 83*5c96e633SJohan Jonker vcc3v3_m2_pcie: regulator-vcc3v3-m2-pcie { 84cdf46cdbSAndy Yan compatible = "regulator-fixed"; 85cdf46cdbSAndy Yan regulator-name = "m2_pcie_3v3"; 86cdf46cdbSAndy Yan enable-active-high; 87cdf46cdbSAndy Yan regulator-min-microvolt = <3300000>; 88cdf46cdbSAndy Yan regulator-max-microvolt = <3300000>; 89cdf46cdbSAndy Yan gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>; 90cdf46cdbSAndy Yan pinctrl-0 = <&vcc3v3_m2_pcie_en>; 91cdf46cdbSAndy Yan pinctrl-names = "default"; 92cdf46cdbSAndy Yan startup-delay-us = <200000>; 93cdf46cdbSAndy Yan vin-supply = <&vcc5v0_sys>; 94cdf46cdbSAndy Yan }; 95cdf46cdbSAndy Yan 96*5c96e633SJohan Jonker vcc3v3_mini_pcie: regulator-vcc3v3-mini-pcie { 97cdf46cdbSAndy Yan compatible = "regulator-fixed"; 98cdf46cdbSAndy Yan regulator-name = "minipcie_3v3"; 99cdf46cdbSAndy Yan enable-active-high; 100cdf46cdbSAndy Yan regulator-min-microvolt = <3300000>; 101cdf46cdbSAndy Yan regulator-max-microvolt = <3300000>; 102cdf46cdbSAndy Yan gpio = <&gpio3 RK_PC3 GPIO_ACTIVE_HIGH>; 103cdf46cdbSAndy Yan pinctrl-0 = <&vcc3v3_mini_pcie_en>; 104cdf46cdbSAndy Yan pinctrl-names = "default"; 105cdf46cdbSAndy Yan startup-delay-us = <5000>; 106cdf46cdbSAndy Yan vin-supply = <&vcc5v0_sys>; 107cdf46cdbSAndy Yan }; 108cdf46cdbSAndy Yan 109*5c96e633SJohan Jonker vcc5v0_usb20_host: regulator-vcc5v0-usb20-host { 110cdf46cdbSAndy Yan compatible = "regulator-fixed"; 111cdf46cdbSAndy Yan regulator-name = "vcc5v0_usb20_host"; 112cdf46cdbSAndy Yan enable-active-high; 113cdf46cdbSAndy Yan gpio = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>; 114cdf46cdbSAndy Yan pinctrl-0 = <&vcc5v0_usb20_host_en>; 115cdf46cdbSAndy Yan pinctrl-names = "default"; 116cdf46cdbSAndy Yan }; 117cdf46cdbSAndy Yan 118*5c96e633SJohan Jonker vcc5v0_usb30_host: regulator-vcc5v0-usb30-host { 119cdf46cdbSAndy Yan compatible = "regulator-fixed"; 120cdf46cdbSAndy Yan regulator-name = "vcc5v0_usb30_host"; 121cdf46cdbSAndy Yan enable-active-high; 122cdf46cdbSAndy Yan gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_HIGH>; 123cdf46cdbSAndy Yan pinctrl-0 = <&vcc5v0_usb30_host_en>; 124cdf46cdbSAndy Yan pinctrl-names = "default"; 125cdf46cdbSAndy Yan }; 126cdf46cdbSAndy Yan 127*5c96e633SJohan Jonker vcc5v0_otg_vbus: regulator-vcc5v0-otg-vbus { 128cdf46cdbSAndy Yan compatible = "regulator-fixed"; 129cdf46cdbSAndy Yan regulator-name = "vcc5v0_otg_vbus"; 130cdf46cdbSAndy Yan enable-active-high; 131cdf46cdbSAndy Yan regulator-min-microvolt = <5000000>; 132cdf46cdbSAndy Yan regulator-max-microvolt = <5000000>; 133cdf46cdbSAndy Yan gpio = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>; 134cdf46cdbSAndy Yan pinctrl-0 = <&vcc5v0_otg_vbus_en>; 135cdf46cdbSAndy Yan pinctrl-names = "default"; 136cdf46cdbSAndy Yan }; 137cdf46cdbSAndy Yan}; 138cdf46cdbSAndy Yan 139cdf46cdbSAndy Yan&combphy0 { 140cdf46cdbSAndy Yan status = "okay"; 141cdf46cdbSAndy Yan}; 142cdf46cdbSAndy Yan 143cdf46cdbSAndy Yan&combphy1 { 144cdf46cdbSAndy Yan status = "okay"; 145cdf46cdbSAndy Yan}; 146cdf46cdbSAndy Yan 147cdf46cdbSAndy Yan&combphy2 { 148cdf46cdbSAndy Yan status = "okay"; 149cdf46cdbSAndy Yan}; 150cdf46cdbSAndy Yan 151cdf46cdbSAndy Yan&cpu0 { 152cdf46cdbSAndy Yan cpu-supply = <&vdd_cpu>; 153cdf46cdbSAndy Yan}; 154cdf46cdbSAndy Yan 155cdf46cdbSAndy Yan&cpu1 { 156cdf46cdbSAndy Yan cpu-supply = <&vdd_cpu>; 157cdf46cdbSAndy Yan}; 158cdf46cdbSAndy Yan 159cdf46cdbSAndy Yan&cpu2 { 160cdf46cdbSAndy Yan cpu-supply = <&vdd_cpu>; 161cdf46cdbSAndy Yan}; 162cdf46cdbSAndy Yan 163cdf46cdbSAndy Yan&cpu3 { 164cdf46cdbSAndy Yan cpu-supply = <&vdd_cpu>; 165cdf46cdbSAndy Yan}; 166cdf46cdbSAndy Yan 167cdf46cdbSAndy Yan&gpu { 168cdf46cdbSAndy Yan mali-supply = <&vdd_gpu>; 169cdf46cdbSAndy Yan status = "okay"; 170cdf46cdbSAndy Yan}; 171cdf46cdbSAndy Yan 172cdf46cdbSAndy Yan&hdmi { 173cdf46cdbSAndy Yan avdd-0v9-supply = <&vdda0v9_image>; 174cdf46cdbSAndy Yan avdd-1v8-supply = <&vcca1v8_image>; 175cdf46cdbSAndy Yan status = "okay"; 176cdf46cdbSAndy Yan}; 177cdf46cdbSAndy Yan 178cdf46cdbSAndy Yan&hdmi_in { 179cdf46cdbSAndy Yan hdmi_in_vp0: endpoint { 180cdf46cdbSAndy Yan remote-endpoint = <&vp0_out_hdmi>; 181cdf46cdbSAndy Yan }; 182cdf46cdbSAndy Yan}; 183cdf46cdbSAndy Yan 184cdf46cdbSAndy Yan&hdmi_out { 185cdf46cdbSAndy Yan hdmi_out_con: endpoint { 186cdf46cdbSAndy Yan remote-endpoint = <&hdmi_con_in>; 187cdf46cdbSAndy Yan }; 188cdf46cdbSAndy Yan}; 189cdf46cdbSAndy Yan 190cdf46cdbSAndy Yan&hdmi_sound { 191cdf46cdbSAndy Yan status = "okay"; 192cdf46cdbSAndy Yan}; 193cdf46cdbSAndy Yan 194cdf46cdbSAndy Yan&i2c0 { 195cdf46cdbSAndy Yan status = "okay"; 196cdf46cdbSAndy Yan 197cdf46cdbSAndy Yan vdd_cpu: regulator@1c { 198cdf46cdbSAndy Yan compatible = "tcs,tcs4525"; 199cdf46cdbSAndy Yan reg = <0x1c>; 200cdf46cdbSAndy Yan fcs,suspend-voltage-selector = <1>; 201cdf46cdbSAndy Yan regulator-name = "vdd_cpu"; 202cdf46cdbSAndy Yan regulator-always-on; 203cdf46cdbSAndy Yan regulator-boot-on; 204cdf46cdbSAndy Yan regulator-min-microvolt = <800000>; 205cdf46cdbSAndy Yan regulator-max-microvolt = <1150000>; 206cdf46cdbSAndy Yan regulator-ramp-delay = <2300>; 207cdf46cdbSAndy Yan vin-supply = <&vcc5v0_sys>; 208cdf46cdbSAndy Yan 209cdf46cdbSAndy Yan regulator-state-mem { 210cdf46cdbSAndy Yan regulator-off-in-suspend; 211cdf46cdbSAndy Yan }; 212cdf46cdbSAndy Yan }; 213cdf46cdbSAndy Yan 214cdf46cdbSAndy Yan rk809: pmic@20 { 215cdf46cdbSAndy Yan compatible = "rockchip,rk809"; 216cdf46cdbSAndy Yan reg = <0x20>; 217cdf46cdbSAndy Yan interrupt-parent = <&gpio0>; 218cdf46cdbSAndy Yan interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>; 219cdf46cdbSAndy Yan assigned-clocks = <&cru I2S1_MCLKOUT_TX>; 220cdf46cdbSAndy Yan assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; 221cdf46cdbSAndy Yan #clock-cells = <1>; 222cdf46cdbSAndy Yan clock-names = "mclk"; 223cdf46cdbSAndy Yan clocks = <&cru I2S1_MCLKOUT_TX>; 224cdf46cdbSAndy Yan pinctrl-names = "default"; 225cdf46cdbSAndy Yan pinctrl-0 = <&pmic_int>; 226b99ac7e2SDiederik de Haas system-power-controller; 227cdf46cdbSAndy Yan #sound-dai-cells = <0>; 228cdf46cdbSAndy Yan vcc1-supply = <&vcc3v3_sys>; 229cdf46cdbSAndy Yan vcc2-supply = <&vcc3v3_sys>; 230cdf46cdbSAndy Yan vcc3-supply = <&vcc3v3_sys>; 231cdf46cdbSAndy Yan vcc4-supply = <&vcc3v3_sys>; 232cdf46cdbSAndy Yan vcc5-supply = <&vcc3v3_sys>; 233cdf46cdbSAndy Yan vcc6-supply = <&vcc3v3_sys>; 234cdf46cdbSAndy Yan vcc7-supply = <&vcc3v3_sys>; 235cdf46cdbSAndy Yan vcc8-supply = <&vcc3v3_sys>; 236cdf46cdbSAndy Yan vcc9-supply = <&vcc3v3_sys>; 237cdf46cdbSAndy Yan wakeup-source; 238cdf46cdbSAndy Yan 239cdf46cdbSAndy Yan regulators { 240cdf46cdbSAndy Yan vdd_logic: DCDC_REG1 { 241cdf46cdbSAndy Yan regulator-name = "vdd_logic"; 242cdf46cdbSAndy Yan regulator-always-on; 243cdf46cdbSAndy Yan regulator-boot-on; 244cdf46cdbSAndy Yan regulator-min-microvolt = <500000>; 245cdf46cdbSAndy Yan regulator-max-microvolt = <1350000>; 246cdf46cdbSAndy Yan regulator-ramp-delay = <6001>; 247cdf46cdbSAndy Yan regulator-initial-mode = <0x2>; 248cdf46cdbSAndy Yan 249cdf46cdbSAndy Yan regulator-state-mem { 250cdf46cdbSAndy Yan regulator-off-in-suspend; 251cdf46cdbSAndy Yan }; 252cdf46cdbSAndy Yan }; 253cdf46cdbSAndy Yan 254cdf46cdbSAndy Yan vdd_gpu: DCDC_REG2 { 255cdf46cdbSAndy Yan regulator-name = "vdd_gpu"; 256cdf46cdbSAndy Yan regulator-always-on; 257cdf46cdbSAndy Yan regulator-boot-on; 258cdf46cdbSAndy Yan regulator-min-microvolt = <500000>; 259cdf46cdbSAndy Yan regulator-max-microvolt = <1350000>; 260cdf46cdbSAndy Yan regulator-ramp-delay = <6001>; 261cdf46cdbSAndy Yan regulator-initial-mode = <0x2>; 262cdf46cdbSAndy Yan 263cdf46cdbSAndy Yan regulator-state-mem { 264cdf46cdbSAndy Yan regulator-off-in-suspend; 265cdf46cdbSAndy Yan }; 266cdf46cdbSAndy Yan }; 267cdf46cdbSAndy Yan 268cdf46cdbSAndy Yan vcc_ddr: DCDC_REG3 { 269cdf46cdbSAndy Yan regulator-name = "vcc_ddr"; 270cdf46cdbSAndy Yan regulator-always-on; 271cdf46cdbSAndy Yan regulator-boot-on; 272cdf46cdbSAndy Yan regulator-initial-mode = <0x2>; 273cdf46cdbSAndy Yan 274cdf46cdbSAndy Yan regulator-state-mem { 275cdf46cdbSAndy Yan regulator-on-in-suspend; 276cdf46cdbSAndy Yan }; 277cdf46cdbSAndy Yan }; 278cdf46cdbSAndy Yan 279cdf46cdbSAndy Yan vdd_npu: DCDC_REG4 { 280cdf46cdbSAndy Yan regulator-name = "vdd_npu"; 281cdf46cdbSAndy Yan regulator-always-on; 282cdf46cdbSAndy Yan regulator-boot-on; 283cdf46cdbSAndy Yan regulator-min-microvolt = <500000>; 284cdf46cdbSAndy Yan regulator-max-microvolt = <1350000>; 285cdf46cdbSAndy Yan regulator-ramp-delay = <6001>; 286cdf46cdbSAndy Yan regulator-initial-mode = <0x2>; 287cdf46cdbSAndy Yan 288cdf46cdbSAndy Yan regulator-state-mem { 289cdf46cdbSAndy Yan regulator-off-in-suspend; 290cdf46cdbSAndy Yan }; 291cdf46cdbSAndy Yan }; 292cdf46cdbSAndy Yan 293cdf46cdbSAndy Yan vcc_1v8: DCDC_REG5 { 294cdf46cdbSAndy Yan regulator-name = "vcc_1v8"; 295cdf46cdbSAndy Yan regulator-always-on; 296cdf46cdbSAndy Yan regulator-boot-on; 297cdf46cdbSAndy Yan regulator-min-microvolt = <1800000>; 298cdf46cdbSAndy Yan regulator-max-microvolt = <1800000>; 299cdf46cdbSAndy Yan 300cdf46cdbSAndy Yan regulator-state-mem { 301cdf46cdbSAndy Yan regulator-off-in-suspend; 302cdf46cdbSAndy Yan }; 303cdf46cdbSAndy Yan }; 304cdf46cdbSAndy Yan 305cdf46cdbSAndy Yan vdda0v9_image: LDO_REG1 { 306cdf46cdbSAndy Yan regulator-name = "vdda0v9_image"; 307cdf46cdbSAndy Yan regulator-boot-on; 308cdf46cdbSAndy Yan regulator-always-on; 309cdf46cdbSAndy Yan regulator-min-microvolt = <900000>; 310cdf46cdbSAndy Yan regulator-max-microvolt = <900000>; 311cdf46cdbSAndy Yan 312cdf46cdbSAndy Yan regulator-state-mem { 313cdf46cdbSAndy Yan regulator-off-in-suspend; 314cdf46cdbSAndy Yan }; 315cdf46cdbSAndy Yan }; 316cdf46cdbSAndy Yan 317cdf46cdbSAndy Yan vdda_0v9: LDO_REG2 { 318cdf46cdbSAndy Yan regulator-name = "vdda_0v9"; 319cdf46cdbSAndy Yan regulator-always-on; 320cdf46cdbSAndy Yan regulator-boot-on; 321cdf46cdbSAndy Yan regulator-min-microvolt = <900000>; 322cdf46cdbSAndy Yan regulator-max-microvolt = <900000>; 323cdf46cdbSAndy Yan 324cdf46cdbSAndy Yan regulator-state-mem { 325cdf46cdbSAndy Yan regulator-off-in-suspend; 326cdf46cdbSAndy Yan }; 327cdf46cdbSAndy Yan }; 328cdf46cdbSAndy Yan 329cdf46cdbSAndy Yan vdda0v9_pmu: LDO_REG3 { 330cdf46cdbSAndy Yan regulator-name = "vdda0v9_pmu"; 331cdf46cdbSAndy Yan regulator-always-on; 332cdf46cdbSAndy Yan regulator-boot-on; 333cdf46cdbSAndy Yan regulator-min-microvolt = <900000>; 334cdf46cdbSAndy Yan regulator-max-microvolt = <900000>; 335cdf46cdbSAndy Yan 336cdf46cdbSAndy Yan regulator-state-mem { 337cdf46cdbSAndy Yan regulator-on-in-suspend; 338cdf46cdbSAndy Yan regulator-suspend-microvolt = <900000>; 339cdf46cdbSAndy Yan }; 340cdf46cdbSAndy Yan }; 341cdf46cdbSAndy Yan 342cdf46cdbSAndy Yan vccio_acodec: LDO_REG4 { 343cdf46cdbSAndy Yan regulator-name = "vccio_acodec"; 344cdf46cdbSAndy Yan regulator-always-on; 345cdf46cdbSAndy Yan regulator-boot-on; 346cdf46cdbSAndy Yan regulator-min-microvolt = <3300000>; 347cdf46cdbSAndy Yan regulator-max-microvolt = <3300000>; 348cdf46cdbSAndy Yan 349cdf46cdbSAndy Yan regulator-state-mem { 350cdf46cdbSAndy Yan regulator-off-in-suspend; 351cdf46cdbSAndy Yan }; 352cdf46cdbSAndy Yan }; 353cdf46cdbSAndy Yan 354cdf46cdbSAndy Yan vccio_sd: LDO_REG5 { 355cdf46cdbSAndy Yan regulator-name = "vccio_sd"; 356cdf46cdbSAndy Yan regulator-always-on; 357cdf46cdbSAndy Yan regulator-boot-on; 358cdf46cdbSAndy Yan regulator-min-microvolt = <1800000>; 359cdf46cdbSAndy Yan regulator-max-microvolt = <3300000>; 360cdf46cdbSAndy Yan 361cdf46cdbSAndy Yan regulator-state-mem { 362cdf46cdbSAndy Yan regulator-off-in-suspend; 363cdf46cdbSAndy Yan }; 364cdf46cdbSAndy Yan }; 365cdf46cdbSAndy Yan 366cdf46cdbSAndy Yan vcc3v3_pmu: LDO_REG6 { 367cdf46cdbSAndy Yan regulator-name = "vcc3v3_pmu"; 368cdf46cdbSAndy Yan regulator-always-on; 369cdf46cdbSAndy Yan regulator-boot-on; 370cdf46cdbSAndy Yan regulator-min-microvolt = <3300000>; 371cdf46cdbSAndy Yan regulator-max-microvolt = <3300000>; 372cdf46cdbSAndy Yan 373cdf46cdbSAndy Yan regulator-state-mem { 374cdf46cdbSAndy Yan regulator-on-in-suspend; 375cdf46cdbSAndy Yan regulator-suspend-microvolt = <3300000>; 376cdf46cdbSAndy Yan }; 377cdf46cdbSAndy Yan }; 378cdf46cdbSAndy Yan 379cdf46cdbSAndy Yan vcca_1v8: LDO_REG7 { 380cdf46cdbSAndy Yan regulator-name = "vcca_1v8"; 381cdf46cdbSAndy Yan regulator-always-on; 382cdf46cdbSAndy Yan regulator-boot-on; 383cdf46cdbSAndy Yan regulator-min-microvolt = <1800000>; 384cdf46cdbSAndy Yan regulator-max-microvolt = <1800000>; 385cdf46cdbSAndy Yan 386cdf46cdbSAndy Yan regulator-state-mem { 387cdf46cdbSAndy Yan regulator-off-in-suspend; 388cdf46cdbSAndy Yan }; 389cdf46cdbSAndy Yan }; 390cdf46cdbSAndy Yan 391cdf46cdbSAndy Yan vcca1v8_pmu: LDO_REG8 { 392cdf46cdbSAndy Yan regulator-name = "vcca1v8_pmu"; 393cdf46cdbSAndy Yan regulator-always-on; 394cdf46cdbSAndy Yan regulator-boot-on; 395cdf46cdbSAndy Yan regulator-min-microvolt = <1800000>; 396cdf46cdbSAndy Yan regulator-max-microvolt = <1800000>; 397cdf46cdbSAndy Yan 398cdf46cdbSAndy Yan regulator-state-mem { 399cdf46cdbSAndy Yan regulator-on-in-suspend; 400cdf46cdbSAndy Yan regulator-suspend-microvolt = <1800000>; 401cdf46cdbSAndy Yan }; 402cdf46cdbSAndy Yan }; 403cdf46cdbSAndy Yan 404cdf46cdbSAndy Yan vcca1v8_image: LDO_REG9 { 405cdf46cdbSAndy Yan regulator-name = "vcca1v8_image"; 406cdf46cdbSAndy Yan regulator-always-on; 407cdf46cdbSAndy Yan regulator-boot-on; 408cdf46cdbSAndy Yan regulator-min-microvolt = <1800000>; 409cdf46cdbSAndy Yan regulator-max-microvolt = <1800000>; 410cdf46cdbSAndy Yan 411cdf46cdbSAndy Yan regulator-state-mem { 412cdf46cdbSAndy Yan regulator-off-in-suspend; 413cdf46cdbSAndy Yan }; 414cdf46cdbSAndy Yan }; 415cdf46cdbSAndy Yan 416cdf46cdbSAndy Yan vcc_3v3: SWITCH_REG1 { 417cdf46cdbSAndy Yan regulator-name = "vcc_3v3"; 418cdf46cdbSAndy Yan regulator-always-on; 419cdf46cdbSAndy Yan regulator-boot-on; 420cdf46cdbSAndy Yan 421cdf46cdbSAndy Yan regulator-state-mem { 422cdf46cdbSAndy Yan regulator-off-in-suspend; 423cdf46cdbSAndy Yan }; 424cdf46cdbSAndy Yan }; 425cdf46cdbSAndy Yan 426cdf46cdbSAndy Yan vcc3v3_sd: SWITCH_REG2 { 427cdf46cdbSAndy Yan regulator-name = "vcc3v3_sd"; 428cdf46cdbSAndy Yan regulator-always-on; 429cdf46cdbSAndy Yan regulator-boot-on; 430cdf46cdbSAndy Yan 431cdf46cdbSAndy Yan regulator-state-mem { 432cdf46cdbSAndy Yan regulator-off-in-suspend; 433cdf46cdbSAndy Yan }; 434cdf46cdbSAndy Yan }; 435cdf46cdbSAndy Yan }; 436cdf46cdbSAndy Yan }; 437cdf46cdbSAndy Yan}; 438cdf46cdbSAndy Yan 439cdf46cdbSAndy Yan&i2s1_8ch { 440cdf46cdbSAndy Yan rockchip,trcm-sync-tx-only; 441cdf46cdbSAndy Yan status = "okay"; 442cdf46cdbSAndy Yan}; 443cdf46cdbSAndy Yan 444cdf46cdbSAndy Yan&gmac0 { 445cdf46cdbSAndy Yan phy-mode = "rgmii"; 446cdf46cdbSAndy Yan clock_in_out = "output"; 447cdf46cdbSAndy Yan 448cdf46cdbSAndy Yan snps,reset-gpio = <&gpio2 RK_PD3 GPIO_ACTIVE_LOW>; 449cdf46cdbSAndy Yan snps,reset-active-low; 450cdf46cdbSAndy Yan /* Reset time is 20ms, 100ms for rtl8211f */ 451cdf46cdbSAndy Yan snps,reset-delays-us = <0 20000 100000>; 452cdf46cdbSAndy Yan 453cdf46cdbSAndy Yan assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>; 454cdf46cdbSAndy Yan assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>, <&cru CLK_MAC0_2TOP>; 455cdf46cdbSAndy Yan 456cdf46cdbSAndy Yan pinctrl-names = "default"; 457cdf46cdbSAndy Yan pinctrl-0 = <&gmac0_miim 458cdf46cdbSAndy Yan &gmac0_tx_bus2 459cdf46cdbSAndy Yan &gmac0_rx_bus2 460cdf46cdbSAndy Yan &gmac0_rgmii_clk 461cdf46cdbSAndy Yan &gmac0_rgmii_bus>; 462cdf46cdbSAndy Yan 463cdf46cdbSAndy Yan tx_delay = <0x22>; 464cdf46cdbSAndy Yan rx_delay = <0x0e>; 465cdf46cdbSAndy Yan 466cdf46cdbSAndy Yan phy-handle = <&rgmii_phy0>; 467cdf46cdbSAndy Yan status = "okay"; 468cdf46cdbSAndy Yan}; 469cdf46cdbSAndy Yan 470cdf46cdbSAndy Yan&mdio0 { 471cdf46cdbSAndy Yan rgmii_phy0: phy@0 { 472cdf46cdbSAndy Yan compatible = "ethernet-phy-ieee802.3-c22"; 473cdf46cdbSAndy Yan reg = <0x0>; 474cdf46cdbSAndy Yan }; 475cdf46cdbSAndy Yan}; 476cdf46cdbSAndy Yan 477cdf46cdbSAndy Yan&gmac1 { 478cdf46cdbSAndy Yan phy-mode = "rgmii"; 479cdf46cdbSAndy Yan clock_in_out = "output"; 480cdf46cdbSAndy Yan 481cdf46cdbSAndy Yan snps,reset-gpio = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>; 482cdf46cdbSAndy Yan snps,reset-active-low; 483cdf46cdbSAndy Yan /* Reset time is 20ms, 100ms for rtl8211f */ 484cdf46cdbSAndy Yan snps,reset-delays-us = <0 20000 100000>; 485cdf46cdbSAndy Yan 486cdf46cdbSAndy Yan assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>; 487cdf46cdbSAndy Yan assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru CLK_MAC1_2TOP>; 488cdf46cdbSAndy Yan 489cdf46cdbSAndy Yan pinctrl-names = "default"; 490cdf46cdbSAndy Yan pinctrl-0 = <&gmac1m1_miim 491cdf46cdbSAndy Yan &gmac1m1_tx_bus2 492cdf46cdbSAndy Yan &gmac1m1_rx_bus2 493cdf46cdbSAndy Yan &gmac1m1_rgmii_clk 494cdf46cdbSAndy Yan &gmac1m1_rgmii_bus>; 495cdf46cdbSAndy Yan 496cdf46cdbSAndy Yan tx_delay = <0x21>; 497cdf46cdbSAndy Yan rx_delay = <0x0e>; 498cdf46cdbSAndy Yan 499cdf46cdbSAndy Yan phy-handle = <&rgmii_phy1>; 500cdf46cdbSAndy Yan status = "okay"; 501cdf46cdbSAndy Yan}; 502cdf46cdbSAndy Yan 503cdf46cdbSAndy Yan&mdio1 { 504cdf46cdbSAndy Yan rgmii_phy1: phy@0 { 505cdf46cdbSAndy Yan compatible = "ethernet-phy-ieee802.3-c22"; 506cdf46cdbSAndy Yan reg = <0x0>; 507cdf46cdbSAndy Yan }; 508cdf46cdbSAndy Yan}; 509cdf46cdbSAndy Yan 510cdf46cdbSAndy Yan&gic { 511cdf46cdbSAndy Yan mbi-ranges = <94 31>, <229 31>, <289 31>; 512cdf46cdbSAndy Yan}; 513cdf46cdbSAndy Yan 514cdf46cdbSAndy Yan&pcie30phy { 515cdf46cdbSAndy Yan status = "okay"; 516cdf46cdbSAndy Yan}; 517cdf46cdbSAndy Yan 518cdf46cdbSAndy Yan&pcie3x2 { 519cdf46cdbSAndy Yan reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>; 520cdf46cdbSAndy Yan vpcie3v3-supply = <&vcc3v3_m2_pcie>; 521cdf46cdbSAndy Yan status = "okay"; 522cdf46cdbSAndy Yan}; 523cdf46cdbSAndy Yan 524cdf46cdbSAndy Yan&pcie2x1 { 525cdf46cdbSAndy Yan reset-gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>; 526cdf46cdbSAndy Yan vpcie3v3-supply = <&vcc3v3_mini_pcie>; 527cdf46cdbSAndy Yan status = "okay"; 528cdf46cdbSAndy Yan}; 529cdf46cdbSAndy Yan 530cdf46cdbSAndy Yan&pmu_io_domains { 531cdf46cdbSAndy Yan pmuio2-supply = <&vcc3v3_pmu>; 532cdf46cdbSAndy Yan vccio1-supply = <&vccio_acodec>; 533cdf46cdbSAndy Yan vccio3-supply = <&vccio_sd>; 534cdf46cdbSAndy Yan vccio4-supply = <&vcc_1v8>; 535cdf46cdbSAndy Yan vccio5-supply = <&vcc_3v3>; 536cdf46cdbSAndy Yan vccio6-supply = <&vcc_1v8>; 537cdf46cdbSAndy Yan vccio7-supply = <&vcc_3v3>; 538cdf46cdbSAndy Yan status = "okay"; 539cdf46cdbSAndy Yan}; 540cdf46cdbSAndy Yan 541cdf46cdbSAndy Yan&pwm8 { 542cdf46cdbSAndy Yan status = "okay"; 543cdf46cdbSAndy Yan}; 544cdf46cdbSAndy Yan 545cdf46cdbSAndy Yan&pwm9 { 546cdf46cdbSAndy Yan status = "disabled"; 547cdf46cdbSAndy Yan}; 548cdf46cdbSAndy Yan 549cdf46cdbSAndy Yan&pwm10 { 550cdf46cdbSAndy Yan status = "disabled"; 551cdf46cdbSAndy Yan}; 552cdf46cdbSAndy Yan 553cdf46cdbSAndy Yan&pwm14 { 554cdf46cdbSAndy Yan status = "disabled"; 555cdf46cdbSAndy Yan}; 556cdf46cdbSAndy Yan 557cdf46cdbSAndy Yan&spi3 { 558cdf46cdbSAndy Yan pinctrl-0 = <&spi3m1_pins>; 559cdf46cdbSAndy Yan status = "disabled"; 560cdf46cdbSAndy Yan}; 561cdf46cdbSAndy Yan 562cdf46cdbSAndy Yan&uart2 { 563cdf46cdbSAndy Yan status = "okay"; 564cdf46cdbSAndy Yan}; 565cdf46cdbSAndy Yan 566cdf46cdbSAndy Yan&uart3 { 567cdf46cdbSAndy Yan pinctrl-names = "default"; 568cdf46cdbSAndy Yan pinctrl-0 = <&uart3m1_xfer>; 569cdf46cdbSAndy Yan status = "disabled"; 570cdf46cdbSAndy Yan}; 571cdf46cdbSAndy Yan 572cdf46cdbSAndy Yan&saradc { 573cdf46cdbSAndy Yan vref-supply = <&vcca_1v8>; 574cdf46cdbSAndy Yan status = "okay"; 575cdf46cdbSAndy Yan}; 576cdf46cdbSAndy Yan 577cdf46cdbSAndy Yan&tsadc { 578cdf46cdbSAndy Yan rockchip,hw-tshut-mode = <1>; 579cdf46cdbSAndy Yan rockchip,hw-tshut-polarity = <0>; 580cdf46cdbSAndy Yan status = "okay"; 581cdf46cdbSAndy Yan}; 582cdf46cdbSAndy Yan 583cdf46cdbSAndy Yan&sdhci { 584cdf46cdbSAndy Yan assigned-clocks = <&cru BCLK_EMMC>, <&cru TCLK_EMMC>, <&cru CCLK_EMMC>; 585cdf46cdbSAndy Yan assigned-clock-rates = <200000000>, <24000000>, <200000000>; 586cdf46cdbSAndy Yan bus-width = <8>; 587cdf46cdbSAndy Yan max-frequency = <200000000>; 588cdf46cdbSAndy Yan mmc-hs200-1_8v; 589cdf46cdbSAndy Yan non-removable; 590cdf46cdbSAndy Yan pinctrl-names = "default"; 591cdf46cdbSAndy Yan pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd>; 592cdf46cdbSAndy Yan status = "okay"; 593cdf46cdbSAndy Yan}; 594cdf46cdbSAndy Yan 595cdf46cdbSAndy Yan&sdmmc0 { 596cdf46cdbSAndy Yan max-frequency = <150000000>; 597cdf46cdbSAndy Yan no-sdio; 598cdf46cdbSAndy Yan no-mmc; 599cdf46cdbSAndy Yan bus-width = <4>; 600cdf46cdbSAndy Yan cap-mmc-highspeed; 601cdf46cdbSAndy Yan cap-sd-highspeed; 602cdf46cdbSAndy Yan disable-wp; 603cdf46cdbSAndy Yan sd-uhs-sdr104; 604cdf46cdbSAndy Yan vmmc-supply = <&vcc3v3_sd>; 605cdf46cdbSAndy Yan vqmmc-supply = <&vccio_sd>; 606cdf46cdbSAndy Yan pinctrl-names = "default"; 607cdf46cdbSAndy Yan pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; 608cdf46cdbSAndy Yan status = "okay"; 609cdf46cdbSAndy Yan}; 610cdf46cdbSAndy Yan 611cdf46cdbSAndy Yan/* USB OTG/USB Host_1 USB 2.0 Comb */ 612cdf46cdbSAndy Yan&usb2phy0 { 613cdf46cdbSAndy Yan status = "okay"; 614cdf46cdbSAndy Yan}; 615cdf46cdbSAndy Yan 616cdf46cdbSAndy Yan&usb2phy0_host { 617cdf46cdbSAndy Yan phy-supply = <&vcc5v0_usb30_host>; 618cdf46cdbSAndy Yan status = "okay"; 619cdf46cdbSAndy Yan}; 620cdf46cdbSAndy Yan 621cdf46cdbSAndy Yan&usb2phy0_otg { 622cdf46cdbSAndy Yan phy-supply = <&vcc5v0_otg_vbus>; 623cdf46cdbSAndy Yan status = "okay"; 624cdf46cdbSAndy Yan}; 625cdf46cdbSAndy Yan 626cdf46cdbSAndy Yan&usb_host0_ehci { 627cdf46cdbSAndy Yan status = "okay"; 628cdf46cdbSAndy Yan}; 629cdf46cdbSAndy Yan 630cdf46cdbSAndy Yan&usb_host0_ohci { 631cdf46cdbSAndy Yan status = "okay"; 632cdf46cdbSAndy Yan}; 633cdf46cdbSAndy Yan 634cdf46cdbSAndy Yan/* USB Host_2/USB Host_3 USB 2.0 Comb */ 635cdf46cdbSAndy Yan&usb2phy1 { 636cdf46cdbSAndy Yan status = "okay"; 637cdf46cdbSAndy Yan}; 638cdf46cdbSAndy Yan 639cdf46cdbSAndy Yan&usb2phy1_host { 640cdf46cdbSAndy Yan status = "okay"; 641cdf46cdbSAndy Yan}; 642cdf46cdbSAndy Yan 643cdf46cdbSAndy Yan&usb2phy1_otg { 644cdf46cdbSAndy Yan phy-supply = <&vcc5v0_usb20_host>; 645cdf46cdbSAndy Yan status = "okay"; 646cdf46cdbSAndy Yan}; 647cdf46cdbSAndy Yan 648cdf46cdbSAndy Yan&usb_host1_ehci { 649cdf46cdbSAndy Yan status = "okay"; 650cdf46cdbSAndy Yan}; 651cdf46cdbSAndy Yan 652cdf46cdbSAndy Yan&usb_host1_ohci { 653cdf46cdbSAndy Yan status = "okay"; 654cdf46cdbSAndy Yan}; 655cdf46cdbSAndy Yan 656cdf46cdbSAndy Yan/* MULTI_PHY0 For SATA0, USB3.0 OTG Only USB2.0 */ 657cdf46cdbSAndy Yan&usb_host0_xhci { 658cdf46cdbSAndy Yan phys = <&usb2phy0_otg>; 659cdf46cdbSAndy Yan phy-names = "usb2-phy"; 660cdf46cdbSAndy Yan extcon = <&usb2phy0>; 661cdf46cdbSAndy Yan maximum-speed = "high-speed"; 662cdf46cdbSAndy Yan dr_mode = "host"; 663cdf46cdbSAndy Yan status = "okay"; 664cdf46cdbSAndy Yan}; 665cdf46cdbSAndy Yan 666cdf46cdbSAndy Yan&sata0 { 667cdf46cdbSAndy Yan status = "okay"; 668cdf46cdbSAndy Yan}; 669cdf46cdbSAndy Yan 670cdf46cdbSAndy Yan/* USB3.0 Host */ 671cdf46cdbSAndy Yan&usb_host1_xhci { 672cdf46cdbSAndy Yan status = "okay"; 673cdf46cdbSAndy Yan}; 674cdf46cdbSAndy Yan 675cdf46cdbSAndy Yan&vop { 676cdf46cdbSAndy Yan assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; 677cdf46cdbSAndy Yan assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; 678cdf46cdbSAndy Yan status = "okay"; 679cdf46cdbSAndy Yan}; 680cdf46cdbSAndy Yan 681cdf46cdbSAndy Yan&vop_mmu { 682cdf46cdbSAndy Yan status = "okay"; 683cdf46cdbSAndy Yan}; 684cdf46cdbSAndy Yan 685cdf46cdbSAndy Yan&vp0 { 686cdf46cdbSAndy Yan vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 687cdf46cdbSAndy Yan reg = <ROCKCHIP_VOP2_EP_HDMI0>; 688cdf46cdbSAndy Yan remote-endpoint = <&hdmi_in_vp0>; 689cdf46cdbSAndy Yan }; 690cdf46cdbSAndy Yan}; 691cdf46cdbSAndy Yan 692cdf46cdbSAndy Yan&pinctrl { 693cdf46cdbSAndy Yan leds { 694cdf46cdbSAndy Yan user_led_pin: user-status-led-pin { 695cdf46cdbSAndy Yan rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>; 696cdf46cdbSAndy Yan }; 697cdf46cdbSAndy Yan }; 698cdf46cdbSAndy Yan 699cdf46cdbSAndy Yan usb { 700cdf46cdbSAndy Yan vcc5v0_usb20_host_en: vcc5v0-usb20-host-en { 701cdf46cdbSAndy Yan rockchip,pins = <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; 702cdf46cdbSAndy Yan }; 703cdf46cdbSAndy Yan 704cdf46cdbSAndy Yan vcc5v0_usb30_host_en: vcc5v0-usb30-host-en { 705cdf46cdbSAndy Yan rockchip,pins = <0 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; 706cdf46cdbSAndy Yan }; 707cdf46cdbSAndy Yan 708cdf46cdbSAndy Yan vcc5v0_otg_vbus_en: vcc5v0-otg-vbus-en { 709cdf46cdbSAndy Yan rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 710cdf46cdbSAndy Yan }; 711cdf46cdbSAndy Yan }; 712cdf46cdbSAndy Yan 713cdf46cdbSAndy Yan pcie { 714cdf46cdbSAndy Yan vcc3v3_m2_pcie_en: vcc3v3-m2-pcie-en { 715cdf46cdbSAndy Yan rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>; 716cdf46cdbSAndy Yan }; 717cdf46cdbSAndy Yan 718cdf46cdbSAndy Yan vcc3v3_mini_pcie_en: vcc3v3-mini-pcie-en { 719cdf46cdbSAndy Yan rockchip,pins = <3 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>; 720cdf46cdbSAndy Yan }; 721cdf46cdbSAndy Yan }; 722cdf46cdbSAndy Yan 723cdf46cdbSAndy Yan pmic { 724cdf46cdbSAndy Yan pmic_int: pmic-int { 725cdf46cdbSAndy Yan rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 726cdf46cdbSAndy Yan }; 727cdf46cdbSAndy Yan }; 728cdf46cdbSAndy Yan}; 729