[PATCH 2/2] ARM: dts: rockchip: Set CPLL frequency for RK3588

Alexander Shiyan eagle.alexander923 at gmail.com
Mon Oct 6 04:50:33 PDT 2025


Hello Michael.

Here is my frequency dump with a working eMMC chip.
Can you compare with your CLK values?

barebox at Diasom DS-RK3588-BTB-EVB:/ clk_dump -v cclk_emmc
xin24m (rate 24000000, enable_count: 15, enabled)
    pll_gpll (rate 1188000000, enable_count: 1, enabled)
        gpll (rate 1188000000, enable_count: 13, always enabled)
        `---- possible parents: xin24m pll_gpll xin32k
            cclk_emmc (rate 51652174, enable_count: 1, enabled)
            `---- possible parents: gpll cpll xin24m
barebox at Diasom DS-RK3588-BTB-EVB:/ clk_dump -v hclk_emmc
xin24m (rate 24000000, enable_count: 15, enabled)
    pll_gpll (rate 1188000000, enable_count: 1, enabled)
        gpll (rate 1188000000, enable_count: 13, always enabled)
        `---- possible parents: xin24m pll_gpll xin32k
            clk_200m_src (rate 198000000, enable_count: 12, enabled)
            `---- possible parents: gpll cpll
                hclk_nvm_root (rate 198000000, enable_count: 1, enabled)
                `---- possible parents: clk_200m_src clk_100m_src
clk_50m_src xin24m
                    hclk_nvm (rate 198000000, enable_count: 2, enabled)
                        hclk_emmc (rate 198000000, enable_count: 1, enabled)
barebox at Diasom DS-RK3588-BTB-EVB:/ clk_dump -v aclk_emmc
xin24m (rate 24000000, enable_count: 15, enabled)
    pll_cpll (rate 1500000000, enable_count: 1, enabled)
        cpll (rate 1500000000, enable_count: 18, always enabled)
        `---- possible parents: xin24m pll_cpll xin32k
            aclk_nvm_root (rate 300000000, enable_count: 2, enabled)
            `---- possible parents: gpll cpll
                aclk_emmc (rate 300000000, enable_count: 1, enabled)
barebox at Diasom DS-RK3588-BTB-EVB:/ clk_dump -v bclk_emmc
xin24m (rate 24000000, enable_count: 15, enabled)
    pll_cpll (rate 1500000000, enable_count: 1, enabled)
        cpll (rate 1500000000, enable_count: 18, always enabled)
        `---- possible parents: xin24m pll_cpll xin32k
            bclk_emmc (rate 187500000, enable_count: 1, enabled)
            `---- possible parents: gpll cpll
barebox at Diasom DS-RK3588-BTB-EVB:/ clk_dump -v tmclk_emmc
xin24m (rate 24000000, enable_count: 15, enabled)
    tmclk_emmc (rate 24000000, enable_count: 1, enabled)

ср, 1 окт. 2025 г. в 17:06, Michael Tretter <m.tretter at pengutronix.de>:
>
> Hi Alexander,
>
> On Mon, 29 Sep 2025 16:58:57 +0300, Alexander Shiyan wrote:
> > Explicitly configure CPLL frequency to 1500 MHz to ensure system
> > stability and reliable operation.
> > The change aligns with Rockchip's recommended practices for clock
> > configuration in embedded systems using RK3588 SoCs.
>
> This change breaks eMMC operation in barebox on ROCK 5T boards. I get
> the following alert during barebox boot:
>
>         ALERT: rk3568-dwcmshc-sdhci fe2e0000.mmc at fe2e0000.of: DMA wait timed out. Resetting, but recovery unlikely
>         WARNING: mmc0: Card's startup fails with -110
>
> I fumbled a bit with the clocks, especially the aclk_emmc, but no
> improvement so far.
>
> Michael
>
> > Signed-off-by: Alexander Shiyan <eagle.alexander923 at gmail.com>
> > ---
> >  arch/arm/dts/rk3588.dtsi | 3 +++
> >  1 file changed, 3 insertions(+)
> >
> > diff --git a/arch/arm/dts/rk3588.dtsi b/arch/arm/dts/rk3588.dtsi
> > index 416700cf0e..42d692a9bd 100644
> > --- a/arch/arm/dts/rk3588.dtsi
> > +++ b/arch/arm/dts/rk3588.dtsi
> > @@ -1,6 +1,9 @@
> >  // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> >
> >  / {
> > +     assigned-clocks = <&cru PLL_CPLL>;
> > +     assigned-clock-rates = <1500000000>;
> > +
> >       dmc: memory-controller {
> >               compatible = "rockchip,rk3588-dmc";
> >               rockchip,pmu = <&pmu1grf>;



More information about the barebox mailing list