Summary of changes made when porting rk3588s-retroled-cm5.dts from the
rk35xx vendor kernel (6.1) to the mainline rockchip64 kernel (6.19).
Reference files:
6.1__rk35xx__arm64/arch/arm64/boot/dts/rockchip/rk3588s-retroled-cm5.dts(source)6.1__rk35xx__arm64/arch/arm64/boot/dts/rockchip/rk3588s-radxa-cm5-io.dts(6.1 IO board reference)6.19__rockchip64__arm64/arch/arm64/boot/dts/rockchip/rk3588s-radxa-cm5-io.dts(6.19 IO board reference)rk3588s-retroled-cm5.dts(output, in this directory)
| Area | 6.1 (rk35xx vendor) | 6.19 (mainline) |
|---|---|---|
| Compatible | rockchip,rk3588 |
rockchip,rk3588s |
| PMIC | External rk3588-rk806-single.dtsi |
Defined inline in cm5.dtsi (SPI-attached RK806 with all regulators) |
| NPU | rknpu / rknpu_mmu |
rknn_core_0/1/2 + rknn_mmu_0/1/2 (in DTSI, no board-level override needed) |
chosen node |
/delete-node/ chosen |
Proper chosen { stdout-path = "serial2:1500000n8"; } |
| Media engines | vdpu, vepu, av1d, rga3, etc. in board DTS |
Handled in DTSI or not present; removed from board DTS |
- Removed
vcc_1v1_nldo_s3— now defined inrk3588s-radxa-cm5.dtsi, but referencesvcc_sysinwhich must exist in the board DTS. - Added
vcc_sysin(4V) — required by the DTSI's inline RK806 PMICvcc*-supplyinputs. Modelled as a fixed rail fromvcc5v0_sys, matching the Radxa CM5 IO board design. - Renamed
vcc3v3_pcie2x1l0→vcc3v3_wf(WiFi PCIe slot power, same GPIOgpio1 RK_PD3). - Replaced
wifi_disable/bt_wakeregulator-fixedworkaround nodes with properrfkill-gpionodes for WLAN and Bluetooth. vcc_3v3_s3,vccio_sd_s0,vcc_1v8_s3etc. are now provided by the inline RK806 PMIC in the DTSI — no board-level definition needed.
-
6.1 vendor:
rockchip,plane-mask/rockchip,primary-planeon VP nodes, plus vendorroute_*nodes (route_hdmi0,route_dsi1,route_dp0). -
6.19 mainline: Endpoint graph topology. Each VP port gets an endpoint:
Output VP Endpoint name HDMI0 vp0 vp0_out_hdmi0@ROCKCHIP_VOP2_EP_HDMI0DP0 vp2 vp2_out_dp0@ROCKCHIP_VOP2_EP_DP0DSI1 vp3 vp3_out_dsi1@ROCKCHIP_VOP2_EP_MIPI1 -
Removed
display_subsystemclock overrides (vendor-only).
- Added
hdmi0-conconnector node. - Wired via
hdmi0_in/hdmi0_outport endpoints (defined inrk3588-base.dtsi).
- Panel now connected through
dsi1_in/dsi1_outport graph (defined inrk3588-base.dtsi). - MIPI DCPHY node renamed:
mipi_dcphy1→mipidcphy1. dsi1_in_vp2/dsi1_in_vp3vendor enable nodes replaced by endpoint in&dsi1_in.
- Connected via
dp0_in/dp0_outports (defined inrk3588-base.dtsi). - Uses
force-hpdin place of the vendorhpd-gpios(GPIO0 RK_PD3). The mainlinerockchip,rk3588-dpdriver uses PHY-native HPD.
- HDMI: Vendor
rockchip,hdmi-compatiblehdmi0_soundnode removed. The mainlinerk3588-base.dtsidefineshdmi0_soundas asimple-audio-cardusingi2s5_8ch. Board DTS just enables it:&hdmi0_sound { status = "okay"; }. - DP audio (
dp0_soundviaspdif_tx2): Removed — vendor-specific binding with no mainline equivalent yet. - WM8960
simple-audio-card: Retained as-is; works in mainline.
| 6.1 vendor node | 6.19 mainline equivalent |
|---|---|
usbdrd3_0 + usbdrd_dwc3_0 (dr_mode = "host") |
usb_host0_xhci (dr_mode = "host") |
usbhost3_0 + usbhost_dwc3_0 |
usb_host2_xhci |
usb_host0_ehci / usb_host0_ohci |
unchanged |
usb_host1_ehci / usb_host1_ohci |
unchanged |
- Dropped vendor-specific
/delete-property/ rockchip,usbctrl-grfandrockchip,typec-vbus-detfromu2phy0_otg. u2phy2_host/u2phy3_host: addedphy-supply = <&vcc5v0_sys>.- No USB-C on RetrOLED:
usb_host0_xhciruns in plain host mode, no role-switch or fusb302 connector.
- 6.1: Custom trips on
soc_thermalwithfan0cooling device. - 6.19: Trips and cooling maps added to
package_thermal(the mainline SoC-center thermal zone defined inrk3588-base.dtsi). Fan cooling levels mapped across three temperature thresholds (55 / 65 / 75 °C).
&sdmmc_detremoved frompinctrl-0(vendor pinctrl group).- Card-detect now uses
cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>, matching the Radxa CM5 IO board 6.19 DTS.
- Node renamed from
hym8563: hym8563@51tortc@51(mainline style). clock-frequencyproperty removed (not needed in mainline driver).wakeup-sourceadded.- Pinctrl label renamed:
rtc_int→rtc_int_l(active-low, pull-none).
- BT/WiFi: Added
bt_reg_on_handhost_wake_bt_hgroups (forrfkill-gpio). - PCIe: Added
pcie20x1_2_perstn_m0andwifi_pwr_engroups. vbus5v0_typec_en,usbc0_int,usbc_sbu_dcremoved (no USB-C).hp_detGPIO changed frompcfg_pull_upon GPIO1 RK_PB2 (unchanged).
rockchip_suspend— vendor power management node, not present in mainline.display_subsystemclock overrides.vdpu,vdpu_mmu,vepu— now handled in vendor DTSI; not in mainline DTSI, but also not needed in the board DTS.rknpu,rknpu_mmudisabled overrides — replaced byrknn_core_*in DTSI.vop,vop_mmu— already enabled in the 6.19cm5.dtsi.hdptxphy_hdmi0duplicate node (onlyhdptxphy0is the correct mainline name).