Convert CONFIG_SPL_PAD_TO et al to Kconfig
[platform/kernel/u-boot.git] / include / configs / am64x_evm.h
index 5d756b4..98f2eca 100644 (file)
 #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 CONFIG_SYS_SDRAM_BASE1         0x880000000
 
-#ifdef CONFIG_SYS_K3_SPL_ATF
-#define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME        "tispl.bin"
-#endif
-
-#ifndef CONFIG_CPU_V7R
-#define CONFIG_SKIP_LOWLEVEL_INIT
-#endif
-
-#define CONFIG_SPL_MAX_SIZE            CONFIG_SYS_K3_MAX_DOWNLODABLE_IMAGE_SIZE
 #if defined(CONFIG_TARGET_AM642_A53_EVM)
-#define CONFIG_SYS_INIT_SP_ADDR         (CONFIG_SPL_TEXT_BASE +        \
-                                       CONFIG_SYS_K3_NON_SECURE_MSRAM_SIZE - 4)
+#define CONFIG_SYS_INIT_SP_ADDR         (CONFIG_SPL_TEXT_BASE + SZ_4M)
 #else
 /*
  * Maximum size in memory allocated to the SPL BSS. Keep it as tight as
@@ -35,7 +27,7 @@
  * our memory footprint. The less we use for BSS the more we have available
  * for everything else.
  */
-#define CONFIG_SPL_BSS_MAX_SIZE                0x5000
+#define CONFIG_SPL_BSS_MAX_SIZE                0x4000
 /*
  * Link BSS to be within SPL in a dedicated region located near the top of
  * the MCU SRAM, this way making it available also before relocation. Note
@@ -43,7 +35,7 @@
  * location filled in by the boot ROM that we want to read out without any
  * interference from the C context.
  */
-#define CONFIG_SPL_BSS_START_ADDR      (CONFIG_SYS_K3_BOOT_PARAM_TABLE_INDEX -\
+#define CONFIG_SPL_BSS_START_ADDR      (TI_SRAM_SCRATCH_BOARD_EEPROM_START -\
                                         CONFIG_SPL_BSS_MAX_SIZE)
 /* Set the stack right below the SPL BSS section */
 #define CONFIG_SYS_INIT_SP_ADDR         CONFIG_SPL_BSS_START_ADDR
 
 /* U-Boot general configuration */
 #define EXTRA_ENV_AM642_BOARD_SETTINGS                                 \
-       "default_device_tree=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0"      \
        "findfdt="                                                      \
-               "setenv name_fdt ${default_device_tree};"               \
-               "setenv fdtfile ${name_fdt}\0"                          \
+               "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 "  \
@@ -76,7 +71,7 @@
        "bootdir=/boot\0"                                               \
        "rd_spec=-\0"                                                   \
        "init_mmc=run args_all args_mmc\0"                              \
-       "get_fdt_mmc=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${name_fdt}\0" \
+       "get_fdt_mmc=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \
        "get_overlay_mmc="                                              \
                "fdt address ${fdtaddr};"                               \
                "fdt resize 0x100000;"                                  \
                "${bootdir}/${name_fit}\0"                              \
        "partitions=" PARTS_DEFAULT
 
+#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
+
 /* Incorporate settings into the U-Boot environment */
 #define CONFIG_EXTRA_ENV_SETTINGS                                      \
        DEFAULT_LINUX_BOOT_ENV                                          \
        DEFAULT_MMC_TI_ARGS                                             \
        EXTRA_ENV_AM642_BOARD_SETTINGS                                  \
-       EXTRA_ENV_AM642_BOARD_SETTINGS_MMC
+       EXTRA_ENV_AM642_BOARD_SETTINGS_MMC                              \
+       EXTRA_ENV_DFUARGS                                               \
+       EXTRA_ENV_AM642_BOARD_SETTING_USBMSC
 
 /* Now for the remaining common defines */
 #include <configs/ti_armv7_common.h>
 
-/* MMC ENV related defines */
-#ifdef CONFIG_ENV_IS_IN_MMC
-#define CONFIG_SYS_MMC_ENV_DEV         0
-#define CONFIG_SYS_MMC_ENV_PART        1
-#endif
+#define CONFIG_SYS_USB_FAT_BOOT_PARTITION 1
 
 #endif /* __CONFIG_AM642_EVM_H */