[PATCH v2 2/2] board: ti: am64x: Switch to standard boot flow

Roger Quadros rogerq at kernel.org
Fri Oct 6 11:53:09 CEST 2023


Hi Simon,

On 05/10/2023 20:22, Simon Glass wrote:
> Hi Tom,
> 
> On Thu, 5 Oct 2023 at 10:31, Tom Rini <trini at konsulko.com> wrote:
>>
>> On Thu, Oct 05, 2023 at 09:01:42AM -0600, Simon Glass wrote:
>>> Hi Roger,
>>>
>>> On Thu, 5 Oct 2023 at 07:07, Roger Quadros <rogerq at kernel.org> wrote:
>>>>
>>>> Switch to using bootstd. Note with this change, we will stop using
>>>> distro_bootcmd and instead depend entirely on bootflow method of
>>>> starting the system up.
>>>>
>>>> Drop header files that are no longer needed in am64x_evm.h.
>>>> k3_dfu.h is available via k3_dfu.env in am64x.env.
>>>>
>>>> Drop unused macro CFG_SYS_SDRAM_BASE1.
>>>>
>>>> Signed-off-by: Roger Quadros <rogerq at kernel.org>
>>>> ---
>>>>  board/ti/am64x/am64x.env        | 1 +
>>>>  configs/am64x_evm_a53_defconfig | 5 +++--
>>>>  include/configs/am64x_evm.h     | 9 ---------
>>>>  3 files changed, 4 insertions(+), 11 deletions(-)
>>>>
>>>> diff --git a/board/ti/am64x/am64x.env b/board/ti/am64x/am64x.env
>>>> index 68e42222b7..efd736b99b 100644
>>>> --- a/board/ti/am64x/am64x.env
>>>> +++ b/board/ti/am64x/am64x.env
>>>> @@ -15,6 +15,7 @@ console=ttyS2,115200n8
>>>>  args_all=setenv optargs earlycon=ns16550a,mmio32,0x02800000 ${mtdparts}
>>>>  run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}
>>>>
>>>> +boot_targets=mmc1 mmc0 usb pxe dhcp
>>>>  boot=mmc
>>>>  mmcdev=1
>>>>  bootpart=1:2
>>>> diff --git a/configs/am64x_evm_a53_defconfig b/configs/am64x_evm_a53_defconfig
>>>> index 718ad176cb..43bfcf957a 100644
>>>> --- a/configs/am64x_evm_a53_defconfig
>>>> +++ b/configs/am64x_evm_a53_defconfig
>>>> @@ -31,8 +31,9 @@ CONFIG_SPL_SPI=y
>>>>  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>>>>  CONFIG_SPL_LOAD_FIT=y
>>>>  CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
>>>> -CONFIG_DISTRO_DEFAULTS=y
>>>> -CONFIG_BOOTCOMMAND="run envboot; run distro_bootcmd;"
>>>> +CONFIG_BOOTSTD_FULL=y
>>>> +CONFIG_BOOTSTD_DEFAULTS=y
>>>> +CONFIG_BOOTCOMMAND="run envboot; bootflow scan -lb"
>>>>  CONFIG_BOARD_LATE_INIT=y
>>>>  CONFIG_SPL_MAX_SIZE=0x180000
>>>>  CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
>>>> diff --git a/include/configs/am64x_evm.h b/include/configs/am64x_evm.h
>>>> index 062102a610..f9f8c7bc2f 100644
>>>> --- a/include/configs/am64x_evm.h
>>>> +++ b/include/configs/am64x_evm.h
>>>> @@ -9,15 +9,6 @@
>>>>  #ifndef __CONFIG_AM642_EVM_H
>>>>  #define __CONFIG_AM642_EVM_H
>>>>
>>>> -#include <linux/sizes.h>
>>>> -#include <config_distro_bootcmd.h>
>>>> -#include <env/ti/mmc.h>
>>>> -#include <asm/arch/am64_hardware.h>
>>>> -#include <env/ti/k3_dfu.h>
>>>> -
>>>> -/* DDR Configuration */
>>>> -#define CFG_SYS_SDRAM_BASE1            0x880000000
>>>> -
>>>>  /* Now for the remaining common defines */
>>>>  #include <configs/ti_armv7_common.h>
>>>
>>> It looks like this file still includes distro_bootcmd and defines all
>>> the BOOT_TARGET things. Can they be dropped? Perhaps for now they
>>> could be put behind an #ifdef if other boards need them?
>>>
>>> I suspect that with your patch as is, the environment is still full of scripts?
>>
>> There's a lot of TI platforms, so I'm not sure what "#if" you're
>> thinking of might make it cleaner?  We could / should move some of the
>> still relevant content and comments from that file to
>> include/env/ti/ti_armv7_common.env as I do think some of the K3
>> platforms could just drop <configs/ti_armv7_common.h> at this point.
> 
> OK so if they are using text env then the header-file stuff doesn't
> matter since I believe it is ignored? I was thinking of something
> like:
> 
> #ifdef CONFIG_DISTRO_DEFAULTS
> 
> do all the distro #defines
> 
> #endif

This is already done, although within #ifdef CONFIG_ARM64 ...

All we are picking up is really CFG_SYS_SDRAM_BASE.

Cleaning up ti_armv7_common.h should be a separate series and
involve testing on all affected platforms (entire TI range) :P.

-- 
cheers,
-roger


More information about the U-Boot mailing list