[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