From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Rini Date: Wed, 15 May 2019 11:17:22 -0400 Subject: [U-Boot] [PATCH 04/13] arm: K3: Introduce System Firmware loader framework In-Reply-To: <20190507172542.31359-5-dannenberg@ti.com> References: <20190507172542.31359-1-dannenberg@ti.com> <20190507172542.31359-5-dannenberg@ti.com> Message-ID: <20190515151722.GH22232@bill-the-cat> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Tue, May 07, 2019 at 12:25:33PM -0500, Andreas Dannenberg wrote: > Introduce a framework that allows loading the System Firmware (SYSFW) > binary as well as the associated configuration data from an image tree > blob named "sysfw.itb" from an FS-based MMC boot media or from an MMC > RAW mode partition or sector. > > To simplify the handling of and loading from the different boot media > we tap into the existing U-Boot SPL framework usually used for loading > U-Boot by building on an earlier commit that exposes some of that > functionality. > > Note that this initial implementation only supports FS and RAW-based > eMMC/SD card boot. [snip] > diff --git a/arch/arm/mach-k3/Kconfig b/arch/arm/mach-k3/Kconfig > index e677a2e01b..f1731dda58 100644 > --- a/arch/arm/mach-k3/Kconfig > +++ b/arch/arm/mach-k3/Kconfig > @@ -58,6 +58,46 @@ config SYS_K3_BOOT_CORE_ID > int > default 16 > > +config K3_LOAD_SYSFW > + bool > + depends on SPL > + default n 'n' is already default, you can drop this. [snip] > +config K3_SYSFW_IMAGE_SIZE_MAX > + int "Amount of memory dynamically allocated for loading SYSFW blob" > + depends on K3_LOAD_SYSFW > + default 269000 > + help > + Amount of memory reserved through dynamic allocation at runtime for > + loading the combined System Firmware and configuration image tree > + blob. Keep it as tight as possible, as this directly affects the > + overall SPL memory footprint. This is missing a unit, and is 'int' really the best choice here (and really, I guess, 262.6KiB as a default) ? [snip] > diff --git a/arch/arm/mach-k3/Makefile b/arch/arm/mach-k3/Makefile > index 0c3a4f7db1..6c895400c2 100644 > --- a/arch/arm/mach-k3/Makefile > +++ b/arch/arm/mach-k3/Makefile > @@ -7,4 +7,5 @@ obj-$(CONFIG_SOC_K3_AM6) += am6_init.o > obj-$(CONFIG_ARM64) += arm64-mmu.o > obj-$(CONFIG_CPU_V7R) += r5_mpu.o lowlevel_init.o > obj-$(CONFIG_TI_SECURE_DEVICE) += security.o > +obj-$(CONFIG_K3_LOAD_SYSFW) += sysfw-loader.o > obj-y += common.o [snip] > diff --git a/arch/arm/mach-k3/sysfw-loader.c b/arch/arm/mach-k3/sysfw-loader.c > new file mode 100644 > index 0000000000..a222266c27 > --- /dev/null > +++ b/arch/arm/mach-k3/sysfw-loader.c > @@ -0,0 +1,263 @@ [snip] > +#ifdef CONFIG_SPL_BUILD [snip of the whole body of the file] > +#endif We should be using something else in the Makefile, typically: obj-$(CONFIG_SPL_BUILD) += sysfw-loader.o should work. -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: