[PATCH v2 2/3] rockchip: make rksd the default format for SPI images
Jonas Karlman
jonas at kwiboo.se
Tue Dec 16 17:11:45 CET 2025
Hi Quentin,
On 12/16/2025 12:26 PM, Quentin Schulz wrote:
> From: Quentin Schulz <quentin.schulz at cherry.de>
>
> I believe (hope) that the new SoCs should now have this fixed and not
> require the "hack" implemented in rkspi format which almost doubles the
> size of TPL+SPL (idbloader.img).
>
> It's known to be fixed on RK3566/RK3568, RK3576 and RK3588(S) (according
> to the DTS setting the mkimage format for the SPI's idbloader.img to
> rksd explicitly).
>
> Since I do not have any board with a bootable SPI flash except on RK3399
> where this work-around is required, I simply invert the logic by having
> rkspi explicitly set for all SoCs that didn't and remove rksd from SoCs
> that did. It doesn't mean that the SoC actually requires rkspi format,
> just that it's been the case until now (maybe because nobody tested).
>
> Signed-off-by: Quentin Schulz <quentin.schulz at cherry.de>
> ---
> arch/arm/dts/px30-u-boot.dtsi | 12 ++++++++++++
> arch/arm/dts/rk3036-u-boot.dtsi | 13 +++++++++++++
> arch/arm/dts/rk3066a-u-boot.dtsi | 12 ++++++++++++
> arch/arm/dts/rk3128-u-boot.dtsi | 12 ++++++++++++
> arch/arm/dts/rk3188-u-boot.dtsi | 12 ++++++++++++
> arch/arm/dts/rk322x-u-boot.dtsi | 12 ++++++++++++
> arch/arm/dts/rk3288-u-boot.dtsi | 12 ++++++++++++
> arch/arm/dts/rk3308-u-boot.dtsi | 12 ++++++++++++
> arch/arm/dts/rk3326-u-boot.dtsi | 1 -
> arch/arm/dts/rk3328-u-boot.dtsi | 1 -
> arch/arm/dts/rk3368-u-boot.dtsi | 12 ++++++++++++
> arch/arm/dts/rk3399-u-boot.dtsi | 12 ++++++++++++
> arch/arm/dts/rk3528-u-boot.dtsi | 12 ++++++++++++
> arch/arm/dts/rk356x-u-boot.dtsi | 1 -
> arch/arm/dts/rk3576-u-boot.dtsi | 1 -
> arch/arm/dts/rk3588s-u-boot.dtsi | 1 -
> arch/arm/dts/rockchip-u-boot.dtsi | 1 -
> arch/arm/dts/rv1108-u-boot.dtsi | 12 ++++++++++++
> arch/arm/dts/rv1126-u-boot.dtsi | 12 ++++++++++++
> 19 files changed, 157 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm/dts/px30-u-boot.dtsi b/arch/arm/dts/px30-u-boot.dtsi
> index 2f726b0aaba..7385de7d6ae 100644
> --- a/arch/arm/dts/px30-u-boot.dtsi
> +++ b/arch/arm/dts/px30-u-boot.dtsi
> @@ -27,6 +27,18 @@
> };
> };
>
> +#ifdef CONFIG_SPL
> +#ifdef CONFIG_ROCKCHIP_SPI_IMAGE
> +&binman {
> + simple-bin-spi {
> + mkimage {
> + args = "-n", CONFIG_SYS_SOC, "-T", "rkspi";
> + };
> + };
> +};
> +#endif
> +#endif
This is probably wrong, rk3326 use rksd format.
Also seeing how the rk3308 has a later model number than PX30/RK3326
I would guess that this also applies to RK3308.
See USB_GADGET_PRODUCT_NUM:
default 0x330a if ROCKCHIP_RK3368
default 0x330c if ROCKCHIP_RK3399
default 0x330d if ROCKCHIP_PX30
default 0x330e if ROCKCHIP_RK3308
default 0x350a if ROCKCHIP_RK3568
default 0x350b if ROCKCHIP_RK3588
default 0x350c if ROCKCHIP_RK3528
default 0x350e if ROCKCHIP_RK3576
> +
> &otp {
> bootph-some-ram;
> };
[snip]
> diff --git a/arch/arm/dts/rk3528-u-boot.dtsi b/arch/arm/dts/rk3528-u-boot.dtsi
> index a18d33b3d36..f21d76b0e6e 100644
> --- a/arch/arm/dts/rk3528-u-boot.dtsi
> +++ b/arch/arm/dts/rk3528-u-boot.dtsi
> @@ -30,6 +30,18 @@
> };
> };
>
> +#ifdef CONFIG_SPL
> +#ifdef CONFIG_ROCKCHIP_SPI_IMAGE
> +&binman {
> + simple-bin-spi {
> + mkimage {
> + args = "-n", CONFIG_SYS_SOC, "-T", "rkspi";
> + };
> + };
> +};
> +#endif
> +#endif
This is wrong, please drop for rk3528. I have commits pending for adding
proper SPI flash boot support on RK3528 once the E24C model lands in
upstream linux, see commits at [1].
[1] https://source.denx.de/u-boot/contributors/kwiboo/u-boot/-/commits/rk3528
Regards,
Jonas
> +
> &cru {
> bootph-all;
> };
[snip]
More information about the U-Boot
mailing list