configs: Enable distroboot on am625
authorMartyn Welch <martyn.welch@collabora.com>
Tue, 20 Dec 2022 18:38:19 +0000 (18:38 +0000)
committerTom Rini <trini@konsulko.com>
Tue, 10 Jan 2023 20:39:07 +0000 (15:39 -0500)
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>
configs/am62x_evm_a53_defconfig
include/configs/am62x_evm.h

index ab77135..273db2e 100644 (file)
@@ -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
index 809d891..7fbefde 100644 (file)
 /* 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>