[PATCH 18/29] rockchip: Add a VPL image
Simon Glass
sjg at chromium.org
Wed Feb 5 02:55:08 CET 2025
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.
Signed-off-by: Simon Glass <sjg at chromium.org>
---
arch/arm/dts/rockchip-u-boot.dtsi | 94 ++++++++++++++++++++++++++++++-
1 file changed, 93 insertions(+), 1 deletion(-)
diff --git a/arch/arm/dts/rockchip-u-boot.dtsi b/arch/arm/dts/rockchip-u-boot.dtsi
index c87d17db00e..0611533a310 100644
--- a/arch/arm/dts/rockchip-u-boot.dtsi
+++ b/arch/arm/dts/rockchip-u-boot.dtsi
@@ -270,6 +270,97 @@
};
};
+#ifdef CONFIG_VPL
+ 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 */
+#else /* !VPL */
+
#ifdef HAS_FIT
fit {
offset = <CONFIG_SPL_PAD_TO>;
@@ -279,7 +370,8 @@
u-boot-img {
offset = <CONFIG_SPL_PAD_TO>;
};
-#endif
+#endif /* HAS_FIT */
+#endif /* VPL */
fdtmap {
};
};
--
2.43.0
More information about the U-Boot
mailing list