
From: "Ooi, Joyce" joyce.ooi@intel.com
Since Stratix10 and Agilex are using ARM64, there are some common codes in the SPL. Hence, spl_soc64.c is created to place the common codes.
Signed-off-by: Ooi, Joyce joyce.ooi@intel.com Signed-off-by: Jit Loon Lim jit.loon.lim@intel.com --- arch/arm/mach-socfpga/spl_s10.c | 63 --------------------------- arch/arm/mach-socfpga/spl_soc64.c | 71 +++++++++++++++++++++++++++++-- 2 files changed, 67 insertions(+), 67 deletions(-)
diff --git a/arch/arm/mach-socfpga/spl_s10.c b/arch/arm/mach-socfpga/spl_s10.c index c4b82ebf14..fb807acf27 100644 --- a/arch/arm/mach-socfpga/spl_s10.c +++ b/arch/arm/mach-socfpga/spl_s10.c @@ -29,69 +29,6 @@
DECLARE_GLOBAL_DATA_PTR;
-u32 spl_boot_device(void) -{ - int ret, size; - ofnode node; - const fdt32_t *phandle_p; - u32 phandle; - struct udevice *dev; - - node = ofnode_path("/chosen"); - if (!ofnode_valid(node)) { - debug("%s: /chosen node was not found.\n", __func__); - goto fallback; - } - - phandle_p = ofnode_get_property(node, "u-boot,boot0", &size); - if (!phandle_p) { - debug("%s: u-boot,boot0 property was not found.\n", - __func__); - goto fallback; - } - - phandle = fdt32_to_cpu(*phandle_p); - - node = ofnode_get_by_phandle(phandle); - - ret = device_get_global_by_ofnode(node, &dev); - if (ret) { - debug("%s: Boot device at not found, error: %d\n", __func__, - ret); - goto fallback; - } - - debug("%s: Found boot device %s\n", __func__, dev->name); - - switch (device_get_uclass_id(dev)) { - case UCLASS_SPI_FLASH: - return BOOT_DEVICE_SPI; - case UCLASS_MISC: - return BOOT_DEVICE_NAND; - case UCLASS_MMC: - return BOOT_DEVICE_MMC1; - default: - debug("%s: Booting from device uclass '%s' is not " - "supported\n", __func__, - dev_get_uclass_name(dev)); - } - -fallback: - /* Return default boot device */ - return BOOT_DEVICE_MMC1; -} - -#ifdef CONFIG_SPL_MMC_SUPPORT -u32 spl_mmc_boot_mode(const u32 boot_device) -{ -#if defined(CONFIG_SPL_FS_FAT) || defined(CONFIG_SPL_FS_EXT4) - return MMCSD_MODE_FS; -#else - return MMCSD_MODE_RAW; -#endif -} -#endif - void board_init_f(ulong dummy) { const struct cm_config *cm_default_cfg = cm_get_default_config(); diff --git a/arch/arm/mach-socfpga/spl_soc64.c b/arch/arm/mach-socfpga/spl_soc64.c index ba6efc1d86..ea1acaf309 100644 --- a/arch/arm/mach-socfpga/spl_soc64.c +++ b/arch/arm/mach-socfpga/spl_soc64.c @@ -4,22 +4,85 @@ * */
+#include <asm/io.h> +#include <asm/u-boot.h> +#include <asm/utils.h> #include <common.h> +#include <debug_uart.h> +#include <dm.h> +#include <dm/ofnode.h> +#include <image.h> +#include <log.h> #include <spl.h> +#include <asm/arch/clock_manager.h> +#include <asm/arch/firewall.h> +#include <asm/arch/mailbox_s10.h> +#include <asm/arch/reset_manager.h> +#include <asm/arch/system_manager.h> +#include <asm/arch/smmu_s10.h> +#include <watchdog.h> +#include <dm/uclass.h>
DECLARE_GLOBAL_DATA_PTR;
u32 spl_boot_device(void) { + int ret, size; + ofnode node; + const fdt32_t *phandle_p; + u32 phandle; + struct udevice *dev; + + node = ofnode_path("/chosen"); + if (!ofnode_valid(node)) { + debug("%s: /chosen node was not found.\n", __func__); + goto fallback; + } + + phandle_p = ofnode_get_property(node, "u-boot,boot0", &size); + if (!phandle_p) { + debug("%s: u-boot,boot0 property was not found.\n", + __func__); + goto fallback; + } + + phandle = fdt32_to_cpu(*phandle_p); + + node = ofnode_get_by_phandle(phandle); + + ret = device_get_global_by_ofnode(node, &dev); + if (ret) { + debug("%s: Boot device at not found, error: %d\n", __func__, + ret); + goto fallback; + } + + debug("%s: Found boot device %s\n", __func__, dev->name); + + switch (device_get_uclass_id(dev)) { + case UCLASS_SPI_FLASH: + return BOOT_DEVICE_SPI; + case UCLASS_MISC: + return BOOT_DEVICE_NAND; + case UCLASS_MMC: + return BOOT_DEVICE_MMC1; + default: + debug("%s: Booting from device uclass '%s' is not supported\n", + __func__, dev_get_uclass_name(dev)); + } + +fallback: + /* Return default boot device */ return BOOT_DEVICE_MMC1; }
#if IS_ENABLED(CONFIG_SPL_MMC) u32 spl_boot_mode(const u32 boot_device) { - if (IS_ENABLED(CONFIG_SPL_FS_FAT) || IS_ENABLED(CONFIG_SPL_FS_EXT4)) - return MMCSD_MODE_FS; - else - return MMCSD_MODE_RAW; +#if defined(CONFIG_SPL_FS_FAT) || defined(CONFIG_SPL_FS_EXT4) + return MMCSD_MODE_FS; +#else + return MMCSD_MODE_RAW; +#endif } #endif