// SPDX-License-Identifier: (GPL-2.0 OR MIT) /* * Copyright (C) 2024 Yangyu Chen * Copyright (C) 2025 Hendrik Hamerlinck */ /dts-v1/; #include "k1.dtsi" #include "k1-pinctrl.dtsi" / { model = "OrangePi RV2"; compatible = "xunlong,orangepi-rv2", "spacemit,k1"; aliases { serial0 = &uart0; ethernet0 = ð0; ethernet1 = ð1; mmc0 = &emmc; mmc1 = &sdhci0; }; chosen { stdout-path = "serial0"; }; pcie_vcc3v3: regulator-pcie-vcc3v3 { compatible = "regulator-fixed"; enable-active-high; gpios = <&gpio K1_GPIO(116) GPIO_ACTIVE_HIGH>; regulator-name = "pcie_vcc3v3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; vin-supply = <&vcc_5v0>; }; vcc_5v0: regulator-vcc-5v0 { compatible = "regulator-fixed"; regulator-name = "vcc_5v0"; regulator-always-on; regulator-boot-on; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; }; vcc4v0: regulator-vcc4v0 { compatible = "regulator-fixed"; regulator-name = "vcc4v0"; regulator-always-on; regulator-boot-on; regulator-min-microvolt = <4000000>; regulator-max-microvolt = <4000000>; vin-supply = <&vcc_5v0>; }; vcc5v0_usb30: regulator-vcc5v0-usb30 { compatible = "regulator-fixed"; enable-active-high; gpios = <&gpio K1_GPIO(123) GPIO_ACTIVE_HIGH>; regulator-name = "vcc5v0_usb30"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; vin-supply = <&vcc_5v0>; }; leds { compatible = "gpio-leds"; led1 { label = "sys-led"; gpios = <&gpio K1_GPIO(96) GPIO_ACTIVE_LOW>; linux,default-trigger = "heartbeat"; default-state = "on"; }; }; }; &combo_phy { status = "okay"; }; &emmc { bus-width = <8>; mmc-hs400-1_8v; mmc-hs400-enhanced-strobe; no-sd; no-sdio; non-removable; status = "okay"; }; ð0 { phy-handle = <&rgmii0>; phy-mode = "rgmii-id"; pinctrl-names = "default"; pinctrl-0 = <&gmac0_cfg>; rx-internal-delay-ps = <0>; tx-internal-delay-ps = <0>; status = "okay"; mdio-bus { #address-cells = <0x1>; #size-cells = <0x0>; reset-gpios = <&gpio K1_GPIO(110) GPIO_ACTIVE_LOW>; reset-delay-us = <10000>; reset-post-delay-us = <100000>; rgmii0: phy@1 { reg = <0x1>; motorcomm,auto-sleep-disabled; }; }; }; ð1 { phy-handle = <&rgmii1>; phy-mode = "rgmii-id"; pinctrl-names = "default"; pinctrl-0 = <&gmac1_cfg>; rx-internal-delay-ps = <0>; tx-internal-delay-ps = <250>; status = "okay"; mdio-bus { #address-cells = <0x1>; #size-cells = <0x0>; reset-gpios = <&gpio K1_GPIO(115) GPIO_ACTIVE_LOW>; reset-delay-us = <10000>; reset-post-delay-us = <100000>; rgmii1: phy@1 { reg = <0x1>; motorcomm,auto-sleep-disabled; }; }; }; &pdma { status = "okay"; }; &i2c8 { pinctrl-names = "default"; pinctrl-0 = <&i2c8_cfg>; status = "okay"; pmic@41 { compatible = "spacemit,p1"; reg = <0x41>; interrupts = <64>; vin1-supply = <&vcc4v0>; vin2-supply = <&vcc4v0>; vin3-supply = <&vcc4v0>; vin4-supply = <&vcc4v0>; vin5-supply = <&vcc4v0>; vin6-supply = <&vcc4v0>; aldoin-supply = <&vcc4v0>; dldoin1-supply = <&buck5>; dldoin2-supply = <&buck5>; regulators { buck1 { regulator-min-microvolt = <500000>; regulator-max-microvolt = <3450000>; regulator-ramp-delay = <5000>; regulator-always-on; }; buck2 { regulator-min-microvolt = <500000>; regulator-max-microvolt = <3450000>; regulator-ramp-delay = <5000>; regulator-always-on; }; buck3_1v8: buck3 { regulator-min-microvolt = <500000>; regulator-max-microvolt = <1800000>; regulator-ramp-delay = <5000>; regulator-always-on; }; buck4_3v3: buck4 { regulator-min-microvolt = <500000>; regulator-max-microvolt = <3300000>; regulator-ramp-delay = <5000>; regulator-always-on; }; buck5: buck5 { regulator-min-microvolt = <500000>; regulator-max-microvolt = <3450000>; regulator-ramp-delay = <5000>; regulator-always-on; }; buck6 { regulator-min-microvolt = <500000>; regulator-max-microvolt = <3450000>; regulator-ramp-delay = <5000>; regulator-always-on; }; aldo1: aldo1 { regulator-min-microvolt = <500000>; regulator-max-microvolt = <3400000>; regulator-boot-on; }; aldo2 { /* not connected */ }; aldo3 { /* not connected */ }; aldo4 { /* not connected */ }; dldo1 { regulator-min-microvolt = <500000>; regulator-max-microvolt = <3400000>; regulator-boot-on; }; dldo2 { /* not connected */ }; dldo3 { /* not connected */ }; dldo4 { regulator-min-microvolt = <500000>; regulator-max-microvolt = <3400000>; regulator-always-on; }; dldo5 { regulator-min-microvolt = <500000>; regulator-max-microvolt = <3400000>; }; dldo6 { regulator-min-microvolt = <500000>; regulator-max-microvolt = <3400000>; regulator-always-on; }; dldo7 { /* not connected */ }; }; }; }; &pcie1_phy { pinctrl-names = "default"; pinctrl-0 = <&pcie1_3_cfg>; status = "okay"; }; &pcie1_port { phys = <&pcie1_phy>; vpcie3v3-supply = <&pcie_vcc3v3>; }; &pcie1 { status = "okay"; }; &pcie2_phy { pinctrl-names = "default"; pinctrl-0 = <&pcie2_4_cfg>; status = "okay"; }; &pcie2_port { phys = <&pcie2_phy>; vpcie3v3-supply = <&pcie_vcc3v3>; }; &pcie2 { status = "okay"; }; &qspi { pinctrl-names = "default"; pinctrl-0 = <&qspi_cfg>; status = "okay"; flash@0 { compatible = "jedec,spi-nor"; reg = <0>; spi-max-frequency = <26500000>; spi-rx-bus-width = <4>; spi-tx-bus-width = <4>; vcc-supply = <&buck3_1v8>; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; bootinfo@0 { reg = <0x00000 0x010000>; }; private@10000 { reg = <0x10000 0x010000>; }; fsbl@20000 { reg = <0x20000 0x040000>; }; env@60000 { reg = <0x60000 0x010000>; }; opensbi@70000 { reg = <0x70000 0x030000>; }; uboot@a0000 { reg = <0xa0000 0x760000>; }; }; }; }; &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_2_cfg>; status = "okay"; }; &usbphy2 { status = "okay"; }; &usb_dwc3 { dr_mode = "host"; #address-cells = <1>; #size-cells = <0>; vbus-supply = <&vcc5v0_usb30>; status = "okay"; hub_2_0: hub@1 { compatible = "usb5e3,610"; reg = <0x1>; peer-hub = <&hub_3_0>; vdd-supply = <&vcc_5v0>; }; hub_3_0: hub@2 { compatible = "usb5e3,620"; reg = <0x2>; peer-hub = <&hub_2_0>; vdd-supply = <&vcc_5v0>; }; }; &sdhci0 { pinctrl-names = "default", "uhs"; pinctrl-0 = <&mmc1_cfg>; pinctrl-1 = <&mmc1_uhs_cfg>; bus-width = <4>; cd-gpios = <&gpio K1_GPIO(80) GPIO_ACTIVE_LOW>; no-mmc; no-sdio; disable-wp; cap-sd-highspeed; vmmc-supply = <&buck4_3v3>; vqmmc-supply = <&aldo1>; sd-uhs-sdr25; sd-uhs-sdr50; sd-uhs-sdr104; status = "okay"; };