* [PATCH v4 0/3] Add support for Orange Pi 5 Pro
@ 2026-03-10 3:09 ` dennis
0 siblings, 0 replies; 18+ messages in thread
From: dennis @ 2026-03-10 3:09 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner
Cc: FUKAUMI Naoki, Hsun Lai, Jonas Karlman, Chaoyi Chen, John Clark,
Michael Opdenacker, Quentin Schulz, Andrew Lunn, Chukun Pan,
Alexey Charkov, Peter Robinson, Dennis Gilmore, Michael Riesch,
Mykola Kvach, Jimmy Hon, devicetree, linux-arm-kernel,
linux-rockchip, linux-kernel
From: Dennis Gilmore <dennis@ausil.us>
This series adds initial support for Orange Pi 5 Pro. The network
driver was just added. The only thing missing is the second HDMI port
that is connected via a DP to HDMI adaptor
The series was tested against Linux 7.0-rc2
Please take a look.
Thank you,
Dennis Gilmore
Changes in v4:
- rename vcc3v3_pcie20 copied from rk3588s-orangepi-5.dts to vcc3v3_phy1 to match the schematic
- use vcc_3v3_s3 as the supply not vcc5v0_sys for PCIe
- remove the definition for vcc3v3_pcie_m2 as it does not really exist
as a regulator
- link to v3 https://lore.kernel.org/linux-devicetree/20260306024634.239614-1-dennis@ausil.us/
Changes in v3:
- moved leds from gpio-leds to pwm-leds
- remove disable-wp from sdio
- rename vcc3v3_pcie_eth regulator to vcc3v3_pcie_m2 to reflect the
purppose
- actually clean up the delete lines and comments missed in v2
- link to v2 https://lore.kernel.org/linux-devicetree/20260304025521.210377-1-dennis@ausil.us/
Changes in v2:
- moved items not shared by orangepi 5/5b/5 Pro from dtsi to 5 and 5b
dts files
- removed all the comments and deleted properties from 5 Pro dts
- Link to v1 https://lore.kernel.org/linux-devicetree/20260228205418.2944620-1-dennis@ausil.us/
*** BLURB HERE ***
Dennis Gilmore (3):
dt-bindings: arm: rockchip: Add Orange Pi 5 Pro
arm64: dts: rockchip: refactor items from Orange Pi 5/b to prep for
Pro
arm64: dts: rockchip: Add Orange Pi 5 Pro board support
.../devicetree/bindings/arm/rockchip.yaml | 1 +
arch/arm64/boot/dts/rockchip/Makefile | 1 +
.../dts/rockchip/rk3588s-orangepi-5-pro.dts | 301 ++++++++++++++++++
.../boot/dts/rockchip/rk3588s-orangepi-5.dts | 184 +++++++++++
.../boot/dts/rockchip/rk3588s-orangepi-5.dtsi | 202 +-----------
.../boot/dts/rockchip/rk3588s-orangepi-5b.dts | 181 +++++++++++
6 files changed, 681 insertions(+), 189 deletions(-)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts
--
2.53.0
^ permalink raw reply [flat|nested] 18+ messages in thread* [PATCH v4 0/3] Add support for Orange Pi 5 Pro @ 2026-03-10 3:09 ` dennis 0 siblings, 0 replies; 18+ messages in thread From: dennis @ 2026-03-10 3:09 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner Cc: FUKAUMI Naoki, Hsun Lai, Jonas Karlman, Chaoyi Chen, John Clark, Michael Opdenacker, Quentin Schulz, Andrew Lunn, Chukun Pan, Alexey Charkov, Peter Robinson, Dennis Gilmore, Michael Riesch, Mykola Kvach, Jimmy Hon, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel From: Dennis Gilmore <dennis@ausil.us> This series adds initial support for Orange Pi 5 Pro. The network driver was just added. The only thing missing is the second HDMI port that is connected via a DP to HDMI adaptor The series was tested against Linux 7.0-rc2 Please take a look. Thank you, Dennis Gilmore Changes in v4: - rename vcc3v3_pcie20 copied from rk3588s-orangepi-5.dts to vcc3v3_phy1 to match the schematic - use vcc_3v3_s3 as the supply not vcc5v0_sys for PCIe - remove the definition for vcc3v3_pcie_m2 as it does not really exist as a regulator - link to v3 https://lore.kernel.org/linux-devicetree/20260306024634.239614-1-dennis@ausil.us/ Changes in v3: - moved leds from gpio-leds to pwm-leds - remove disable-wp from sdio - rename vcc3v3_pcie_eth regulator to vcc3v3_pcie_m2 to reflect the purppose - actually clean up the delete lines and comments missed in v2 - link to v2 https://lore.kernel.org/linux-devicetree/20260304025521.210377-1-dennis@ausil.us/ Changes in v2: - moved items not shared by orangepi 5/5b/5 Pro from dtsi to 5 and 5b dts files - removed all the comments and deleted properties from 5 Pro dts - Link to v1 https://lore.kernel.org/linux-devicetree/20260228205418.2944620-1-dennis@ausil.us/ *** BLURB HERE *** Dennis Gilmore (3): dt-bindings: arm: rockchip: Add Orange Pi 5 Pro arm64: dts: rockchip: refactor items from Orange Pi 5/b to prep for Pro arm64: dts: rockchip: Add Orange Pi 5 Pro board support .../devicetree/bindings/arm/rockchip.yaml | 1 + arch/arm64/boot/dts/rockchip/Makefile | 1 + .../dts/rockchip/rk3588s-orangepi-5-pro.dts | 301 ++++++++++++++++++ .../boot/dts/rockchip/rk3588s-orangepi-5.dts | 184 +++++++++++ .../boot/dts/rockchip/rk3588s-orangepi-5.dtsi | 202 +----------- .../boot/dts/rockchip/rk3588s-orangepi-5b.dts | 181 +++++++++++ 6 files changed, 681 insertions(+), 189 deletions(-) create mode 100644 arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts -- 2.53.0 _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v4 1/3] dt-bindings: arm: rockchip: Add Orange Pi 5 Pro 2026-03-10 3:09 ` dennis @ 2026-03-10 3:09 ` dennis -1 siblings, 0 replies; 18+ messages in thread From: dennis @ 2026-03-10 3:09 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner Cc: FUKAUMI Naoki, Hsun Lai, Jonas Karlman, Chaoyi Chen, John Clark, Michael Opdenacker, Quentin Schulz, Andrew Lunn, Chukun Pan, Alexey Charkov, Peter Robinson, Dennis Gilmore, Michael Riesch, Mykola Kvach, Jimmy Hon, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Krzysztof Kozlowski From: Dennis Gilmore <dennis@ausil.us> Add compatible string for the Orange Pi 5 Pro. Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Dennis Gilmore <dennis@ausil.us> --- Documentation/devicetree/bindings/arm/rockchip.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation/devicetree/bindings/arm/rockchip.yaml index ae77ded9fe47..3c6b83a84463 100644 --- a/Documentation/devicetree/bindings/arm/rockchip.yaml +++ b/Documentation/devicetree/bindings/arm/rockchip.yaml @@ -1320,6 +1320,7 @@ properties: items: - enum: - xunlong,orangepi-5 + - xunlong,orangepi-5-pro - xunlong,orangepi-5b - const: rockchip,rk3588s -- 2.53.0 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v4 1/3] dt-bindings: arm: rockchip: Add Orange Pi 5 Pro @ 2026-03-10 3:09 ` dennis 0 siblings, 0 replies; 18+ messages in thread From: dennis @ 2026-03-10 3:09 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner Cc: FUKAUMI Naoki, Hsun Lai, Jonas Karlman, Chaoyi Chen, John Clark, Michael Opdenacker, Quentin Schulz, Andrew Lunn, Chukun Pan, Alexey Charkov, Peter Robinson, Dennis Gilmore, Michael Riesch, Mykola Kvach, Jimmy Hon, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Krzysztof Kozlowski From: Dennis Gilmore <dennis@ausil.us> Add compatible string for the Orange Pi 5 Pro. Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Dennis Gilmore <dennis@ausil.us> --- Documentation/devicetree/bindings/arm/rockchip.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation/devicetree/bindings/arm/rockchip.yaml index ae77ded9fe47..3c6b83a84463 100644 --- a/Documentation/devicetree/bindings/arm/rockchip.yaml +++ b/Documentation/devicetree/bindings/arm/rockchip.yaml @@ -1320,6 +1320,7 @@ properties: items: - enum: - xunlong,orangepi-5 + - xunlong,orangepi-5-pro - xunlong,orangepi-5b - const: rockchip,rk3588s -- 2.53.0 _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v4 2/3] arm64: dts: rockchip: refactor items from Orange Pi 5/b to prep for Pro 2026-03-10 3:09 ` dennis @ 2026-03-10 3:10 ` dennis -1 siblings, 0 replies; 18+ messages in thread From: dennis @ 2026-03-10 3:10 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner Cc: FUKAUMI Naoki, Hsun Lai, Jonas Karlman, Chaoyi Chen, John Clark, Michael Opdenacker, Quentin Schulz, Andrew Lunn, Chukun Pan, Alexey Charkov, Peter Robinson, Dennis Gilmore, Michael Riesch, Mykola Kvach, Jimmy Hon, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel From: Dennis Gilmore <dennis@ausil.us> The Orange Pi 5 Pro uses the same SoC and base as the Orange Pi 5 and Orange Pi 5B but has had sound, USB, and leds wired up differently. The boards also use gmac for ethernet where thre Pro has a PCIe attached NIC Signed-off-by: Dennis Gilmore <dennis@ausil.us> --- .../boot/dts/rockchip/rk3588s-orangepi-5.dts | 184 ++++++++++++++++ .../boot/dts/rockchip/rk3588s-orangepi-5.dtsi | 202 ++---------------- .../boot/dts/rockchip/rk3588s-orangepi-5b.dts | 181 ++++++++++++++++ 3 files changed, 378 insertions(+), 189 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dts b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dts index 83b9b6645a1e..a102458d7f6f 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dts @@ -2,12 +2,62 @@ /dts-v1/; +#include <dt-bindings/usb/pd.h> #include "rk3588s-orangepi-5.dtsi" / { model = "Xunlong Orange Pi 5"; compatible = "xunlong,orangepi-5", "rockchip,rk3588s"; + aliases { + ethernet0 = &gmac1; + mmc0 = &sdmmc; + }; + + analog-sound { + compatible = "simple-audio-card"; + pinctrl-names = "default"; + pinctrl-0 = <&hp_detect>; + simple-audio-card,name = "rockchip,es8388"; + simple-audio-card,bitclock-master = <&masterdai>; + simple-audio-card,format = "i2s"; + simple-audio-card,frame-master = <&masterdai>; + simple-audio-card,hp-det-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>; + simple-audio-card,mclk-fs = <256>; + simple-audio-card,routing = + "Headphones", "LOUT1", + "Headphones", "ROUT1", + "LINPUT1", "Microphone Jack", + "RINPUT1", "Microphone Jack", + "LINPUT2", "Onboard Microphone", + "RINPUT2", "Onboard Microphone"; + simple-audio-card,widgets = + "Microphone", "Microphone Jack", + "Microphone", "Onboard Microphone", + "Headphone", "Headphones"; + + simple-audio-card,cpu { + sound-dai = <&i2s1_8ch>; + }; + + masterdai: simple-audio-card,codec { + sound-dai = <&es8388>; + system-clock-frequency = <12288000>; + }; + }; + + pwm-leds { + compatible = "pwm-leds"; + + led { + color = <LED_COLOR_ID_GREEN>; + function = LED_FUNCTION_STATUS; + linux,default-trigger = "heartbeat"; + max-brightness = <255>; + pwms = <&pwm0 0 25000 0>; + }; + }; + vcc3v3_pcie20: regulator-vcc3v3-pcie20 { compatible = "regulator-fixed"; enable-active-high; @@ -21,12 +71,146 @@ vcc3v3_pcie20: regulator-vcc3v3-pcie20 { }; }; +&gmac1 { + clock_in_out = "output"; + phy-handle = <&rgmii_phy1>; + phy-mode = "rgmii-rxid"; + pinctrl-0 = <&gmac1_miim + &gmac1_tx_bus2 + &gmac1_rx_bus2 + &gmac1_rgmii_clk + &gmac1_rgmii_bus>; + pinctrl-names = "default"; + tx_delay = <0x42>; + status = "okay"; +}; + +&i2c6 { + es8388: audio-codec@10 { + compatible = "everest,es8388", "everest,es8328"; + reg = <0x10>; + clocks = <&cru I2S1_8CH_MCLKOUT>; + AVDD-supply = <&vcc_3v3_s0>; + DVDD-supply = <&vcc_1v8_s0>; + HPVDD-supply = <&vcc_3v3_s0>; + PVDD-supply = <&vcc_3v3_s0>; + assigned-clocks = <&cru I2S1_8CH_MCLKOUT>; + assigned-clock-rates = <12288000>; + #sound-dai-cells = <0>; + }; + + usbc0: usb-typec@22 { + compatible = "fcs,fusb302"; + reg = <0x22>; + interrupt-parent = <&gpio0>; + interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&usbc0_int>; + vbus-supply = <&vbus_typec>; + status = "okay"; + + usb_con: connector { + compatible = "usb-c-connector"; + label = "USB-C"; + data-role = "dual"; + op-sink-microwatt = <1000000>; + power-role = "dual"; + sink-pdos = + <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>; + source-pdos = + <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>; + try-power-role = "source"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + usbc0_hs: endpoint { + remote-endpoint = <&usb_host0_xhci_drd_sw>; + }; + }; + + port@1 { + reg = <1>; + usbc0_ss: endpoint { + remote-endpoint = <&usbdp_phy0_typec_ss>; + }; + }; + + port@2 { + reg = <2>; + usbc0_sbu: endpoint { + remote-endpoint = <&usbdp_phy0_typec_sbu>; + }; + }; + }; + }; + }; +}; + +&i2s1_8ch { + rockchip,i2s-tx-route = <3 2 1 0>; + rockchip,i2s-rx-route = <1 3 2 0>; + pinctrl-names = "default"; + pinctrl-0 = <&i2s1m0_sclk + &i2s1m0_mclk + &i2s1m0_lrck + &i2s1m0_sdi1 + &i2s1m0_sdo3>; + status = "okay"; +}; + &pcie2x1l2 { reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>; vpcie3v3-supply = <&vcc3v3_pcie20>; status = "okay"; }; +&pwm0 { + pinctrl-0 = <&pwm0m2_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + &sfc { status = "okay"; }; + +&usb_host0_xhci { + dr_mode = "otg"; + usb-role-switch; + + port { + usb_host0_xhci_drd_sw: endpoint { + remote-endpoint = <&usbc0_hs>; + }; + }; +}; + +&usb_host2_xhci { + status = "okay"; +}; + +&usbdp_phy0 { + mode-switch; + orientation-switch; + sbu1-dc-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; + sbu2-dc-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>; + + port { + #address-cells = <1>; + #size-cells = <0>; + + usbdp_phy0_typec_ss: endpoint@0 { + reg = <0>; + remote-endpoint = <&usbc0_ss>; + }; + + usbdp_phy0_typec_sbu: endpoint@1 { + reg = <1>; + remote-endpoint = <&usbc0_sbu>; + }; + }; +}; diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi index dafad29f9854..7c7276968d95 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi @@ -3,19 +3,13 @@ /dts-v1/; #include <dt-bindings/gpio/gpio.h> -#include <dt-bindings/leds/common.h> #include <dt-bindings/input/input.h> +#include <dt-bindings/leds/common.h> #include <dt-bindings/pinctrl/rockchip.h> #include <dt-bindings/soc/rockchip,vop2.h> -#include <dt-bindings/usb/pd.h> #include "rk3588s.dtsi" / { - aliases { - ethernet0 = &gmac1; - mmc0 = &sdmmc; - }; - chosen { stdout-path = "serial2:1500000n8"; }; @@ -34,38 +28,6 @@ button-recovery { }; }; - analog-sound { - compatible = "simple-audio-card"; - pinctrl-names = "default"; - pinctrl-0 = <&hp_detect>; - simple-audio-card,name = "rockchip,es8388"; - simple-audio-card,bitclock-master = <&masterdai>; - simple-audio-card,format = "i2s"; - simple-audio-card,frame-master = <&masterdai>; - simple-audio-card,hp-det-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>; - simple-audio-card,mclk-fs = <256>; - simple-audio-card,routing = - "Headphones", "LOUT1", - "Headphones", "ROUT1", - "LINPUT1", "Microphone Jack", - "RINPUT1", "Microphone Jack", - "LINPUT2", "Onboard Microphone", - "RINPUT2", "Onboard Microphone"; - simple-audio-card,widgets = - "Microphone", "Microphone Jack", - "Microphone", "Onboard Microphone", - "Headphone", "Headphones"; - - simple-audio-card,cpu { - sound-dai = <&i2s1_8ch>; - }; - - masterdai: simple-audio-card,codec { - sound-dai = <&es8388>; - system-clock-frequency = <12288000>; - }; - }; - hdmi0-con { compatible = "hdmi-connector"; type = "a"; @@ -77,18 +39,6 @@ hdmi0_con_in: endpoint { }; }; - pwm-leds { - compatible = "pwm-leds"; - - led { - color = <LED_COLOR_ID_GREEN>; - function = LED_FUNCTION_STATUS; - linux,default-trigger = "heartbeat"; - max-brightness = <255>; - pwms = <&pwm0 0 25000 0>; - }; - }; - vbus_typec: regulator-vbus-typec { compatible = "regulator-fixed"; enable-active-high; @@ -101,15 +51,6 @@ vbus_typec: regulator-vbus-typec { vin-supply = <&vcc5v0_sys>; }; - vcc5v0_sys: regulator-vcc5v0-sys { - compatible = "regulator-fixed"; - regulator-name = "vcc5v0_sys"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - }; - vcc_3v3_sd_s0: regulator-vcc-3v3-sd-s0 { compatible = "regulator-fixed"; gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_LOW>; @@ -119,6 +60,15 @@ vcc_3v3_sd_s0: regulator-vcc-3v3-sd-s0 { regulator-max-microvolt = <3300000>; vin-supply = <&vcc_3v3_s3>; }; + + vcc5v0_sys: regulator-vcc5v0-sys { + compatible = "regulator-fixed"; + regulator-name = "vcc5v0_sys"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + }; }; &combphy0_ps { @@ -161,20 +111,6 @@ &cpu_l3 { cpu-supply = <&vdd_cpu_lit_s0>; }; -&gmac1 { - clock_in_out = "output"; - phy-handle = <&rgmii_phy1>; - phy-mode = "rgmii-rxid"; - pinctrl-0 = <&gmac1_miim - &gmac1_tx_bus2 - &gmac1_rx_bus2 - &gmac1_rgmii_clk - &gmac1_rgmii_bus>; - pinctrl-names = "default"; - tx_delay = <0x42>; - status = "okay"; -}; - &gpu { mali-supply = <&vdd_gpu_s0>; status = "okay"; @@ -270,69 +206,6 @@ &i2c6 { pinctrl-0 = <&i2c6m3_xfer>; status = "okay"; - es8388: audio-codec@10 { - compatible = "everest,es8388", "everest,es8328"; - reg = <0x10>; - clocks = <&cru I2S1_8CH_MCLKOUT>; - AVDD-supply = <&vcc_3v3_s0>; - DVDD-supply = <&vcc_1v8_s0>; - HPVDD-supply = <&vcc_3v3_s0>; - PVDD-supply = <&vcc_3v3_s0>; - assigned-clocks = <&cru I2S1_8CH_MCLKOUT>; - assigned-clock-rates = <12288000>; - #sound-dai-cells = <0>; - }; - - usbc0: usb-typec@22 { - compatible = "fcs,fusb302"; - reg = <0x22>; - interrupt-parent = <&gpio0>; - interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>; - pinctrl-names = "default"; - pinctrl-0 = <&usbc0_int>; - vbus-supply = <&vbus_typec>; - status = "okay"; - - usb_con: connector { - compatible = "usb-c-connector"; - label = "USB-C"; - data-role = "dual"; - op-sink-microwatt = <1000000>; - power-role = "dual"; - sink-pdos = - <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>; - source-pdos = - <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>; - try-power-role = "source"; - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - reg = <0>; - usbc0_hs: endpoint { - remote-endpoint = <&usb_host0_xhci_drd_sw>; - }; - }; - - port@1 { - reg = <1>; - usbc0_ss: endpoint { - remote-endpoint = <&usbdp_phy0_typec_ss>; - }; - }; - - port@2 { - reg = <2>; - usbc0_sbu: endpoint { - remote-endpoint = <&usbdp_phy0_typec_sbu>; - }; - }; - }; - }; - }; - hym8563: rtc@51 { compatible = "haoyu,hym8563"; reg = <0x51>; @@ -346,18 +219,6 @@ hym8563: rtc@51 { }; }; -&i2s1_8ch { - rockchip,i2s-tx-route = <3 2 1 0>; - rockchip,i2s-rx-route = <1 3 2 0>; - pinctrl-names = "default"; - pinctrl-0 = <&i2s1m0_sclk - &i2s1m0_mclk - &i2s1m0_lrck - &i2s1m0_sdi1 - &i2s1m0_sdo3>; - status = "okay"; -}; - &i2s5_8ch { status = "okay"; }; @@ -404,12 +265,6 @@ typec5v_pwren: typec5v-pwren { }; }; -&pwm0 { - pinctrl-0 = <&pwm0m2_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - &rknn_core_0 { npu-supply = <&vdd_npu_s0>; sram-supply = <&vdd_npu_s0>; @@ -840,29 +695,6 @@ &uart2 { status = "okay"; }; -&usbdp_phy0 { - mode-switch; - orientation-switch; - sbu1-dc-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; - sbu2-dc-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>; - status = "okay"; - - port { - #address-cells = <1>; - #size-cells = <0>; - - usbdp_phy0_typec_ss: endpoint@0 { - reg = <0>; - remote-endpoint = <&usbc0_ss>; - }; - - usbdp_phy0_typec_sbu: endpoint@1 { - reg = <1>; - remote-endpoint = <&usbc0_sbu>; - }; - }; -}; - &usb_host0_ehci { status = "okay"; }; @@ -872,15 +704,7 @@ &usb_host0_ohci { }; &usb_host0_xhci { - dr_mode = "otg"; - usb-role-switch; status = "okay"; - - port { - usb_host0_xhci_drd_sw: endpoint { - remote-endpoint = <&usbc0_hs>; - }; - }; }; &usb_host1_ehci { @@ -891,15 +715,15 @@ &usb_host1_ohci { status = "okay"; }; -&usb_host2_xhci { +&usbdp_phy0 { status = "okay"; }; -&vop_mmu { +&vop { status = "okay"; }; -&vop { +&vop_mmu { status = "okay"; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5b.dts b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5b.dts index d21ec320d295..5acd96969ddf 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5b.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5b.dts @@ -2,6 +2,7 @@ /dts-v1/; +#include <dt-bindings/usb/pd.h> #include "rk3588s-orangepi-5.dtsi" / { @@ -9,11 +10,191 @@ / { compatible = "xunlong,orangepi-5b", "rockchip,rk3588s"; aliases { + ethernet0 = &gmac1; mmc0 = &sdhci; mmc1 = &sdmmc; }; + + analog-sound { + compatible = "simple-audio-card"; + pinctrl-names = "default"; + pinctrl-0 = <&hp_detect>; + simple-audio-card,name = "rockchip,es8388"; + simple-audio-card,bitclock-master = <&masterdai>; + simple-audio-card,format = "i2s"; + simple-audio-card,frame-master = <&masterdai>; + simple-audio-card,hp-det-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>; + simple-audio-card,mclk-fs = <256>; + simple-audio-card,routing = + "Headphones", "LOUT1", + "Headphones", "ROUT1", + "LINPUT1", "Microphone Jack", + "RINPUT1", "Microphone Jack", + "LINPUT2", "Onboard Microphone", + "RINPUT2", "Onboard Microphone"; + simple-audio-card,widgets = + "Microphone", "Microphone Jack", + "Microphone", "Onboard Microphone", + "Headphone", "Headphones"; + + simple-audio-card,cpu { + sound-dai = <&i2s1_8ch>; + }; + + masterdai: simple-audio-card,codec { + sound-dai = <&es8388>; + system-clock-frequency = <12288000>; + }; + }; + + pwm-leds { + compatible = "pwm-leds"; + + led { + color = <LED_COLOR_ID_GREEN>; + function = LED_FUNCTION_STATUS; + linux,default-trigger = "heartbeat"; + max-brightness = <255>; + pwms = <&pwm0 0 25000 0>; + }; + }; + +}; + +&gmac1 { + clock_in_out = "output"; + phy-handle = <&rgmii_phy1>; + phy-mode = "rgmii-rxid"; + pinctrl-0 = <&gmac1_miim + &gmac1_tx_bus2 + &gmac1_rx_bus2 + &gmac1_rgmii_clk + &gmac1_rgmii_bus>; + pinctrl-names = "default"; + tx_delay = <0x42>; + status = "okay"; +}; + +&i2c6 { + es8388: audio-codec@10 { + compatible = "everest,es8388", "everest,es8328"; + reg = <0x10>; + clocks = <&cru I2S1_8CH_MCLKOUT>; + AVDD-supply = <&vcc_3v3_s0>; + DVDD-supply = <&vcc_1v8_s0>; + HPVDD-supply = <&vcc_3v3_s0>; + PVDD-supply = <&vcc_3v3_s0>; + assigned-clocks = <&cru I2S1_8CH_MCLKOUT>; + assigned-clock-rates = <12288000>; + #sound-dai-cells = <0>; + }; + + usbc0: usb-typec@22 { + compatible = "fcs,fusb302"; + reg = <0x22>; + interrupt-parent = <&gpio0>; + interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&usbc0_int>; + vbus-supply = <&vbus_typec>; + status = "okay"; + + usb_con: connector { + compatible = "usb-c-connector"; + label = "USB-C"; + data-role = "dual"; + op-sink-microwatt = <1000000>; + power-role = "dual"; + sink-pdos = + <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>; + source-pdos = + <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>; + try-power-role = "source"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + usbc0_hs: endpoint { + remote-endpoint = <&usb_host0_xhci_drd_sw>; + }; + }; + + port@1 { + reg = <1>; + usbc0_ss: endpoint { + remote-endpoint = <&usbdp_phy0_typec_ss>; + }; + }; + + port@2 { + reg = <2>; + usbc0_sbu: endpoint { + remote-endpoint = <&usbdp_phy0_typec_sbu>; + }; + }; + }; + }; + }; +}; + +&i2s1_8ch { + rockchip,i2s-tx-route = <3 2 1 0>; + rockchip,i2s-rx-route = <1 3 2 0>; + pinctrl-names = "default"; + pinctrl-0 = <&i2s1m0_sclk + &i2s1m0_mclk + &i2s1m0_lrck + &i2s1m0_sdi1 + &i2s1m0_sdo3>; + status = "okay"; +}; + +&pwm0 { + pinctrl-0 = <&pwm0m2_pins>; + pinctrl-names = "default"; + status = "okay"; }; &sdhci { status = "okay"; }; + +&usb_host0_xhci { + dr_mode = "otg"; + usb-role-switch; + + port { + usb_host0_xhci_drd_sw: endpoint { + remote-endpoint = <&usbc0_hs>; + }; + }; +}; + +&usb_host2_xhci { + status = "okay"; +}; + +&usbdp_phy0 { + mode-switch; + orientation-switch; + sbu1-dc-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; + sbu2-dc-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>; + + port { + #address-cells = <1>; + #size-cells = <0>; + + usbdp_phy0_typec_ss: endpoint@0 { + reg = <0>; + remote-endpoint = <&usbc0_ss>; + }; + + usbdp_phy0_typec_sbu: endpoint@1 { + reg = <1>; + remote-endpoint = <&usbc0_sbu>; + }; + }; +}; -- 2.53.0 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v4 2/3] arm64: dts: rockchip: refactor items from Orange Pi 5/b to prep for Pro @ 2026-03-10 3:10 ` dennis 0 siblings, 0 replies; 18+ messages in thread From: dennis @ 2026-03-10 3:10 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner Cc: FUKAUMI Naoki, Hsun Lai, Jonas Karlman, Chaoyi Chen, John Clark, Michael Opdenacker, Quentin Schulz, Andrew Lunn, Chukun Pan, Alexey Charkov, Peter Robinson, Dennis Gilmore, Michael Riesch, Mykola Kvach, Jimmy Hon, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel From: Dennis Gilmore <dennis@ausil.us> The Orange Pi 5 Pro uses the same SoC and base as the Orange Pi 5 and Orange Pi 5B but has had sound, USB, and leds wired up differently. The boards also use gmac for ethernet where thre Pro has a PCIe attached NIC Signed-off-by: Dennis Gilmore <dennis@ausil.us> --- .../boot/dts/rockchip/rk3588s-orangepi-5.dts | 184 ++++++++++++++++ .../boot/dts/rockchip/rk3588s-orangepi-5.dtsi | 202 ++---------------- .../boot/dts/rockchip/rk3588s-orangepi-5b.dts | 181 ++++++++++++++++ 3 files changed, 378 insertions(+), 189 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dts b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dts index 83b9b6645a1e..a102458d7f6f 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dts @@ -2,12 +2,62 @@ /dts-v1/; +#include <dt-bindings/usb/pd.h> #include "rk3588s-orangepi-5.dtsi" / { model = "Xunlong Orange Pi 5"; compatible = "xunlong,orangepi-5", "rockchip,rk3588s"; + aliases { + ethernet0 = &gmac1; + mmc0 = &sdmmc; + }; + + analog-sound { + compatible = "simple-audio-card"; + pinctrl-names = "default"; + pinctrl-0 = <&hp_detect>; + simple-audio-card,name = "rockchip,es8388"; + simple-audio-card,bitclock-master = <&masterdai>; + simple-audio-card,format = "i2s"; + simple-audio-card,frame-master = <&masterdai>; + simple-audio-card,hp-det-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>; + simple-audio-card,mclk-fs = <256>; + simple-audio-card,routing = + "Headphones", "LOUT1", + "Headphones", "ROUT1", + "LINPUT1", "Microphone Jack", + "RINPUT1", "Microphone Jack", + "LINPUT2", "Onboard Microphone", + "RINPUT2", "Onboard Microphone"; + simple-audio-card,widgets = + "Microphone", "Microphone Jack", + "Microphone", "Onboard Microphone", + "Headphone", "Headphones"; + + simple-audio-card,cpu { + sound-dai = <&i2s1_8ch>; + }; + + masterdai: simple-audio-card,codec { + sound-dai = <&es8388>; + system-clock-frequency = <12288000>; + }; + }; + + pwm-leds { + compatible = "pwm-leds"; + + led { + color = <LED_COLOR_ID_GREEN>; + function = LED_FUNCTION_STATUS; + linux,default-trigger = "heartbeat"; + max-brightness = <255>; + pwms = <&pwm0 0 25000 0>; + }; + }; + vcc3v3_pcie20: regulator-vcc3v3-pcie20 { compatible = "regulator-fixed"; enable-active-high; @@ -21,12 +71,146 @@ vcc3v3_pcie20: regulator-vcc3v3-pcie20 { }; }; +&gmac1 { + clock_in_out = "output"; + phy-handle = <&rgmii_phy1>; + phy-mode = "rgmii-rxid"; + pinctrl-0 = <&gmac1_miim + &gmac1_tx_bus2 + &gmac1_rx_bus2 + &gmac1_rgmii_clk + &gmac1_rgmii_bus>; + pinctrl-names = "default"; + tx_delay = <0x42>; + status = "okay"; +}; + +&i2c6 { + es8388: audio-codec@10 { + compatible = "everest,es8388", "everest,es8328"; + reg = <0x10>; + clocks = <&cru I2S1_8CH_MCLKOUT>; + AVDD-supply = <&vcc_3v3_s0>; + DVDD-supply = <&vcc_1v8_s0>; + HPVDD-supply = <&vcc_3v3_s0>; + PVDD-supply = <&vcc_3v3_s0>; + assigned-clocks = <&cru I2S1_8CH_MCLKOUT>; + assigned-clock-rates = <12288000>; + #sound-dai-cells = <0>; + }; + + usbc0: usb-typec@22 { + compatible = "fcs,fusb302"; + reg = <0x22>; + interrupt-parent = <&gpio0>; + interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&usbc0_int>; + vbus-supply = <&vbus_typec>; + status = "okay"; + + usb_con: connector { + compatible = "usb-c-connector"; + label = "USB-C"; + data-role = "dual"; + op-sink-microwatt = <1000000>; + power-role = "dual"; + sink-pdos = + <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>; + source-pdos = + <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>; + try-power-role = "source"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + usbc0_hs: endpoint { + remote-endpoint = <&usb_host0_xhci_drd_sw>; + }; + }; + + port@1 { + reg = <1>; + usbc0_ss: endpoint { + remote-endpoint = <&usbdp_phy0_typec_ss>; + }; + }; + + port@2 { + reg = <2>; + usbc0_sbu: endpoint { + remote-endpoint = <&usbdp_phy0_typec_sbu>; + }; + }; + }; + }; + }; +}; + +&i2s1_8ch { + rockchip,i2s-tx-route = <3 2 1 0>; + rockchip,i2s-rx-route = <1 3 2 0>; + pinctrl-names = "default"; + pinctrl-0 = <&i2s1m0_sclk + &i2s1m0_mclk + &i2s1m0_lrck + &i2s1m0_sdi1 + &i2s1m0_sdo3>; + status = "okay"; +}; + &pcie2x1l2 { reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>; vpcie3v3-supply = <&vcc3v3_pcie20>; status = "okay"; }; +&pwm0 { + pinctrl-0 = <&pwm0m2_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + &sfc { status = "okay"; }; + +&usb_host0_xhci { + dr_mode = "otg"; + usb-role-switch; + + port { + usb_host0_xhci_drd_sw: endpoint { + remote-endpoint = <&usbc0_hs>; + }; + }; +}; + +&usb_host2_xhci { + status = "okay"; +}; + +&usbdp_phy0 { + mode-switch; + orientation-switch; + sbu1-dc-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; + sbu2-dc-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>; + + port { + #address-cells = <1>; + #size-cells = <0>; + + usbdp_phy0_typec_ss: endpoint@0 { + reg = <0>; + remote-endpoint = <&usbc0_ss>; + }; + + usbdp_phy0_typec_sbu: endpoint@1 { + reg = <1>; + remote-endpoint = <&usbc0_sbu>; + }; + }; +}; diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi index dafad29f9854..7c7276968d95 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi @@ -3,19 +3,13 @@ /dts-v1/; #include <dt-bindings/gpio/gpio.h> -#include <dt-bindings/leds/common.h> #include <dt-bindings/input/input.h> +#include <dt-bindings/leds/common.h> #include <dt-bindings/pinctrl/rockchip.h> #include <dt-bindings/soc/rockchip,vop2.h> -#include <dt-bindings/usb/pd.h> #include "rk3588s.dtsi" / { - aliases { - ethernet0 = &gmac1; - mmc0 = &sdmmc; - }; - chosen { stdout-path = "serial2:1500000n8"; }; @@ -34,38 +28,6 @@ button-recovery { }; }; - analog-sound { - compatible = "simple-audio-card"; - pinctrl-names = "default"; - pinctrl-0 = <&hp_detect>; - simple-audio-card,name = "rockchip,es8388"; - simple-audio-card,bitclock-master = <&masterdai>; - simple-audio-card,format = "i2s"; - simple-audio-card,frame-master = <&masterdai>; - simple-audio-card,hp-det-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>; - simple-audio-card,mclk-fs = <256>; - simple-audio-card,routing = - "Headphones", "LOUT1", - "Headphones", "ROUT1", - "LINPUT1", "Microphone Jack", - "RINPUT1", "Microphone Jack", - "LINPUT2", "Onboard Microphone", - "RINPUT2", "Onboard Microphone"; - simple-audio-card,widgets = - "Microphone", "Microphone Jack", - "Microphone", "Onboard Microphone", - "Headphone", "Headphones"; - - simple-audio-card,cpu { - sound-dai = <&i2s1_8ch>; - }; - - masterdai: simple-audio-card,codec { - sound-dai = <&es8388>; - system-clock-frequency = <12288000>; - }; - }; - hdmi0-con { compatible = "hdmi-connector"; type = "a"; @@ -77,18 +39,6 @@ hdmi0_con_in: endpoint { }; }; - pwm-leds { - compatible = "pwm-leds"; - - led { - color = <LED_COLOR_ID_GREEN>; - function = LED_FUNCTION_STATUS; - linux,default-trigger = "heartbeat"; - max-brightness = <255>; - pwms = <&pwm0 0 25000 0>; - }; - }; - vbus_typec: regulator-vbus-typec { compatible = "regulator-fixed"; enable-active-high; @@ -101,15 +51,6 @@ vbus_typec: regulator-vbus-typec { vin-supply = <&vcc5v0_sys>; }; - vcc5v0_sys: regulator-vcc5v0-sys { - compatible = "regulator-fixed"; - regulator-name = "vcc5v0_sys"; - regulator-always-on; - regulator-boot-on; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - }; - vcc_3v3_sd_s0: regulator-vcc-3v3-sd-s0 { compatible = "regulator-fixed"; gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_LOW>; @@ -119,6 +60,15 @@ vcc_3v3_sd_s0: regulator-vcc-3v3-sd-s0 { regulator-max-microvolt = <3300000>; vin-supply = <&vcc_3v3_s3>; }; + + vcc5v0_sys: regulator-vcc5v0-sys { + compatible = "regulator-fixed"; + regulator-name = "vcc5v0_sys"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + }; }; &combphy0_ps { @@ -161,20 +111,6 @@ &cpu_l3 { cpu-supply = <&vdd_cpu_lit_s0>; }; -&gmac1 { - clock_in_out = "output"; - phy-handle = <&rgmii_phy1>; - phy-mode = "rgmii-rxid"; - pinctrl-0 = <&gmac1_miim - &gmac1_tx_bus2 - &gmac1_rx_bus2 - &gmac1_rgmii_clk - &gmac1_rgmii_bus>; - pinctrl-names = "default"; - tx_delay = <0x42>; - status = "okay"; -}; - &gpu { mali-supply = <&vdd_gpu_s0>; status = "okay"; @@ -270,69 +206,6 @@ &i2c6 { pinctrl-0 = <&i2c6m3_xfer>; status = "okay"; - es8388: audio-codec@10 { - compatible = "everest,es8388", "everest,es8328"; - reg = <0x10>; - clocks = <&cru I2S1_8CH_MCLKOUT>; - AVDD-supply = <&vcc_3v3_s0>; - DVDD-supply = <&vcc_1v8_s0>; - HPVDD-supply = <&vcc_3v3_s0>; - PVDD-supply = <&vcc_3v3_s0>; - assigned-clocks = <&cru I2S1_8CH_MCLKOUT>; - assigned-clock-rates = <12288000>; - #sound-dai-cells = <0>; - }; - - usbc0: usb-typec@22 { - compatible = "fcs,fusb302"; - reg = <0x22>; - interrupt-parent = <&gpio0>; - interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>; - pinctrl-names = "default"; - pinctrl-0 = <&usbc0_int>; - vbus-supply = <&vbus_typec>; - status = "okay"; - - usb_con: connector { - compatible = "usb-c-connector"; - label = "USB-C"; - data-role = "dual"; - op-sink-microwatt = <1000000>; - power-role = "dual"; - sink-pdos = - <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>; - source-pdos = - <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>; - try-power-role = "source"; - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - reg = <0>; - usbc0_hs: endpoint { - remote-endpoint = <&usb_host0_xhci_drd_sw>; - }; - }; - - port@1 { - reg = <1>; - usbc0_ss: endpoint { - remote-endpoint = <&usbdp_phy0_typec_ss>; - }; - }; - - port@2 { - reg = <2>; - usbc0_sbu: endpoint { - remote-endpoint = <&usbdp_phy0_typec_sbu>; - }; - }; - }; - }; - }; - hym8563: rtc@51 { compatible = "haoyu,hym8563"; reg = <0x51>; @@ -346,18 +219,6 @@ hym8563: rtc@51 { }; }; -&i2s1_8ch { - rockchip,i2s-tx-route = <3 2 1 0>; - rockchip,i2s-rx-route = <1 3 2 0>; - pinctrl-names = "default"; - pinctrl-0 = <&i2s1m0_sclk - &i2s1m0_mclk - &i2s1m0_lrck - &i2s1m0_sdi1 - &i2s1m0_sdo3>; - status = "okay"; -}; - &i2s5_8ch { status = "okay"; }; @@ -404,12 +265,6 @@ typec5v_pwren: typec5v-pwren { }; }; -&pwm0 { - pinctrl-0 = <&pwm0m2_pins>; - pinctrl-names = "default"; - status = "okay"; -}; - &rknn_core_0 { npu-supply = <&vdd_npu_s0>; sram-supply = <&vdd_npu_s0>; @@ -840,29 +695,6 @@ &uart2 { status = "okay"; }; -&usbdp_phy0 { - mode-switch; - orientation-switch; - sbu1-dc-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; - sbu2-dc-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>; - status = "okay"; - - port { - #address-cells = <1>; - #size-cells = <0>; - - usbdp_phy0_typec_ss: endpoint@0 { - reg = <0>; - remote-endpoint = <&usbc0_ss>; - }; - - usbdp_phy0_typec_sbu: endpoint@1 { - reg = <1>; - remote-endpoint = <&usbc0_sbu>; - }; - }; -}; - &usb_host0_ehci { status = "okay"; }; @@ -872,15 +704,7 @@ &usb_host0_ohci { }; &usb_host0_xhci { - dr_mode = "otg"; - usb-role-switch; status = "okay"; - - port { - usb_host0_xhci_drd_sw: endpoint { - remote-endpoint = <&usbc0_hs>; - }; - }; }; &usb_host1_ehci { @@ -891,15 +715,15 @@ &usb_host1_ohci { status = "okay"; }; -&usb_host2_xhci { +&usbdp_phy0 { status = "okay"; }; -&vop_mmu { +&vop { status = "okay"; }; -&vop { +&vop_mmu { status = "okay"; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5b.dts b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5b.dts index d21ec320d295..5acd96969ddf 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5b.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5b.dts @@ -2,6 +2,7 @@ /dts-v1/; +#include <dt-bindings/usb/pd.h> #include "rk3588s-orangepi-5.dtsi" / { @@ -9,11 +10,191 @@ / { compatible = "xunlong,orangepi-5b", "rockchip,rk3588s"; aliases { + ethernet0 = &gmac1; mmc0 = &sdhci; mmc1 = &sdmmc; }; + + analog-sound { + compatible = "simple-audio-card"; + pinctrl-names = "default"; + pinctrl-0 = <&hp_detect>; + simple-audio-card,name = "rockchip,es8388"; + simple-audio-card,bitclock-master = <&masterdai>; + simple-audio-card,format = "i2s"; + simple-audio-card,frame-master = <&masterdai>; + simple-audio-card,hp-det-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>; + simple-audio-card,mclk-fs = <256>; + simple-audio-card,routing = + "Headphones", "LOUT1", + "Headphones", "ROUT1", + "LINPUT1", "Microphone Jack", + "RINPUT1", "Microphone Jack", + "LINPUT2", "Onboard Microphone", + "RINPUT2", "Onboard Microphone"; + simple-audio-card,widgets = + "Microphone", "Microphone Jack", + "Microphone", "Onboard Microphone", + "Headphone", "Headphones"; + + simple-audio-card,cpu { + sound-dai = <&i2s1_8ch>; + }; + + masterdai: simple-audio-card,codec { + sound-dai = <&es8388>; + system-clock-frequency = <12288000>; + }; + }; + + pwm-leds { + compatible = "pwm-leds"; + + led { + color = <LED_COLOR_ID_GREEN>; + function = LED_FUNCTION_STATUS; + linux,default-trigger = "heartbeat"; + max-brightness = <255>; + pwms = <&pwm0 0 25000 0>; + }; + }; + +}; + +&gmac1 { + clock_in_out = "output"; + phy-handle = <&rgmii_phy1>; + phy-mode = "rgmii-rxid"; + pinctrl-0 = <&gmac1_miim + &gmac1_tx_bus2 + &gmac1_rx_bus2 + &gmac1_rgmii_clk + &gmac1_rgmii_bus>; + pinctrl-names = "default"; + tx_delay = <0x42>; + status = "okay"; +}; + +&i2c6 { + es8388: audio-codec@10 { + compatible = "everest,es8388", "everest,es8328"; + reg = <0x10>; + clocks = <&cru I2S1_8CH_MCLKOUT>; + AVDD-supply = <&vcc_3v3_s0>; + DVDD-supply = <&vcc_1v8_s0>; + HPVDD-supply = <&vcc_3v3_s0>; + PVDD-supply = <&vcc_3v3_s0>; + assigned-clocks = <&cru I2S1_8CH_MCLKOUT>; + assigned-clock-rates = <12288000>; + #sound-dai-cells = <0>; + }; + + usbc0: usb-typec@22 { + compatible = "fcs,fusb302"; + reg = <0x22>; + interrupt-parent = <&gpio0>; + interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&usbc0_int>; + vbus-supply = <&vbus_typec>; + status = "okay"; + + usb_con: connector { + compatible = "usb-c-connector"; + label = "USB-C"; + data-role = "dual"; + op-sink-microwatt = <1000000>; + power-role = "dual"; + sink-pdos = + <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>; + source-pdos = + <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>; + try-power-role = "source"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + usbc0_hs: endpoint { + remote-endpoint = <&usb_host0_xhci_drd_sw>; + }; + }; + + port@1 { + reg = <1>; + usbc0_ss: endpoint { + remote-endpoint = <&usbdp_phy0_typec_ss>; + }; + }; + + port@2 { + reg = <2>; + usbc0_sbu: endpoint { + remote-endpoint = <&usbdp_phy0_typec_sbu>; + }; + }; + }; + }; + }; +}; + +&i2s1_8ch { + rockchip,i2s-tx-route = <3 2 1 0>; + rockchip,i2s-rx-route = <1 3 2 0>; + pinctrl-names = "default"; + pinctrl-0 = <&i2s1m0_sclk + &i2s1m0_mclk + &i2s1m0_lrck + &i2s1m0_sdi1 + &i2s1m0_sdo3>; + status = "okay"; +}; + +&pwm0 { + pinctrl-0 = <&pwm0m2_pins>; + pinctrl-names = "default"; + status = "okay"; }; &sdhci { status = "okay"; }; + +&usb_host0_xhci { + dr_mode = "otg"; + usb-role-switch; + + port { + usb_host0_xhci_drd_sw: endpoint { + remote-endpoint = <&usbc0_hs>; + }; + }; +}; + +&usb_host2_xhci { + status = "okay"; +}; + +&usbdp_phy0 { + mode-switch; + orientation-switch; + sbu1-dc-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; + sbu2-dc-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>; + + port { + #address-cells = <1>; + #size-cells = <0>; + + usbdp_phy0_typec_ss: endpoint@0 { + reg = <0>; + remote-endpoint = <&usbc0_ss>; + }; + + usbdp_phy0_typec_sbu: endpoint@1 { + reg = <1>; + remote-endpoint = <&usbc0_sbu>; + }; + }; +}; -- 2.53.0 _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v4 3/3] arm64: dts: rockchip: Add Orange Pi 5 Pro board support 2026-03-10 3:09 ` dennis @ 2026-03-10 3:10 ` dennis -1 siblings, 0 replies; 18+ messages in thread From: dennis @ 2026-03-10 3:10 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner Cc: FUKAUMI Naoki, Hsun Lai, Jonas Karlman, Chaoyi Chen, John Clark, Michael Opdenacker, Quentin Schulz, Andrew Lunn, Chukun Pan, Alexey Charkov, Peter Robinson, Dennis Gilmore, Michael Riesch, Mykola Kvach, Jimmy Hon, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel From: Dennis Gilmore <dennis@ausil.us> Add device tree for the Xunlong Orange Pi 5 Pro (RK3588S). - eMMC module, you can optionally solder a SPI NOR in place and turn off the eMMC - PCIe-attached NIC (pcie2x1l1) - PCIe NVMe slot (pcie2x1l2) - AP6256 WiFi (BCM43456) via SDIO with mmc-pwrseq - BCM4345C5 Bluetooth - es8388 audio - USB 2.0 and USB 3.0 Vendors description and links to schematics available: http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-5-Pro.html Signed-off-by: Dennis Gilmore <dennis@ausil.us> --- arch/arm64/boot/dts/rockchip/Makefile | 1 + .../dts/rockchip/rk3588s-orangepi-5-pro.dts | 301 ++++++++++++++++++ 2 files changed, 302 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile index 4d384f153c13..c99dca2ae9e7 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile @@ -214,6 +214,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-nanopi-r6c.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-odroid-m2.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-orangepi-5.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-orangepi-5b.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-orangepi-5-pro.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-orangepi-cm5-base.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-radxa-cm5-io.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-roc-pc.dtb diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts new file mode 100644 index 000000000000..4351d806b184 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts @@ -0,0 +1,301 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) + +/dts-v1/; + +#include "rk3588s-orangepi-5.dtsi" + +/ { + model = "Xunlong Orange Pi 5 Pro"; + compatible = "xunlong,orangepi-5-pro", "rockchip,rk3588s"; + + aliases { + mmc0 = &sdhci; + mmc1 = &sdmmc; + mmc2 = &sdio; + }; + + analog-sound { + compatible = "simple-audio-card"; + pinctrl-names = "default"; + pinctrl-0 = <&hp_detect>; + simple-audio-card,bitclock-master = <&masterdai>; + simple-audio-card,format = "i2s"; + simple-audio-card,frame-master = <&masterdai>; + simple-audio-card,hp-det-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>; + simple-audio-card,mclk-fs = <256>; + simple-audio-card,name = "rockchip,es8388"; + simple-audio-card,routing = + "Headphones", "LOUT1", + "Headphones", "ROUT1", + "LINPUT1", "Microphone Jack", + "RINPUT1", "Microphone Jack", + "LINPUT2", "Onboard Microphone", + "RINPUT2", "Onboard Microphone"; + simple-audio-card,widgets = + "Microphone", "Microphone Jack", + "Microphone", "Onboard Microphone", + "Headphone", "Headphones"; + + simple-audio-card,cpu { + sound-dai = <&i2s2_2ch>; + }; + + masterdai: simple-audio-card,codec { + sound-dai = <&es8388>; + system-clock-frequency = <12288000>; + }; + }; + + pwm-leds { + compatible = "pwm-leds"; + + led-0 { + color = <LED_COLOR_ID_BLUE>; + function = LED_FUNCTION_STATUS; + linux,default-trigger = "heartbeat"; + max-brightness = <255>; + pwms = <&pwm15 0 1000000 0>; + }; + + led-1 { + color = <LED_COLOR_ID_GREEN>; + function = LED_FUNCTION_ACTIVITY; + linux,default-trigger = "heartbeat"; + max-brightness = <255>; + pwms = <&pwm3 0 1000000 0>; + }; + }; + + fan: pwm-fan { + compatible = "pwm-fan"; + #cooling-cells = <2>; + cooling-levels = <0 50 100 150 200 255>; + fan-supply = <&vcc5v0_sys>; + pwms = <&pwm2 0 20000000 0>; + }; + + vcc3v3_phy1: regulator-vcc3v3-phy1 { + compatible = "regulator-fixed"; + enable-active-high; + gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_HIGH>; + regulator-boot-on; + regulator-max-microvolt = <3300000>; + regulator-min-microvolt = <3300000>; + regulator-name = "vcc3v3_phy1"; + startup-delay-us = <50000>; + vin-supply = <&vcc_3v3_s3>; + }; + + vcc5v0_otg: regulator-vcc5v0-otg { + compatible = "regulator-fixed"; + enable-active-high; + gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&vcc5v0_otg_en>; + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt = <5000000>; + regulator-min-microvolt = <5000000>; + regulator-name = "vcc5v0_otg"; + vin-supply = <&vcc5v0_sys>; + }; + + sdio_pwrseq: sdio-pwrseq { + compatible = "mmc-pwrseq-simple"; + clocks = <&hym8563>; + clock-names = "ext_clock"; + post-power-on-delay-ms = <200>; + reset-gpios = <&gpio0 RK_PD0 GPIO_ACTIVE_LOW>; + }; +}; + +&i2c1 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c1m4_xfer>; + status = "okay"; +}; + +&i2c3 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c3m0_xfer>; + status = "okay"; + + es8388: audio-codec@11 { + compatible = "everest,es8388", "everest,es8328"; + reg = <0x11>; + #sound-dai-cells = <0>; + AVDD-supply = <&vcc_3v3_s0>; + DVDD-supply = <&vcc_1v8_s0>; + HPVDD-supply = <&vcc_3v3_s0>; + PVDD-supply = <&vcc_3v3_s0>; + assigned-clock-rates = <12288000>; + assigned-clocks = <&cru I2S2_2CH_MCLKOUT>; + clocks = <&cru I2S2_2CH_MCLKOUT>; + }; +}; + +&i2c4 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c4m3_xfer>; + status = "okay"; +}; + +&i2s2_2ch { + pinctrl-0 = <&i2s2m1_lrck &i2s2m1_mclk &i2s2m1_sclk + &i2s2m1_sdi &i2s2m1_sdo>; + status = "okay"; +}; + +&package_thermal { + polling-delay = <1000>; + + cooling-maps { + map0 { + trip = <&package_fan0>; + cooling-device = <&fan THERMAL_NO_LIMIT 1>; + }; + + map1 { + trip = <&package_fan1>; + cooling-device = <&fan 2 THERMAL_NO_LIMIT>; + }; + }; + + trips { + package_fan0: package-fan0 { + hysteresis = <2000>; + temperature = <55000>; + type = "active"; + }; + + package_fan1: package-fan1 { + hysteresis = <2000>; + temperature = <65000>; + type = "active"; + }; + }; +}; + +/* NVMe */ +&pcie2x1l1 { + pinctrl-names = "default"; + pinctrl-0 = <&pcie30x1m1_1_clkreqn &pcie30x1m1_1_waken>; + reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>; + supports-clkreq; + vpcie3v3-supply = <&vcc_3v3_s3>; + status = "okay"; +}; + +/* NIC */ +&pcie2x1l2 { + reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>; + vpcie3v3-supply = <&vcc3v3_phy1>; + status = "okay"; +}; + +&pinctrl { + bluetooth { + bt_wake_gpio: bt-wake-pin { + rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; + }; + + bt_wake_host_irq: bt-wake-host-irq { + rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_down>; + }; + }; + + usb { + vcc5v0_otg_en: vcc5v0-otg-en { + rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + wlan { + wifi_host_wake_irq: wifi-host-wake-irq { + rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>; + }; + }; +}; + +&pwm15 { + pinctrl-names = "default"; + pinctrl-0 = <&pwm15m2_pins>; + status = "okay"; +}; + +&pwm2 { + pinctrl-names = "default"; + pinctrl-0 = <&pwm2m1_pins>; + status = "okay"; +}; + +&pwm3 { + pinctrl-names = "default"; + pinctrl-0 = <&pwm3m2_pins>; + status = "okay"; +}; + +&sdhci { + status = "okay"; +}; + +&sdio { + #address-cells = <1>; + #size-cells = <0>; + bus-width = <4>; + cap-sd-highspeed; + cap-sdio-irq; + keep-power-in-suspend; + max-frequency = <150000000>; + mmc-pwrseq = <&sdio_pwrseq>; + no-mmc; + no-sd; + non-removable; + sd-uhs-sdr104; + status = "okay"; + + ap6256: wifi@1 { + compatible = "brcm,bcm43456-fmac", "brcm,bcm4329-fmac"; + reg = <1>; + interrupt-names = "host-wake"; + interrupt-parent = <&gpio0>; + interrupts = <RK_PA0 IRQ_TYPE_LEVEL_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&wifi_host_wake_irq>; + }; +}; + +&u2phy0_otg { + phy-supply = <&vcc5v0_otg>; +}; + +&uart9 { + pinctrl-names = "default"; + pinctrl-0 = <&uart9m2_xfer &uart9m2_ctsn &uart9m2_rtsn>; + uart-has-rtscts; + status = "okay"; + + bluetooth { + compatible = "brcm,bcm4345c5"; + clocks = <&hym8563>; + clock-names = "lpo"; + device-wakeup-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>; + interrupt-names = "host-wakeup"; + interrupt-parent = <&gpio0>; + interrupts = <RK_PC5 IRQ_TYPE_LEVEL_HIGH>; + max-speed = <1500000>; + pinctrl-names = "default"; + pinctrl-0 = <&bt_wake_host_irq &bt_wake_gpio>; + shutdown-gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>; + vbat-supply = <&vcc_3v3_s3>; + vddio-supply = <&vcc_1v8_s3>; + }; +}; + +&usb_host0_xhci { + dr_mode = "host"; +}; + +&usbdp_phy0 { + rockchip,dp-lane-mux = <0 1>; +}; -- 2.53.0 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v4 3/3] arm64: dts: rockchip: Add Orange Pi 5 Pro board support @ 2026-03-10 3:10 ` dennis 0 siblings, 0 replies; 18+ messages in thread From: dennis @ 2026-03-10 3:10 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner Cc: FUKAUMI Naoki, Hsun Lai, Jonas Karlman, Chaoyi Chen, John Clark, Michael Opdenacker, Quentin Schulz, Andrew Lunn, Chukun Pan, Alexey Charkov, Peter Robinson, Dennis Gilmore, Michael Riesch, Mykola Kvach, Jimmy Hon, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel From: Dennis Gilmore <dennis@ausil.us> Add device tree for the Xunlong Orange Pi 5 Pro (RK3588S). - eMMC module, you can optionally solder a SPI NOR in place and turn off the eMMC - PCIe-attached NIC (pcie2x1l1) - PCIe NVMe slot (pcie2x1l2) - AP6256 WiFi (BCM43456) via SDIO with mmc-pwrseq - BCM4345C5 Bluetooth - es8388 audio - USB 2.0 and USB 3.0 Vendors description and links to schematics available: http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-5-Pro.html Signed-off-by: Dennis Gilmore <dennis@ausil.us> --- arch/arm64/boot/dts/rockchip/Makefile | 1 + .../dts/rockchip/rk3588s-orangepi-5-pro.dts | 301 ++++++++++++++++++ 2 files changed, 302 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile index 4d384f153c13..c99dca2ae9e7 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile @@ -214,6 +214,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-nanopi-r6c.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-odroid-m2.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-orangepi-5.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-orangepi-5b.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-orangepi-5-pro.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-orangepi-cm5-base.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-radxa-cm5-io.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-roc-pc.dtb diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts new file mode 100644 index 000000000000..4351d806b184 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts @@ -0,0 +1,301 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) + +/dts-v1/; + +#include "rk3588s-orangepi-5.dtsi" + +/ { + model = "Xunlong Orange Pi 5 Pro"; + compatible = "xunlong,orangepi-5-pro", "rockchip,rk3588s"; + + aliases { + mmc0 = &sdhci; + mmc1 = &sdmmc; + mmc2 = &sdio; + }; + + analog-sound { + compatible = "simple-audio-card"; + pinctrl-names = "default"; + pinctrl-0 = <&hp_detect>; + simple-audio-card,bitclock-master = <&masterdai>; + simple-audio-card,format = "i2s"; + simple-audio-card,frame-master = <&masterdai>; + simple-audio-card,hp-det-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>; + simple-audio-card,mclk-fs = <256>; + simple-audio-card,name = "rockchip,es8388"; + simple-audio-card,routing = + "Headphones", "LOUT1", + "Headphones", "ROUT1", + "LINPUT1", "Microphone Jack", + "RINPUT1", "Microphone Jack", + "LINPUT2", "Onboard Microphone", + "RINPUT2", "Onboard Microphone"; + simple-audio-card,widgets = + "Microphone", "Microphone Jack", + "Microphone", "Onboard Microphone", + "Headphone", "Headphones"; + + simple-audio-card,cpu { + sound-dai = <&i2s2_2ch>; + }; + + masterdai: simple-audio-card,codec { + sound-dai = <&es8388>; + system-clock-frequency = <12288000>; + }; + }; + + pwm-leds { + compatible = "pwm-leds"; + + led-0 { + color = <LED_COLOR_ID_BLUE>; + function = LED_FUNCTION_STATUS; + linux,default-trigger = "heartbeat"; + max-brightness = <255>; + pwms = <&pwm15 0 1000000 0>; + }; + + led-1 { + color = <LED_COLOR_ID_GREEN>; + function = LED_FUNCTION_ACTIVITY; + linux,default-trigger = "heartbeat"; + max-brightness = <255>; + pwms = <&pwm3 0 1000000 0>; + }; + }; + + fan: pwm-fan { + compatible = "pwm-fan"; + #cooling-cells = <2>; + cooling-levels = <0 50 100 150 200 255>; + fan-supply = <&vcc5v0_sys>; + pwms = <&pwm2 0 20000000 0>; + }; + + vcc3v3_phy1: regulator-vcc3v3-phy1 { + compatible = "regulator-fixed"; + enable-active-high; + gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_HIGH>; + regulator-boot-on; + regulator-max-microvolt = <3300000>; + regulator-min-microvolt = <3300000>; + regulator-name = "vcc3v3_phy1"; + startup-delay-us = <50000>; + vin-supply = <&vcc_3v3_s3>; + }; + + vcc5v0_otg: regulator-vcc5v0-otg { + compatible = "regulator-fixed"; + enable-active-high; + gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&vcc5v0_otg_en>; + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt = <5000000>; + regulator-min-microvolt = <5000000>; + regulator-name = "vcc5v0_otg"; + vin-supply = <&vcc5v0_sys>; + }; + + sdio_pwrseq: sdio-pwrseq { + compatible = "mmc-pwrseq-simple"; + clocks = <&hym8563>; + clock-names = "ext_clock"; + post-power-on-delay-ms = <200>; + reset-gpios = <&gpio0 RK_PD0 GPIO_ACTIVE_LOW>; + }; +}; + +&i2c1 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c1m4_xfer>; + status = "okay"; +}; + +&i2c3 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c3m0_xfer>; + status = "okay"; + + es8388: audio-codec@11 { + compatible = "everest,es8388", "everest,es8328"; + reg = <0x11>; + #sound-dai-cells = <0>; + AVDD-supply = <&vcc_3v3_s0>; + DVDD-supply = <&vcc_1v8_s0>; + HPVDD-supply = <&vcc_3v3_s0>; + PVDD-supply = <&vcc_3v3_s0>; + assigned-clock-rates = <12288000>; + assigned-clocks = <&cru I2S2_2CH_MCLKOUT>; + clocks = <&cru I2S2_2CH_MCLKOUT>; + }; +}; + +&i2c4 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c4m3_xfer>; + status = "okay"; +}; + +&i2s2_2ch { + pinctrl-0 = <&i2s2m1_lrck &i2s2m1_mclk &i2s2m1_sclk + &i2s2m1_sdi &i2s2m1_sdo>; + status = "okay"; +}; + +&package_thermal { + polling-delay = <1000>; + + cooling-maps { + map0 { + trip = <&package_fan0>; + cooling-device = <&fan THERMAL_NO_LIMIT 1>; + }; + + map1 { + trip = <&package_fan1>; + cooling-device = <&fan 2 THERMAL_NO_LIMIT>; + }; + }; + + trips { + package_fan0: package-fan0 { + hysteresis = <2000>; + temperature = <55000>; + type = "active"; + }; + + package_fan1: package-fan1 { + hysteresis = <2000>; + temperature = <65000>; + type = "active"; + }; + }; +}; + +/* NVMe */ +&pcie2x1l1 { + pinctrl-names = "default"; + pinctrl-0 = <&pcie30x1m1_1_clkreqn &pcie30x1m1_1_waken>; + reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>; + supports-clkreq; + vpcie3v3-supply = <&vcc_3v3_s3>; + status = "okay"; +}; + +/* NIC */ +&pcie2x1l2 { + reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>; + vpcie3v3-supply = <&vcc3v3_phy1>; + status = "okay"; +}; + +&pinctrl { + bluetooth { + bt_wake_gpio: bt-wake-pin { + rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; + }; + + bt_wake_host_irq: bt-wake-host-irq { + rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_down>; + }; + }; + + usb { + vcc5v0_otg_en: vcc5v0-otg-en { + rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + wlan { + wifi_host_wake_irq: wifi-host-wake-irq { + rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>; + }; + }; +}; + +&pwm15 { + pinctrl-names = "default"; + pinctrl-0 = <&pwm15m2_pins>; + status = "okay"; +}; + +&pwm2 { + pinctrl-names = "default"; + pinctrl-0 = <&pwm2m1_pins>; + status = "okay"; +}; + +&pwm3 { + pinctrl-names = "default"; + pinctrl-0 = <&pwm3m2_pins>; + status = "okay"; +}; + +&sdhci { + status = "okay"; +}; + +&sdio { + #address-cells = <1>; + #size-cells = <0>; + bus-width = <4>; + cap-sd-highspeed; + cap-sdio-irq; + keep-power-in-suspend; + max-frequency = <150000000>; + mmc-pwrseq = <&sdio_pwrseq>; + no-mmc; + no-sd; + non-removable; + sd-uhs-sdr104; + status = "okay"; + + ap6256: wifi@1 { + compatible = "brcm,bcm43456-fmac", "brcm,bcm4329-fmac"; + reg = <1>; + interrupt-names = "host-wake"; + interrupt-parent = <&gpio0>; + interrupts = <RK_PA0 IRQ_TYPE_LEVEL_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&wifi_host_wake_irq>; + }; +}; + +&u2phy0_otg { + phy-supply = <&vcc5v0_otg>; +}; + +&uart9 { + pinctrl-names = "default"; + pinctrl-0 = <&uart9m2_xfer &uart9m2_ctsn &uart9m2_rtsn>; + uart-has-rtscts; + status = "okay"; + + bluetooth { + compatible = "brcm,bcm4345c5"; + clocks = <&hym8563>; + clock-names = "lpo"; + device-wakeup-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>; + interrupt-names = "host-wakeup"; + interrupt-parent = <&gpio0>; + interrupts = <RK_PC5 IRQ_TYPE_LEVEL_HIGH>; + max-speed = <1500000>; + pinctrl-names = "default"; + pinctrl-0 = <&bt_wake_host_irq &bt_wake_gpio>; + shutdown-gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>; + vbat-supply = <&vcc_3v3_s3>; + vddio-supply = <&vcc_1v8_s3>; + }; +}; + +&usb_host0_xhci { + dr_mode = "host"; +}; + +&usbdp_phy0 { + rockchip,dp-lane-mux = <0 1>; +}; -- 2.53.0 _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: rockchip: Add Orange Pi 5 Pro board support 2026-03-10 3:10 ` dennis @ 2026-03-11 0:20 ` Jimmy Hon -1 siblings, 0 replies; 18+ messages in thread From: Jimmy Hon @ 2026-03-11 0:20 UTC (permalink / raw) To: dennis Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, FUKAUMI Naoki, Hsun Lai, Jonas Karlman, Chaoyi Chen, John Clark, Michael Opdenacker, Quentin Schulz, Andrew Lunn, Chukun Pan, Alexey Charkov, Peter Robinson, Michael Riesch, Mykola Kvach, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel <snip> > + > + vcc5v0_otg: regulator-vcc5v0-otg { > + compatible = "regulator-fixed"; > + enable-active-high; > + gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>; > + pinctrl-names = "default"; > + pinctrl-0 = <&vcc5v0_otg_en>; > + regulator-always-on; > + regulator-boot-on; regulator-always-on and regulator-boot-on does not seem right. Why were these added? The vendor did not have them. https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts#L216-L226 Was this mistakenly taken from the regulator usb 20 which is powering the onboard usb2.0 hub? https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts#L111-L119 > + regulator-max-microvolt = <5000000>; > + regulator-min-microvolt = <5000000>; > + regulator-name = "vcc5v0_otg"; > + vin-supply = <&vcc5v0_sys>; > + }; <snip> Jimmy ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: rockchip: Add Orange Pi 5 Pro board support @ 2026-03-11 0:20 ` Jimmy Hon 0 siblings, 0 replies; 18+ messages in thread From: Jimmy Hon @ 2026-03-11 0:20 UTC (permalink / raw) To: dennis Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, FUKAUMI Naoki, Hsun Lai, Jonas Karlman, Chaoyi Chen, John Clark, Michael Opdenacker, Quentin Schulz, Andrew Lunn, Chukun Pan, Alexey Charkov, Peter Robinson, Michael Riesch, Mykola Kvach, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel <snip> > + > + vcc5v0_otg: regulator-vcc5v0-otg { > + compatible = "regulator-fixed"; > + enable-active-high; > + gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>; > + pinctrl-names = "default"; > + pinctrl-0 = <&vcc5v0_otg_en>; > + regulator-always-on; > + regulator-boot-on; regulator-always-on and regulator-boot-on does not seem right. Why were these added? The vendor did not have them. https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts#L216-L226 Was this mistakenly taken from the regulator usb 20 which is powering the onboard usb2.0 hub? https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts#L111-L119 > + regulator-max-microvolt = <5000000>; > + regulator-min-microvolt = <5000000>; > + regulator-name = "vcc5v0_otg"; > + vin-supply = <&vcc5v0_sys>; > + }; <snip> Jimmy _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: rockchip: Add Orange Pi 5 Pro board support 2026-03-11 0:20 ` Jimmy Hon @ 2026-03-11 1:29 ` Dennis Gilmore -1 siblings, 0 replies; 18+ messages in thread From: Dennis Gilmore @ 2026-03-11 1:29 UTC (permalink / raw) To: Jimmy Hon Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, FUKAUMI Naoki, Hsun Lai, Jonas Karlman, Chaoyi Chen, John Clark, Michael Opdenacker, Quentin Schulz, Andrew Lunn, Chukun Pan, Alexey Charkov, Peter Robinson, Michael Riesch, Mykola Kvach, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel On Tue, Mar 10, 2026 at 7:20 PM Jimmy Hon <honyuenkwun@gmail.com> wrote: > > <snip> > > + > > + vcc5v0_otg: regulator-vcc5v0-otg { > > + compatible = "regulator-fixed"; > > + enable-active-high; > > + gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&vcc5v0_otg_en>; > > + regulator-always-on; > > + regulator-boot-on; > regulator-always-on and regulator-boot-on does not seem right. > > Why were these added? The vendor did not have them. > https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts#L216-L226 > > Was this mistakenly taken from the regulator usb 20 which is powering > the onboard usb2.0 hub? > https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts#L111-L119 It may have been a missreading of the schematic, but it was added to get power to the USB3 port. before I added it devices plugged into the USB 3 port would not power on Dennis > > + regulator-max-microvolt = <5000000>; > > + regulator-min-microvolt = <5000000>; > > + regulator-name = "vcc5v0_otg"; > > + vin-supply = <&vcc5v0_sys>; > > + }; > > <snip> > > > Jimmy ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: rockchip: Add Orange Pi 5 Pro board support @ 2026-03-11 1:29 ` Dennis Gilmore 0 siblings, 0 replies; 18+ messages in thread From: Dennis Gilmore @ 2026-03-11 1:29 UTC (permalink / raw) To: Jimmy Hon Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, FUKAUMI Naoki, Hsun Lai, Jonas Karlman, Chaoyi Chen, John Clark, Michael Opdenacker, Quentin Schulz, Andrew Lunn, Chukun Pan, Alexey Charkov, Peter Robinson, Michael Riesch, Mykola Kvach, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel On Tue, Mar 10, 2026 at 7:20 PM Jimmy Hon <honyuenkwun@gmail.com> wrote: > > <snip> > > + > > + vcc5v0_otg: regulator-vcc5v0-otg { > > + compatible = "regulator-fixed"; > > + enable-active-high; > > + gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&vcc5v0_otg_en>; > > + regulator-always-on; > > + regulator-boot-on; > regulator-always-on and regulator-boot-on does not seem right. > > Why were these added? The vendor did not have them. > https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts#L216-L226 > > Was this mistakenly taken from the regulator usb 20 which is powering > the onboard usb2.0 hub? > https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts#L111-L119 It may have been a missreading of the schematic, but it was added to get power to the USB3 port. before I added it devices plugged into the USB 3 port would not power on Dennis > > + regulator-max-microvolt = <5000000>; > > + regulator-min-microvolt = <5000000>; > > + regulator-name = "vcc5v0_otg"; > > + vin-supply = <&vcc5v0_sys>; > > + }; > > <snip> > > > Jimmy _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: rockchip: Add Orange Pi 5 Pro board support 2026-03-11 1:29 ` Dennis Gilmore @ 2026-03-11 14:25 ` Alexey Charkov -1 siblings, 0 replies; 18+ messages in thread From: Alexey Charkov @ 2026-03-11 14:25 UTC (permalink / raw) To: Dennis Gilmore Cc: Jimmy Hon, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, FUKAUMI Naoki, Hsun Lai, Jonas Karlman, Chaoyi Chen, John Clark, Michael Opdenacker, Quentin Schulz, Andrew Lunn, Chukun Pan, Peter Robinson, Michael Riesch, Mykola Kvach, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel On Wed, Mar 11, 2026 at 5:29 AM Dennis Gilmore <dennis@ausil.us> wrote: > > On Tue, Mar 10, 2026 at 7:20 PM Jimmy Hon <honyuenkwun@gmail.com> wrote: > > > > <snip> > > > + > > > + vcc5v0_otg: regulator-vcc5v0-otg { > > > + compatible = "regulator-fixed"; > > > + enable-active-high; > > > + gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>; > > > + pinctrl-names = "default"; > > > + pinctrl-0 = <&vcc5v0_otg_en>; > > > + regulator-always-on; > > > + regulator-boot-on; > > regulator-always-on and regulator-boot-on does not seem right. > > > > Why were these added? The vendor did not have them. > > https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts#L216-L226 > > > > Was this mistakenly taken from the regulator usb 20 which is powering > > the onboard usb2.0 hub? > > https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts#L111-L119 > > It may have been a missreading of the schematic, but it was added to > get power to the USB3 port. before I added it devices plugged into the > USB 3 port would not power on Hi Dennis, The schematic says that this regulator supplies the VBUS voltage for the USB3 part of your Type-A OTG connector. If you make it always-on, you'll likely lose the possibility to use this port in device mode (which you would need e.g. for flashing images over a USB cable in U-boot which also takes device tree sources from Linux via devicetree-rebasing). You also link it up as the PHY supply of the USB2 controller, which doesn't describe the actual hardware. Please see if you'd rather define a connector node for your Type-A port, and list this regulator as its VBUS supply explicitly. I've recently submitted a patch [1] to make the "onboard_usb_dev" driver take care of enabling VBUS in exactly this type of situations (it's in usb-testing now and will hopefully hit -next sometime soon). If you need an example for its use, please refer to [2]. Best regards, Alexey [1] https://lore.kernel.org/all/20260217-typea-vbus-v1-1-657b4e55a4c2@flipper.net/ [2] https://github.com/flipperdevices/flipper-linux-kernel/blob/2f814cdf07f50e901fc1b1328213e76460864c20/arch/arm64/boot/dts/rockchip/rk3576-flipper-one-rev-f0b0c1.dts#L303-L328 ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: rockchip: Add Orange Pi 5 Pro board support @ 2026-03-11 14:25 ` Alexey Charkov 0 siblings, 0 replies; 18+ messages in thread From: Alexey Charkov @ 2026-03-11 14:25 UTC (permalink / raw) To: Dennis Gilmore Cc: Jimmy Hon, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, FUKAUMI Naoki, Hsun Lai, Jonas Karlman, Chaoyi Chen, John Clark, Michael Opdenacker, Quentin Schulz, Andrew Lunn, Chukun Pan, Peter Robinson, Michael Riesch, Mykola Kvach, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel On Wed, Mar 11, 2026 at 5:29 AM Dennis Gilmore <dennis@ausil.us> wrote: > > On Tue, Mar 10, 2026 at 7:20 PM Jimmy Hon <honyuenkwun@gmail.com> wrote: > > > > <snip> > > > + > > > + vcc5v0_otg: regulator-vcc5v0-otg { > > > + compatible = "regulator-fixed"; > > > + enable-active-high; > > > + gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>; > > > + pinctrl-names = "default"; > > > + pinctrl-0 = <&vcc5v0_otg_en>; > > > + regulator-always-on; > > > + regulator-boot-on; > > regulator-always-on and regulator-boot-on does not seem right. > > > > Why were these added? The vendor did not have them. > > https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts#L216-L226 > > > > Was this mistakenly taken from the regulator usb 20 which is powering > > the onboard usb2.0 hub? > > https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts#L111-L119 > > It may have been a missreading of the schematic, but it was added to > get power to the USB3 port. before I added it devices plugged into the > USB 3 port would not power on Hi Dennis, The schematic says that this regulator supplies the VBUS voltage for the USB3 part of your Type-A OTG connector. If you make it always-on, you'll likely lose the possibility to use this port in device mode (which you would need e.g. for flashing images over a USB cable in U-boot which also takes device tree sources from Linux via devicetree-rebasing). You also link it up as the PHY supply of the USB2 controller, which doesn't describe the actual hardware. Please see if you'd rather define a connector node for your Type-A port, and list this regulator as its VBUS supply explicitly. I've recently submitted a patch [1] to make the "onboard_usb_dev" driver take care of enabling VBUS in exactly this type of situations (it's in usb-testing now and will hopefully hit -next sometime soon). If you need an example for its use, please refer to [2]. Best regards, Alexey [1] https://lore.kernel.org/all/20260217-typea-vbus-v1-1-657b4e55a4c2@flipper.net/ [2] https://github.com/flipperdevices/flipper-linux-kernel/blob/2f814cdf07f50e901fc1b1328213e76460864c20/arch/arm64/boot/dts/rockchip/rk3576-flipper-one-rev-f0b0c1.dts#L303-L328 _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: rockchip: Add Orange Pi 5 Pro board support 2026-03-11 14:25 ` Alexey Charkov @ 2026-03-31 19:41 ` Dennis Gilmore -1 siblings, 0 replies; 18+ messages in thread From: Dennis Gilmore @ 2026-03-31 19:41 UTC (permalink / raw) To: Alexey Charkov Cc: Jimmy Hon, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, FUKAUMI Naoki, Hsun Lai, Jonas Karlman, Chaoyi Chen, John Clark, Michael Opdenacker, Quentin Schulz, Andrew Lunn, Chukun Pan, Peter Robinson, Michael Riesch, Mykola Kvach, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel On Wed, Mar 11, 2026 at 9:26 AM Alexey Charkov <alchark@gmail.com> wrote: > > On Wed, Mar 11, 2026 at 5:29 AM Dennis Gilmore <dennis@ausil.us> wrote: > > > > On Tue, Mar 10, 2026 at 7:20 PM Jimmy Hon <honyuenkwun@gmail.com> wrote: > > > > > > <snip> > > > > + > > > > + vcc5v0_otg: regulator-vcc5v0-otg { > > > > + compatible = "regulator-fixed"; > > > > + enable-active-high; > > > > + gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>; > > > > + pinctrl-names = "default"; > > > > + pinctrl-0 = <&vcc5v0_otg_en>; > > > > + regulator-always-on; > > > > + regulator-boot-on; > > > regulator-always-on and regulator-boot-on does not seem right. > > > > > > Why were these added? The vendor did not have them. > > > https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts#L216-L226 > > > > > > Was this mistakenly taken from the regulator usb 20 which is powering > > > the onboard usb2.0 hub? > > > https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts#L111-L119 > > > > It may have been a missreading of the schematic, but it was added to > > get power to the USB3 port. before I added it devices plugged into the > > USB 3 port would not power on > > Hi Dennis, > > The schematic says that this regulator supplies the VBUS voltage for > the USB3 part of your Type-A OTG connector. If you make it always-on, > you'll likely lose the possibility to use this port in device mode > (which you would need e.g. for flashing images over a USB cable in > U-boot which also takes device tree sources from Linux via > devicetree-rebasing). > > You also link it up as the PHY supply of the USB2 controller, which > doesn't describe the actual hardware. > > Please see if you'd rather define a connector node for your Type-A > port, and list this regulator as its VBUS supply explicitly. I've > recently submitted a patch [1] to make the "onboard_usb_dev" driver > take care of enabling VBUS in exactly this type of situations (it's in > usb-testing now and will hopefully hit -next sometime soon). If you > need an example for its use, please refer to [2]. > > Best regards, > Alexey > > [1] https://lore.kernel.org/all/20260217-typea-vbus-v1-1-657b4e55a4c2@flipper.net/ > [2] https://github.com/flipperdevices/flipper-linux-kernel/blob/2f814cdf07f50e901fc1b1328213e76460864c20/arch/arm64/boot/dts/rockchip/rk3576-flipper-one-rev-f0b0c1.dts#L303-L328 Sorry for the delay, I am taking a look at it now. Please let me know when it lands in -next. In the meantime, I believe what I have is in good shape and is working well here. I am happy to make a change once support lands upstream. Dennis ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: rockchip: Add Orange Pi 5 Pro board support @ 2026-03-31 19:41 ` Dennis Gilmore 0 siblings, 0 replies; 18+ messages in thread From: Dennis Gilmore @ 2026-03-31 19:41 UTC (permalink / raw) To: Alexey Charkov Cc: Jimmy Hon, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, FUKAUMI Naoki, Hsun Lai, Jonas Karlman, Chaoyi Chen, John Clark, Michael Opdenacker, Quentin Schulz, Andrew Lunn, Chukun Pan, Peter Robinson, Michael Riesch, Mykola Kvach, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel On Wed, Mar 11, 2026 at 9:26 AM Alexey Charkov <alchark@gmail.com> wrote: > > On Wed, Mar 11, 2026 at 5:29 AM Dennis Gilmore <dennis@ausil.us> wrote: > > > > On Tue, Mar 10, 2026 at 7:20 PM Jimmy Hon <honyuenkwun@gmail.com> wrote: > > > > > > <snip> > > > > + > > > > + vcc5v0_otg: regulator-vcc5v0-otg { > > > > + compatible = "regulator-fixed"; > > > > + enable-active-high; > > > > + gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>; > > > > + pinctrl-names = "default"; > > > > + pinctrl-0 = <&vcc5v0_otg_en>; > > > > + regulator-always-on; > > > > + regulator-boot-on; > > > regulator-always-on and regulator-boot-on does not seem right. > > > > > > Why were these added? The vendor did not have them. > > > https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts#L216-L226 > > > > > > Was this mistakenly taken from the regulator usb 20 which is powering > > > the onboard usb2.0 hub? > > > https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts#L111-L119 > > > > It may have been a missreading of the schematic, but it was added to > > get power to the USB3 port. before I added it devices plugged into the > > USB 3 port would not power on > > Hi Dennis, > > The schematic says that this regulator supplies the VBUS voltage for > the USB3 part of your Type-A OTG connector. If you make it always-on, > you'll likely lose the possibility to use this port in device mode > (which you would need e.g. for flashing images over a USB cable in > U-boot which also takes device tree sources from Linux via > devicetree-rebasing). > > You also link it up as the PHY supply of the USB2 controller, which > doesn't describe the actual hardware. > > Please see if you'd rather define a connector node for your Type-A > port, and list this regulator as its VBUS supply explicitly. I've > recently submitted a patch [1] to make the "onboard_usb_dev" driver > take care of enabling VBUS in exactly this type of situations (it's in > usb-testing now and will hopefully hit -next sometime soon). If you > need an example for its use, please refer to [2]. > > Best regards, > Alexey > > [1] https://lore.kernel.org/all/20260217-typea-vbus-v1-1-657b4e55a4c2@flipper.net/ > [2] https://github.com/flipperdevices/flipper-linux-kernel/blob/2f814cdf07f50e901fc1b1328213e76460864c20/arch/arm64/boot/dts/rockchip/rk3576-flipper-one-rev-f0b0c1.dts#L303-L328 Sorry for the delay, I am taking a look at it now. Please let me know when it lands in -next. In the meantime, I believe what I have is in good shape and is working well here. I am happy to make a change once support lands upstream. Dennis _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: rockchip: Add Orange Pi 5 Pro board support 2026-03-31 19:41 ` Dennis Gilmore @ 2026-03-31 20:19 ` Heiko Stuebner -1 siblings, 0 replies; 18+ messages in thread From: Heiko Stuebner @ 2026-03-31 20:19 UTC (permalink / raw) To: Alexey Charkov, Dennis Gilmore Cc: Jimmy Hon, Rob Herring, Krzysztof Kozlowski, Conor Dooley, FUKAUMI Naoki, Hsun Lai, Jonas Karlman, Chaoyi Chen, John Clark, Michael Opdenacker, Quentin Schulz, Andrew Lunn, Chukun Pan, Peter Robinson, Michael Riesch, Mykola Kvach, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel Hi Dennis, Am Dienstag, 31. März 2026, 21:41:50 Mitteleuropäische Sommerzeit schrieb Dennis Gilmore: > On Wed, Mar 11, 2026 at 9:26 AM Alexey Charkov <alchark@gmail.com> wrote: > > > > On Wed, Mar 11, 2026 at 5:29 AM Dennis Gilmore <dennis@ausil.us> wrote: > > > > > > On Tue, Mar 10, 2026 at 7:20 PM Jimmy Hon <honyuenkwun@gmail.com> wrote: > > > > > > > > <snip> > > > > > + > > > > > + vcc5v0_otg: regulator-vcc5v0-otg { > > > > > + compatible = "regulator-fixed"; > > > > > + enable-active-high; > > > > > + gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>; > > > > > + pinctrl-names = "default"; > > > > > + pinctrl-0 = <&vcc5v0_otg_en>; > > > > > + regulator-always-on; > > > > > + regulator-boot-on; > > > > regulator-always-on and regulator-boot-on does not seem right. > > > > > > > > Why were these added? The vendor did not have them. > > > > https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts#L216-L226 > > > > > > > > Was this mistakenly taken from the regulator usb 20 which is powering > > > > the onboard usb2.0 hub? > > > > https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts#L111-L119 > > > > > > It may have been a missreading of the schematic, but it was added to > > > get power to the USB3 port. before I added it devices plugged into the > > > USB 3 port would not power on > > > > Hi Dennis, > > > > The schematic says that this regulator supplies the VBUS voltage for > > the USB3 part of your Type-A OTG connector. If you make it always-on, > > you'll likely lose the possibility to use this port in device mode > > (which you would need e.g. for flashing images over a USB cable in > > U-boot which also takes device tree sources from Linux via > > devicetree-rebasing). > > > > You also link it up as the PHY supply of the USB2 controller, which > > doesn't describe the actual hardware. > > > > Please see if you'd rather define a connector node for your Type-A > > port, and list this regulator as its VBUS supply explicitly. I've > > recently submitted a patch [1] to make the "onboard_usb_dev" driver > > take care of enabling VBUS in exactly this type of situations (it's in > > usb-testing now and will hopefully hit -next sometime soon). If you > > need an example for its use, please refer to [2]. > > > > Best regards, > > Alexey > > > > [1] https://lore.kernel.org/all/20260217-typea-vbus-v1-1-657b4e55a4c2@flipper.net/ > > [2] https://github.com/flipperdevices/flipper-linux-kernel/blob/2f814cdf07f50e901fc1b1328213e76460864c20/arch/arm64/boot/dts/rockchip/rk3576-flipper-one-rev-f0b0c1.dts#L303-L328 > > Sorry for the delay, I am taking a look at it now. Please let me know > when it lands in -next. In the meantime, I believe what I have is in > good shape and is working well here. I am happy to make a change once > support lands upstream. Review comments should be addressed before patches get applied. So there is no waiting for "when it lands upstream" to make additional fixes, when you know at submission time, that things need improvement. Heiko ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v4 3/3] arm64: dts: rockchip: Add Orange Pi 5 Pro board support @ 2026-03-31 20:19 ` Heiko Stuebner 0 siblings, 0 replies; 18+ messages in thread From: Heiko Stuebner @ 2026-03-31 20:19 UTC (permalink / raw) To: Alexey Charkov, Dennis Gilmore Cc: Jimmy Hon, Rob Herring, Krzysztof Kozlowski, Conor Dooley, FUKAUMI Naoki, Hsun Lai, Jonas Karlman, Chaoyi Chen, John Clark, Michael Opdenacker, Quentin Schulz, Andrew Lunn, Chukun Pan, Peter Robinson, Michael Riesch, Mykola Kvach, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel Hi Dennis, Am Dienstag, 31. März 2026, 21:41:50 Mitteleuropäische Sommerzeit schrieb Dennis Gilmore: > On Wed, Mar 11, 2026 at 9:26 AM Alexey Charkov <alchark@gmail.com> wrote: > > > > On Wed, Mar 11, 2026 at 5:29 AM Dennis Gilmore <dennis@ausil.us> wrote: > > > > > > On Tue, Mar 10, 2026 at 7:20 PM Jimmy Hon <honyuenkwun@gmail.com> wrote: > > > > > > > > <snip> > > > > > + > > > > > + vcc5v0_otg: regulator-vcc5v0-otg { > > > > > + compatible = "regulator-fixed"; > > > > > + enable-active-high; > > > > > + gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>; > > > > > + pinctrl-names = "default"; > > > > > + pinctrl-0 = <&vcc5v0_otg_en>; > > > > > + regulator-always-on; > > > > > + regulator-boot-on; > > > > regulator-always-on and regulator-boot-on does not seem right. > > > > > > > > Why were these added? The vendor did not have them. > > > > https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts#L216-L226 > > > > > > > > Was this mistakenly taken from the regulator usb 20 which is powering > > > > the onboard usb2.0 hub? > > > > https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts#L111-L119 > > > > > > It may have been a missreading of the schematic, but it was added to > > > get power to the USB3 port. before I added it devices plugged into the > > > USB 3 port would not power on > > > > Hi Dennis, > > > > The schematic says that this regulator supplies the VBUS voltage for > > the USB3 part of your Type-A OTG connector. If you make it always-on, > > you'll likely lose the possibility to use this port in device mode > > (which you would need e.g. for flashing images over a USB cable in > > U-boot which also takes device tree sources from Linux via > > devicetree-rebasing). > > > > You also link it up as the PHY supply of the USB2 controller, which > > doesn't describe the actual hardware. > > > > Please see if you'd rather define a connector node for your Type-A > > port, and list this regulator as its VBUS supply explicitly. I've > > recently submitted a patch [1] to make the "onboard_usb_dev" driver > > take care of enabling VBUS in exactly this type of situations (it's in > > usb-testing now and will hopefully hit -next sometime soon). If you > > need an example for its use, please refer to [2]. > > > > Best regards, > > Alexey > > > > [1] https://lore.kernel.org/all/20260217-typea-vbus-v1-1-657b4e55a4c2@flipper.net/ > > [2] https://github.com/flipperdevices/flipper-linux-kernel/blob/2f814cdf07f50e901fc1b1328213e76460864c20/arch/arm64/boot/dts/rockchip/rk3576-flipper-one-rev-f0b0c1.dts#L303-L328 > > Sorry for the delay, I am taking a look at it now. Please let me know > when it lands in -next. In the meantime, I believe what I have is in > good shape and is working well here. I am happy to make a change once > support lands upstream. Review comments should be addressed before patches get applied. So there is no waiting for "when it lands upstream" to make additional fixes, when you know at submission time, that things need improvement. Heiko _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2026-03-31 20:20 UTC | newest] Thread overview: 18+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-03-10 3:09 [PATCH v4 0/3] Add support for Orange Pi 5 Pro dennis 2026-03-10 3:09 ` dennis 2026-03-10 3:09 ` [PATCH v4 1/3] dt-bindings: arm: rockchip: Add " dennis 2026-03-10 3:09 ` dennis 2026-03-10 3:10 ` [PATCH v4 2/3] arm64: dts: rockchip: refactor items from Orange Pi 5/b to prep for Pro dennis 2026-03-10 3:10 ` dennis 2026-03-10 3:10 ` [PATCH v4 3/3] arm64: dts: rockchip: Add Orange Pi 5 Pro board support dennis 2026-03-10 3:10 ` dennis 2026-03-11 0:20 ` Jimmy Hon 2026-03-11 0:20 ` Jimmy Hon 2026-03-11 1:29 ` Dennis Gilmore 2026-03-11 1:29 ` Dennis Gilmore 2026-03-11 14:25 ` Alexey Charkov 2026-03-11 14:25 ` Alexey Charkov 2026-03-31 19:41 ` Dennis Gilmore 2026-03-31 19:41 ` Dennis Gilmore 2026-03-31 20:19 ` Heiko Stuebner 2026-03-31 20:19 ` Heiko Stuebner
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.