summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2023-02-28 21:19:11 +0300
committerTom Rini <trini@konsulko.com>2023-03-29 18:58:26 +0300
commit6ac9131702768343bec150894daac7208963b440 (patch)
tree16adf6f1ea559a6b96d4aa1d3c74eb0203e6938a
parentffbd5b29a4820a874520273c9140d7d125500af7 (diff)
downloadu-boot-6ac9131702768343bec150894daac7208963b440.tar.xz
iot2050: Update firmware layout
The latest version of the binary-only firmware parts come in a combined form of FSBL and sysfw containers. This implies some layout changes to the generated firmware image but also makes handling of artifacts much simpler (4 files less). The env locations will not change, just the space reserved for U-Boot will shrink from 4 to 3 MB - still plenty of space left in practice. Adjust configuration and documentation accordingly. Along this change, add a new reservation for update commands of the user-controlled OTP part. A specific userspace tool will fill it, and the FSBL will evaluate it during boot. This reservation will use 64K of the former sysfw section. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
-rw-r--r--arch/arm/dts/k3-am65-iot2050-boot-image.dtsi30
-rw-r--r--configs/iot2050_pg1_defconfig2
-rw-r--r--configs/iot2050_pg2_defconfig2
-rw-r--r--doc/board/siemens/iot2050.rst4
-rw-r--r--tools/binman/missing-blob-help8
5 files changed, 11 insertions, 35 deletions
diff --git a/arch/arm/dts/k3-am65-iot2050-boot-image.dtsi b/arch/arm/dts/k3-am65-iot2050-boot-image.dtsi
index 4666957686..3ee0842e99 100644
--- a/arch/arm/dts/k3-am65-iot2050-boot-image.dtsi
+++ b/arch/arm/dts/k3-am65-iot2050-boot-image.dtsi
@@ -25,15 +25,15 @@
missing-msg = "iot2050-seboot";
};
- blob@0x080000 {
- offset = <0x080000>;
+ blob@0x180000 {
+ offset = <0x180000>;
filename = "tispl.bin";
};
- fit@0x280000 {
+ fit@0x380000 {
description = "U-Boot for IOT2050";
fit,fdt-list = "of-list";
- offset = <0x280000>;
+ offset = <0x380000>;
images {
u-boot {
description = "U-Boot";
@@ -94,25 +94,11 @@
fill-byte = [00];
};
- /* sysfw, basic variant */
- blob-ext@0x6c0000 {
+ /* OTP update command block */
+ fill@0x6c0000 {
offset = <0x6c0000>;
-#ifdef CONFIG_TARGET_IOT2050_A53_PG1
- filename = "sysfw_sr1.itb";
-#else
- filename = "sysfw_sr2.itb";
-#endif
- missing-msg = "iot2050-sysfw";
- };
- /* sysfw, advanced variant */
- blob-ext@0x740000 {
- offset = <0x740000>;
-#ifdef CONFIG_TARGET_IOT2050_A53_PG1
- filename = "sysfw_sr1.itb_HS";
-#else
- filename = "sysfw_sr2.itb_HS";
-#endif
- missing-msg = "iot2050-sysfw";
+ size = <0x010000>;
+ fill-byte = [ff];
};
};
};
diff --git a/configs/iot2050_pg1_defconfig b/configs/iot2050_pg1_defconfig
index 579971c39c..57a2a6d6f1 100644
--- a/configs/iot2050_pg1_defconfig
+++ b/configs/iot2050_pg1_defconfig
@@ -52,7 +52,7 @@ CONFIG_SPL_POWER_DOMAIN=y
# CONFIG_SPL_SPI_FLASH_TINY is not set
CONFIG_SPL_SPI_FLASH_SFDP_SUPPORT=y
CONFIG_SPL_SPI_LOAD=y
-CONFIG_SYS_SPI_U_BOOT_OFFS=0x280000
+CONFIG_SYS_SPI_U_BOOT_OFFS=0x380000
CONFIG_SYS_MAXARGS=64
CONFIG_SYS_PBSIZE=1050
CONFIG_CMD_ASKENV=y
diff --git a/configs/iot2050_pg2_defconfig b/configs/iot2050_pg2_defconfig
index 65400b4696..e3f82ad306 100644
--- a/configs/iot2050_pg2_defconfig
+++ b/configs/iot2050_pg2_defconfig
@@ -54,7 +54,7 @@ CONFIG_SPL_POWER_DOMAIN=y
# CONFIG_SPL_SPI_FLASH_TINY is not set
CONFIG_SPL_SPI_FLASH_SFDP_SUPPORT=y
CONFIG_SPL_SPI_LOAD=y
-CONFIG_SYS_SPI_U_BOOT_OFFS=0x280000
+CONFIG_SYS_SPI_U_BOOT_OFFS=0x380000
CONFIG_SYS_MAXARGS=64
CONFIG_SYS_PBSIZE=1050
CONFIG_CMD_ASKENV=y
diff --git a/doc/board/siemens/iot2050.rst b/doc/board/siemens/iot2050.rst
index fd3431fa3f..26972e20ae 100644
--- a/doc/board/siemens/iot2050.rst
+++ b/doc/board/siemens/iot2050.rst
@@ -25,11 +25,7 @@ https://github.com/siemens/meta-iot2050/tree/master/recipes-bsp/u-boot/files/pre
The following binaries from that source need to be present in the build folder:
- seboot_pg1.bin
- - sysfw_sr1.itb
- - sysfw_sr1.itb_HS
- seboot_pg2.bin
- - sysfw_sr2.itb
- - sysfw_sr2.itb_HS
Building
--------
diff --git a/tools/binman/missing-blob-help b/tools/binman/missing-blob-help
index f3a44d08ac..5fdb22c88c 100644
--- a/tools/binman/missing-blob-help
+++ b/tools/binman/missing-blob-help
@@ -21,13 +21,7 @@ Please read the section on SCP firmware in board/sunxi/README.sunxi64
iot2050-seboot:
See the documentation for IOT2050 board. Your image is missing SEBoot
which is mandatory for board startup. Prebuilt SEBoot located at
-meta-iot2050/tree/master/recipes-bsp/u-boot/files/prebuild/tiboot3.bin.
-
-iot2050-sysfw:
-See the documentation for IOT2050 board. Your image is missing system
-firmware which is mandatory for board startup. Prebuilt system firmware
-located at meta-iot2050/tree/master/recipes-bsp/u-boot/files/prebuild/
-with sysfw prefix.
+meta-iot2050/tree/master/recipes-bsp/u-boot/files/prebuild/seboot_pg*.bin.
k3-rti-wdt-firmware:
If CONFIG_WDT_K3_RTI_LOAD_FW is enabled, a firmware image is needed for