* [PATCH 0/2] Add support for Orange Pi 5 Pro @ 2026-02-28 20:54 dennis 2026-02-28 20:54 ` [PATCH 1/2] dt-bindings: arm: rockchip: Add " dennis 2026-02-28 20:54 ` [PATCH 2/2] arm64: dts: rockchip: Add Orange Pi 5 Pro board support dennis 0 siblings, 2 replies; 11+ messages in thread From: dennis @ 2026-02-28 20:54 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, Alexey Charkov, Peter Robinson, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Dennis Gilmore 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-rc1 Please take a look. Thank you, Dennis Gilmore Dennis Gilmore (2): dt-bindings: arm: rockchip: Add Orange Pi 5 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 | 376 ++++++++++++++++++ 3 files changed, 378 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts -- 2.53.0 ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 1/2] dt-bindings: arm: rockchip: Add Orange Pi 5 Pro 2026-02-28 20:54 [PATCH 0/2] Add support for Orange Pi 5 Pro dennis @ 2026-02-28 20:54 ` dennis 2026-03-01 11:57 ` Krzysztof Kozlowski 2026-02-28 20:54 ` [PATCH 2/2] arm64: dts: rockchip: Add Orange Pi 5 Pro board support dennis 1 sibling, 1 reply; 11+ messages in thread From: dennis @ 2026-02-28 20:54 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, Alexey Charkov, Peter Robinson, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Dennis Gilmore From: Dennis Gilmore <dennis@ausil.us> Add compatible string for the Orange Pi 5 Pro. 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] 11+ messages in thread
* Re: [PATCH 1/2] dt-bindings: arm: rockchip: Add Orange Pi 5 Pro 2026-02-28 20:54 ` [PATCH 1/2] dt-bindings: arm: rockchip: Add " dennis @ 2026-03-01 11:57 ` Krzysztof Kozlowski 0 siblings, 0 replies; 11+ messages in thread From: Krzysztof Kozlowski @ 2026-03-01 11:57 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, Alexey Charkov, Peter Robinson, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel On Sat, Feb 28, 2026 at 02:54:16PM -0600, dennis@ausil.us wrote: > From: Dennis Gilmore <dennis@ausil.us> > > Add compatible string for the Orange Pi 5 Pro. > > Signed-off-by: Dennis Gilmore <dennis@ausil.us> > --- > Documentation/devicetree/bindings/arm/rockchip.yaml | 1 + > 1 file changed, 1 insertion(+) Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Best regards, Krzysztof ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 2/2] arm64: dts: rockchip: Add Orange Pi 5 Pro board support 2026-02-28 20:54 [PATCH 0/2] Add support for Orange Pi 5 Pro dennis 2026-02-28 20:54 ` [PATCH 1/2] dt-bindings: arm: rockchip: Add " dennis @ 2026-02-28 20:54 ` dennis 2026-03-02 11:26 ` Heiko Stuebner 2026-03-03 5:57 ` Jimmy Hon 1 sibling, 2 replies; 11+ messages in thread From: dennis @ 2026-02-28 20:54 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, Alexey Charkov, Peter Robinson, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Dennis Gilmore From: Dennis Gilmore <dennis@ausil.us> Add device tree for the Xunlong Orange Pi 5 Pro (RK3588S). The Pro differs from the base Orange Pi 5 in the following ways: - No SPI NOR flash; eMMC module slot instead, you can optionally solder a SPI NOR fin place and turn off the eMMC - PCIe-attached NIC (pcie2x1l1) replaces the GMAC1 ethernet - PCIe NVMe slot (pcie2x1l2) - AP6256 WiFi (BCM43456) via SDIO with mmc-pwrseq - BCM4345C5 Bluetooth via uart9 with full RTS/CTS - Two-colour (blue/green) GPIO LED using modern color/function binding - audio is wired up differently 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 | 376 ++++++++++++++++++ 2 files changed, 377 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..d656328c906d --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts @@ -0,0 +1,376 @@ +// 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 { + /delete-property/ ethernet0; + mmc0 = &sdhci; + mmc1 = &sdmmc; + mmc2 = &sdio; + }; + + /* Pro uses gpio-leds instead; pwm0 LED is not wired up */ + /delete-node/ pwm-leds; + + /* + * Pro uses i2s2 (i2s2m1 mux) for audio, not i2s1. Recreate the sound + * card node pointing at i2s2_2ch instead. + */ + /delete-node/ analog-sound; + + 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>; + }; + }; + + 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>; + }; + + gpio-leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&leds_rgb>; + + blue-led { + color = <LED_COLOR_ID_BLUE>; + function = LED_FUNCTION_STATUS; + gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "heartbeat"; + }; + + green-led { + color = <LED_COLOR_ID_GREEN>; + function = LED_FUNCTION_ACTIVITY; + gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "mmc0"; + }; + }; + + 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>; + }; + + vcc3v3_pcie20: regulator-vcc3v3-pcie20 { + 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_pcie20"; + startup-delay-us = <50000>; + vin-supply = <&vcc5v0_sys>; + }; + + vcc3v3_pcie_eth: regulator-vcc3v3-pcie-eth { + compatible = "regulator-fixed"; + regulator-always-on; + regulator-boot-on; + regulator-max-microvolt = <3300000>; + regulator-min-microvolt = <3300000>; + regulator-name = "vcc3v3_pcie_eth"; + vin-supply = <&vcc5v0_sys>; + }; +}; + +/* disable gmac1 as the pro has a PCIe attached NIC */ +&gmac1 { + status = "disabled"; +}; + +/* 40-pin header pins 3/5 */ +&i2c1 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c1m4_xfer>; + status = "okay"; +}; + +/* + * Pro routes audio codec via i2c3 (not i2c6) and i2s2m1 (not i2s1m0). + * Delete the inherited es8388 node from i2c6 and redeclare it here. + */ +/delete-node/ &es8388; + +&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>; + }; +}; + +/* 40-pin header pins 27/28 */ +&i2c4 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c4m3_xfer>; + status = "okay"; +}; + +/* + * i2s1_8ch uses i2s1m0 which occupies GPIO4_PA0 (CLKREQ#) and GPIO4_PA1 + * (WAKE#) needed for the NVMe M.2 slot. Disable it; audio is on i2s2_2ch. + */ +&i2s1_8ch { + status = "disabled"; +}; + +/* Audio codec on i2s2, m1 mux; add mclk pin to the base pinctrl */ +&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 = <&vcc3v3_pcie_eth>; + status = "okay"; +}; + +/* NIC */ +&pcie2x1l2 { + reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>; + vpcie3v3-supply = <&vcc3v3_pcie20>; + 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>; + }; + }; + + gpio-leds { + leds_rgb: leds-rgb { + rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>, + <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + 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>; + }; + }; +}; + +/* pwm0 pin conflicts with i2c4 pin 27 Pro */ +&pwm0 { + status = "disabled"; +}; + +&pwm2 { + pinctrl-names = "default"; + pinctrl-0 = <&pwm2m1_pins>; + status = "okay"; +}; + +&sdhci { + status = "okay"; +}; + +&sdio { + #address-cells = <1>; + #size-cells = <0>; + bus-width = <4>; + cap-sd-highspeed; + cap-sdio-irq; + disable-wp; + 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>; + }; +}; + +&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>; + }; +}; + +/* USB2 OTG PHY for usb_host0_xhci; phy-supply enables VBUS to USB3 Type-A port */ +&u2phy0_otg { + phy-supply = <&vcc5v0_otg>; +}; + +/* Pro has no FUSB302; the USB-C port is power delivery only */ +/delete-node/ &usbc0; + +/* + * The Pro's USB-C port is power delivery only: no FUSB302, no data lines, + * no alt-mode switching. The parent DTSI enables usbdp_phy0 (status = "okay") + * and adds FUSB302 alt-mode/orientation properties; delete those here. + * + * dp-lane-mux = <0 1>: PHY lanes 0/1 are DP (physically routed to the + * LT8711UXD DP→HDMI2 bridge), lanes 2/3 are USB3 SuperSpeed (physically + * routed to the USB3 Type-A port P3). Without this property the driver + * defaults to USB-only mode and places USB3 on lanes 0/1, which do not + * reach the Type-A connector and makes the USB3 port non-functional. + */ +&usbdp_phy0 { + rockchip,dp-lane-mux = <0 1>; + /delete-property/ mode-switch; + /delete-property/ orientation-switch; + /delete-property/ sbu1-dc-gpios; + /delete-property/ sbu2-dc-gpios; + /delete-node/ port; +}; + +/* USB3 Type-A port*/ +&usb_host0_xhci { + dr_mode = "host"; + /delete-property/ usb-role-switch; + status = "okay"; + /delete-node/ port; +}; + +/* + * combphy2_psu is shared between usb_host2_xhci (USB3) and pcie2x1l1 (PCIe). + * Disable USB3 so the PHY can be used for the NVMe M.2 slot. + */ +&usb_host2_xhci { + status = "disabled"; +}; -- 2.53.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] arm64: dts: rockchip: Add Orange Pi 5 Pro board support 2026-02-28 20:54 ` [PATCH 2/2] arm64: dts: rockchip: Add Orange Pi 5 Pro board support dennis @ 2026-03-02 11:26 ` Heiko Stuebner 2026-03-03 5:45 ` Jimmy Hon 2026-03-03 5:57 ` Jimmy Hon 1 sibling, 1 reply; 11+ messages in thread From: Heiko Stuebner @ 2026-03-02 11:26 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, dennis Cc: FUKAUMI Naoki, Hsun Lai, Jonas Karlman, Chaoyi Chen, John Clark, Michael Opdenacker, Quentin Schulz, Andrew Lunn, Alexey Charkov, Peter Robinson, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, Dennis Gilmore Hi Dennis, Am Samstag, 28. Februar 2026, 21:54:17 Mitteleuropäische Normalzeit schrieb dennis@ausil.us: > From: Dennis Gilmore <dennis@ausil.us> > > Add device tree for the Xunlong Orange Pi 5 Pro (RK3588S). The Pro > differs from the base Orange Pi 5 in the following ways: > > - No SPI NOR flash; eMMC module slot instead, you can optionally solder > a SPI NOR fin place and turn off the eMMC > - PCIe-attached NIC (pcie2x1l1) replaces the GMAC1 ethernet > - PCIe NVMe slot (pcie2x1l2) > - AP6256 WiFi (BCM43456) via SDIO with mmc-pwrseq > - BCM4345C5 Bluetooth via uart9 with full RTS/CTS > - Two-colour (blue/green) GPIO LED using modern color/function binding > - audio is wired up differently > > 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 | 376 ++++++++++++++++++ > 2 files changed, 377 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..d656328c906d > --- /dev/null > +++ b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts > @@ -0,0 +1,376 @@ > +// 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 { > + /delete-property/ ethernet0; > + mmc0 = &sdhci; > + mmc1 = &sdmmc; > + mmc2 = &sdio; > + }; > + > + /* Pro uses gpio-leds instead; pwm0 LED is not wired up */ > + /delete-node/ pwm-leds; > + > + /* > + * Pro uses i2s2 (i2s2m1 mux) for audio, not i2s1. Recreate the sound > + * card node pointing at i2s2_2ch instead. > + */ > + /delete-node/ analog-sound; I think it would make more sense to move the relevant not-shared part out of the dtsi instead. Yes the duplication in orangepi-5 and orangepi-5b should be fine. Having a devicetree with so many /delete-node/ and /delete-property/ elements sprinkled throughout the file, will definitly cause readability (and handling issues) in the future. Additionally this makes all the comments in the file explaining individual difference unnecessary. Thanks Heiko ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] arm64: dts: rockchip: Add Orange Pi 5 Pro board support 2026-03-02 11:26 ` Heiko Stuebner @ 2026-03-03 5:45 ` Jimmy Hon 0 siblings, 0 replies; 11+ messages in thread From: Jimmy Hon @ 2026-03-03 5:45 UTC (permalink / raw) To: Heiko Stuebner, dennis Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, FUKAUMI Naoki, Hsun Lai, Jonas Karlman, Chaoyi Chen, John Clark, Michael Opdenacker, Quentin Schulz, Andrew Lunn, Alexey Charkov, Peter Robinson, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel On Mon, Mar 2, 2026 at 5:27 AM Heiko Stuebner <heiko@sntech.de> wrote: > > Hi Dennis, > > Am Samstag, 28. Februar 2026, 21:54:17 Mitteleuropäische Normalzeit schrieb dennis@ausil.us: > > From: Dennis Gilmore <dennis@ausil.us> > > > > Add device tree for the Xunlong Orange Pi 5 Pro (RK3588S). The Pro > > differs from the base Orange Pi 5 in the following ways: > > > > - No SPI NOR flash; eMMC module slot instead, you can optionally solder > > a SPI NOR fin place and turn off the eMMC > > - PCIe-attached NIC (pcie2x1l1) replaces the GMAC1 ethernet > > - PCIe NVMe slot (pcie2x1l2) > > - AP6256 WiFi (BCM43456) via SDIO with mmc-pwrseq > > - BCM4345C5 Bluetooth via uart9 with full RTS/CTS > > - Two-colour (blue/green) GPIO LED using modern color/function binding > > - audio is wired up differently > > > > 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 | 376 ++++++++++++++++++ > > 2 files changed, 377 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..d656328c906d > > --- /dev/null > > +++ b/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5-pro.dts > > @@ -0,0 +1,376 @@ > > +// 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 { > > + /delete-property/ ethernet0; > > + mmc0 = &sdhci; > > + mmc1 = &sdmmc; > > + mmc2 = &sdio; > > + }; > > + > > + /* Pro uses gpio-leds instead; pwm0 LED is not wired up */ > > + /delete-node/ pwm-leds; > > + > > + /* > > + * Pro uses i2s2 (i2s2m1 mux) for audio, not i2s1. Recreate the sound > > + * card node pointing at i2s2_2ch instead. > > + */ > > + /delete-node/ analog-sound; > > I think it would make more sense to move the relevant not-shared part > out of the dtsi instead. Yes the duplication in orangepi-5 and orangepi-5b > should be fine. > > Having a devicetree with so many /delete-node/ and /delete-property/ > elements sprinkled throughout the file, will definitly cause readability > (and handling issues) in the future. > > Additionally this makes all the comments in the file explaining individual > difference unnecessary. > > > Thanks > Heiko > Hi Dennis, You could follow the pattern that was used for the full RK3588 Orange Pi 5 boards. The Orange Pi 5 Max and Ultra are very similar, so they both share a DTSI. However, the parts that are also common with the Orange Pi 5 Plus are put into a common DTSI that is used by all 3 boards. So for these RK3588s Orange Pi 5 boards, you could refactor the existing DTSI to separate the parts that are only used by the older DDR4 Orange Pi 5 and 5B, from the parts that are common to all 3 boards. To verify the existing Orange Pi 5 and 5B boards DTBs are not damaged, you should be able to convert the DTBs to DTSs before refactoring as a baseline, and then after the refactoring, convert the DTBs to DTSs and compare with the baseline. As an example of the delete-node/delete-property leading to problems in the future is when DisplayPort AltMode is added to the 5 and 5B. The new properties will be inherited into the 5 Pro device tree, when they are not wanted. Jimmy ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] arm64: dts: rockchip: Add Orange Pi 5 Pro board support 2026-02-28 20:54 ` [PATCH 2/2] arm64: dts: rockchip: Add Orange Pi 5 Pro board support dennis 2026-03-02 11:26 ` Heiko Stuebner @ 2026-03-03 5:57 ` Jimmy Hon 2026-03-03 19:43 ` Dennis Gilmore 1 sibling, 1 reply; 11+ messages in thread From: Jimmy Hon @ 2026-03-03 5:57 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, Alexey Charkov, Peter Robinson, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel Hi Dennis, Some curiosities below, On Sat, Feb 28, 2026 at 2:54 PM <dennis@ausil.us> wrote: <snip> > + > + /* Pro uses gpio-leds instead; pwm0 LED is not wired up */ > + /delete-node/ pwm-leds; <snip> > + > + gpio-leds { > + compatible = "gpio-leds"; > + pinctrl-names = "default"; > + pinctrl-0 = <&leds_rgb>; > + > + blue-led { > + color = <LED_COLOR_ID_BLUE>; > + function = LED_FUNCTION_STATUS; > + gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>; How come you decided gpio-leds instead of pwm-leds for this? GPIO1 C6 is muxed with PWM15_IR_M2 > + linux,default-trigger = "heartbeat"; > + }; > + > + green-led { > + color = <LED_COLOR_ID_GREEN>; > + function = LED_FUNCTION_ACTIVITY; > + gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_HIGH>; How come you decided gpio-leds instead of pwm-leds for this? GPIO1 C2 is muxed with PWM3_IR_M2. > + linux,default-trigger = "mmc0"; > + }; > + }; Jimmy ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] arm64: dts: rockchip: Add Orange Pi 5 Pro board support 2026-03-03 5:57 ` Jimmy Hon @ 2026-03-03 19:43 ` Dennis Gilmore 2026-03-04 3:45 ` Jimmy Hon 0 siblings, 1 reply; 11+ messages in thread From: Dennis Gilmore @ 2026-03-03 19:43 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, Alexey Charkov, Peter Robinson, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel On Mon, Mar 2, 2026 at 11:57 PM Jimmy Hon <honyuenkwun@gmail.com> wrote: > > Hi Dennis, > > Some curiosities below, > > On Sat, Feb 28, 2026 at 2:54 PM <dennis@ausil.us> wrote: > <snip> > > + > > + /* Pro uses gpio-leds instead; pwm0 LED is not wired up */ > > + /delete-node/ pwm-leds; > <snip> > > + > > + gpio-leds { > > + compatible = "gpio-leds"; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&leds_rgb>; > > + > > + blue-led { > > + color = <LED_COLOR_ID_BLUE>; > > + function = LED_FUNCTION_STATUS; > > + gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>; > How come you decided gpio-leds instead of pwm-leds for this? GPIO1 C6 > is muxed with PWM15_IR_M2 the downstream dts uses gpio-leds the GPIO comes from the schematic > > + linux,default-trigger = "heartbeat"; > > + }; > > + > > + green-led { > > + color = <LED_COLOR_ID_GREEN>; > > + function = LED_FUNCTION_ACTIVITY; > > + gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_HIGH>; > How come you decided gpio-leds instead of pwm-leds for this? GPIO1 C2 > is muxed with PWM3_IR_M2. Again, the downstream dts uses gpio-leds Dennis > > + linux,default-trigger = "mmc0"; > > + }; > > + }; > > Jimmy ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] arm64: dts: rockchip: Add Orange Pi 5 Pro board support 2026-03-03 19:43 ` Dennis Gilmore @ 2026-03-04 3:45 ` Jimmy Hon 2026-03-05 6:50 ` Dennis Gilmore 0 siblings, 1 reply; 11+ messages in thread From: Jimmy Hon @ 2026-03-04 3:45 UTC (permalink / raw) To: Dennis Gilmore 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, Alexey Charkov, Peter Robinson, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel On Tue, Mar 3, 2026 at 1:43 PM Dennis Gilmore <dennis@ausil.us> wrote: > > On Mon, Mar 2, 2026 at 11:57 PM Jimmy Hon <honyuenkwun@gmail.com> wrote: > > > > Hi Dennis, > > > > Some curiosities below, > > > > On Sat, Feb 28, 2026 at 2:54 PM <dennis@ausil.us> wrote: > > <snip> > > > + > > > + /* Pro uses gpio-leds instead; pwm0 LED is not wired up */ > > > + /delete-node/ pwm-leds; > > <snip> > > > + > > > + gpio-leds { > > > + compatible = "gpio-leds"; > > > + pinctrl-names = "default"; > > > + pinctrl-0 = <&leds_rgb>; > > > + > > > + blue-led { > > > + color = <LED_COLOR_ID_BLUE>; > > > + function = LED_FUNCTION_STATUS; > > > + gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>; > > How come you decided gpio-leds instead of pwm-leds for this? GPIO1 C6 > > is muxed with PWM15_IR_M2 > > the downstream dts uses gpio-leds the GPIO comes from the schematic It should be fine to upgrade to pwm-leds when adding into mainline. The Orange 5 Plus did. In the downstream DTS, they used gpio-led for the green led https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts#L31-L36 But in the mainline kernel, it was converted to use pwm-led. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts?id=236d225e1ee72a28aa7c2b1e39894e4390bbf51c Jimmy ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] arm64: dts: rockchip: Add Orange Pi 5 Pro board support 2026-03-04 3:45 ` Jimmy Hon @ 2026-03-05 6:50 ` Dennis Gilmore 2026-03-05 7:23 ` Jimmy Hon 0 siblings, 1 reply; 11+ messages in thread From: Dennis Gilmore @ 2026-03-05 6:50 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, Alexey Charkov, Peter Robinson, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel On Tue, Mar 3, 2026 at 9:45 PM Jimmy Hon <honyuenkwun@gmail.com> wrote: > > On Tue, Mar 3, 2026 at 1:43 PM Dennis Gilmore <dennis@ausil.us> wrote: > > > > On Mon, Mar 2, 2026 at 11:57 PM Jimmy Hon <honyuenkwun@gmail.com> wrote: > > > > > > Hi Dennis, > > > > > > Some curiosities below, > > > > > > On Sat, Feb 28, 2026 at 2:54 PM <dennis@ausil.us> wrote: > > > <snip> > > > > + > > > > + /* Pro uses gpio-leds instead; pwm0 LED is not wired up */ > > > > + /delete-node/ pwm-leds; > > > <snip> > > > > + > > > > + gpio-leds { > > > > + compatible = "gpio-leds"; > > > > + pinctrl-names = "default"; > > > > + pinctrl-0 = <&leds_rgb>; > > > > + > > > > + blue-led { > > > > + color = <LED_COLOR_ID_BLUE>; > > > > + function = LED_FUNCTION_STATUS; > > > > + gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>; > > > How come you decided gpio-leds instead of pwm-leds for this? GPIO1 C6 > > > is muxed with PWM15_IR_M2 > > > > the downstream dts uses gpio-leds the GPIO comes from the schematic > It should be fine to upgrade to pwm-leds when adding into mainline. > The Orange 5 Plus did. > In the downstream DTS, they used gpio-led for the green led > https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts#L31-L36 > But in the mainline kernel, it was converted to use pwm-led. > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts?id=236d225e1ee72a28aa7c2b1e39894e4390bbf51c > > Jimmy Is there a reason the blue led was not converted from GPIO to PWM, and only the green led was? Dennis ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] arm64: dts: rockchip: Add Orange Pi 5 Pro board support 2026-03-05 6:50 ` Dennis Gilmore @ 2026-03-05 7:23 ` Jimmy Hon 0 siblings, 0 replies; 11+ messages in thread From: Jimmy Hon @ 2026-03-05 7:23 UTC (permalink / raw) To: Dennis Gilmore 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, Alexey Charkov, Peter Robinson, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel On Thu, Mar 5, 2026 at 12:50 AM Dennis Gilmore <dennis@ausil.us> wrote: > > On Tue, Mar 3, 2026 at 9:45 PM Jimmy Hon <honyuenkwun@gmail.com> wrote: > > > > On Tue, Mar 3, 2026 at 1:43 PM Dennis Gilmore <dennis@ausil.us> wrote: > > > > > > On Mon, Mar 2, 2026 at 11:57 PM Jimmy Hon <honyuenkwun@gmail.com> wrote: > > > > > > > > Hi Dennis, > > > > > > > > Some curiosities below, > > > > > > > > On Sat, Feb 28, 2026 at 2:54 PM <dennis@ausil.us> wrote: > > > > <snip> > > > > > + > > > > > + /* Pro uses gpio-leds instead; pwm0 LED is not wired up */ > > > > > + /delete-node/ pwm-leds; > > > > <snip> > > > > > + > > > > > + gpio-leds { > > > > > + compatible = "gpio-leds"; > > > > > + pinctrl-names = "default"; > > > > > + pinctrl-0 = <&leds_rgb>; > > > > > + > > > > > + blue-led { > > > > > + color = <LED_COLOR_ID_BLUE>; > > > > > + function = LED_FUNCTION_STATUS; > > > > > + gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>; > > > > How come you decided gpio-leds instead of pwm-leds for this? GPIO1 C6 > > > > is muxed with PWM15_IR_M2 > > > > > > the downstream dts uses gpio-leds the GPIO comes from the schematic > > It should be fine to upgrade to pwm-leds when adding into mainline. > > The Orange 5 Plus did. > > In the downstream DTS, they used gpio-led for the green led > > https://github.com/orangepi-xunlong/linux-orangepi/blob/232ed4b97b65da2b7b647c4e3c496f8594b9f3f1/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts#L31-L36 > > But in the mainline kernel, it was converted to use pwm-led. > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts?id=236d225e1ee72a28aa7c2b1e39894e4390bbf51c > > > > Jimmy > > Is there a reason the blue led was not converted from GPIO to PWM, and > only the green led was? There is no PWM muxed with GPIO3 A6. So the only option is GPIO. Jimmy > > Dennis ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2026-03-05 7:23 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-02-28 20:54 [PATCH 0/2] Add support for Orange Pi 5 Pro dennis 2026-02-28 20:54 ` [PATCH 1/2] dt-bindings: arm: rockchip: Add " dennis 2026-03-01 11:57 ` Krzysztof Kozlowski 2026-02-28 20:54 ` [PATCH 2/2] arm64: dts: rockchip: Add Orange Pi 5 Pro board support dennis 2026-03-02 11:26 ` Heiko Stuebner 2026-03-03 5:45 ` Jimmy Hon 2026-03-03 5:57 ` Jimmy Hon 2026-03-03 19:43 ` Dennis Gilmore 2026-03-04 3:45 ` Jimmy Hon 2026-03-05 6:50 ` Dennis Gilmore 2026-03-05 7:23 ` Jimmy Hon
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox