Am 2020-11-18 15:15, schrieb Michal Simek:
On 18. 11. 20 15:10, Michael Walle wrote:
Am 2020-11-18 15:06, schrieb Michal Simek:
On 16. 11. 20 22:47, Michael Walle wrote:
Add support to load the bl31 part of the ARM Trusted Firmware by the
SPL.

Signed-off-by: Michael Walle <mich...@walle.cc>
---
 .../dts/fsl-ls1028a-kontron-sl28-u-boot.dtsi  | 41 +++++++++++++-
 board/kontron/sl28/Kconfig                    | 10 ++++
 board/kontron/sl28/Makefile                   |  6 ++-
 board/kontron/sl28/spl_atf.c                  | 54 +++++++++++++++++++
 4 files changed, 109 insertions(+), 2 deletions(-)
 create mode 100644 board/kontron/sl28/spl_atf.c

diff --git a/arch/arm/dts/fsl-ls1028a-kontron-sl28-u-boot.dtsi
b/arch/arm/dts/fsl-ls1028a-kontron-sl28-u-boot.dtsi
index 2375549c6e..4b97e9d388 100644
--- a/arch/arm/dts/fsl-ls1028a-kontron-sl28-u-boot.dtsi
+++ b/arch/arm/dts/fsl-ls1028a-kontron-sl28-u-boot.dtsi
@@ -16,7 +16,7 @@
         ethernet3 = &enetc6;
     };

-    binman {
+    binman: binman {
         filename = "u-boot.rom";
         pad-byte = <0xff>;

@@ -102,6 +102,45 @@
     };
 };

+#ifdef CONFIG_SL28_SPL_LOADS_ATF_BL31
+&binman {
+    fit {
+        images {
+            bl31 {
+                description = "ARM Trusted Firmware (bl31)";
+                type = "firmware";
+                arch = "arm";
+                os = "arm-trusted-firmware";
+                compression = "none";
+                load = <CONFIG_SL28_BL31_ENTRY_ADDR>;
+                entry = <CONFIG_SL28_BL31_ENTRY_ADDR>;
+
+                blob-ext {
+                    filename = "bl31.bin";
+                };
+            };
+        };
+
+        configurations {
+            conf-1 {
+                firmware = "bl31";
+                loadables = "uboot", "bl31";
+            };
+
+            conf-2 {
+                firmware = "bl31";
+                loadables = "uboot", "bl31";
+            };
+
+            conf-3 {
+                firmware = "bl31";
+                loadables = "uboot", "bl31";
+            };

Why do you need 3 the same configurations here?

Because they differ in the fdt, but I still need to change the loadable
property if BL31/BL32 is enabled. See:

https://elixir.bootlin.com/u-boot/v2021.01-rc2/source/arch/arm/dts/fsl-ls1028a-kontron-sl28-u-boot.dtsi#L77

ah. ok. It is another overlay. But still you have firmware bl31 and
loadables bl31 too. It means you are loading bl31 twice.

Just for completeness (in spl_load_simple_fit()):
/*
 * if the firmware is also a loadable, skip it because
 * it already has been loaded. This is typically the case with
 * u-boot.img generated by mkimage.
 */

No harm here; but I'll remove it anyway.

-michael

Reply via email to