Re: [PATCH 00/10] support for booting the compressed U-boot binary on Rockchip based SOC's

2023-06-30 Thread Jonas Karlman
Hi,

On 2023-06-30 14:11, Manoj Sai wrote:
> This patchset adds the support on Rockchip based RK3399 and RK3328 SOC's 
> that  compress the U-BOOT proper along with dtb and ATF in FIT image format.
> Second stage bootloader(SPL) loads the compressed binaries, uncompress them 
> and 
> handover control to the next stage.
>  
> The size difference observed between uncompressed and compressed FIT images 
> is nearly 67
> to 70% and used two compression libraries,LZMA and GZIP. 

How much does this size difference and decompression affect boot times?

> 
> Patch 1/10  generate a GZIP-compressed raw U-boot binary using Makefile
> Patch 2/10  address to store compressed U-BOOT raw binary using Kconfig
> Patch 3/10  RAM location to store compressed U-BOOT raw binary for ROCKCHIP 
> based RK3399 and RK3328 SOC's
> Patch 4/10  uncompress the gzip U-BOOT binary and load the binaries if gzip 
> compression supoort is enabled
> Patch 5/10  generate a LZMA-compressed raw U-boot binary using Makefile
> Patch 6/10  uncompress the lzma U-BOOT binary and load the binaries if lzma 
> compression supoort is enabled
> Patch 7/10  add u-boot-nodtb.bin.gz as an input binary in binman
> Patch 8/10  add the GZIP compressed uboot raw binary to FIT image
> Patch 9/10  add u-boot-nodtb.bin.lzma as an input binary in binman
> Patch 10/10 add the LZMA compressed uboot raw binary to FIT image

Instead of adding Makefile targets and custom binman etypes adding
support for on-the-fly compression to the fit etype if probably a better
option. E.g. when fit node has compression <> none, compress the data content
inside binman instead of relaying on binman nodes and Makefile output.

Regards,
Jonas

> 
> Manoj Sai (10):
>   Makefile: Add support to generate GZIP compressed raw u-boot binary
>   spl: Kconfig: Address support for compressed U-BOOT raw binary
>   rockchip: RAM location for the compressed U-BOOT raw binary
>   spl: fit: support for booting a GZIP-compressed U-boot raw binary
>   Makefile: Add support to generate LZMA compressed raw u-boot binary
>   spl: fit: support for booting a LZMA-compressed U-boot raw binary
>   binman: Add support for u-boot-nodtb.bin.gz as an input binary
>   rockchip: Add GZIP compressed uboot raw binary to FIT image
>   binman: Add support for u-boot-nodtb.bin.lzma as an input binary
>   rockchip: Add LZMA compressed uboot raw binary to FIT image
> 
>  Makefile |  6 
>  arch/arm/dts/rockchip-u-boot.dtsi| 15 
>  arch/arm/mach-rockchip/Kconfig   |  3 ++
>  common/spl/Kconfig   | 15 
>  common/spl/spl_fit.c | 36 +++-
>  tools/binman/etype/283_u_boot_nodtb_lzma.dts | 11 ++
>  tools/binman/etype/u_boot_nodtb_gzip.py  | 28 +++
>  tools/binman/etype/u_boot_nodtb_lzma.py  | 28 +++
>  tools/binman/ftest.py| 11 ++
>  tools/binman/test/282_u_boot_nodtb_gzip.dts  | 11 ++
>  10 files changed, 156 insertions(+), 8 deletions(-)
>  create mode 100644 tools/binman/etype/283_u_boot_nodtb_lzma.dts
>  create mode 100644 tools/binman/etype/u_boot_nodtb_gzip.py
>  create mode 100644 tools/binman/etype/u_boot_nodtb_lzma.py
>  create mode 100644 tools/binman/test/282_u_boot_nodtb_gzip.dts
> 



[PATCH 00/10] support for booting the compressed U-boot binary on Rockchip based SOC's

2023-06-30 Thread Manoj Sai
This patchset adds the support on Rockchip based RK3399 and RK3328 SOC's 
that  compress the U-BOOT proper along with dtb and ATF in FIT image format.
Second stage bootloader(SPL) loads the compressed binaries, uncompress them and 
handover control to the next stage.
 
The size difference observed between uncompressed and compressed FIT images is 
nearly 67
to 70% and used two compression libraries,LZMA and GZIP. 

Patch 1/10  generate a GZIP-compressed raw U-boot binary using Makefile
Patch 2/10  address to store compressed U-BOOT raw binary using Kconfig
Patch 3/10  RAM location to store compressed U-BOOT raw binary for ROCKCHIP 
based RK3399 and RK3328 SOC's
Patch 4/10  uncompress the gzip U-BOOT binary and load the binaries if gzip 
compression supoort is enabled
Patch 5/10  generate a LZMA-compressed raw U-boot binary using Makefile
Patch 6/10  uncompress the lzma U-BOOT binary and load the binaries if lzma 
compression supoort is enabled
Patch 7/10  add u-boot-nodtb.bin.gz as an input binary in binman
Patch 8/10  add the GZIP compressed uboot raw binary to FIT image
Patch 9/10  add u-boot-nodtb.bin.lzma as an input binary in binman
Patch 10/10 add the LZMA compressed uboot raw binary to FIT image

Manoj Sai (10):
  Makefile: Add support to generate GZIP compressed raw u-boot binary
  spl: Kconfig: Address support for compressed U-BOOT raw binary
  rockchip: RAM location for the compressed U-BOOT raw binary
  spl: fit: support for booting a GZIP-compressed U-boot raw binary
  Makefile: Add support to generate LZMA compressed raw u-boot binary
  spl: fit: support for booting a LZMA-compressed U-boot raw binary
  binman: Add support for u-boot-nodtb.bin.gz as an input binary
  rockchip: Add GZIP compressed uboot raw binary to FIT image
  binman: Add support for u-boot-nodtb.bin.lzma as an input binary
  rockchip: Add LZMA compressed uboot raw binary to FIT image

 Makefile |  6 
 arch/arm/dts/rockchip-u-boot.dtsi| 15 
 arch/arm/mach-rockchip/Kconfig   |  3 ++
 common/spl/Kconfig   | 15 
 common/spl/spl_fit.c | 36 +++-
 tools/binman/etype/283_u_boot_nodtb_lzma.dts | 11 ++
 tools/binman/etype/u_boot_nodtb_gzip.py  | 28 +++
 tools/binman/etype/u_boot_nodtb_lzma.py  | 28 +++
 tools/binman/ftest.py| 11 ++
 tools/binman/test/282_u_boot_nodtb_gzip.dts  | 11 ++
 10 files changed, 156 insertions(+), 8 deletions(-)
 create mode 100644 tools/binman/etype/283_u_boot_nodtb_lzma.dts
 create mode 100644 tools/binman/etype/u_boot_nodtb_gzip.py
 create mode 100644 tools/binman/etype/u_boot_nodtb_lzma.py
 create mode 100644 tools/binman/test/282_u_boot_nodtb_gzip.dts

-- 
2.25.1