[U-Boot] [PATCH v2 02/16] armv7R: K3: j721e: Add support for boot device detection

Lokesh Vutla lokeshvutla at ti.com
Thu Jun 13 04:52:13 UTC 2019



On 13/06/19 3:01 AM, Andreas Dannenberg wrote:
> Hi Lokesh,
> 
> On Fri, Jun 07, 2019 at 07:31:41PM +0530, Lokesh Vutla wrote:
>> J721E allows for booting from primary or backup boot media.
>> Both media can be chosen individually based on switch settings.
>> ROM looks for a valid image in primary boot media, if not found
>> then looks in backup boot media. In order to pass this boot media
>> information to boot loader, ROM stores a value at a particular
>> address. Add support for reading this information and determining
>> the boot media correctly.
>>
>> Signed-off-by: Lokesh Vutla <lokeshvutla at ti.com>
>> Signed-off-by: Andreas Dannenberg <dannenberg at ti.com>
>> Signed-off-by: Faiz Abbas <faiz_abbas at ti.com>
> 
> <snip>
> 
>> diff --git a/arch/arm/mach-k3/include/mach/j721e_hardware.h b/arch/arm/mach-k3/include/mach/j721e_hardware.h
>> new file mode 100644
>> index 0000000000..4f84b76af6
>> --- /dev/null
>> +++ b/arch/arm/mach-k3/include/mach/j721e_hardware.h
>> @@ -0,0 +1,52 @@
>> +/* SPDX-License-Identifier: GPL-2.0+ */
>> +/*
>> + * K3: J721E SoC definitions, structures etc.
>> + *
>> + * (C) Copyright (C) 2018-2019 Texas Instruments Incorporated - http://www.ti.com/
>> + */
>> +#ifndef __ASM_ARCH_J721E_HARDWARE_H
>> +#define __ASM_ARCH_J721E_HARDWARE_H
>> +
>> +#include <config.h>
>> +
>> +#define CTRL_MMR0_BASE					0x00100000
>> +#define CTRLMMR_MAIN_DEVSTAT				(CTRL_MMR0_BASE + 0x30)
>> +
>> +#define MAIN_DEVSTAT_BOOT_MODE_B_MASK		BIT(0)
>> +#define MAIN_DEVSTAT_BOOT_MODE_B_SHIFT		0
>> +#define MAIN_DEVSTAT_BKUP_BOOTMODE_MASK		GENMASK(3, 1)
>> +#define MAIN_DEVSTAT_BKUP_BOOTMODE_SHIFT	1
>> +#define MAIN_DEVSTAT_PRIM_BOOTMODE_MMC_PORT_MASK	BIT(6)
>> +#define MAIN_DEVSTAT_PRIM_BOOTMODE_PORT_SHIFT		6
>> +
>> +#define WKUP_CTRL_MMR0_BASE				0x43000000
>> +#define MCU_CTRL_MMR0_BASE				0x40f00000
>> +
>> +#define CTRLMMR_WKUP_DEVSTAT			(WKUP_CTRL_MMR0_BASE + 0x30)
>> +#define WKUP_DEVSTAT_PRIMARY_BOOTMODE_MASK	GENMASK(5, 3)
>> +#define WKUP_DEVSTAT_PRIMARY_BOOTMODE_SHIFT	3
>> +#define WKUP_DEVSTAT_MCU_OMLY_MASK		BIT(6)
>> +#define WKUP_DEVSTAT_MCU_ONLY_SHIFT		6
>> +
>> +/*
>> + * The CTRL_MMR0 memory space is divided into several equally-spaced
>> + * partitions, so defining the partition size allows us to determine
>> + * register addresses common to those partitions.
>> + */
>> +#define CTRL_MMR0_PARTITION_SIZE			0x4000
>> +
>> +/*
>> + * CTRL_MMR0, WKUP_CTRL_MMR0, and MCU_CTR_MMR0 lock/kick-mechanism
>> + * shared register definitions.
>> + */
>> +#define CTRLMMR_LOCK_KICK0				0x01008
>> +#define CTRLMMR_LOCK_KICK0_UNLOCK_VAL			0x68ef3490
>> +#define CTRLMMR_LOCK_KICK0_UNLOCKED_MASK		BIT(0)
>> +#define CTRLMMR_LOCK_KICK0_UNLOCKED_SHIFT		0
>> +#define CTRLMMR_LOCK_KICK1				0x0100c
>> +#define CTRLMMR_LOCK_KICK1_UNLOCK_VAL			0xd172bc5a
>> +
>> +/* MCU SCRATCHPAD usage */
>> +#define K3_BOOT_PARAM_TABLE_INDEX_VAL	CONFIG_SYS_K3_MCU_SCRATCHPAD_BASE
> 
> We no longer need/use this ^^^^^^^^^^ definition as we have changed the
> scheme how we manage that value. So it can be removed.

Right. Thanks for catching it. Will post v3 soon.

Thanks and regards,
Lokesh

> 
> --
> Andreas Dannenberg
> Texas Instruments Inc
> 


More information about the U-Boot mailing list