aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartyn Welch <martyn.welch@collabora.com>2022-12-20 18:38:19 +0000
committerTom Rini <trini@konsulko.com>2023-01-10 15:39:07 -0500
commit83f5195e328bf7dd3b0ad224a3437bd281788d13 (patch)
treecffca6c602e3f61f1234a1de41d07074177b89da
parent7c34b71a42817173f3bccf8a85e8a234cc456c8f (diff)
downloadu-boot-83f5195e328bf7dd3b0ad224a3437bd281788d13.zip
u-boot-83f5195e328bf7dd3b0ad224a3437bd281788d13.tar.gz
u-boot-83f5195e328bf7dd3b0ad224a3437bd281788d13.tar.bz2
configs: Enable distroboot on am625
TI boards use a custom (though faily common to TI boards) mechanism for booting Linux. We would like to use the "distroboot" approach. Enable distroboot as a further option to use for booting on am625 should the existing options fail. Signed-off-by: Martyn Welch <martyn.welch@collabora.com>
-rw-r--r--configs/am62x_evm_a53_defconfig2
-rw-r--r--include/configs/am62x_evm.h26
2 files changed, 26 insertions, 2 deletions
diff --git a/configs/am62x_evm_a53_defconfig b/configs/am62x_evm_a53_defconfig
index ab77135..273db2e 100644
--- a/configs/am62x_evm_a53_defconfig
+++ b/configs/am62x_evm_a53_defconfig
@@ -23,7 +23,7 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80480000
# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
CONFIG_SPL_LOAD_FIT=y
CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
-CONFIG_BOOTCOMMAND="run findfdt; run envboot; run init_${boot}; run get_kern_${boot}; run get_fdt_${boot}; run get_overlay_${boot}; run run_kern"
+CONFIG_BOOTCOMMAND="run findfdt; run envboot; run init_${boot}; run get_kern_${boot}; run get_fdt_${boot}; run get_overlay_${boot}; run run_kern; setenv fdtfile ti/${name_fdt}; run distro_bootcmd"
CONFIG_SPL_MAX_SIZE=0x58000
CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
CONFIG_SPL_BSS_START_ADDR=0x80a00000
diff --git a/include/configs/am62x_evm.h b/include/configs/am62x_evm.h
index 809d891..7fbefde 100644
--- a/include/configs/am62x_evm.h
+++ b/include/configs/am62x_evm.h
@@ -15,6 +15,29 @@
/* DDR Configuration */
#define CFG_SYS_SDRAM_BASE1 0x880000000
+#ifdef CONFIG_CMD_MMC
+#define DISTRO_BOOT_DEV_MMC(func) func(MMC, mmc, 0) func(MMC, mmc, 1)
+#else
+#define DISTRO_BOOT_DEV_MMC(func)
+#endif
+
+#ifdef CONFIG_CMD_PXE
+#define DISTRO_BOOT_DEV_PXE(func) func(PXE, pxe, na)
+#else
+#define DISTRO_BOOT_DEV_PXE(func)
+#endif
+
+#ifdef CONFIG_CMD_DHCP
+#define DISTRO_BOOT_DEV_DHCP(func) func(DHCP, dhcp, na)
+#else
+#define DISTRO_BOOT_DEV_DHCP(func)
+#endif
+
+#define BOOT_TARGET_DEVICES(func) \
+ DISTRO_BOOT_DEV_MMC(func) \
+ DISTRO_BOOT_DEV_PXE(func) \
+ DISTRO_BOOT_DEV_DHCP(func)
+
#define PARTS_DEFAULT \
/* Linux partitions */ \
"name=rootfs,start=0,size=-,uuid=${uuid_gpt_rootfs}\0"
@@ -59,7 +82,8 @@
DEFAULT_LINUX_BOOT_ENV \
DEFAULT_MMC_TI_ARGS \
EXTRA_ENV_AM625_BOARD_SETTINGS \
- EXTRA_ENV_AM625_BOARD_SETTINGS_MMC
+ EXTRA_ENV_AM625_BOARD_SETTINGS_MMC \
+ BOOTENV
/* Now for the remaining common defines */
#include <configs/ti_armv7_common.h>