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

Reply via email to