1f901aaadSFrank Wunderlich// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2f901aaadSFrank Wunderlich/* 3f901aaadSFrank Wunderlich * Author: Frank Wunderlich <frank-w@public-files.de> 4f901aaadSFrank Wunderlich * 5f901aaadSFrank Wunderlich */ 6f901aaadSFrank Wunderlich 7f901aaadSFrank Wunderlich/dts-v1/; 8f901aaadSFrank Wunderlich#include <dt-bindings/gpio/gpio.h> 9f901aaadSFrank Wunderlich#include <dt-bindings/leds/common.h> 10f901aaadSFrank Wunderlich#include <dt-bindings/pinctrl/rockchip.h> 11adecf85cSFrank Wunderlich#include <dt-bindings/soc/rockchip,vop2.h> 12f901aaadSFrank Wunderlich#include "rk3568.dtsi" 13f901aaadSFrank Wunderlich 14f901aaadSFrank Wunderlich/ { 15f901aaadSFrank Wunderlich model = "Bananapi-R2 Pro (RK3568) DDR4 Board"; 16f901aaadSFrank Wunderlich compatible = "rockchip,rk3568-bpi-r2pro", "rockchip,rk3568"; 17f901aaadSFrank Wunderlich 18f901aaadSFrank Wunderlich aliases { 19f901aaadSFrank Wunderlich ethernet0 = &gmac0; 2077047ed7SFrank Wunderlich ethernet1 = &gmac1; 21f901aaadSFrank Wunderlich mmc0 = &sdmmc0; 22f901aaadSFrank Wunderlich mmc1 = &sdhci; 23f901aaadSFrank Wunderlich }; 24f901aaadSFrank Wunderlich 25f901aaadSFrank Wunderlich chosen: chosen { 26f901aaadSFrank Wunderlich stdout-path = "serial2:1500000n8"; 27f901aaadSFrank Wunderlich }; 28f901aaadSFrank Wunderlich 29f901aaadSFrank Wunderlich leds { 30f901aaadSFrank Wunderlich compatible = "gpio-leds"; 31f901aaadSFrank Wunderlich pinctrl-names = "default"; 32f901aaadSFrank Wunderlich pinctrl-0 = <&blue_led_pin &green_led_pin>; 33f901aaadSFrank Wunderlich 34f901aaadSFrank Wunderlich blue_led: led-0 { 35f901aaadSFrank Wunderlich color = <LED_COLOR_ID_BLUE>; 36f901aaadSFrank Wunderlich default-state = "off"; 37f901aaadSFrank Wunderlich function = LED_FUNCTION_STATUS; 38f901aaadSFrank Wunderlich gpios = <&gpio0 RK_PD6 GPIO_ACTIVE_HIGH>; 39f901aaadSFrank Wunderlich }; 40f901aaadSFrank Wunderlich 41f901aaadSFrank Wunderlich green_led: led-1 { 42f901aaadSFrank Wunderlich color = <LED_COLOR_ID_GREEN>; 43f901aaadSFrank Wunderlich default-state = "on"; 44f901aaadSFrank Wunderlich function = LED_FUNCTION_POWER; 45f901aaadSFrank Wunderlich gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>; 46f901aaadSFrank Wunderlich }; 47f901aaadSFrank Wunderlich }; 48f901aaadSFrank Wunderlich 49bc17f2b9SFrank Wunderlich dc_12v: dc-12v-regulator { 50f901aaadSFrank Wunderlich compatible = "regulator-fixed"; 51f901aaadSFrank Wunderlich regulator-name = "dc_12v"; 52f901aaadSFrank Wunderlich regulator-always-on; 53f901aaadSFrank Wunderlich regulator-boot-on; 54f901aaadSFrank Wunderlich regulator-min-microvolt = <12000000>; 55f901aaadSFrank Wunderlich regulator-max-microvolt = <12000000>; 56f901aaadSFrank Wunderlich }; 57f901aaadSFrank Wunderlich 58adecf85cSFrank Wunderlich hdmi-con { 59adecf85cSFrank Wunderlich compatible = "hdmi-connector"; 60adecf85cSFrank Wunderlich type = "a"; 61adecf85cSFrank Wunderlich 62adecf85cSFrank Wunderlich port { 63adecf85cSFrank Wunderlich hdmi_con_in: endpoint { 64adecf85cSFrank Wunderlich remote-endpoint = <&hdmi_out_con>; 65adecf85cSFrank Wunderlich }; 66adecf85cSFrank Wunderlich }; 67adecf85cSFrank Wunderlich }; 68adecf85cSFrank Wunderlich 696e97ac44SAlex Riabchenko ir-receiver { 706e97ac44SAlex Riabchenko compatible = "gpio-ir-receiver"; 716e97ac44SAlex Riabchenko gpios = <&gpio0 RK_PC2 GPIO_ACTIVE_LOW>; 726e97ac44SAlex Riabchenko pinctrl-names = "default"; 736e97ac44SAlex Riabchenko pinctrl-0 = <&ir_receiver_pin>; 746e97ac44SAlex Riabchenko }; 756e97ac44SAlex Riabchenko 76bc17f2b9SFrank Wunderlich vcc3v3_sys: vcc3v3-sys-regulator { 77f901aaadSFrank Wunderlich compatible = "regulator-fixed"; 78f901aaadSFrank Wunderlich regulator-name = "vcc3v3_sys"; 79f901aaadSFrank Wunderlich regulator-always-on; 80f901aaadSFrank Wunderlich regulator-boot-on; 81f901aaadSFrank Wunderlich regulator-min-microvolt = <3300000>; 82f901aaadSFrank Wunderlich regulator-max-microvolt = <3300000>; 83f901aaadSFrank Wunderlich vin-supply = <&dc_12v>; 84f901aaadSFrank Wunderlich }; 85f901aaadSFrank Wunderlich 86bc17f2b9SFrank Wunderlich vcc5v0_sys: vcc5v0-sys-regulator { 87f901aaadSFrank Wunderlich compatible = "regulator-fixed"; 88f901aaadSFrank Wunderlich regulator-name = "vcc5v0_sys"; 89f901aaadSFrank Wunderlich regulator-always-on; 90f901aaadSFrank Wunderlich regulator-boot-on; 91f901aaadSFrank Wunderlich regulator-min-microvolt = <5000000>; 92f901aaadSFrank Wunderlich regulator-max-microvolt = <5000000>; 93f901aaadSFrank Wunderlich vin-supply = <&dc_12v>; 94f901aaadSFrank Wunderlich }; 95f29ffce3SFrank Wunderlich 9686973ae0SFrank Wunderlich pcie30_avdd0v9: pcie30-avdd0v9-regulator { 9786973ae0SFrank Wunderlich compatible = "regulator-fixed"; 9886973ae0SFrank Wunderlich regulator-name = "pcie30_avdd0v9"; 9986973ae0SFrank Wunderlich regulator-always-on; 10086973ae0SFrank Wunderlich regulator-boot-on; 10186973ae0SFrank Wunderlich regulator-min-microvolt = <900000>; 10286973ae0SFrank Wunderlich regulator-max-microvolt = <900000>; 10386973ae0SFrank Wunderlich vin-supply = <&vcc3v3_sys>; 10486973ae0SFrank Wunderlich }; 10586973ae0SFrank Wunderlich 10686973ae0SFrank Wunderlich pcie30_avdd1v8: pcie30-avdd1v8-regulator { 10786973ae0SFrank Wunderlich compatible = "regulator-fixed"; 10886973ae0SFrank Wunderlich regulator-name = "pcie30_avdd1v8"; 10986973ae0SFrank Wunderlich regulator-always-on; 11086973ae0SFrank Wunderlich regulator-boot-on; 11186973ae0SFrank Wunderlich regulator-min-microvolt = <1800000>; 11286973ae0SFrank Wunderlich regulator-max-microvolt = <1800000>; 11386973ae0SFrank Wunderlich vin-supply = <&vcc3v3_sys>; 11486973ae0SFrank Wunderlich }; 11586973ae0SFrank Wunderlich 11686973ae0SFrank Wunderlich /* pi6c pcie clock generator feeds both ports */ 11786973ae0SFrank Wunderlich vcc3v3_pi6c_05: vcc3v3-pi6c-05-regulator { 11886973ae0SFrank Wunderlich compatible = "regulator-fixed"; 11986973ae0SFrank Wunderlich regulator-name = "vcc3v3_pcie"; 12086973ae0SFrank Wunderlich regulator-min-microvolt = <3300000>; 12186973ae0SFrank Wunderlich regulator-max-microvolt = <3300000>; 12286973ae0SFrank Wunderlich enable-active-high; 12386973ae0SFrank Wunderlich gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>; 12486973ae0SFrank Wunderlich startup-delay-us = <200000>; 12586973ae0SFrank Wunderlich vin-supply = <&vcc5v0_sys>; 12686973ae0SFrank Wunderlich }; 12786973ae0SFrank Wunderlich 12886973ae0SFrank Wunderlich /* actually fed by vcc3v3_sys, dependent on pi6c clock generator */ 12986973ae0SFrank Wunderlich vcc3v3_minipcie: vcc3v3-minipcie-regulator { 13086973ae0SFrank Wunderlich compatible = "regulator-fixed"; 13186973ae0SFrank Wunderlich regulator-name = "vcc3v3_minipcie"; 13286973ae0SFrank Wunderlich regulator-min-microvolt = <3300000>; 13386973ae0SFrank Wunderlich regulator-max-microvolt = <3300000>; 13486973ae0SFrank Wunderlich enable-active-high; 13586973ae0SFrank Wunderlich gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>; 13686973ae0SFrank Wunderlich pinctrl-names = "default"; 13786973ae0SFrank Wunderlich pinctrl-0 = <&minipcie_enable_h>; 13886973ae0SFrank Wunderlich startup-delay-us = <50000>; 13986973ae0SFrank Wunderlich vin-supply = <&vcc3v3_pi6c_05>; 14086973ae0SFrank Wunderlich }; 14186973ae0SFrank Wunderlich 14286973ae0SFrank Wunderlich /* actually fed by vcc3v3_sys, dependent on pi6c clock generator */ 14386973ae0SFrank Wunderlich vcc3v3_ngff: vcc3v3-ngff-regulator { 14486973ae0SFrank Wunderlich compatible = "regulator-fixed"; 14586973ae0SFrank Wunderlich regulator-name = "vcc3v3_ngff"; 14686973ae0SFrank Wunderlich regulator-min-microvolt = <3300000>; 14786973ae0SFrank Wunderlich regulator-max-microvolt = <3300000>; 14886973ae0SFrank Wunderlich enable-active-high; 14986973ae0SFrank Wunderlich gpio = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; 15086973ae0SFrank Wunderlich pinctrl-names = "default"; 15186973ae0SFrank Wunderlich pinctrl-0 = <&ngffpcie_enable_h>; 15286973ae0SFrank Wunderlich startup-delay-us = <50000>; 15386973ae0SFrank Wunderlich vin-supply = <&vcc3v3_pi6c_05>; 15486973ae0SFrank Wunderlich }; 15586973ae0SFrank Wunderlich 156bc17f2b9SFrank Wunderlich vcc5v0_usb: vcc5v0-usb-regulator { 157f29ffce3SFrank Wunderlich compatible = "regulator-fixed"; 158f29ffce3SFrank Wunderlich regulator-name = "vcc5v0_usb"; 159f29ffce3SFrank Wunderlich regulator-always-on; 160f29ffce3SFrank Wunderlich regulator-boot-on; 161f29ffce3SFrank Wunderlich regulator-min-microvolt = <5000000>; 162f29ffce3SFrank Wunderlich regulator-max-microvolt = <5000000>; 163f29ffce3SFrank Wunderlich vin-supply = <&dc_12v>; 164f29ffce3SFrank Wunderlich }; 165f29ffce3SFrank Wunderlich 166bc17f2b9SFrank Wunderlich vcc5v0_usb_host: vcc5v0-usb-host-regulator { 167f29ffce3SFrank Wunderlich compatible = "regulator-fixed"; 168f29ffce3SFrank Wunderlich enable-active-high; 169f29ffce3SFrank Wunderlich gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; 170f29ffce3SFrank Wunderlich pinctrl-names = "default"; 171f29ffce3SFrank Wunderlich pinctrl-0 = <&vcc5v0_usb_host_en>; 172f29ffce3SFrank Wunderlich regulator-name = "vcc5v0_usb_host"; 173f29ffce3SFrank Wunderlich regulator-min-microvolt = <5000000>; 174f29ffce3SFrank Wunderlich regulator-max-microvolt = <5000000>; 175f29ffce3SFrank Wunderlich vin-supply = <&vcc5v0_usb>; 176f29ffce3SFrank Wunderlich }; 177f29ffce3SFrank Wunderlich 178bc17f2b9SFrank Wunderlich vcc5v0_usb_otg: vcc5v0-usb-otg-regulator { 179f29ffce3SFrank Wunderlich compatible = "regulator-fixed"; 180f29ffce3SFrank Wunderlich enable-active-high; 181f29ffce3SFrank Wunderlich gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; 182f29ffce3SFrank Wunderlich pinctrl-names = "default"; 183f29ffce3SFrank Wunderlich pinctrl-0 = <&vcc5v0_usb_otg_en>; 184f29ffce3SFrank Wunderlich regulator-name = "vcc5v0_usb_otg"; 185f29ffce3SFrank Wunderlich regulator-min-microvolt = <5000000>; 186f29ffce3SFrank Wunderlich regulator-max-microvolt = <5000000>; 187f29ffce3SFrank Wunderlich vin-supply = <&vcc5v0_usb>; 188f29ffce3SFrank Wunderlich }; 189f29ffce3SFrank Wunderlich}; 190f29ffce3SFrank Wunderlich 191f29ffce3SFrank Wunderlich&combphy0 { 192f29ffce3SFrank Wunderlich /* used for USB3 */ 193f29ffce3SFrank Wunderlich status = "okay"; 194f29ffce3SFrank Wunderlich}; 195f29ffce3SFrank Wunderlich 196f29ffce3SFrank Wunderlich&combphy1 { 197f29ffce3SFrank Wunderlich /* used for USB3 */ 198f29ffce3SFrank Wunderlich status = "okay"; 199f901aaadSFrank Wunderlich}; 200f901aaadSFrank Wunderlich 201551e645fSFrank Wunderlich&combphy2 { 202551e645fSFrank Wunderlich /* used for SATA */ 203551e645fSFrank Wunderlich status = "okay"; 204f901aaadSFrank Wunderlich}; 205f901aaadSFrank Wunderlich 206f901aaadSFrank Wunderlich&gmac0 { 207f901aaadSFrank Wunderlich assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>; 208f901aaadSFrank Wunderlich assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>, <&cru CLK_MAC0_2TOP>; 209f901aaadSFrank Wunderlich clock_in_out = "input"; 210f901aaadSFrank Wunderlich phy-mode = "rgmii"; 211f901aaadSFrank Wunderlich pinctrl-names = "default"; 212f901aaadSFrank Wunderlich pinctrl-0 = <&gmac0_miim 213f901aaadSFrank Wunderlich &gmac0_tx_bus2 214f901aaadSFrank Wunderlich &gmac0_rx_bus2 215f901aaadSFrank Wunderlich &gmac0_rgmii_clk 216f901aaadSFrank Wunderlich &gmac0_rgmii_bus>; 217f901aaadSFrank Wunderlich snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 218f901aaadSFrank Wunderlich snps,reset-active-low; 219f901aaadSFrank Wunderlich /* Reset time is 20ms, 100ms for rtl8211f */ 220f901aaadSFrank Wunderlich snps,reset-delays-us = <0 20000 100000>; 22177047ed7SFrank Wunderlich tx_delay = <0x4f>; 22277047ed7SFrank Wunderlich rx_delay = <0x0f>; 22377047ed7SFrank Wunderlich status = "okay"; 22477047ed7SFrank Wunderlich 22577047ed7SFrank Wunderlich fixed-link { 22677047ed7SFrank Wunderlich speed = <1000>; 22777047ed7SFrank Wunderlich full-duplex; 22877047ed7SFrank Wunderlich pause; 22977047ed7SFrank Wunderlich }; 23077047ed7SFrank Wunderlich}; 23177047ed7SFrank Wunderlich 23277047ed7SFrank Wunderlich&gmac1 { 23377047ed7SFrank Wunderlich assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>; 23477047ed7SFrank Wunderlich assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru CLK_MAC1_2TOP>; 23577047ed7SFrank Wunderlich clock_in_out = "output"; 23677047ed7SFrank Wunderlich phy-handle = <&rgmii_phy1>; 23777047ed7SFrank Wunderlich phy-mode = "rgmii"; 23877047ed7SFrank Wunderlich pinctrl-names = "default"; 23977047ed7SFrank Wunderlich pinctrl-0 = <&gmac1m1_miim 24077047ed7SFrank Wunderlich &gmac1m1_tx_bus2 24177047ed7SFrank Wunderlich &gmac1m1_rx_bus2 24277047ed7SFrank Wunderlich &gmac1m1_rgmii_clk 24377047ed7SFrank Wunderlich &gmac1m1_rgmii_bus>; 24477047ed7SFrank Wunderlich 24577047ed7SFrank Wunderlich snps,reset-gpio = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>; 24677047ed7SFrank Wunderlich snps,reset-active-low; 24777047ed7SFrank Wunderlich /* Reset time is 20ms, 100ms for rtl8211f */ 24877047ed7SFrank Wunderlich snps,reset-delays-us = <0 20000 100000>; 24977047ed7SFrank Wunderlich 250f901aaadSFrank Wunderlich tx_delay = <0x3c>; 251f901aaadSFrank Wunderlich rx_delay = <0x2f>; 25277047ed7SFrank Wunderlich 253f901aaadSFrank Wunderlich status = "okay"; 254f901aaadSFrank Wunderlich}; 255f901aaadSFrank Wunderlich 2561526c3a0SFrank Wunderlich&gpu { 2571526c3a0SFrank Wunderlich mali-supply = <&vdd_gpu>; 2581526c3a0SFrank Wunderlich status = "okay"; 2591526c3a0SFrank Wunderlich}; 2601526c3a0SFrank Wunderlich 261adecf85cSFrank Wunderlich&hdmi { 262adecf85cSFrank Wunderlich avdd-0v9-supply = <&vdda0v9_image>; 263adecf85cSFrank Wunderlich avdd-1v8-supply = <&vcca1v8_image>; 264adecf85cSFrank Wunderlich status = "okay"; 265adecf85cSFrank Wunderlich}; 266adecf85cSFrank Wunderlich 267adecf85cSFrank Wunderlich&hdmi_in { 268adecf85cSFrank Wunderlich hdmi_in_vp0: endpoint { 269adecf85cSFrank Wunderlich remote-endpoint = <&vp0_out_hdmi>; 270adecf85cSFrank Wunderlich }; 271adecf85cSFrank Wunderlich}; 272adecf85cSFrank Wunderlich 273adecf85cSFrank Wunderlich&hdmi_out { 274adecf85cSFrank Wunderlich hdmi_out_con: endpoint { 275adecf85cSFrank Wunderlich remote-endpoint = <&hdmi_con_in>; 276adecf85cSFrank Wunderlich }; 277adecf85cSFrank Wunderlich}; 278adecf85cSFrank Wunderlich 279f48387c0SFrank Wunderlich&hdmi_sound { 280f48387c0SFrank Wunderlich status = "okay"; 281f48387c0SFrank Wunderlich}; 282f48387c0SFrank Wunderlich 283f901aaadSFrank Wunderlich&i2c0 { 284f901aaadSFrank Wunderlich status = "okay"; 285f901aaadSFrank Wunderlich 286f901aaadSFrank Wunderlich rk809: pmic@20 { 287f901aaadSFrank Wunderlich compatible = "rockchip,rk809"; 288f901aaadSFrank Wunderlich reg = <0x20>; 289f901aaadSFrank Wunderlich interrupt-parent = <&gpio0>; 290f901aaadSFrank Wunderlich interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>; 291f901aaadSFrank Wunderlich #clock-cells = <1>; 292f901aaadSFrank Wunderlich pinctrl-names = "default"; 293f901aaadSFrank Wunderlich pinctrl-0 = <&pmic_int>; 294f901aaadSFrank Wunderlich rockchip,system-power-controller; 295f901aaadSFrank Wunderlich vcc1-supply = <&vcc3v3_sys>; 296f901aaadSFrank Wunderlich vcc2-supply = <&vcc3v3_sys>; 297f901aaadSFrank Wunderlich vcc3-supply = <&vcc3v3_sys>; 298f901aaadSFrank Wunderlich vcc4-supply = <&vcc3v3_sys>; 299f901aaadSFrank Wunderlich vcc5-supply = <&vcc3v3_sys>; 300f901aaadSFrank Wunderlich vcc6-supply = <&vcc3v3_sys>; 301f901aaadSFrank Wunderlich vcc7-supply = <&vcc3v3_sys>; 302f901aaadSFrank Wunderlich vcc8-supply = <&vcc3v3_sys>; 303f901aaadSFrank Wunderlich vcc9-supply = <&vcc3v3_sys>; 304f901aaadSFrank Wunderlich wakeup-source; 305f901aaadSFrank Wunderlich 306f901aaadSFrank Wunderlich regulators { 307f901aaadSFrank Wunderlich vdd_logic: DCDC_REG1 { 308f901aaadSFrank Wunderlich regulator-name = "vdd_logic"; 309f901aaadSFrank Wunderlich regulator-always-on; 310f901aaadSFrank Wunderlich regulator-boot-on; 311f901aaadSFrank Wunderlich regulator-initial-mode = <0x2>; 312f901aaadSFrank Wunderlich regulator-min-microvolt = <500000>; 313f901aaadSFrank Wunderlich regulator-max-microvolt = <1350000>; 314f901aaadSFrank Wunderlich regulator-ramp-delay = <6001>; 315f901aaadSFrank Wunderlich 316f901aaadSFrank Wunderlich regulator-state-mem { 317f901aaadSFrank Wunderlich regulator-off-in-suspend; 318f901aaadSFrank Wunderlich }; 319f901aaadSFrank Wunderlich }; 320f901aaadSFrank Wunderlich 321f901aaadSFrank Wunderlich vdd_gpu: DCDC_REG2 { 322f901aaadSFrank Wunderlich regulator-name = "vdd_gpu"; 3232cda3801SFrank Wunderlich regulator-always-on; 324f901aaadSFrank Wunderlich regulator-initial-mode = <0x2>; 325f901aaadSFrank Wunderlich regulator-min-microvolt = <500000>; 326f901aaadSFrank Wunderlich regulator-max-microvolt = <1350000>; 327f901aaadSFrank Wunderlich regulator-ramp-delay = <6001>; 328f901aaadSFrank Wunderlich 329f901aaadSFrank Wunderlich regulator-state-mem { 330f901aaadSFrank Wunderlich regulator-off-in-suspend; 331f901aaadSFrank Wunderlich }; 332f901aaadSFrank Wunderlich }; 333f901aaadSFrank Wunderlich 334f901aaadSFrank Wunderlich vcc_ddr: DCDC_REG3 { 335f901aaadSFrank Wunderlich regulator-name = "vcc_ddr"; 336f901aaadSFrank Wunderlich regulator-always-on; 337f901aaadSFrank Wunderlich regulator-boot-on; 338f901aaadSFrank Wunderlich regulator-initial-mode = <0x2>; 339f901aaadSFrank Wunderlich 340f901aaadSFrank Wunderlich regulator-state-mem { 341f901aaadSFrank Wunderlich regulator-on-in-suspend; 342f901aaadSFrank Wunderlich }; 343f901aaadSFrank Wunderlich }; 344f901aaadSFrank Wunderlich 345f901aaadSFrank Wunderlich vdd_npu: DCDC_REG4 { 346f901aaadSFrank Wunderlich regulator-name = "vdd_npu"; 347f901aaadSFrank Wunderlich regulator-initial-mode = <0x2>; 348f901aaadSFrank Wunderlich regulator-min-microvolt = <500000>; 349f901aaadSFrank Wunderlich regulator-max-microvolt = <1350000>; 350f901aaadSFrank Wunderlich regulator-ramp-delay = <6001>; 351f901aaadSFrank Wunderlich 352f901aaadSFrank Wunderlich regulator-state-mem { 353f901aaadSFrank Wunderlich regulator-off-in-suspend; 354f901aaadSFrank Wunderlich }; 355f901aaadSFrank Wunderlich }; 356f901aaadSFrank Wunderlich 357f901aaadSFrank Wunderlich vcc_1v8: DCDC_REG5 { 358f901aaadSFrank Wunderlich regulator-name = "vcc_1v8"; 359f901aaadSFrank Wunderlich regulator-always-on; 360f901aaadSFrank Wunderlich regulator-boot-on; 361f901aaadSFrank Wunderlich regulator-min-microvolt = <1800000>; 362f901aaadSFrank Wunderlich regulator-max-microvolt = <1800000>; 363f901aaadSFrank Wunderlich 364f901aaadSFrank Wunderlich regulator-state-mem { 365f901aaadSFrank Wunderlich regulator-off-in-suspend; 366f901aaadSFrank Wunderlich }; 367f901aaadSFrank Wunderlich }; 368f901aaadSFrank Wunderlich 369f901aaadSFrank Wunderlich vdda0v9_image: LDO_REG1 { 370f901aaadSFrank Wunderlich regulator-name = "vdda0v9_image"; 3712cda3801SFrank Wunderlich regulator-always-on; 372f901aaadSFrank Wunderlich regulator-min-microvolt = <900000>; 373f901aaadSFrank Wunderlich regulator-max-microvolt = <900000>; 374f901aaadSFrank Wunderlich 375f901aaadSFrank Wunderlich regulator-state-mem { 376f901aaadSFrank Wunderlich regulator-off-in-suspend; 377f901aaadSFrank Wunderlich }; 378f901aaadSFrank Wunderlich }; 379f901aaadSFrank Wunderlich 380f901aaadSFrank Wunderlich vdda_0v9: LDO_REG2 { 381f901aaadSFrank Wunderlich regulator-name = "vdda_0v9"; 382f901aaadSFrank Wunderlich regulator-always-on; 383f901aaadSFrank Wunderlich regulator-boot-on; 384f901aaadSFrank Wunderlich regulator-min-microvolt = <900000>; 385f901aaadSFrank Wunderlich regulator-max-microvolt = <900000>; 386f901aaadSFrank Wunderlich 387f901aaadSFrank Wunderlich regulator-state-mem { 388f901aaadSFrank Wunderlich regulator-off-in-suspend; 389f901aaadSFrank Wunderlich }; 390f901aaadSFrank Wunderlich }; 391f901aaadSFrank Wunderlich 392f901aaadSFrank Wunderlich vdda0v9_pmu: LDO_REG3 { 393f901aaadSFrank Wunderlich regulator-name = "vdda0v9_pmu"; 394f901aaadSFrank Wunderlich regulator-always-on; 395f901aaadSFrank Wunderlich regulator-boot-on; 396f901aaadSFrank Wunderlich regulator-min-microvolt = <900000>; 397f901aaadSFrank Wunderlich regulator-max-microvolt = <900000>; 398f901aaadSFrank Wunderlich 399f901aaadSFrank Wunderlich regulator-state-mem { 400f901aaadSFrank Wunderlich regulator-on-in-suspend; 401f901aaadSFrank Wunderlich regulator-suspend-microvolt = <900000>; 402f901aaadSFrank Wunderlich }; 403f901aaadSFrank Wunderlich }; 404f901aaadSFrank Wunderlich 405f901aaadSFrank Wunderlich vccio_acodec: LDO_REG4 { 406f901aaadSFrank Wunderlich regulator-name = "vccio_acodec"; 407f901aaadSFrank Wunderlich regulator-always-on; 408f901aaadSFrank Wunderlich regulator-boot-on; 409f901aaadSFrank Wunderlich regulator-min-microvolt = <3300000>; 410f901aaadSFrank Wunderlich regulator-max-microvolt = <3300000>; 411f901aaadSFrank Wunderlich 412f901aaadSFrank Wunderlich regulator-state-mem { 413f901aaadSFrank Wunderlich regulator-off-in-suspend; 414f901aaadSFrank Wunderlich }; 415f901aaadSFrank Wunderlich }; 416f901aaadSFrank Wunderlich 417f901aaadSFrank Wunderlich vccio_sd: LDO_REG5 { 418f901aaadSFrank Wunderlich regulator-name = "vccio_sd"; 419*9f9d12a8SJose Ignacio Tornos Martinez regulator-always-on; 420*9f9d12a8SJose Ignacio Tornos Martinez regulator-boot-on; 421f901aaadSFrank Wunderlich regulator-min-microvolt = <1800000>; 422f901aaadSFrank Wunderlich regulator-max-microvolt = <3300000>; 423f901aaadSFrank Wunderlich 424f901aaadSFrank Wunderlich regulator-state-mem { 425f901aaadSFrank Wunderlich regulator-off-in-suspend; 426f901aaadSFrank Wunderlich }; 427f901aaadSFrank Wunderlich }; 428f901aaadSFrank Wunderlich 429f901aaadSFrank Wunderlich vcc3v3_pmu: LDO_REG6 { 430f901aaadSFrank Wunderlich regulator-name = "vcc3v3_pmu"; 431f901aaadSFrank Wunderlich regulator-always-on; 432f901aaadSFrank Wunderlich regulator-boot-on; 433f901aaadSFrank Wunderlich regulator-min-microvolt = <3300000>; 434f901aaadSFrank Wunderlich regulator-max-microvolt = <3300000>; 435f901aaadSFrank Wunderlich 436f901aaadSFrank Wunderlich regulator-state-mem { 437f901aaadSFrank Wunderlich regulator-on-in-suspend; 438f901aaadSFrank Wunderlich regulator-suspend-microvolt = <3300000>; 439f901aaadSFrank Wunderlich }; 440f901aaadSFrank Wunderlich }; 441f901aaadSFrank Wunderlich 442f901aaadSFrank Wunderlich vcca_1v8: LDO_REG7 { 443f901aaadSFrank Wunderlich regulator-name = "vcca_1v8"; 444f901aaadSFrank Wunderlich regulator-always-on; 445f901aaadSFrank Wunderlich regulator-boot-on; 446f901aaadSFrank Wunderlich regulator-min-microvolt = <1800000>; 447f901aaadSFrank Wunderlich regulator-max-microvolt = <1800000>; 448f901aaadSFrank Wunderlich 449f901aaadSFrank Wunderlich regulator-state-mem { 450f901aaadSFrank Wunderlich regulator-off-in-suspend; 451f901aaadSFrank Wunderlich }; 452f901aaadSFrank Wunderlich }; 453f901aaadSFrank Wunderlich 454f901aaadSFrank Wunderlich vcca1v8_pmu: LDO_REG8 { 455f901aaadSFrank Wunderlich regulator-name = "vcca1v8_pmu"; 456f901aaadSFrank Wunderlich regulator-always-on; 457f901aaadSFrank Wunderlich regulator-boot-on; 458f901aaadSFrank Wunderlich regulator-min-microvolt = <1800000>; 459f901aaadSFrank Wunderlich regulator-max-microvolt = <1800000>; 460f901aaadSFrank Wunderlich 461f901aaadSFrank Wunderlich regulator-state-mem { 462f901aaadSFrank Wunderlich regulator-on-in-suspend; 463f901aaadSFrank Wunderlich regulator-suspend-microvolt = <1800000>; 464f901aaadSFrank Wunderlich }; 465f901aaadSFrank Wunderlich }; 466f901aaadSFrank Wunderlich 467f901aaadSFrank Wunderlich vcca1v8_image: LDO_REG9 { 468f901aaadSFrank Wunderlich regulator-name = "vcca1v8_image"; 4692cda3801SFrank Wunderlich regulator-always-on; 470f901aaadSFrank Wunderlich regulator-min-microvolt = <1800000>; 471f901aaadSFrank Wunderlich regulator-max-microvolt = <1800000>; 472f901aaadSFrank Wunderlich 473f901aaadSFrank Wunderlich regulator-state-mem { 474f901aaadSFrank Wunderlich regulator-off-in-suspend; 475f901aaadSFrank Wunderlich }; 476f901aaadSFrank Wunderlich }; 477f901aaadSFrank Wunderlich 478f901aaadSFrank Wunderlich vcc_3v3: SWITCH_REG1 { 479f901aaadSFrank Wunderlich regulator-name = "vcc_3v3"; 480f901aaadSFrank Wunderlich regulator-always-on; 481f901aaadSFrank Wunderlich regulator-boot-on; 482f901aaadSFrank Wunderlich 483f901aaadSFrank Wunderlich regulator-state-mem { 484f901aaadSFrank Wunderlich regulator-off-in-suspend; 485f901aaadSFrank Wunderlich }; 486f901aaadSFrank Wunderlich }; 487f901aaadSFrank Wunderlich 488f901aaadSFrank Wunderlich vcc3v3_sd: SWITCH_REG2 { 489f901aaadSFrank Wunderlich regulator-name = "vcc3v3_sd"; 490f901aaadSFrank Wunderlich regulator-always-on; 491f901aaadSFrank Wunderlich 492f901aaadSFrank Wunderlich regulator-state-mem { 493f901aaadSFrank Wunderlich regulator-off-in-suspend; 494f901aaadSFrank Wunderlich }; 495f901aaadSFrank Wunderlich }; 496f901aaadSFrank Wunderlich }; 497f901aaadSFrank Wunderlich }; 498f901aaadSFrank Wunderlich}; 499f901aaadSFrank Wunderlich 500efaa0c13SFrank Wunderlich&i2c3 { 501efaa0c13SFrank Wunderlich status = "okay"; 502efaa0c13SFrank Wunderlich 503efaa0c13SFrank Wunderlich hym8563: rtc@51 { 504efaa0c13SFrank Wunderlich compatible = "haoyu,hym8563"; 505efaa0c13SFrank Wunderlich reg = <0x51>; 506efaa0c13SFrank Wunderlich interrupt-parent = <&gpio0>; 507efaa0c13SFrank Wunderlich interrupts = <RK_PD3 IRQ_TYPE_EDGE_FALLING>; 508efaa0c13SFrank Wunderlich #clock-cells = <0>; 509efaa0c13SFrank Wunderlich clock-output-names = "rtcic_32kout"; 510efaa0c13SFrank Wunderlich pinctrl-names = "default"; 511efaa0c13SFrank Wunderlich pinctrl-0 = <&hym8563_int>; 512efaa0c13SFrank Wunderlich wakeup-source; 513efaa0c13SFrank Wunderlich }; 514efaa0c13SFrank Wunderlich}; 515efaa0c13SFrank Wunderlich 516f901aaadSFrank Wunderlich&i2c5 { 517f901aaadSFrank Wunderlich /* pin 3 (SDA) + 4 (SCL) of header con2 */ 518f901aaadSFrank Wunderlich status = "disabled"; 519f901aaadSFrank Wunderlich}; 520f901aaadSFrank Wunderlich 521f48387c0SFrank Wunderlich&i2s0_8ch { 522f48387c0SFrank Wunderlich /* hdmi sound */ 523f48387c0SFrank Wunderlich status = "okay"; 524f48387c0SFrank Wunderlich}; 525f48387c0SFrank Wunderlich 526c1804463SFrank Wunderlich&mdio0 { 527c1804463SFrank Wunderlich #address-cells = <1>; 528c1804463SFrank Wunderlich #size-cells = <0>; 529c1804463SFrank Wunderlich 53082fe6445SArınç ÜNAL switch@1f { 531c1804463SFrank Wunderlich compatible = "mediatek,mt7531"; 53282fe6445SArınç ÜNAL reg = <0x1f>; 533c1804463SFrank Wunderlich 534c1804463SFrank Wunderlich ports { 535c1804463SFrank Wunderlich #address-cells = <1>; 536c1804463SFrank Wunderlich #size-cells = <0>; 537c1804463SFrank Wunderlich 538c1804463SFrank Wunderlich port@1 { 539c1804463SFrank Wunderlich reg = <1>; 540c1804463SFrank Wunderlich label = "lan0"; 541c1804463SFrank Wunderlich }; 542c1804463SFrank Wunderlich 543c1804463SFrank Wunderlich port@2 { 544c1804463SFrank Wunderlich reg = <2>; 545c1804463SFrank Wunderlich label = "lan1"; 546c1804463SFrank Wunderlich }; 547c1804463SFrank Wunderlich 548c1804463SFrank Wunderlich port@3 { 549c1804463SFrank Wunderlich reg = <3>; 550c1804463SFrank Wunderlich label = "lan2"; 551c1804463SFrank Wunderlich }; 552c1804463SFrank Wunderlich 553c1804463SFrank Wunderlich port@4 { 554c1804463SFrank Wunderlich reg = <4>; 555c1804463SFrank Wunderlich label = "lan3"; 556c1804463SFrank Wunderlich }; 557c1804463SFrank Wunderlich 558c1804463SFrank Wunderlich port@5 { 559c1804463SFrank Wunderlich reg = <5>; 560c1804463SFrank Wunderlich label = "cpu"; 561c1804463SFrank Wunderlich ethernet = <&gmac0>; 562c1804463SFrank Wunderlich phy-mode = "rgmii"; 563c1804463SFrank Wunderlich 564c1804463SFrank Wunderlich fixed-link { 565c1804463SFrank Wunderlich speed = <1000>; 566c1804463SFrank Wunderlich full-duplex; 567c1804463SFrank Wunderlich pause; 568c1804463SFrank Wunderlich }; 569c1804463SFrank Wunderlich }; 570c1804463SFrank Wunderlich }; 571c1804463SFrank Wunderlich }; 572c1804463SFrank Wunderlich}; 573c1804463SFrank Wunderlich 57477047ed7SFrank Wunderlich&mdio1 { 57577047ed7SFrank Wunderlich rgmii_phy1: ethernet-phy@0 { 576f901aaadSFrank Wunderlich compatible = "ethernet-phy-ieee802.3-c22"; 577f901aaadSFrank Wunderlich reg = <0x0>; 578f901aaadSFrank Wunderlich }; 579f901aaadSFrank Wunderlich}; 580f901aaadSFrank Wunderlich 58186973ae0SFrank Wunderlich&pcie30phy { 58286973ae0SFrank Wunderlich data-lanes = <1 2>; 58386973ae0SFrank Wunderlich phy-supply = <&vcc3v3_pi6c_05>; 58486973ae0SFrank Wunderlich status = "okay"; 58586973ae0SFrank Wunderlich}; 58686973ae0SFrank Wunderlich 58786973ae0SFrank Wunderlich&pcie3x1 { 58886973ae0SFrank Wunderlich /* M.2 slot */ 58986973ae0SFrank Wunderlich num-lanes = <1>; 59086973ae0SFrank Wunderlich pinctrl-names = "default"; 59186973ae0SFrank Wunderlich pinctrl-0 = <&ngffpcie_reset_h>; 59286973ae0SFrank Wunderlich reset-gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_HIGH>; 59386973ae0SFrank Wunderlich vpcie3v3-supply = <&vcc3v3_ngff>; 59486973ae0SFrank Wunderlich status = "okay"; 59586973ae0SFrank Wunderlich}; 59686973ae0SFrank Wunderlich 59786973ae0SFrank Wunderlich&pcie3x2 { 59886973ae0SFrank Wunderlich /* mPCIe slot */ 59986973ae0SFrank Wunderlich num-lanes = <1>; 60086973ae0SFrank Wunderlich pinctrl-names = "default"; 60186973ae0SFrank Wunderlich pinctrl-0 = <&minipcie_reset_h>; 60286973ae0SFrank Wunderlich reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>; 60386973ae0SFrank Wunderlich vpcie3v3-supply = <&vcc3v3_minipcie>; 60486973ae0SFrank Wunderlich status = "okay"; 60586973ae0SFrank Wunderlich}; 60686973ae0SFrank Wunderlich 607f901aaadSFrank Wunderlich&pinctrl { 608f901aaadSFrank Wunderlich leds { 609f901aaadSFrank Wunderlich blue_led_pin: blue-led-pin { 610f901aaadSFrank Wunderlich rockchip,pins = <0 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; 611f901aaadSFrank Wunderlich }; 612f901aaadSFrank Wunderlich green_led_pin: green-led-pin { 613f901aaadSFrank Wunderlich rockchip,pins = <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; 614f901aaadSFrank Wunderlich }; 615f901aaadSFrank Wunderlich }; 616f901aaadSFrank Wunderlich 617efaa0c13SFrank Wunderlich hym8563 { 618efaa0c13SFrank Wunderlich hym8563_int: hym8563-int { 619efaa0c13SFrank Wunderlich rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 620efaa0c13SFrank Wunderlich }; 621efaa0c13SFrank Wunderlich }; 622efaa0c13SFrank Wunderlich 6236e97ac44SAlex Riabchenko ir-receiver { 6246e97ac44SAlex Riabchenko ir_receiver_pin: ir-receiver-pin { 6256e97ac44SAlex Riabchenko rockchip,pins = <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; 6266e97ac44SAlex Riabchenko }; 6276e97ac44SAlex Riabchenko }; 6286e97ac44SAlex Riabchenko 62986973ae0SFrank Wunderlich pcie { 63086973ae0SFrank Wunderlich minipcie_enable_h: minipcie-enable-h { 63186973ae0SFrank Wunderlich rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none_drv_level_5>; 63286973ae0SFrank Wunderlich }; 63386973ae0SFrank Wunderlich 63486973ae0SFrank Wunderlich ngffpcie_enable_h: ngffpcie-enable-h { 63586973ae0SFrank Wunderlich rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none_drv_level_5>; 63686973ae0SFrank Wunderlich }; 63786973ae0SFrank Wunderlich 63886973ae0SFrank Wunderlich minipcie_reset_h: minipcie-reset-h { 63986973ae0SFrank Wunderlich rockchip,pins = <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none_drv_level_5>; 64086973ae0SFrank Wunderlich }; 64186973ae0SFrank Wunderlich 64286973ae0SFrank Wunderlich ngffpcie_reset_h: ngffpcie-reset-h { 64386973ae0SFrank Wunderlich rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none_drv_level_5>; 64486973ae0SFrank Wunderlich }; 64586973ae0SFrank Wunderlich }; 64686973ae0SFrank Wunderlich 647f901aaadSFrank Wunderlich pmic { 648f901aaadSFrank Wunderlich pmic_int: pmic_int { 649f901aaadSFrank Wunderlich rockchip,pins = 650f901aaadSFrank Wunderlich <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 651f901aaadSFrank Wunderlich }; 652f901aaadSFrank Wunderlich }; 653f29ffce3SFrank Wunderlich 654f29ffce3SFrank Wunderlich usb { 655f29ffce3SFrank Wunderlich vcc5v0_usb_host_en: vcc5v0_usb_host_en { 656f29ffce3SFrank Wunderlich rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 657f29ffce3SFrank Wunderlich }; 658f29ffce3SFrank Wunderlich 659f29ffce3SFrank Wunderlich vcc5v0_usb_otg_en: vcc5v0_usb_otg_en { 660f29ffce3SFrank Wunderlich rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; 661f29ffce3SFrank Wunderlich }; 662f29ffce3SFrank Wunderlich }; 663f901aaadSFrank Wunderlich}; 664f901aaadSFrank Wunderlich 665f901aaadSFrank Wunderlich&pmu_io_domains { 666f901aaadSFrank Wunderlich pmuio1-supply = <&vcc3v3_pmu>; 667f901aaadSFrank Wunderlich pmuio2-supply = <&vcc3v3_pmu>; 668f901aaadSFrank Wunderlich vccio1-supply = <&vccio_acodec>; 669f901aaadSFrank Wunderlich vccio3-supply = <&vccio_sd>; 6706f277adfSFrank Wunderlich vccio4-supply = <&vcc_3v3>; 671f901aaadSFrank Wunderlich vccio5-supply = <&vcc_3v3>; 6726f277adfSFrank Wunderlich vccio6-supply = <&vcc_1v8>; 673f901aaadSFrank Wunderlich vccio7-supply = <&vcc_3v3>; 674f901aaadSFrank Wunderlich status = "okay"; 675f901aaadSFrank Wunderlich}; 676f901aaadSFrank Wunderlich 677f901aaadSFrank Wunderlich&pwm8 { 678f901aaadSFrank Wunderlich /* fan 5v - gnd - pwm */ 679f901aaadSFrank Wunderlich status = "okay"; 680f901aaadSFrank Wunderlich}; 681f901aaadSFrank Wunderlich 682f901aaadSFrank Wunderlich&pwm10 { 683f901aaadSFrank Wunderlich /* pin 7 of header con2 */ 684f901aaadSFrank Wunderlich status = "disabled"; 685f901aaadSFrank Wunderlich}; 686f901aaadSFrank Wunderlich 687f901aaadSFrank Wunderlich&pwm11 { 688f901aaadSFrank Wunderlich /* pin 15 of header con2 */ 689f901aaadSFrank Wunderlich status = "disabled"; 690f901aaadSFrank Wunderlich}; 691f901aaadSFrank Wunderlich 692f901aaadSFrank Wunderlich&pwm12 { 693f901aaadSFrank Wunderlich /* pin 21 of header con2 */ 694f901aaadSFrank Wunderlich /* shared with uart9 + spi3 */ 695f901aaadSFrank Wunderlich pinctrl-0 = <&pwm12m1_pins>; 696f901aaadSFrank Wunderlich status = "disabled"; 697f901aaadSFrank Wunderlich}; 698f901aaadSFrank Wunderlich 699f901aaadSFrank Wunderlich&pwm13 { 700f901aaadSFrank Wunderlich /* pin 24 of header con2 */ 701f901aaadSFrank Wunderlich /* shared with uart9 */ 702f901aaadSFrank Wunderlich pinctrl-0 = <&pwm13m1_pins>; 703f901aaadSFrank Wunderlich status = "disabled"; 704f901aaadSFrank Wunderlich}; 705f901aaadSFrank Wunderlich 706f901aaadSFrank Wunderlich&pwm14 { 707f901aaadSFrank Wunderlich /* pin 23 of header con2 */ 708f901aaadSFrank Wunderlich /* shared with spi3 */ 709f901aaadSFrank Wunderlich pinctrl-0 = <&pwm14m1_pins>; 710f901aaadSFrank Wunderlich status = "disabled"; 711f901aaadSFrank Wunderlich}; 712f901aaadSFrank Wunderlich 713f901aaadSFrank Wunderlich&pwm15 { 714f901aaadSFrank Wunderlich /* pin 19 of header con2 */ 715f901aaadSFrank Wunderlich /* shared with spi3 */ 716f901aaadSFrank Wunderlich pinctrl-0 = <&pwm15m1_pins>; 717f901aaadSFrank Wunderlich status = "disabled"; 718f901aaadSFrank Wunderlich}; 719f901aaadSFrank Wunderlich 720f901aaadSFrank Wunderlich&saradc { 721f901aaadSFrank Wunderlich vref-supply = <&vcca_1v8>; 722f901aaadSFrank Wunderlich status = "okay"; 723f901aaadSFrank Wunderlich}; 724f901aaadSFrank Wunderlich 725551e645fSFrank Wunderlich&sata2 { 726551e645fSFrank Wunderlich status = "okay"; 727551e645fSFrank Wunderlich}; 728551e645fSFrank Wunderlich 729f901aaadSFrank Wunderlich&sdhci { 730f901aaadSFrank Wunderlich bus-width = <8>; 731f901aaadSFrank Wunderlich max-frequency = <200000000>; 732f901aaadSFrank Wunderlich non-removable; 733f901aaadSFrank Wunderlich pinctrl-names = "default"; 734f901aaadSFrank Wunderlich pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>; 735f901aaadSFrank Wunderlich status = "okay"; 736f901aaadSFrank Wunderlich}; 737f901aaadSFrank Wunderlich 738f901aaadSFrank Wunderlich&sdmmc0 { 739f901aaadSFrank Wunderlich bus-width = <4>; 740f901aaadSFrank Wunderlich cap-sd-highspeed; 741f901aaadSFrank Wunderlich cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; 742f901aaadSFrank Wunderlich disable-wp; 743f901aaadSFrank Wunderlich pinctrl-names = "default"; 744f901aaadSFrank Wunderlich pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; 745f901aaadSFrank Wunderlich sd-uhs-sdr104; 746f901aaadSFrank Wunderlich vmmc-supply = <&vcc3v3_sd>; 747f901aaadSFrank Wunderlich vqmmc-supply = <&vccio_sd>; 748f901aaadSFrank Wunderlich status = "okay"; 749f901aaadSFrank Wunderlich}; 750f901aaadSFrank Wunderlich 751f901aaadSFrank Wunderlich&spi3 { 752f901aaadSFrank Wunderlich /* pin 19 (MO) + 21 (MI) + 23 (CK) of header con2 */ 753f901aaadSFrank Wunderlich /* shared with pwm12/14/15 and uart9 */ 754f901aaadSFrank Wunderlich pinctrl-0 = <&spi3m1_pins>; 755f901aaadSFrank Wunderlich status = "disabled"; 756f901aaadSFrank Wunderlich}; 757f901aaadSFrank Wunderlich 758f901aaadSFrank Wunderlich&tsadc { 759870b4dadSFrank Wunderlich rockchip,hw-tshut-mode = <1>; 760870b4dadSFrank Wunderlich rockchip,hw-tshut-polarity = <0>; 761f901aaadSFrank Wunderlich status = "okay"; 762f901aaadSFrank Wunderlich}; 763f901aaadSFrank Wunderlich 764f901aaadSFrank Wunderlich&uart0 { 765f901aaadSFrank Wunderlich /* pin 8 (TX) + 10 (RX) (RTS:16, CTS:18) of header con2 */ 766f901aaadSFrank Wunderlich status = "disabled"; 767f901aaadSFrank Wunderlich}; 768f901aaadSFrank Wunderlich 769f901aaadSFrank Wunderlich&uart2 { 770f901aaadSFrank Wunderlich /* debug-uart */ 771f901aaadSFrank Wunderlich status = "okay"; 772f901aaadSFrank Wunderlich}; 773f901aaadSFrank Wunderlich 774f901aaadSFrank Wunderlich&uart7 { 775f901aaadSFrank Wunderlich /* pin 11 (TX) + 13 (RX) of header con2 */ 776f901aaadSFrank Wunderlich pinctrl-0 = <&uart7m1_xfer>; 777f901aaadSFrank Wunderlich status = "disabled"; 778f901aaadSFrank Wunderlich}; 779f901aaadSFrank Wunderlich 780f901aaadSFrank Wunderlich&uart9 { 781f901aaadSFrank Wunderlich /* pin 21 (TX) + 24 (RX) of header con2 */ 782f901aaadSFrank Wunderlich /* shared with pwm13 and pwm12/spi3 */ 783f901aaadSFrank Wunderlich pinctrl-0 = <&uart9m1_xfer>; 784f901aaadSFrank Wunderlich status = "disabled"; 785f901aaadSFrank Wunderlich}; 786f29ffce3SFrank Wunderlich 787f29ffce3SFrank Wunderlich&usb_host0_ehci { 788f29ffce3SFrank Wunderlich status = "okay"; 789f29ffce3SFrank Wunderlich}; 790f29ffce3SFrank Wunderlich 791f29ffce3SFrank Wunderlich&usb_host0_ohci { 792f29ffce3SFrank Wunderlich status = "okay"; 793f29ffce3SFrank Wunderlich}; 794f29ffce3SFrank Wunderlich 795f29ffce3SFrank Wunderlich&usb_host0_xhci { 796388f9f0aSFrank Wunderlich dr_mode = "host"; 797f29ffce3SFrank Wunderlich status = "okay"; 798f29ffce3SFrank Wunderlich}; 799f29ffce3SFrank Wunderlich 800f29ffce3SFrank Wunderlich&usb_host1_ehci { 801f29ffce3SFrank Wunderlich status = "okay"; 802f29ffce3SFrank Wunderlich}; 803f29ffce3SFrank Wunderlich 804f29ffce3SFrank Wunderlich&usb_host1_ohci { 805f29ffce3SFrank Wunderlich status = "okay"; 806f29ffce3SFrank Wunderlich}; 807f29ffce3SFrank Wunderlich 808f29ffce3SFrank Wunderlich&usb_host1_xhci { 809f29ffce3SFrank Wunderlich status = "okay"; 810f29ffce3SFrank Wunderlich}; 811f29ffce3SFrank Wunderlich 812f29ffce3SFrank Wunderlich&usb2phy0 { 813f29ffce3SFrank Wunderlich status = "okay"; 814f29ffce3SFrank Wunderlich}; 815f29ffce3SFrank Wunderlich 816f29ffce3SFrank Wunderlich&usb2phy0_host { 817f29ffce3SFrank Wunderlich phy-supply = <&vcc5v0_usb_host>; 818f29ffce3SFrank Wunderlich status = "okay"; 819f29ffce3SFrank Wunderlich}; 820f29ffce3SFrank Wunderlich 821f29ffce3SFrank Wunderlich&usb2phy0_otg { 822f29ffce3SFrank Wunderlich phy-supply = <&vcc5v0_usb_otg>; 823f29ffce3SFrank Wunderlich status = "okay"; 824f29ffce3SFrank Wunderlich}; 825adecf85cSFrank Wunderlich 82686973ae0SFrank Wunderlich&usb2phy1 { 82786973ae0SFrank Wunderlich /* USB for PCIe/M2 */ 82886973ae0SFrank Wunderlich status = "okay"; 82986973ae0SFrank Wunderlich}; 83086973ae0SFrank Wunderlich 83186973ae0SFrank Wunderlich&usb2phy1_host { 83286973ae0SFrank Wunderlich status = "okay"; 83386973ae0SFrank Wunderlich}; 83486973ae0SFrank Wunderlich 83586973ae0SFrank Wunderlich&usb2phy1_otg { 83686973ae0SFrank Wunderlich status = "okay"; 83786973ae0SFrank Wunderlich}; 83886973ae0SFrank Wunderlich 839adecf85cSFrank Wunderlich&vop { 840adecf85cSFrank Wunderlich assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; 841adecf85cSFrank Wunderlich assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; 842adecf85cSFrank Wunderlich status = "okay"; 843adecf85cSFrank Wunderlich}; 844adecf85cSFrank Wunderlich 845adecf85cSFrank Wunderlich&vop_mmu { 846adecf85cSFrank Wunderlich status = "okay"; 847adecf85cSFrank Wunderlich}; 848adecf85cSFrank Wunderlich 849adecf85cSFrank Wunderlich&vp0 { 850adecf85cSFrank Wunderlich vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { 851adecf85cSFrank Wunderlich reg = <ROCKCHIP_VOP2_EP_HDMI0>; 852adecf85cSFrank Wunderlich remote-endpoint = <&hdmi_in_vp0>; 853adecf85cSFrank Wunderlich }; 854adecf85cSFrank Wunderlich}; 855