]> git.sur5r.net Git - u-boot/commitdiff
arm: socfpga: Add distro boot to socfpga common header
authorDalon Westergreen <dwesterg@gmail.com>
Thu, 13 Apr 2017 14:30:29 +0000 (07:30 -0700)
committerMarek Vasut <marex@denx.de>
Fri, 14 Apr 2017 12:06:59 +0000 (14:06 +0200)
This adds a common environment and support for distro boot
in the common socfpga header.

Signed-off-by: Dalon Westergreen <dwesterg@gmail.com>
Acked-by: Marek Vasut <marex@denx.de>
--
Changes in v5:
 - Per Frank, to support OpenSuse the ENV must be after the GPT
Changes in v4:
 - Move env back to being right after the MBR
Changes in v3:
 - fix spacing between asterix
 - remove verify=n as a default setting

Changes in v2:
 - Remove unneeded CONFIG_BOOTFILE and fdt_addr
 - cleanup spacing in MMC env size

common

Signed-off-by: Dalon Westergreen <dwesterg@gmail.com>
include/configs/socfpga_common.h

index d4d72fa91d583ba3a4c95940d48591fba4d15535..107c6d5b668403aa04976e41fcfa8a9130222e96 100644 (file)
@@ -65,6 +65,9 @@
 #define CONFIG_SYS_HOSTNAME    CONFIG_SYS_BOARD
 #endif
 
+#define CONFIG_CMD_PXE
+#define CONFIG_MENU
+
 /*
  * Cache
  */
@@ -237,13 +240,13 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
  * U-Boot environment
  */
 #if !defined(CONFIG_ENV_SIZE)
-#define CONFIG_ENV_SIZE                        4096
+#define CONFIG_ENV_SIZE                        (8 * 1024)
 #endif
 
 /* Environment for SDMMC boot */
 #if defined(CONFIG_ENV_IS_IN_MMC) && !defined(CONFIG_ENV_OFFSET)
-#define CONFIG_SYS_MMC_ENV_DEV         0       /* device 0 */
-#define CONFIG_ENV_OFFSET              512     /* just after the MBR */
+#define CONFIG_SYS_MMC_ENV_DEV         0 /* device 0 */
+#define CONFIG_ENV_OFFSET              (34 * 512) /* just after the GPT */
 #endif
 
 /* Environment for QSPI boot */
@@ -300,8 +303,12 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
 /* SPL SDMMC boot support */
 #ifdef CONFIG_SPL_MMC_SUPPORT
 #if defined(CONFIG_SPL_FAT_SUPPORT) || defined(CONFIG_SPL_EXT_SUPPORT)
-#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION     2
 #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME                "u-boot-dtb.img"
+#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION     1
+#endif
+#else
+#ifndef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION
+#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION     1
 #endif
 #endif
 
@@ -323,4 +330,41 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
  */
 #define CONFIG_SPL_STACK               CONFIG_SYS_INIT_SP_ADDR
 
+/* Extra Environment */
+#ifndef CONFIG_SPL_BUILD
+#include <config_distro_defaults.h>
+
+#ifdef CONFIG_CMD_PXE
+#define BOOT_TARGET_DEVICES_PXE(func) func(PXE, pxe, na)
+#else
+#define BOOT_TARGET_DEVICES_PXE(func)
+#endif
+
+#ifdef CONFIG_CMD_MMC
+#define BOOT_TARGET_DEVICES_MMC(func) func(MMC, mmc, 0)
+#else
+#define BOOT_TARGET_DEVICES_MMC(func)
+#endif
+
+#define BOOT_TARGET_DEVICES(func) \
+       BOOT_TARGET_DEVICES_MMC(func) \
+       BOOT_TARGET_DEVICES_PXE(func) \
+       func(DHCP, dhcp, na)
+
+#include <config_distro_bootcmd.h>
+
+#ifndef CONFIG_EXTRA_ENV_SETTINGS
+#define CONFIG_EXTRA_ENV_SETTINGS \
+       "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
+       "bootm_size=0xa000000\0" \
+       "kernel_addr_r="__stringify(CONFIG_SYS_LOAD_ADDR)"\0" \
+       "fdt_addr_r=0x02000000\0" \
+       "scriptaddr=0x02100000\0" \
+       "pxefile_addr_r=0x02200000\0" \
+       "ramdisk_addr_r=0x02300000\0" \
+       BOOTENV
+
+#endif
+#endif
+
 #endif /* __CONFIG_SOCFPGA_COMMON_H__ */