[PATCH v2 10/18] arm: mach-k3: j7200: Add support for storing extended boot info from ROM

Suman Anna s-anna at ti.com
Mon Jul 27 19:34:49 CEST 2020


On 7/27/20 4:45 AM, Lokesh Vutla wrote:
> Starting J7200 SoC, ROM supports for loading sysfw directly from boot
> image. ROM passes this information on number of images that are loaded
> to bootloader at  certain location. Add support for storing this

Extra whitespace before certain. Otherwise,

Reviewed-by: Suman Anna <s-anna at ti.com>


> information before it gets corrupted.
> 
> Signed-off-by: Lokesh Vutla <lokeshvutla at ti.com>
> ---
>   arch/arm/mach-k3/include/mach/hardware.h       | 7 +++++++
>   arch/arm/mach-k3/include/mach/j721e_hardware.h | 3 +++
>   arch/arm/mach-k3/j721e_init.c                  | 7 +++++--
>   3 files changed, 15 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/mach-k3/include/mach/hardware.h b/arch/arm/mach-k3/include/mach/hardware.h
> index 0ad761418b..02b3df0e1b 100644
> --- a/arch/arm/mach-k3/include/mach/hardware.h
> +++ b/arch/arm/mach-k3/include/mach/hardware.h
> @@ -21,4 +21,11 @@
>   #define JTAG_ID_PARTNO_SHIFT	12
>   #define JTAG_ID_PARTNO_MASK	(0xffff << 12)
>   
> +#define K3_ROM_BOOT_HEADER_MAGIC	"EXTBOOT"
> +
> +struct rom_extended_boot_data {
> +	char header[8];
> +	u32 num_components;
> +};
> +
>   #endif /* _ASM_ARCH_HARDWARE_H_ */
> diff --git a/arch/arm/mach-k3/include/mach/j721e_hardware.h b/arch/arm/mach-k3/include/mach/j721e_hardware.h
> index 19873d6e28..b98f0a82f1 100644
> --- a/arch/arm/mach-k3/include/mach/j721e_hardware.h
> +++ b/arch/arm/mach-k3/include/mach/j721e_hardware.h
> @@ -51,6 +51,9 @@
>   #define CTRLMMR_LOCK_KICK1				0x0100c
>   #define CTRLMMR_LOCK_KICK1_UNLOCK_VAL			0xd172bc5a
>   
> +/* ROM HANDOFF Structure location */
> +#define ROM_ENTENDED_BOOT_DATA_INFO			0x41cffb00
> +
>   /* MCU SCRATCHPAD usage */
>   #define TI_SRAM_SCRATCH_BOARD_EEPROM_START	CONFIG_SYS_K3_MCU_SCRATCHPAD_BASE
>   
> diff --git a/arch/arm/mach-k3/j721e_init.c b/arch/arm/mach-k3/j721e_init.c
> index 63a31c18ce..6246de3a26 100644
> --- a/arch/arm/mach-k3/j721e_init.c
> +++ b/arch/arm/mach-k3/j721e_init.c
> @@ -126,10 +126,13 @@ void k3_mmc_restart_clock(void)
>    * it to the .data section.
>    */
>   u32 bootindex __attribute__((section(".data")));
> +static struct rom_extended_boot_data bootdata __section(.data);
>   
> -static void store_boot_index_from_rom(void)
> +static void store_boot_info_from_rom(void)
>   {
>   	bootindex = *(u32 *)(CONFIG_SYS_K3_BOOT_PARAM_TABLE_INDEX);
> +	memcpy(&bootdata, (uintptr_t *)ROM_ENTENDED_BOOT_DATA_INFO,
> +	       sizeof(struct rom_extended_boot_data));
>   }
>   
>   void board_init_f(ulong dummy)
> @@ -142,7 +145,7 @@ void board_init_f(ulong dummy)
>   	 * Cannot delay this further as there is a chance that
>   	 * K3_BOOT_PARAM_TABLE_INDEX can be over written by SPL MALLOC section.
>   	 */
> -	store_boot_index_from_rom();
> +	store_boot_info_from_rom();
>   
>   	/* Make all control module registers accessible */
>   	ctrl_mmr_unlock();
> 



More information about the U-Boot mailing list