[PATCH v4 2/3] arm64: dts: rockchip: Add rk3588 based Radxa CM5

Joseph Kogut joseph.kogut at gmail.com
Fri Jun 6 09:41:52 PDT 2025


On Thu, Jun 5, 2025 at 5:51 PM Jimmy Hon <honyuenkwun at gmail.com> wrote:
>
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-radxa-cm5.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-radxa-cm5.dtsi
> > new file mode 100644
> > index 0000000000000000000000000000000000000000..d7946fe2bb4e721689e3eb4d60d8e9783402f05e
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/rockchip/rk3588s-radxa-cm5.dtsi
> > @@ -0,0 +1,156 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +/*
> > + * Copyright (c) 2025 Joseph Kogut <joseph.kogut at gmail.com>
> > + */
> > +
> > +/*
> > + * CM5 data sheet
> > + * https://dl.radxa.com/cm5/v2210/radxa_cm5_v2210_schematic.pdf
> > + */
> > +
> > +#include <dt-bindings/gpio/gpio.h>
> > +#include <dt-bindings/leds/common.h>
> > +#include <dt-bindings/soc/rockchip,vop2.h>
> > +#include <dt-bindings/usb/pd.h>
> > +
> > +/ {
> > +       compatible = "radxa,cm5", "rockchip,rk3588s";
> > +
> > +       aliases {
> > +               mmc0 = &sdmmc;
> Since the microSD card is on the carrier board, this alias should be
> moved to the board DTS.
>

Good point, I'll move this to the board DTS. This is a remnant from
copying aspects of the downstream DTS, and adapting it for mainline
conventions.

> > +               mmc1 = &sdhci;
> Most of the other Radxa rk3588 boards have the eMMC alias to mmc0. Why
> does this use another convention?
>
> > +               mmc2 = &sdio;
> The sdio is not enabled. This alias won't be used.
>

These were copied from the downstream DTS. I'll go ahead and use the
mainline convention here as well.

> > +       };
> > +
> > +       leds {
> > +               compatible = "gpio-leds";
> > +
> > +               led_sys: led-0 {
> > +                       color = <LED_COLOR_ID_BLUE>;
> > +                       default-state = "on";
> > +                       function = LED_FUNCTION_HEARTBEAT;
> > +                       gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;
> > +                       linux,default-trigger = "heartbeat";
> > +               };
> > +       };
> > +};
> > +
> > +&cpu_b0 {
> > +       cpu-supply = <&vdd_cpu_big0_s0>;
> > +};
> > +
> > +&cpu_b1 {
> > +       cpu-supply = <&vdd_cpu_big0_s0>;
> > +};
> > +
> > +&cpu_b2 {
> > +       cpu-supply = <&vdd_cpu_big1_s0>;
> > +};
> > +
> > +&cpu_b3 {
> > +       cpu-supply = <&vdd_cpu_big1_s0>;
> > +};
> > +
> > +&cpu_l0 {
> > +       cpu-supply = <&vdd_cpu_lit_s0>;
> > +};
> > +
> > +&cpu_l1 {
> > +       cpu-supply = <&vdd_cpu_lit_s0>;
> > +};
> > +
> > +&cpu_l2 {
> > +       cpu-supply = <&vdd_cpu_lit_s0>;
> > +};
> > +
> > +&cpu_l3 {
> > +       cpu-supply = <&vdd_cpu_lit_s0>;
> > +};
> > +
> > +&gmac1 {
> > +       clock_in_out = "output";
> > +       phy-handle = <&rgmii_phy1>;
> > +       phy-mode = "rgmii-id";
> > +       phy-supply = <&vcc_3v3_s0>;
> > +       pinctrl-names = "default";
> > +       pinctrl-0 = <&gmac1_miim
> > +                    &gmac1_tx_bus2
> > +                    &gmac1_rx_bus2
> > +                    &gmac1_rgmii_clk
> > +                    &gmac1_rgmii_bus
> > +                    &gmac1_clkinout>;
> > +       status = "okay";
> > +};
> Should this be left disabled on the SoM dtsi? And only enabled on the
> carrier board, if the carrier board has the RJ45 jack?
> i.e. a handheld using the CM5 may not have ethernet
> https://github.com/StonedEdge/Retro-Lite-CM5
>

I think that makes sense, not every carrier is guaranteed to have ethernet.

> > +
> > +&gpu {
> > +       mali-supply = <&vdd_gpu_s0>;
> > +       status = "okay";
> > +};
> > +
> > +&hdmi0 {
> > +       status = "okay";
> > +};
> This should be moved to the carrier board DTS where all the other
> HDMI0 nodes are.
>

That makes sense, I'll make this change. Thanks for the feedback, Jimmy.


Joseph



More information about the Linux-rockchip mailing list