[PATCH 01/15] arm: mach-k3: j721e: Improve support for UDA FS

Kumar, Udit u-kumar1 at ti.com
Mon Nov 6 15:21:28 CET 2023


On 11/6/2023 5:48 PM, Nishanth Menon wrote:
> On 15:54-20231104, Kumar, Udit wrote:
>> On 11/3/2023 6:07 AM, Nishanth Menon wrote:
>>> Commit 5019170970ad ("arch: arm: mach-k3: j721e: add support for UDA
>>> FS") introduced basic UDA FS support, however, we can Take approach
>>> similar to commit 0f1c1e8b368b ("arm: mach-k3: am625: Add support for
>>> UDA FS"). While boot partition support with EMMC boot is useful, it is
>>> constrained by the size of boot hardware partition itself.
>>>
>>> In the case of K3 devices, tispl images can contain OP-TEE images that
>>> can substantially vary in size and the u-boot image itself can vary over
>>> time as we enable various features.
>>>
>>> So use the CSD information in the case of EMMC_BOOT configuration being
>>> enabled to pick boot partition or UDA FS mode operation to pick.
>>>
>>> If EMMC_BOOT is disabled, then depend on filesystem configuration to
>>> pick data from UDA.
>> I am thinking, in which case we have EMMC_BOOT disabled,
>>
>> Case here I am considering, updating u-boot to eMMC from u-boot shell, If
>> EMMC_BOOT
>>
>> is not set then , we can not set CSD information
>
> Yes, but we cannot use boot0 mode of operation for Beagle family. the
> size of u-boot and optee vary over time and SK's boot0 partition
> strategy does'nt work for Beagle platforms.


Thanks, I was not aware of this limitation of Beagle family.

Let each board chose needed config with that

Reviewed-by: Udit Kumar <u-kumar1 at ti.com>

>>> Signed-off-by: Nishanth Menon <nm at ti.com>
>>> ---
>>>    arch/arm/mach-k3/j721e_init.c | 9 ++++++++-
>>>    1 file changed, 8 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/arch/arm/mach-k3/j721e_init.c b/arch/arm/mach-k3/j721e_init.c
>>> index b1f7e25ed092..bcdfbfc79c4a 100644
>>> --- a/arch/arm/mach-k3/j721e_init.c
>>> +++ b/arch/arm/mach-k3/j721e_init.c
>>> @@ -294,7 +294,14 @@ u32 spl_mmc_boot_mode(struct mmc *mmc, const u32 boot_device)
>>>    {
>>>    	switch (boot_device) {
>>>    	case BOOT_DEVICE_MMC1:
>>> -		return (spl_mmc_emmc_boot_partition(mmc) ? MMCSD_MODE_EMMCBOOT : MMCSD_MODE_FS);
>>> +		if (IS_ENABLED(CONFIG_SUPPORT_EMMC_BOOT)) {
>>> +			if (spl_mmc_emmc_boot_partition(mmc))
>>> +				return MMCSD_MODE_EMMCBOOT;
>>> +			return MMCSD_MODE_FS;
>>> +		}
>> I had a view EMMC_BOOT should be needed config.
>>
>>
>>> +		if (IS_ENABLED(CONFIG_SPL_FS_FAT) || IS_ENABLED(CONFIG_SPL_FS_EXT4))
>>> +			return MMCSD_MODE_FS;
>>> +		return MMCSD_MODE_EMMCBOOT;
>> If you consider, to make EMMC_BOOT as needed config, then this is not needed
> EMMC_BOOT is not a mandatory config.
>>
>>>    	case BOOT_DEVICE_MMC2:
>>>    		return MMCSD_MODE_FS;
>>>    	default:


More information about the U-Boot mailing list