[PATCH v4 02/10] rockchip: binman: Factor out arch and compression
Jonas Karlman
jonas at kwiboo.se
Wed Apr 9 13:56:08 CEST 2025
Hi Quentin,
On 2025-04-09 11:28, Quentin Schulz wrote:
> Hi Jonas, Simon,
>
> On 3/29/25 4:06 PM, Jonas Karlman wrote:
>> From: Simon Glass <sjg at chromium.org>
>>
>> Declare arch and compression at the top of the file to avoid needing
>> ifdefs in every usage.
>>
>> Add a few comments to help with the remaining #ifdefs.
>>
>> Signed-off-by: Simon Glass <sjg at chromium.org>
>> Signed-off-by: Jonas Karlman <jonas at kwiboo.se>
>> ---
>> Changes in v4:
>> - Split from "VBE serial part H: Implement VBE on Rockchip RK3399"
>> ---
>> arch/arm/dts/rockchip-u-boot.dtsi | 44 +++++++++++++++----------------
>> 1 file changed, 22 insertions(+), 22 deletions(-)
>>
>> diff --git a/arch/arm/dts/rockchip-u-boot.dtsi b/arch/arm/dts/rockchip-u-boot.dtsi
>> index e9ed1d4b5738..2b01dc660562 100644
>> --- a/arch/arm/dts/rockchip-u-boot.dtsi
>> +++ b/arch/arm/dts/rockchip-u-boot.dtsi
>> @@ -5,6 +5,20 @@
>>
>> #include <config.h>
>>
>> +#ifdef CONFIG_ARM64
>> +#define ARCH "arm64"
>> +#else
>> +#define ARCH "arm"
>> +#endif
>> +
>
> I would refrain from using ARCH here as it's something we already use to
> specify the architecture to build (e.g. make ARCH=arm64 CROSS_COMPILE=...).
>
> Maybe FIT_ARCH?
sunxi-u-boot.dtsi is also using ARCH so I figured it was also safe here,
we can change to FIT_ARCH for a v5.
>
>> +#if defined(CONFIG_SPL_GZIP)
>> +#define COMP "gzip"
>> +#elif defined(CONFIG_SPL_LZMA)
>> +#define COMP "lzma"
>> +#else
>> +#define COMP "none"
>> +#endif
>> +
>
> This is specific to the U-Boot proper image node only, maybe we should
> have this constant named more appropriately, e.g. FIT_PROPER_COMP or
> something like that?
Sounds good, will change in a v5.
>
> Reading the symbols also, I believe their help text is misleading or
> confusing (at least the _GZIP ones, _ZSTD seems okay).
>
> Also, I'm wondering if it actually makes sense to force a specific
> U-Boot proper compression algorithm based on a symbol of what
> decompression algorithms are supported in U-Boot SPL. Like, why should
> gzip be picked if I also have lzma enabled? In any case, nothing related
> to this patch.
Agree, use of compressed image should probably be enabled using a
dedicated Kconfig symbol, something for a different series :-)
>
>> / {
>> binman: binman {
>> multiple-images;
>> @@ -51,26 +65,12 @@
>> description = "U-Boot";
>> type = "standalone";
>> os = "u-boot";
>> -#ifdef CONFIG_ARM64
>> - arch = "arm64";
>> -#else
>> - arch = "arm";
>> -#endif
>> -#if defined(CONFIG_SPL_GZIP)
>> - compression = "gzip";
>> -#elif defined(CONFIG_SPL_LZMA)
>> - compression = "lzma";
>> -#else
>> - compression = "none";
>> -#endif
>> + arch = ARCH;
>> + compression = COMP;
>> load = <CONFIG_TEXT_BASE>;
>> entry = <CONFIG_TEXT_BASE>;
>> u-boot-nodtb {
>> -#if defined(CONFIG_SPL_GZIP)
>> - compress = "gzip";
>> -#elif defined(CONFIG_SPL_LZMA)
>> - compress = "lzma";
>> -#endif
>> + compress = COMP;
>> };
>> #ifdef CONFIG_SPL_FIT_SIGNATURE
>> hash {
>> @@ -84,7 +84,7 @@
>> fit,operation = "split-elf";
>> description = "ARM Trusted Firmware";
>> type = "firmware";
>> - arch = "arm64";
>> + arch = ARCH;
>> os = "arm-trusted-firmware";
>> compression = "none";
>> fit,load;
>> @@ -103,7 +103,7 @@
>> fit,operation = "split-elf";
>> description = "TEE";
>> type = "tee";
>> - arch = "arm64";
>> + arch = ARCH;
>> os = "tee";
>> compression = "none";
>> fit,load;
>> @@ -119,11 +119,11 @@
>> };
>> #endif
>> };
>> -#else
>> +#else /* !CONFIG_ARM64 */
>> op-tee {
>> description = "OP-TEE";
>> type = "tee";
>> - arch = "arm";
>> + arch = ARCH;
>> os = "tee";
>> compression = "none";
>> load = <(CFG_SYS_SDRAM_BASE + 0x8400000)>;
>
> Wondering if we couldn't put some of the Aarch32 and Aarch64 OP-TEE OS
> node(s) in common?
Sounds like a good idea to maybe put op-tee in a template, personally I
never use op-tee so typically try to minimize any change/impact related
to op-tee.
The RK3506 does use op-tee so I may need to dig more into the op-tee
parts in a future RK3506 enablement series, initially [1] was enough.
Could look more into using a op-tee template in such future series.
[1] https://source.denx.de/u-boot/contributors/kwiboo/u-boot/-/commit/3d683f3b717de010fffeece8712373892a599905
>
> The change is fine, finding a more appropriate name for COMP and ARCH
> and it's all good.
I will use different names in a v5.
Regards,
Jonas
>
> Cheers,
> Quentin
More information about the U-Boot
mailing list