Skip to content

Commit

Permalink
spl: ast2600: Reduce SPL image size
Browse files Browse the repository at this point in the history
AST2600 A1 secure boot places BL1 image (i.e. SPL) into
a 64KB SRAM for verification and execution. This patch
mainly reduce the SPL image size.

Within the 64KB space, 6KB space is reserved for the secure
boot image signature, key, and SPL stack/heap. Hence, the
SPL image size has the 58KB limitation and is enforced by
the linker script.
  • Loading branch information
ChiaweiW committed Jan 15, 2020
1 parent 83f49cf commit 688ce75
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 8 deletions.
7 changes: 4 additions & 3 deletions configs/evb-ast2600a0-spl_defconfig
Expand Up @@ -5,7 +5,6 @@ CONFIG_SPL_LDSCRIPT="arch/$(ARCH)/mach-aspeed/ast2600/u-boot-spl.lds"
CONFIG_ARCH_ASPEED=y
CONFIG_SYS_TEXT_BASE=0x10000
CONFIG_ASPEED_AST2600=y
CONFIG_SPL_GPIO_SUPPORT=y
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_SYS_MALLOC_F_LEN=0x800
Expand All @@ -22,12 +21,13 @@ CONFIG_USE_BOOTARGS=y
CONFIG_BOOTARGS="console=ttyS4,115200n8 root=/dev/ram rw"
CONFIG_USE_BOOTCOMMAND=y
CONFIG_BOOTCOMMAND="bootm 20100000"
CONFIG_PRE_CONSOLE_BUFFER=y
CONFIG_PRE_CON_BUF_ADDR=0x10000000
CONFIG_SYS_CONSOLE_ENV_OVERWRITE=y
CONFIG_DISPLAY_BOARDINFO_LATE=y
CONFIG_ARCH_EARLY_INIT_R=y
CONFIG_SPL_SEPARATE_BSS=y
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x0
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION=y
CONFIG_SPL_DM_RESET=y
CONFIG_SPL_RAM_SUPPORT=y
CONFIG_SPL_RAM_DEVICE=y
Expand Down Expand Up @@ -78,6 +78,7 @@ CONFIG_MISC=y
CONFIG_ASPEED_AHBC=y
CONFIG_ASPEED_H2X=y
CONFIG_DM_MMC=y
CONFIG_SPL_MMC_TINY=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_ASPEED=y
CONFIG_DM_SPI_FLASH=y
Expand Down
7 changes: 4 additions & 3 deletions configs/evb-ast2600a1-spl_defconfig
Expand Up @@ -6,7 +6,6 @@ CONFIG_ARCH_ASPEED=y
CONFIG_SYS_TEXT_BASE=0x10000
CONFIG_ASPEED_AST2600=y
CONFIG_TARGET_EVB_AST2600A1=y
CONFIG_SPL_GPIO_SUPPORT=y
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_SYS_MALLOC_F_LEN=0x800
Expand All @@ -23,12 +22,13 @@ CONFIG_USE_BOOTARGS=y
CONFIG_BOOTARGS="console=ttyS4,115200n8 root=/dev/ram rw"
CONFIG_USE_BOOTCOMMAND=y
CONFIG_BOOTCOMMAND="bootm 20100000"
CONFIG_PRE_CONSOLE_BUFFER=y
CONFIG_PRE_CON_BUF_ADDR=0x10000000
CONFIG_SYS_CONSOLE_ENV_OVERWRITE=y
CONFIG_DISPLAY_BOARDINFO_LATE=y
CONFIG_ARCH_EARLY_INIT_R=y
CONFIG_SPL_SEPARATE_BSS=y
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x0
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION=y
CONFIG_SPL_DM_RESET=y
CONFIG_SPL_RAM_SUPPORT=y
CONFIG_SPL_RAM_DEVICE=y
Expand Down Expand Up @@ -79,6 +79,7 @@ CONFIG_MISC=y
CONFIG_ASPEED_AHBC=y
CONFIG_ASPEED_H2X=y
CONFIG_DM_MMC=y
CONFIG_SPL_MMC_TINY=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_ASPEED=y
CONFIG_DM_SPI_FLASH=y
Expand Down
4 changes: 3 additions & 1 deletion drivers/mmc/aspeed_sdhci.c
Expand Up @@ -33,11 +33,13 @@ static int aspeed_sdhci_probe(struct udevice *dev)
struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev);
struct aspeed_sdhci_plat *plat = dev_get_platdata(dev);
struct aspeed_sdhci_priv *prv = dev_get_priv(dev);
int node = dev_of_offset(dev);
struct sdhci_host *host = prv->host;
unsigned long clock;
struct clk clk;
int ret;
#ifndef CONFIG_SPL_BUILD
int node = dev_of_offset(dev);
#endif

ret = clk_get_by_index(dev, 0, &clk);
if (ret < 0) {
Expand Down
2 changes: 1 addition & 1 deletion include/configs/evb_ast2600a0_spl.h
Expand Up @@ -30,7 +30,7 @@
#endif

#define CONFIG_SPL_TEXT_BASE 0x00000000
#define CONFIG_SPL_MAX_SIZE 0x00010000
#define CONFIG_SPL_MAX_SIZE 0x0000E800
#define CONFIG_SPL_STACK 0x10010000

#define CONFIG_SPL_BSS_START_ADDR 0x90000000
Expand Down

0 comments on commit 688ce75

Please sign in to comment.