Move to using .env file for setting up environment variables for am64x. Signed-off-by: Nishanth Menon <n...@ti.com> ---
I think this was long time pending.. but anyways.. board/ti/am64x/Kconfig | 3 + board/ti/am64x/am64x.env | 37 ++++++++++++ include/configs/am64x_evm.h | 117 ++++++++++-------------------------- 3 files changed, 72 insertions(+), 85 deletions(-) create mode 100644 board/ti/am64x/am64x.env diff --git a/board/ti/am64x/Kconfig b/board/ti/am64x/Kconfig index afb54f8cdabb..bc99b041228d 100644 --- a/board/ti/am64x/Kconfig +++ b/board/ti/am64x/Kconfig @@ -37,6 +37,9 @@ config SYS_VENDOR config SYS_CONFIG_NAME default "am64x_evm" +config ENV_SOURCE_FILE + default "am64x" + source "board/ti/common/Kconfig" endif diff --git a/board/ti/am64x/am64x.env b/board/ti/am64x/am64x.env new file mode 100644 index 000000000000..28ba0ac073b8 --- /dev/null +++ b/board/ti/am64x/am64x.env @@ -0,0 +1,37 @@ +#include <environment/ti/ti_armv7_common.env> +#include <environment/ti/mmc.env> + +default_device_tree=k3-am642-evm.dtb +findfdt= + setenv name_fdt ${default_device_tree}; + if test $board_name = am64x_gpevm; then + setenv name_fdt k3-am642-evm.dtb; fi; + if test $board_name = am64x_skevm; then + setenv name_fdt k3-am642-sk.dtb; fi; + setenv fdtfile ${name_fdt} + +name_kern=Image +console=ttyS2,115200n8 +args_all=setenv optargs ${optargs} ${mtdparts} +run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr} + +boot=mmc +mmcdev=1 +bootpart=1:2 +bootdir=/boot +rd_spec=- +init_mmc=run args_all args_mmc +get_fdt_mmc=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${name_fdt} +get_overlay_mmc= + fdt address ${fdtaddr}; + fdt resize 0x100000; + for overlay in $name_overlays; + do; + load mmc ${bootpart} ${dtboaddr} ${bootdir}/${overlay} && + fdt apply ${dtboaddr}; + done; +get_kern_mmc=load mmc ${bootpart} ${loadaddr} + ${bootdir}/${name_kern} +get_fit_mmc=load mmc ${bootpart} ${addr_fit} + ${bootdir}/${name_fit} +partitions=name=rootfs,start=0,size=-,uuid=${uuid_gpt_rootfs} diff --git a/include/configs/am64x_evm.h b/include/configs/am64x_evm.h index 26a7f2521ecc..6c5987b6e0cd 100644 --- a/include/configs/am64x_evm.h +++ b/include/configs/am64x_evm.h @@ -2,7 +2,7 @@ /* * Configuration header file for K3 AM642 SoC family * - * Copyright (C) 2020-2021 Texas Instruments Incorporated - https://www.ti.com/ + * Copyright (C) 2020-2023 Texas Instruments Incorporated - https://www.ti.com/ * Keerthy <j-keer...@ti.com> */ @@ -10,98 +10,45 @@ #define __CONFIG_AM642_EVM_H #include <linux/sizes.h> -#include <config_distro_bootcmd.h> -#include <environment/ti/mmc.h> -#include <asm/arch/am64_hardware.h> -#include <environment/ti/k3_dfu.h> /* DDR Configuration */ #define CFG_SYS_SDRAM_BASE1 0x880000000 -#define PARTS_DEFAULT \ - /* Linux partitions */ \ - "name=rootfs,start=0,size=-,uuid=${uuid_gpt_rootfs}\0" - -/* U-Boot general configuration */ -#define EXTRA_ENV_AM642_BOARD_SETTINGS \ - "findfdt=" \ - "if test $board_name = am64x_gpevm; then " \ - "setenv fdtfile k3-am642-evm.dtb; fi; " \ - "if test $board_name = am64x_skevm; then " \ - "setenv fdtfile k3-am642-sk.dtb; fi;" \ - "if test $fdtfile = undefined; then " \ - "echo WARNING: Could not determine device tree to use; fi; \0" \ - "name_kern=Image\0" \ - "console=ttyS2,115200n8\0" \ - "args_all=setenv optargs earlycon=ns16550a,mmio32,0x02800000 " \ - "${mtdparts}\0" \ - "run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}\0" - -/* U-Boot MMC-specific configuration */ -#define EXTRA_ENV_AM642_BOARD_SETTINGS_MMC \ - "boot=mmc\0" \ - "mmcdev=1\0" \ - "bootpart=1:2\0" \ - "bootdir=/boot\0" \ - "rd_spec=-\0" \ - "init_mmc=run args_all args_mmc\0" \ - "get_fdt_mmc=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \ - "get_overlay_mmc=" \ - "fdt address ${fdtaddr};" \ - "fdt resize 0x100000;" \ - "for overlay in $name_overlays;" \ - "do;" \ - "load mmc ${bootpart} ${dtboaddr} ${bootdir}/${overlay} && " \ - "fdt apply ${dtboaddr};" \ - "done;\0" \ - "get_kern_mmc=load mmc ${bootpart} ${loadaddr} " \ - "${bootdir}/${name_kern}\0" \ - "get_fit_mmc=load mmc ${bootpart} ${addr_fit} " \ - "${bootdir}/${name_fit}\0" \ - "partitions=" PARTS_DEFAULT +#if CONFIG_IS_ENABLED(CMD_MMC) +#define DISTRO_BOOT_DEV_MMC(func) func(MMC, mmc, 1) func(MMC, mmc, 0) +#else +#define DISTRO_BOOT_DEV_MMC(func) +#endif + +#if CONFIG_IS_ENABLED(CMD_PXE) +#define DISTRO_BOOT_DEV_PXE(func) func(PXE, pxe, na) +#else +#define DISTRO_BOOT_DEV_PXE(func) +#endif + +#if CONFIG_IS_ENABLED(CMD_DHCP) +#define DISTRO_BOOT_DEV_DHCP(func) func(DHCP, dhcp, na) +#else +#define DISTRO_BOOT_DEV_DHCP(func) +#endif + +#if CONFIG_IS_ENABLED(CMD_USB) +# define BOOT_TARGET_USB(func) func(USB, usb, 0) +#else +# define BOOT_TARGET_USB(func) +#endif + +#define BOOT_TARGET_DEVICES(func) \ + BOOT_TARGET_USB(func) \ + DISTRO_BOOT_DEV_MMC(func) \ + DISTRO_BOOT_DEV_PXE(func) \ + DISTRO_BOOT_DEV_DHCP(func) -#define EXTRA_ENV_AM642_BOARD_SETTING_USBMSC \ - "args_usb=run finduuid;setenv bootargs console=${console} " \ - "${optargs} " \ - "root=PARTUUID=${uuid} rw " \ - "rootfstype=${mmcrootfstype}\0" \ - "init_usb=run args_all args_usb\0" \ - "get_fdt_usb=load usb ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \ - "get_overlay_usb=" \ - "fdt address ${fdtaddr};" \ - "fdt resize 0x100000;" \ - "for overlay in $name_overlays;" \ - "do;" \ - "load usb ${bootpart} ${dtboaddr} ${bootdir}/${overlay} && " \ - "fdt apply ${dtboaddr};" \ - "done;\0" \ - "get_kern_usb=load usb ${bootpart} ${loadaddr} " \ - "${bootdir}/${name_kern}\0" \ - "get_fit_usb=load usb ${bootpart} ${addr_fit} " \ - "${bootdir}/${name_fit}\0" \ - "usbboot=setenv boot usb;" \ - "setenv bootpart 0:2;" \ - "usb start;" \ - "run findfdt;" \ - "run init_usb;" \ - "run get_kern_usb;" \ - "run get_fdt_usb;" \ - "run run_kern\0" - -#define EXTRA_ENV_DFUARGS \ - DFU_ALT_INFO_MMC \ - DFU_ALT_INFO_EMMC \ - DFU_ALT_INFO_RAM \ - DFU_ALT_INFO_OSPI +#include <config_distro_bootcmd.h> /* Incorporate settings into the U-Boot environment */ #define CFG_EXTRA_ENV_SETTINGS \ - DEFAULT_LINUX_BOOT_ENV \ - DEFAULT_MMC_TI_ARGS \ - EXTRA_ENV_AM642_BOARD_SETTINGS \ - EXTRA_ENV_AM642_BOARD_SETTINGS_MMC \ - EXTRA_ENV_DFUARGS \ - EXTRA_ENV_AM642_BOARD_SETTING_USBMSC + BOOTENV /* Now for the remaining common defines */ #include <configs/ti_armv7_common.h> -- 2.40.0