mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 21:54:01 +00:00
riscv: ax25-ae350: add SPL configuration
This patch provides four configurations which can support U-Boot SPL to boot from RAM or FLASH and then boot FIT image including OpenSBI FW_DYNAMIC firmware and U-Boot proper images from RAM or MMC boot devices. With ae350_rv[32|64]_spl_defconfigs: U-Boot SPL will be loaded by gdb or FSBL and runs in RAM in machine mode and then load FIT image from RAM device on AE350. With ae350_rv[32|64]_spl_xip_defconfigs: U-Boot SPL can be burned into SPI flash and run in flash in machine mode and then load FIT image from SPI flash or MMC device on AE350. Signed-off-by: Rick Chen <rick@andestech.com> Cc: KC Lin <kclin@andestech.com> Cc: Alan Kao <alankao@andestech.com>
This commit is contained in:
parent
ca06444aac
commit
cd61e86e6d
8 changed files with 215 additions and 0 deletions
|
@ -21,9 +21,18 @@ config ENV_SIZE
|
|||
config ENV_OFFSET
|
||||
default 0x140000 if ENV_IS_IN_SPI_FLASH
|
||||
|
||||
config SPL_TEXT_BASE
|
||||
default 0x800000
|
||||
|
||||
config SPL_OPENSBI_LOAD_ADDR
|
||||
default 0x01000000
|
||||
|
||||
config BOARD_SPECIFIC_OPTIONS # dummy
|
||||
def_bool y
|
||||
select RISCV_NDS
|
||||
select SUPPORT_SPL
|
||||
imply SMP
|
||||
imply SPL_RAM_SUPPORT
|
||||
imply SPL_RAM_DEVICE
|
||||
|
||||
endif
|
||||
|
|
|
@ -7,3 +7,7 @@ F: configs/ae350_rv32_defconfig
|
|||
F: configs/ae350_rv64_defconfig
|
||||
F: configs/ae350_rv32_xip_defconfig
|
||||
F: configs/ae350_rv64_xip_defconfig
|
||||
F: configs/ae350_rv32_spl_defconfig
|
||||
F: configs/ae350_rv64_spl_defconfig
|
||||
F: configs/ae350_rv32_spl_xip_defconfig
|
||||
F: configs/ae350_rv64_spl_xip_defconfig
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
#include <faraday/ftsmc020.h>
|
||||
#include <fdtdec.h>
|
||||
#include <dm.h>
|
||||
#include <spl.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
|
@ -110,3 +111,29 @@ int board_early_init_f(void)
|
|||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SPL
|
||||
void board_boot_order(u32 *spl_boot_list)
|
||||
{
|
||||
u8 i;
|
||||
u32 boot_devices[] = {
|
||||
#ifdef CONFIG_SPL_RAM_SUPPORT
|
||||
BOOT_DEVICE_RAM,
|
||||
#endif
|
||||
#ifdef CONFIG_SPL_MMC_SUPPORT
|
||||
BOOT_DEVICE_MMC1,
|
||||
#endif
|
||||
};
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(boot_devices); i++)
|
||||
spl_boot_list[i] = boot_devices[i];
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SPL_LOAD_FIT
|
||||
int board_fit_config_name_match(const char *name)
|
||||
{
|
||||
/* boot using first FIT config */
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
|
38
configs/ae350_rv32_spl_defconfig
Normal file
38
configs/ae350_rv32_spl_defconfig
Normal file
|
@ -0,0 +1,38 @@
|
|||
CONFIG_RISCV=y
|
||||
CONFIG_SPL=y
|
||||
CONFIG_RISCV_SMODE=y
|
||||
CONFIG_SYS_TEXT_BASE=0x01200000
|
||||
CONFIG_NR_DRAM_BANKS=2
|
||||
CONFIG_TARGET_AX25_AE350=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_FIT=y
|
||||
CONFIG_BOOTDELAY=3
|
||||
CONFIG_BOARD_EARLY_INIT_F=y
|
||||
CONFIG_SYS_PROMPT="RISC-V # "
|
||||
CONFIG_CMD_IMLS=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_SF=y
|
||||
CONFIG_CMD_SF_TEST=y
|
||||
# CONFIG_CMD_SETEXPR is not set
|
||||
CONFIG_BOOTP_PREFER_SERVERIP=y
|
||||
CONFIG_CMD_CACHE=y
|
||||
CONFIG_OF_PRIOR_STAGE=y
|
||||
CONFIG_ENV_IS_IN_SPI_FLASH=y
|
||||
CONFIG_ENV_SECT_SIZE=0x1000
|
||||
CONFIG_NET_RANDOM_ETHADDR=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_FTSDC010=y
|
||||
CONFIG_FTSDC010_SDIO=y
|
||||
CONFIG_MTD_NOR_FLASH=y
|
||||
CONFIG_FLASH_CFI_DRIVER=y
|
||||
CONFIG_CFI_FLASH=y
|
||||
CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
|
||||
CONFIG_SYS_FLASH_CFI=y
|
||||
CONFIG_SPI_FLASH=y
|
||||
CONFIG_SF_DEFAULT_MODE=0x0
|
||||
CONFIG_SPI_FLASH_MACRONIX=y
|
||||
CONFIG_FTMAC100=y
|
||||
CONFIG_BAUDRATE=38400
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_ATCSPI200_SPI=y
|
40
configs/ae350_rv32_spl_xip_defconfig
Normal file
40
configs/ae350_rv32_spl_xip_defconfig
Normal file
|
@ -0,0 +1,40 @@
|
|||
CONFIG_RISCV=y
|
||||
CONFIG_SPL=y
|
||||
CONFIG_RISCV_SMODE=y
|
||||
CONFIG_SPL_TEXT_BASE=0x80000000
|
||||
CONFIG_SYS_TEXT_BASE=0x01200000
|
||||
CONFIG_NR_DRAM_BANKS=2
|
||||
CONFIG_TARGET_AX25_AE350=y
|
||||
CONFIG_XIP=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_FIT=y
|
||||
CONFIG_BOOTDELAY=3
|
||||
CONFIG_BOARD_EARLY_INIT_F=y
|
||||
CONFIG_SYS_PROMPT="RISC-V # "
|
||||
CONFIG_CMD_IMLS=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_SF=y
|
||||
CONFIG_CMD_SF_TEST=y
|
||||
# CONFIG_CMD_SETEXPR is not set
|
||||
CONFIG_BOOTP_PREFER_SERVERIP=y
|
||||
CONFIG_CMD_CACHE=y
|
||||
CONFIG_OF_BOARD=y
|
||||
CONFIG_ENV_IS_IN_SPI_FLASH=y
|
||||
CONFIG_ENV_SECT_SIZE=0x1000
|
||||
CONFIG_NET_RANDOM_ETHADDR=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_FTSDC010=y
|
||||
CONFIG_FTSDC010_SDIO=y
|
||||
CONFIG_MTD_NOR_FLASH=y
|
||||
CONFIG_FLASH_CFI_DRIVER=y
|
||||
CONFIG_CFI_FLASH=y
|
||||
CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
|
||||
CONFIG_SYS_FLASH_CFI=y
|
||||
CONFIG_SPI_FLASH=y
|
||||
CONFIG_SF_DEFAULT_MODE=0x0
|
||||
CONFIG_SPI_FLASH_MACRONIX=y
|
||||
CONFIG_FTMAC100=y
|
||||
CONFIG_BAUDRATE=38400
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_ATCSPI200_SPI=y
|
39
configs/ae350_rv64_spl_defconfig
Normal file
39
configs/ae350_rv64_spl_defconfig
Normal file
|
@ -0,0 +1,39 @@
|
|||
CONFIG_RISCV=y
|
||||
CONFIG_SPL=y
|
||||
CONFIG_RISCV_SMODE=y
|
||||
CONFIG_SYS_TEXT_BASE=0x01200000
|
||||
CONFIG_NR_DRAM_BANKS=2
|
||||
CONFIG_TARGET_AX25_AE350=y
|
||||
CONFIG_ARCH_RV64I=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_FIT=y
|
||||
CONFIG_BOOTDELAY=3
|
||||
CONFIG_BOARD_EARLY_INIT_F=y
|
||||
CONFIG_SYS_PROMPT="RISC-V # "
|
||||
CONFIG_CMD_IMLS=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_SF=y
|
||||
CONFIG_CMD_SF_TEST=y
|
||||
# CONFIG_CMD_SETEXPR is not set
|
||||
CONFIG_BOOTP_PREFER_SERVERIP=y
|
||||
CONFIG_CMD_CACHE=y
|
||||
CONFIG_OF_PRIOR_STAGE=y
|
||||
CONFIG_ENV_IS_IN_SPI_FLASH=y
|
||||
CONFIG_ENV_SECT_SIZE=0x1000
|
||||
CONFIG_NET_RANDOM_ETHADDR=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_FTSDC010=y
|
||||
CONFIG_FTSDC010_SDIO=y
|
||||
CONFIG_MTD_NOR_FLASH=y
|
||||
CONFIG_FLASH_CFI_DRIVER=y
|
||||
CONFIG_CFI_FLASH=y
|
||||
CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
|
||||
CONFIG_SYS_FLASH_CFI=y
|
||||
CONFIG_SPI_FLASH=y
|
||||
CONFIG_SF_DEFAULT_MODE=0x0
|
||||
CONFIG_SPI_FLASH_MACRONIX=y
|
||||
CONFIG_FTMAC100=y
|
||||
CONFIG_BAUDRATE=38400
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_ATCSPI200_SPI=y
|
41
configs/ae350_rv64_spl_xip_defconfig
Normal file
41
configs/ae350_rv64_spl_xip_defconfig
Normal file
|
@ -0,0 +1,41 @@
|
|||
CONFIG_RISCV=y
|
||||
CONFIG_SPL=y
|
||||
CONFIG_RISCV_SMODE=y
|
||||
CONFIG_SPL_TEXT_BASE=0x80000000
|
||||
CONFIG_SYS_TEXT_BASE=0x01200000
|
||||
CONFIG_NR_DRAM_BANKS=2
|
||||
CONFIG_TARGET_AX25_AE350=y
|
||||
CONFIG_ARCH_RV64I=y
|
||||
CONFIG_XIP=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_FIT=y
|
||||
CONFIG_BOOTDELAY=3
|
||||
CONFIG_BOARD_EARLY_INIT_F=y
|
||||
CONFIG_SYS_PROMPT="RISC-V # "
|
||||
CONFIG_CMD_IMLS=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_SF=y
|
||||
CONFIG_CMD_SF_TEST=y
|
||||
# CONFIG_CMD_SETEXPR is not set
|
||||
CONFIG_BOOTP_PREFER_SERVERIP=y
|
||||
CONFIG_CMD_CACHE=y
|
||||
CONFIG_OF_BOARD=y
|
||||
CONFIG_ENV_IS_IN_SPI_FLASH=y
|
||||
CONFIG_ENV_SECT_SIZE=0x1000
|
||||
CONFIG_NET_RANDOM_ETHADDR=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_FTSDC010=y
|
||||
CONFIG_FTSDC010_SDIO=y
|
||||
CONFIG_MTD_NOR_FLASH=y
|
||||
CONFIG_FLASH_CFI_DRIVER=y
|
||||
CONFIG_CFI_FLASH=y
|
||||
CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
|
||||
CONFIG_SYS_FLASH_CFI=y
|
||||
CONFIG_SPI_FLASH=y
|
||||
CONFIG_SF_DEFAULT_MODE=0x0
|
||||
CONFIG_SPI_FLASH_MACRONIX=y
|
||||
CONFIG_FTMAC100=y
|
||||
CONFIG_BAUDRATE=38400
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_ATCSPI200_SPI=y
|
|
@ -7,6 +7,23 @@
|
|||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
#ifdef CONFIG_SPL
|
||||
#define CONFIG_SPL_MAX_SIZE 0x00100000
|
||||
#define CONFIG_SPL_BSS_START_ADDR 0x04000000
|
||||
#define CONFIG_SPL_BSS_MAX_SIZE 0x00100000
|
||||
|
||||
#ifndef CONFIG_XIP
|
||||
#define CONFIG_SPL_LOAD_FIT_ADDRESS 0x00200000
|
||||
#else
|
||||
#define CONFIG_SPL_LOAD_FIT_ADDRESS 0x80010000
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SPL_MMC_SUPPORT
|
||||
#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1
|
||||
#define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "u-boot.itb"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* CPU and Board Configuration Options
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue