openbmc.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH U-Boot v2019.04-aspeed-openbmc v2 0/3] Aspeed: Support eMMC boot
@ 2020-10-29  2:14 Eddie James
  2020-10-29  2:14 ` [PATCH U-Boot v2019.04-aspeed-openbmc v2 1/3] ARM: dts: Aspeed: Tacoma and Rainier: Add eMMC nodes and parameters Eddie James
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Eddie James @ 2020-10-29  2:14 UTC (permalink / raw)
  To: openbmc; +Cc: Eddie James

Add support to boot from the eMMC on AST2600 systems. Include the necessary
devicetree entries for Tacoma and Rainier machines.

Changes since v1:
 - Update commit messages and Kconfig descriptions. Also remove the
   unecessary SPI_SIZE config option

Eddie James (3):
  ARM: dts: Aspeed: Tacoma and Rainier: Add eMMC nodes and parameters
  arch: ARM: Aspeed: Add SPL eMMC partition boot support
  configs: Add AST2600 SPL eMMC configuration

 arch/arm/dts/ast2600-rainier.dts           |   8 ++
 arch/arm/dts/ast2600-tacoma.dts            |   8 ++
 arch/arm/mach-aspeed/Kconfig               |   8 ++
 arch/arm/mach-aspeed/ast2600/spl_boot.c    |   9 +-
 configs/ast2600_openbmc_spl_emmc_defconfig | 130 +++++++++++++++++++++
 include/configs/aspeed-common.h            |   6 +
 6 files changed, 168 insertions(+), 1 deletion(-)
 create mode 100644 configs/ast2600_openbmc_spl_emmc_defconfig

-- 
2.26.2


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH U-Boot v2019.04-aspeed-openbmc v2 1/3] ARM: dts: Aspeed: Tacoma and Rainier: Add eMMC nodes and parameters
  2020-10-29  2:14 [PATCH U-Boot v2019.04-aspeed-openbmc v2 0/3] Aspeed: Support eMMC boot Eddie James
@ 2020-10-29  2:14 ` Eddie James
  2020-10-29  2:14 ` [PATCH U-Boot v2019.04-aspeed-openbmc v2 2/3] arch: ARM: Aspeed: Add SPL eMMC partition boot support Eddie James
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Eddie James @ 2020-10-29  2:14 UTC (permalink / raw)
  To: openbmc; +Cc: Eddie James

Add the necessary eMMC/SDHC nodes and information to use the eMMC
from SPL and U-Boot.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
---
 arch/arm/dts/ast2600-rainier.dts | 8 ++++++++
 arch/arm/dts/ast2600-tacoma.dts  | 8 ++++++++
 2 files changed, 16 insertions(+)

diff --git a/arch/arm/dts/ast2600-rainier.dts b/arch/arm/dts/ast2600-rainier.dts
index ce530eb92b..67e177baf1 100755
--- a/arch/arm/dts/ast2600-rainier.dts
+++ b/arch/arm/dts/ast2600-rainier.dts
@@ -18,6 +18,7 @@
 	};
 
 	aliases {
+		mmc0 = &emmc_slot0;
 		spi0 = &fmc;
 		spi1 = &spi1;
 	};
@@ -89,9 +90,16 @@
 	};
 };
 
+&emmc {
+	u-boot,dm-pre-reloc;
+	timing-phase = <0x700ff>;
+};
+
 &emmc_slot0 {
+	u-boot,dm-pre-reloc;
 	status = "okay";
 	bus-width = <4>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_emmc_default>;
+	sdhci-drive-type = <1>;
 };
diff --git a/arch/arm/dts/ast2600-tacoma.dts b/arch/arm/dts/ast2600-tacoma.dts
index 22b9f39fa2..85d1e3902b 100755
--- a/arch/arm/dts/ast2600-tacoma.dts
+++ b/arch/arm/dts/ast2600-tacoma.dts
@@ -18,6 +18,7 @@
 	};
 
 	aliases {
+		mmc0 = &emmc_slot0;
 		spi0 = &fmc;
 		spi1 = &spi1;
 	};
@@ -80,9 +81,16 @@
 	};
 };
 
+&emmc {
+	u-boot,dm-pre-reloc;
+	timing-phase = <0x700ff>;
+};
+
 &emmc_slot0 {
+	u-boot,dm-pre-reloc;
 	status = "okay";
 	bus-width = <4>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_emmc_default>;
+	sdhci-drive-type = <1>;
 };
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH U-Boot v2019.04-aspeed-openbmc v2 2/3] arch: ARM: Aspeed: Add SPL eMMC partition boot support
  2020-10-29  2:14 [PATCH U-Boot v2019.04-aspeed-openbmc v2 0/3] Aspeed: Support eMMC boot Eddie James
  2020-10-29  2:14 ` [PATCH U-Boot v2019.04-aspeed-openbmc v2 1/3] ARM: dts: Aspeed: Tacoma and Rainier: Add eMMC nodes and parameters Eddie James
@ 2020-10-29  2:14 ` Eddie James
  2020-10-29  2:14 ` [PATCH U-Boot v2019.04-aspeed-openbmc v2 3/3] configs: Add AST2600 SPL eMMC configuration Eddie James
  2020-10-30  4:06 ` [PATCH U-Boot v2019.04-aspeed-openbmc v2 0/3] Aspeed: Support eMMC boot Joel Stanley
  3 siblings, 0 replies; 5+ messages in thread
From: Eddie James @ 2020-10-29  2:14 UTC (permalink / raw)
  To: openbmc; +Cc: Eddie James

Support loading U-Boot from a specific partition on the eMMC
device. Add a config option to specify the partition number in
the eMMC device (not the user data partition) where the U-Boot
image is located.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
---
 arch/arm/mach-aspeed/Kconfig            | 8 ++++++++
 arch/arm/mach-aspeed/ast2600/spl_boot.c | 9 ++++++++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-aspeed/Kconfig b/arch/arm/mach-aspeed/Kconfig
index 06f14f4f55..44d392a706 100644
--- a/arch/arm/mach-aspeed/Kconfig
+++ b/arch/arm/mach-aspeed/Kconfig
@@ -90,6 +90,14 @@ config ASPEED_UBOOT_MMC_BASE
 	  The base block number of the U-Boot
 	  image in the eMMC device
 
+config ASPEED_UBOOT_MMC_PART
+	int "U-Boot eMMC partition"
+	default 0
+	help
+	  The partition number of the U-Boot
+	  image in the eMMC device. This is not
+          the user data partition number.
+
 config ASPEED_UBOOT_MMC_SIZE
 	hex "U-Boot eMMC size in blocks"
 	default 0x0
diff --git a/arch/arm/mach-aspeed/ast2600/spl_boot.c b/arch/arm/mach-aspeed/ast2600/spl_boot.c
index b08c49d204..58a22f646e 100644
--- a/arch/arm/mach-aspeed/ast2600/spl_boot.c
+++ b/arch/arm/mach-aspeed/ast2600/spl_boot.c
@@ -46,8 +46,8 @@ static int aspeed_spl_mmc_load_image(struct spl_image_info *spl_image,
 				      struct spl_boot_device *bootdev)
 {
 	int err;
+	int part = CONFIG_ASPEED_UBOOT_MMC_PART;
 	u32 count;
-
 	struct mmc *mmc = NULL;
 	struct udevice *dev;
 	struct blk_desc *bd;
@@ -78,6 +78,13 @@ static int aspeed_spl_mmc_load_image(struct spl_image_info *spl_image,
 
 	bd = mmc_get_blk_desc(mmc);
 
+	if (part) {
+		if (CONFIG_IS_ENABLED(MMC_TINY))
+			err = mmc_switch_part(mmc, part);
+		else
+			err = blk_dselect_hwpart(bd, part);
+	}
+
 	count = blk_dread(bd, CONFIG_ASPEED_UBOOT_MMC_BASE, CONFIG_ASPEED_UBOOT_MMC_SIZE,
 			(void *)CONFIG_ASPEED_UBOOT_DRAM_BASE);
 	if (count != CONFIG_ASPEED_UBOOT_MMC_SIZE) {
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH U-Boot v2019.04-aspeed-openbmc v2 3/3] configs: Add AST2600 SPL eMMC configuration
  2020-10-29  2:14 [PATCH U-Boot v2019.04-aspeed-openbmc v2 0/3] Aspeed: Support eMMC boot Eddie James
  2020-10-29  2:14 ` [PATCH U-Boot v2019.04-aspeed-openbmc v2 1/3] ARM: dts: Aspeed: Tacoma and Rainier: Add eMMC nodes and parameters Eddie James
  2020-10-29  2:14 ` [PATCH U-Boot v2019.04-aspeed-openbmc v2 2/3] arch: ARM: Aspeed: Add SPL eMMC partition boot support Eddie James
@ 2020-10-29  2:14 ` Eddie James
  2020-10-30  4:06 ` [PATCH U-Boot v2019.04-aspeed-openbmc v2 0/3] Aspeed: Support eMMC boot Joel Stanley
  3 siblings, 0 replies; 5+ messages in thread
From: Eddie James @ 2020-10-29  2:14 UTC (permalink / raw)
  To: openbmc; +Cc: Eddie James

U-Boot and environment are to be loaded off the eMMC.
The environment is located at byte offset 0x5000 in the user data
partition, and is sized at 0x10000. The redundant environment
follows it immediately and is the same size. Also select the
partition number and block offset of the U-Boot image; it is in
the first boot partition (eMMC partition 1) at block 128.

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
new file mode 100644
index 0000000000..1d963f4d96
--- /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_BASE=0xe0000
+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
  */
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH U-Boot v2019.04-aspeed-openbmc v2 0/3] Aspeed: Support eMMC boot
  2020-10-29  2:14 [PATCH U-Boot v2019.04-aspeed-openbmc v2 0/3] Aspeed: Support eMMC boot Eddie James
                   ` (2 preceding siblings ...)
  2020-10-29  2:14 ` [PATCH U-Boot v2019.04-aspeed-openbmc v2 3/3] configs: Add AST2600 SPL eMMC configuration Eddie James
@ 2020-10-30  4:06 ` Joel Stanley
  3 siblings, 0 replies; 5+ messages in thread
From: Joel Stanley @ 2020-10-30  4:06 UTC (permalink / raw)
  To: Eddie James; +Cc: OpenBMC Maillist

On Thu, 29 Oct 2020 at 02:15, Eddie James <eajames@linux.ibm.com> wrote:
>
> Add support to boot from the eMMC on AST2600 systems. Include the necessary
> devicetree entries for Tacoma and Rainier machines.
>
> Changes since v1:
>  - Update commit messages and Kconfig descriptions. Also remove the
>    unecessary SPI_SIZE config option
>
> Eddie James (3):
>   ARM: dts: Aspeed: Tacoma and Rainier: Add eMMC nodes and parameters
>   arch: ARM: Aspeed: Add SPL eMMC partition boot support
>   configs: Add AST2600 SPL eMMC configuration

Reviewed-by: Joel Stanley <joel@jms.id.au>

>
>  arch/arm/dts/ast2600-rainier.dts           |   8 ++
>  arch/arm/dts/ast2600-tacoma.dts            |   8 ++
>  arch/arm/mach-aspeed/Kconfig               |   8 ++
>  arch/arm/mach-aspeed/ast2600/spl_boot.c    |   9 +-
>  configs/ast2600_openbmc_spl_emmc_defconfig | 130 +++++++++++++++++++++
>  include/configs/aspeed-common.h            |   6 +
>  6 files changed, 168 insertions(+), 1 deletion(-)
>  create mode 100644 configs/ast2600_openbmc_spl_emmc_defconfig
>
> --
> 2.26.2
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-10-30  4:07 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-29  2:14 [PATCH U-Boot v2019.04-aspeed-openbmc v2 0/3] Aspeed: Support eMMC boot Eddie James
2020-10-29  2:14 ` [PATCH U-Boot v2019.04-aspeed-openbmc v2 1/3] ARM: dts: Aspeed: Tacoma and Rainier: Add eMMC nodes and parameters Eddie James
2020-10-29  2:14 ` [PATCH U-Boot v2019.04-aspeed-openbmc v2 2/3] arch: ARM: Aspeed: Add SPL eMMC partition boot support Eddie James
2020-10-29  2:14 ` [PATCH U-Boot v2019.04-aspeed-openbmc v2 3/3] configs: Add AST2600 SPL eMMC configuration Eddie James
2020-10-30  4:06 ` [PATCH U-Boot v2019.04-aspeed-openbmc v2 0/3] Aspeed: Support eMMC boot Joel Stanley

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).