Message ID | 20200928202753.58351-4-eajames@linux.ibm.com |
---|---|
State | New |
Headers | show |
Series | Aspeed: Support eMMC boot | expand |
On Mon, 28 Sep 2020 at 20:28, Eddie James <eajames@linux.ibm.com> wrote: > diff --git a/include/configs/aspeed-common.h b/include/configs/aspeed-common.h > index 4c83035d3c..876958735b 100755 > --- a/include/configs/aspeed-common.h > +++ b/include/configs/aspeed-common.h > @@ -41,6 +41,12 @@ > #define CONFIG_SYS_BOOTMAPSZ (256 * 1024 * 1024) > #define CONFIG_SYS_MALLOC_LEN (32 << 20) > > +#ifdef CONFIG_ENV_IS_IN_MMC > +#define CONFIG_SYS_MMC_ENV_DEV 0 > +#define CONFIG_SYS_MMC_ENV_PART 0 > +#define CONFIG_ENV_OFFSET_REDUND 0x15000 84KB? How was this chosen?
On Mon, 28 Sep 2020 at 20:28, Eddie James <eajames@linux.ibm.com> wrote: > > U-Boot and environment are to be loaded off the eMMC. > > Signed-off-by: Eddie James <eajames@linux.ibm.com> > --- > configs/ast2600_openbmc_spl_emmc_defconfig | 130 +++++++++++++++++++++ > include/configs/aspeed-common.h | 6 + > 2 files changed, 136 insertions(+) > create mode 100644 configs/ast2600_openbmc_spl_emmc_defconfig > > diff --git a/configs/ast2600_openbmc_spl_emmc_defconfig b/configs/ast2600_openbmc_spl_emmc_defconfig Here's the diff between the emmc and nor configs: $ diff -up configs/ast2600_openbmc_spl_defconfig configs/ast2600_openbmc_spl_emmc_defconfig --- configs/ast2600_openbmc_spl_defconfig 2020-09-24 14:39:38.129075805 +0930 +++ configs/ast2600_openbmc_spl_emmc_defconfig 2020-10-09 14:16:35.786706472 +1030 @@ -9,9 +9,10 @@ CONFIG_ARCH_ASPEED=y CONFIG_SYS_TEXT_BASE=0x10000 CONFIG_ASPEED_AST2600=y CONFIG_ASPEED_UBOOT_SPI_BASE=0x10000 -CONFIG_ASPEED_UBOOT_SPI_SIZE=0xe0000 -CONFIG_ASPEED_UBOOT_MMC_BASE=0x000000 -CONFIG_ASPEED_UBOOT_MMC_SIZE=0x700 +CONFIG_ASPEED_UBOOT_SPI_SIZE=0xd0000 Can we remove this from the config? +CONFIG_ASPEED_UBOOT_MMC_BASE=0x80 +CONFIG_ASPEED_UBOOT_MMC_PART=1 +CONFIG_ASPEED_UBOOT_MMC_SIZE=0x680 CONFIG_ASPEED_UBOOT_UART_SIZE=0xe0000 CONFIG_ASPEED_UBOOT_DRAM_BASE=0x81000000 CONFIG_ASPEED_KERNEL_FIT_SPI_BASE=0x20100000 @@ -27,7 +28,7 @@ CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_DRIVERS_MISC_SUPPORT=y CONFIG_ENV_SIZE=0x10000 -CONFIG_ENV_OFFSET=0xE0000 +CONFIG_ENV_OFFSET=0x5000 What's the 0x5000 here? CONFIG_SPL=y CONFIG_SPL_STACK_R_ADDR=0x90300000 CONFIG_ARMV7_BOOT_SEC_DEFAULT=y @@ -81,13 +82,7 @@ CONFIG_CMD_FS_GENERIC=y CONFIG_CMD_MTDPARTS=y # CONFIG_SPL_EFI_PARTITION is not set CONFIG_SPL_OF_CONTROL=y -CONFIG_ENV_IS_IN_SPI_FLASH=y -CONFIG_USE_ENV_SPI_BUS=y -CONFIG_ENV_SPI_BUS=0 -CONFIG_USE_ENV_SPI_CS=y -CONFIG_ENV_SPI_CS=0 -CONFIG_USE_ENV_SPI_MAX_HZ=y -CONFIG_ENV_SPI_MAX_HZ=100000000 +CONFIG_ENV_IS_IN_MMC=y This hunk makes sense.
On 10/8/20 10:44 PM, Joel Stanley wrote: > On Mon, 28 Sep 2020 at 20:28, Eddie James <eajames@linux.ibm.com> wrote: > >> diff --git a/include/configs/aspeed-common.h b/include/configs/aspeed-common.h >> index 4c83035d3c..876958735b 100755 >> --- a/include/configs/aspeed-common.h >> +++ b/include/configs/aspeed-common.h >> @@ -41,6 +41,12 @@ >> #define CONFIG_SYS_BOOTMAPSZ (256 * 1024 * 1024) >> #define CONFIG_SYS_MALLOC_LEN (32 << 20) >> >> +#ifdef CONFIG_ENV_IS_IN_MMC >> +#define CONFIG_SYS_MMC_ENV_DEV 0 >> +#define CONFIG_SYS_MMC_ENV_PART 0 >> +#define CONFIG_ENV_OFFSET_REDUND 0x15000 > 84KB? How was this chosen? The env is at 0x5000 in the user partition, and is sized at 0x10000. The redundant follows it immediately... Thanks, Eddie
On 10/8/20 10:50 PM, Joel Stanley wrote: > On Mon, 28 Sep 2020 at 20:28, Eddie James <eajames@linux.ibm.com> wrote: >> U-Boot and environment are to be loaded off the eMMC. >> >> Signed-off-by: Eddie James <eajames@linux.ibm.com> >> --- >> configs/ast2600_openbmc_spl_emmc_defconfig | 130 +++++++++++++++++++++ >> include/configs/aspeed-common.h | 6 + >> 2 files changed, 136 insertions(+) >> create mode 100644 configs/ast2600_openbmc_spl_emmc_defconfig >> >> diff --git a/configs/ast2600_openbmc_spl_emmc_defconfig b/configs/ast2600_openbmc_spl_emmc_defconfig > Here's the diff between the emmc and nor configs: > > $ diff -up configs/ast2600_openbmc_spl_defconfig > configs/ast2600_openbmc_spl_emmc_defconfig > --- configs/ast2600_openbmc_spl_defconfig 2020-09-24 14:39:38.129075805 +0930 > +++ configs/ast2600_openbmc_spl_emmc_defconfig 2020-10-09 > 14:16:35.786706472 +1030 > @@ -9,9 +9,10 @@ CONFIG_ARCH_ASPEED=y > CONFIG_SYS_TEXT_BASE=0x10000 > CONFIG_ASPEED_AST2600=y > CONFIG_ASPEED_UBOOT_SPI_BASE=0x10000 > -CONFIG_ASPEED_UBOOT_SPI_SIZE=0xe0000 > -CONFIG_ASPEED_UBOOT_MMC_BASE=0x000000 > -CONFIG_ASPEED_UBOOT_MMC_SIZE=0x700 > +CONFIG_ASPEED_UBOOT_SPI_SIZE=0xd0000 > > Can we remove this from the config? Yes? The build might complain if that isn't set? > > +CONFIG_ASPEED_UBOOT_MMC_BASE=0x80 > +CONFIG_ASPEED_UBOOT_MMC_PART=1 > +CONFIG_ASPEED_UBOOT_MMC_SIZE=0x680 > CONFIG_ASPEED_UBOOT_UART_SIZE=0xe0000 > CONFIG_ASPEED_UBOOT_DRAM_BASE=0x81000000 > CONFIG_ASPEED_KERNEL_FIT_SPI_BASE=0x20100000 > @@ -27,7 +28,7 @@ CONFIG_SPL_MMC_SUPPORT=y > CONFIG_SPL_SERIAL_SUPPORT=y > CONFIG_SPL_DRIVERS_MISC_SUPPORT=y > CONFIG_ENV_SIZE=0x10000 > -CONFIG_ENV_OFFSET=0xE0000 > +CONFIG_ENV_OFFSET=0x5000 > > What's the 0x5000 here? That's the location of the environment within the user partition of the MMC. Thanks, Eddie > > CONFIG_SPL=y > CONFIG_SPL_STACK_R_ADDR=0x90300000 > CONFIG_ARMV7_BOOT_SEC_DEFAULT=y > @@ -81,13 +82,7 @@ CONFIG_CMD_FS_GENERIC=y > CONFIG_CMD_MTDPARTS=y > # CONFIG_SPL_EFI_PARTITION is not set > CONFIG_SPL_OF_CONTROL=y > -CONFIG_ENV_IS_IN_SPI_FLASH=y > -CONFIG_USE_ENV_SPI_BUS=y > -CONFIG_ENV_SPI_BUS=0 > -CONFIG_USE_ENV_SPI_CS=y > -CONFIG_ENV_SPI_CS=0 > -CONFIG_USE_ENV_SPI_MAX_HZ=y > -CONFIG_ENV_SPI_MAX_HZ=100000000 > +CONFIG_ENV_IS_IN_MMC=y > > This hunk makes sense.
On Mon, 12 Oct 2020 at 13:36, Eddie James <eajames@linux.ibm.com> wrote: > > > On 10/8/20 10:44 PM, Joel Stanley wrote: > > On Mon, 28 Sep 2020 at 20:28, Eddie James <eajames@linux.ibm.com> wrote: > > > >> diff --git a/include/configs/aspeed-common.h b/include/configs/aspeed-common.h > >> index 4c83035d3c..876958735b 100755 > >> --- a/include/configs/aspeed-common.h > >> +++ b/include/configs/aspeed-common.h > >> @@ -41,6 +41,12 @@ > >> #define CONFIG_SYS_BOOTMAPSZ (256 * 1024 * 1024) > >> #define CONFIG_SYS_MALLOC_LEN (32 << 20) > >> > >> +#ifdef CONFIG_ENV_IS_IN_MMC > >> +#define CONFIG_SYS_MMC_ENV_DEV 0 > >> +#define CONFIG_SYS_MMC_ENV_PART 0 > >> +#define CONFIG_ENV_OFFSET_REDUND 0x15000 > > 84KB? How was this chosen? > > > The env is at 0x5000 in the user partition, and is sized at 0x10000. The > redundant follows it immediately... Can you put that and the information from your other email in the commit message.
diff --git a/configs/ast2600_openbmc_spl_emmc_defconfig b/configs/ast2600_openbmc_spl_emmc_defconfig new file mode 100644 index 0000000000..68d18652c9 --- /dev/null +++ b/configs/ast2600_openbmc_spl_emmc_defconfig @@ -0,0 +1,130 @@ +CONFIG_ARM=y +CONFIG_SYS_CONFIG_NAME="evb_ast2600a1_spl" +CONFIG_SYS_DCACHE_OFF=y +CONFIG_POSITION_INDEPENDENT=y +CONFIG_SPL_SYS_THUMB_BUILD=y +CONFIG_SYS_THUMB_BUILD=y +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_ASPEED_UBOOT_SPI_BASE=0x10000 +CONFIG_ASPEED_UBOOT_SPI_SIZE=0xd0000 +CONFIG_ASPEED_UBOOT_MMC_BASE=0x80 +CONFIG_ASPEED_UBOOT_MMC_PART=1 +CONFIG_ASPEED_UBOOT_MMC_SIZE=0x680 +CONFIG_ASPEED_UBOOT_UART_SIZE=0xe0000 +CONFIG_ASPEED_UBOOT_DRAM_BASE=0x81000000 +CONFIG_ASPEED_KERNEL_FIT_SPI_BASE=0x20100000 +CONFIG_ASPEED_KERNEL_FIT_SPI_SIZE=0x1000000 +CONFIG_ASPEED_KERNEL_FIT_MMC_BASE=0x800 +CONFIG_ASPEED_KERNEL_FIT_MMC_SIZE=0x8000 +CONFIG_ASPEED_KERNEL_FIT_DRAM_BASE=0x83000000 +CONFIG_TARGET_EVB_AST2600A1=y +CONFIG_SPL_LIBCOMMON_SUPPORT=y +CONFIG_SPL_LIBGENERIC_SUPPORT=y +CONFIG_SYS_MALLOC_F_LEN=0x800 +CONFIG_SPL_MMC_SUPPORT=y +CONFIG_SPL_SERIAL_SUPPORT=y +CONFIG_SPL_DRIVERS_MISC_SUPPORT=y +CONFIG_ENV_SIZE=0x10000 +CONFIG_ENV_OFFSET=0x5000 +CONFIG_SPL=y +CONFIG_SPL_STACK_R_ADDR=0x90300000 +CONFIG_ARMV7_BOOT_SEC_DEFAULT=y +CONFIG_ARMV7_PSCI_NR_CPUS=2 +CONFIG_NR_DRAM_BANKS=1 +CONFIG_FIT=y +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="console=ttyS4,115200n8 root=/dev/ram rw" +CONFIG_USE_BOOTCOMMAND=y +CONFIG_BOOTCOMMAND="bootm 20100000" +CONFIG_SYS_CONSOLE_ENV_OVERWRITE=y +CONFIG_DISPLAY_BOARDINFO_LATE=y +CONFIG_ARCH_EARLY_INIT_R=y +CONFIG_BOARD_EARLY_INIT_F=y +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set +# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set +CONFIG_SPL_SYS_MALLOC_SIMPLE=y +CONFIG_SPL_STACK_R=y +CONFIG_SPL_SEPARATE_BSS=y +CONFIG_SPL_DM_RESET=y +CONFIG_SPL_RAM_SUPPORT=y +CONFIG_SPL_RAM_DEVICE=y +CONFIG_SPL_WATCHDOG_SUPPORT=y +CONFIG_SPL_YMODEM_SUPPORT=y +CONFIG_HUSH_PARSER=y +# CONFIG_AUTO_COMPLETE is not set +CONFIG_SYS_PROMPT="ast# " +CONFIG_CMD_BOOTZ=y +# CONFIG_CMD_ELF is not set +# CONFIG_CMD_IMI is not set +# CONFIG_CMD_XIMG is not set +CONFIG_CMD_MEMTEST=y +CONFIG_SYS_ALT_MEMTEST=y +CONFIG_CMD_CLK=y +CONFIG_CMD_GPIO=y +CONFIG_CMD_GPT=y +# CONFIG_RANDOM_UUID is not set +CONFIG_CMD_I2C=y +CONFIG_CMD_MMC=y +CONFIG_CMD_PART=y +CONFIG_CMD_SF=y +CONFIG_CMD_DHCP=y +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y +CONFIG_CMD_NCSI=y +CONFIG_CMD_EXT2=y +CONFIG_CMD_EXT4=y +CONFIG_CMD_EXT4_WRITE=y +CONFIG_CMD_FAT=y +CONFIG_CMD_FS_GENERIC=y +CONFIG_CMD_MTDPARTS=y +# CONFIG_SPL_EFI_PARTITION is not set +CONFIG_SPL_OF_CONTROL=y +CONFIG_ENV_IS_IN_MMC=y +CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_SPL_DM=y +CONFIG_REGMAP=y +CONFIG_SYSCON=y +CONFIG_SPL_OF_TRANSLATE=y +CONFIG_CLK=y +CONFIG_SPL_CLK=y +CONFIG_DM_GPIO=y +CONFIG_ASPEED_GPIO=y +CONFIG_DM_I2C=y +CONFIG_SYS_I2C_ASPEED=y +CONFIG_MISC=y +CONFIG_ASPEED_AHBC=y +CONFIG_DM_MMC=y +CONFIG_SPL_MMC_TINY=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_ASPEED=y +CONFIG_DM_SPI_FLASH=y +CONFIG_SPI_FLASH=y +CONFIG_SPI_FLASH_GIGADEVICE=y +CONFIG_SPI_FLASH_MACRONIX=y +CONFIG_SPI_FLASH_SPANSION=y +CONFIG_SPI_FLASH_STMICRO=y +CONFIG_SPI_FLASH_WINBOND=y +CONFIG_PHY_BROADCOM=y +CONFIG_PHY_REALTEK=y +CONFIG_PHY_NCSI=y +CONFIG_DM_ETH=y +CONFIG_PHY_GIGE=y +CONFIG_FTGMAC100=y +CONFIG_MDIO=y +CONFIG_PHY=y +CONFIG_PINCTRL=y +CONFIG_RAM=y +CONFIG_SPL_RAM=y +CONFIG_DM_SERIAL=y +CONFIG_SYS_NS16550=y +CONFIG_SPI=y +CONFIG_DM_SPI=y +CONFIG_SYSRESET=y +CONFIG_WDT=y +CONFIG_USE_TINY_PRINTF=y +CONFIG_TPM=y +CONFIG_SPL_TPM=y +# CONFIG_EFI_LOADER is not set diff --git a/include/configs/aspeed-common.h b/include/configs/aspeed-common.h index 4c83035d3c..876958735b 100755 --- a/include/configs/aspeed-common.h +++ b/include/configs/aspeed-common.h @@ -41,6 +41,12 @@ #define CONFIG_SYS_BOOTMAPSZ (256 * 1024 * 1024) #define CONFIG_SYS_MALLOC_LEN (32 << 20) +#ifdef CONFIG_ENV_IS_IN_MMC +#define CONFIG_SYS_MMC_ENV_DEV 0 +#define CONFIG_SYS_MMC_ENV_PART 0 +#define CONFIG_ENV_OFFSET_REDUND 0x15000 +#endif + /* * BOOTP options */
U-Boot and environment are to be loaded off the eMMC. Signed-off-by: Eddie James <eajames@linux.ibm.com> --- configs/ast2600_openbmc_spl_emmc_defconfig | 130 +++++++++++++++++++++ include/configs/aspeed-common.h | 6 + 2 files changed, 136 insertions(+) create mode 100644 configs/ast2600_openbmc_spl_emmc_defconfig