The VPL image is immutable and has a single VPL binary plus a devicetree for each board we need to support.
The devicetree is run through fdtgrep to remove unwanted nodes and properties and reduce its size. Changes in v2: - Move VPL things into a separate file Signed-off-by: Simon Glass <s...@chromium.org> --- (no changes since v1) arch/arm/dts/rockchip-vpl-u-boot.dtsi | 91 +++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) diff --git a/arch/arm/dts/rockchip-vpl-u-boot.dtsi b/arch/arm/dts/rockchip-vpl-u-boot.dtsi index 325c15f9fef..a02f44d27d2 100644 --- a/arch/arm/dts/rockchip-vpl-u-boot.dtsi +++ b/arch/arm/dts/rockchip-vpl-u-boot.dtsi @@ -57,4 +57,95 @@ }; }; }; + + simple-bin { + vpl { + type = "fit"; + offset = <(CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR * 0x200 + 0x8000)>; + description = "FIT image for U-Boot TPL"; + #address-cells = <1>; + fit,fdt-list = "of-list"; + fit,align = <512>; + fit,external-offset = <0>; + images { + image-vpl { + description = "U-Boot VPL"; + type = "firmware"; + os = "u-boot"; + arch = ARCH; + compression = "lz4"; + load = <CONFIG_VPL_TEXT_BASE>; + entry = <CONFIG_VPL_TEXT_BASE>; + section { + compress = "lz4"; + u-boot-vpl-nodtb { + symbols-base = <0>; + }; + u-boot-vpl-bss-pad { + }; + }; + }; + @fdt-SEQ { + description = "fdt-NAME"; + compression = "none"; + type = "flat_dt"; + fit,fdt-phase = "vpl"; + }; + }; + configurations { + default = "@config-DEFAULT-SEQ"; + @config-SEQ { + description = "NAME.dtb"; + fdt = "fdt-SEQ"; + fit,firmware = "image-vpl"; + fit,loadables; + fit,compatible; + }; + }; + }; +# ifdef CONFIG_BOOTMETH_VBE_ABREC + vbe-a { + type = "section"; + offset = <(CONFIG_SPL_PAD_TO + 0x8000)>; + spl-a { + insert-template = <&spl_template>; + size = <0x100000>; + }; + + u-boot-a { + insert-template = <&common_part>; + }; + }; + vbe-b { + type = "section"; + offset = <0x1000000>; + spl-b { + insert-template = <&spl_template>; + size = <0x100000>; + }; + + u-boot-b { + insert-template = <&common_part>; + }; + }; + vbe-recovery { + type = "section"; + offset = <0x1800000>; + spl-recovery { + insert-template = <&spl_template>; + size = <0x100000>; + }; + + u-boot-recovery { + insert-template = <&common_part>; + }; + }; +# else /* CONFIG_BOOTMETH_VBE_SIMPLE */ + vbe { + type = "fit"; + offset = <(CONFIG_SPL_PAD_TO + 0x8000)>; + insert-template = <&common_part>; + }; +# endif /* VBE method */ + }; }; -- 2.43.0