* [PATCH 0/3] mvebu: clearfog: add support for emmc boot
@ 2023-10-08 12:46 Josua Mayer
2023-10-08 12:46 ` [PATCH 1/3] arm: mvebu: allow additional 4096 offset for bootable mmc image Josua Mayer
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: Josua Mayer @ 2023-10-08 12:46 UTC (permalink / raw)
To: u-boot; +Cc: sr, sjg, kabel, Josua Mayer
On Armada 388 booting from eMMC is different to SD-Card in two major ways:
- Environment location
- Sectors scanned by Boot-ROM
This patchset first makes it possible to select offset 4096 for
eMMC partition. Here U-Boot can be placed to avoid conflict
conflict with MBR.
Secondly the bubt command is updated to use LBA-4096 for eMMC data
partition only, keeping previous values for SD and boot0/1 unchanged
Finally 3 new defconfigs are added - one for each bootable eMMC partition,
selecting correct offset, and environment partition.
Josua Mayer (3):
arm: mvebu: allow additional 4096 offset for bootable mmc image
cmd: mvebu/bubt: move eMMC data-partition uboot from LBA-0 to 4096
arm: mvebu: clearfog: Add defconfigs for eMMC booting
arch/arm/mach-mvebu/spl.c | 5 +-
cmd/mvebu/bubt.c | 9 ++-
configs/clearfog_emmcboot0_defconfig | 82 ++++++++++++++++++++++++++++
configs/clearfog_emmcboot1_defconfig | 82 ++++++++++++++++++++++++++++
configs/clearfog_emmcdata_defconfig | 82 ++++++++++++++++++++++++++++
5 files changed, 256 insertions(+), 4 deletions(-)
create mode 100644 configs/clearfog_emmcboot0_defconfig
create mode 100644 configs/clearfog_emmcboot1_defconfig
create mode 100644 configs/clearfog_emmcdata_defconfig
--
2.35.3
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 1/3] arm: mvebu: allow additional 4096 offset for bootable mmc image
2023-10-08 12:46 [PATCH 0/3] mvebu: clearfog: add support for emmc boot Josua Mayer
@ 2023-10-08 12:46 ` Josua Mayer
2023-10-16 8:34 ` Stefan Roese
2023-10-08 12:46 ` [PATCH 2/3] cmd: mvebu/bubt: move eMMC data-partition uboot from LBA-0 to 4096 Josua Mayer
2023-10-08 12:46 ` [PATCH 3/3] arm: mvebu: clearfog: Add defconfigs for eMMC booting Josua Mayer
2 siblings, 1 reply; 11+ messages in thread
From: Josua Mayer @ 2023-10-08 12:46 UTC (permalink / raw)
To: u-boot; +Cc: sr, sjg, kabel, Josua Mayer
Disarm the error message forcing u-boot/spl image to be located at
sector 0 on eMMC data-partition and microSD.
Offset 0 makes sense on eMMC boot partitions only, data partition must
use 4096 to avoid conflicting with MBR.
Valid offsets when booting from microSD, reported by boot-rom v1.73:
BootROM: Bad header at offset 00000200
BootROM: Bad header at offset 00004400
BootROM: Bad header at offset 00200000
BootROM: Bad header at offset 00400000
BootROM: Bad header at offset 00600000
BootROM: Bad header at offset 00800000
BootROM: Bad header at offset 00A00000
BootROM: Bad header at offset 00C00000
BootROM: Bad header at offset 00E00000
BootROM: Bad header at offset 01000000
BootROM: Bad header at offset 01200000
BootROM: Bad header at offset 01400000
BootROM: Bad header at offset 01600000
BootROM: Bad header at offset 01800000
BootROM: Bad header at offset 01A00000
BootROM: Bad header at offset 01C00000
BootROM: Bad header at offset 01E00000
BootROM: Bad header at offset 02000000
BootROM: Bad header at offset 02200000
BootROM: Bad header at offset 02400000
BootROM: Bad header at offset 02600000
BootROM: Bad header at offset 02800000
BootROM: Bad header at offset 02A00000
BootROM: Bad header at offset 02C00000
BootROM: Bad header at offset 02E00000
Valid offsets when booting from eMMC:
BootROM: Bad header at offset 00000000
BootROM: Bad header at offset 00200000
Switching BootPartitions.
BootROM: Bad header at offset 00000000
BootROM: Bad header at offset 00200000
Fixes: 2226ca17348 ("arm: mvebu: Load U-Boot proper binary in SPL code based on kwbimage header")
Signed-off-by: Josua Mayer <josua@solid-run.com>
---
arch/arm/mach-mvebu/spl.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-mvebu/spl.c b/arch/arm/mach-mvebu/spl.c
index 379daa88a4d..0dbc12f66ea 100644
--- a/arch/arm/mach-mvebu/spl.c
+++ b/arch/arm/mach-mvebu/spl.c
@@ -71,8 +71,9 @@
#error CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR must be set to 0
#endif
#if !defined(CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET) || \
- CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET != 0
-#error CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET must be set to 0
+ (CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET != 0 && \
+ CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET != 4096)
+#error CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET must be set to either 0 or 4096
#endif
#endif
--
2.35.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 2/3] cmd: mvebu/bubt: move eMMC data-partition uboot from LBA-0 to 4096
2023-10-08 12:46 [PATCH 0/3] mvebu: clearfog: add support for emmc boot Josua Mayer
2023-10-08 12:46 ` [PATCH 1/3] arm: mvebu: allow additional 4096 offset for bootable mmc image Josua Mayer
@ 2023-10-08 12:46 ` Josua Mayer
2023-10-16 8:35 ` Stefan Roese
2023-10-20 9:30 ` Stefan Roese
2023-10-08 12:46 ` [PATCH 3/3] arm: mvebu: clearfog: Add defconfigs for eMMC booting Josua Mayer
2 siblings, 2 replies; 11+ messages in thread
From: Josua Mayer @ 2023-10-08 12:46 UTC (permalink / raw)
To: u-boot; +Cc: sr, sjg, kabel, Josua Mayer
A38x bootrom only searches 2 sectors when booting from eMMC,
irregardless of data or boot partition: 0 & 4096.
For eMMC boot partitions sector 0 is fine, but on data partition it
conflicts with MBR.
Change bubt command default to 4096 for eMMC data partition only, to
allow using an MBR partition table on the eMMC data partition while also
booting from it.
Signed-off-by: Josua Mayer <josua@solid-run.com>
---
cmd/mvebu/bubt.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/cmd/mvebu/bubt.c b/cmd/mvebu/bubt.c
index ca24a5c1c4b..eb1fef9243d 100644
--- a/cmd/mvebu/bubt.c
+++ b/cmd/mvebu/bubt.c
@@ -240,9 +240,14 @@ static int mmc_burn_image(size_t image_size)
#endif
/* SD reserves LBA-0 for MBR and boots from LBA-1,
- * MMC/eMMC boots from LBA-0
+ * MMC/eMMC boots from LBA-0 and LBA-4096
*/
- start_lba = IS_SD(mmc) ? 1 : 0;
+ if (IS_SD(mmc))
+ start_lba = 1;
+ else if (!part)
+ start_lba = 4096;
+ else
+ start_lba = 0;
#ifdef CONFIG_BLK
blk_count = image_size / mmc->write_bl_len;
if (image_size % mmc->write_bl_len)
--
2.35.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 3/3] arm: mvebu: clearfog: Add defconfigs for eMMC booting
2023-10-08 12:46 [PATCH 0/3] mvebu: clearfog: add support for emmc boot Josua Mayer
2023-10-08 12:46 ` [PATCH 1/3] arm: mvebu: allow additional 4096 offset for bootable mmc image Josua Mayer
2023-10-08 12:46 ` [PATCH 2/3] cmd: mvebu/bubt: move eMMC data-partition uboot from LBA-0 to 4096 Josua Mayer
@ 2023-10-08 12:46 ` Josua Mayer
2023-10-16 8:37 ` Stefan Roese
2 siblings, 1 reply; 11+ messages in thread
From: Josua Mayer @ 2023-10-08 12:46 UTC (permalink / raw)
To: u-boot; +Cc: sr, sjg, kabel, Josua Mayer
Armada 388 can boot from either eMMC data, boot0 or boot1 partitions.
data partition requires booting from LBA-4096 to avoid conflict with
MBR. When booting from boot0/boot1 environment should be stored there
respectively, too.
Add 3 new defconfigs, for each eMMC partition:
- clearfog_emmcboot0_defconfig
- clearfog_emmcboot1_defconfig
- clearfog_emmcdata_defconfig
Signed-off-by: Josua Mayer <josua@solid-run.com>
---
configs/clearfog_emmcboot0_defconfig | 82 ++++++++++++++++++++++++++++
configs/clearfog_emmcboot1_defconfig | 82 ++++++++++++++++++++++++++++
configs/clearfog_emmcdata_defconfig | 82 ++++++++++++++++++++++++++++
3 files changed, 246 insertions(+)
create mode 100644 configs/clearfog_emmcboot0_defconfig
create mode 100644 configs/clearfog_emmcboot1_defconfig
create mode 100644 configs/clearfog_emmcdata_defconfig
diff --git a/configs/clearfog_emmcboot0_defconfig b/configs/clearfog_emmcboot0_defconfig
new file mode 100644
index 00000000000..215b7708a0d
--- /dev/null
+++ b/configs/clearfog_emmcboot0_defconfig
@@ -0,0 +1,82 @@
+CONFIG_ARM=y
+CONFIG_ARCH_CPU_INIT=y
+CONFIG_SYS_THUMB_BUILD=y
+CONFIG_ARCH_MVEBU=y
+CONFIG_TEXT_BASE=0x00800000
+CONFIG_SPL_LIBCOMMON_SUPPORT=y
+CONFIG_SPL_LIBGENERIC_SUPPORT=y
+CONFIG_NR_DRAM_BANKS=2
+CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
+CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xff0000
+CONFIG_TARGET_CLEARFOG=y
+CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC=y
+CONFIG_DEFAULT_DEVICE_TREE="armada-388-clearfog"
+CONFIG_SPL_TEXT_BASE=0x40000030
+CONFIG_SPL_SERIAL=y
+CONFIG_SPL_STACK=0x4002c000
+CONFIG_SPL=y
+CONFIG_DEBUG_UART_BASE=0xf1012000
+CONFIG_DEBUG_UART_CLOCK=250000000
+CONFIG_SYS_LOAD_ADDR=0x800000
+CONFIG_PCI=y
+CONFIG_DEBUG_UART=y
+CONFIG_AHCI=y
+CONFIG_DISTRO_DEFAULTS=y
+CONFIG_BOOTDELAY=3
+CONFIG_USE_PREBOOT=y
+CONFIG_SYS_CONSOLE_INFO_QUIET=y
+# CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_DISPLAY_BOARDINFO_LATE=y
+CONFIG_SPL_MAX_SIZE=0x22fd0
+CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
+CONFIG_SPL_BSS_START_ADDR=0x40023000
+CONFIG_SPL_BSS_MAX_SIZE=0x4000
+CONFIG_SPL_SYS_MALLOC_SIMPLE=y
+# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
+CONFIG_SPL_I2C=y
+CONFIG_SYS_MAXARGS=32
+CONFIG_CMD_TLV_EEPROM=y
+CONFIG_SPL_CMD_TLV_EEPROM=y
+# CONFIG_CMD_FLASH is not set
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_I2C=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_PCI=y
+CONFIG_CMD_SPI=y
+CONFIG_CMD_USB=y
+CONFIG_CMD_TFTPPUT=y
+CONFIG_CMD_CACHE=y
+CONFIG_CMD_TIME=y
+CONFIG_ENV_OVERWRITE=y
+CONFIG_ENV_MIN_ENTRIES=128
+CONFIG_SYS_MMC_ENV_PART=1
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
+CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_SPL_OF_TRANSLATE=y
+CONFIG_AHCI_MVEBU=y
+CONFIG_DM_PCA953X=y
+CONFIG_DM_I2C=y
+CONFIG_SYS_I2C_MVTWSI=y
+CONFIG_I2C_EEPROM=y
+CONFIG_SPL_I2C_EEPROM=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
+CONFIG_MMC_SDHCI_MV=y
+CONFIG_MTD=y
+CONFIG_SF_DEFAULT_BUS=1
+CONFIG_SPI_FLASH_WINBOND=y
+CONFIG_SPI_FLASH_MTD=y
+CONFIG_PHY_MARVELL=y
+CONFIG_PHY_GIGE=y
+CONFIG_MVNETA=y
+CONFIG_MII=y
+CONFIG_MVMDIO=y
+CONFIG_PCI_MVEBU=y
+CONFIG_SCSI=y
+CONFIG_SPL_DEBUG_UART_BASE=0xd0012000
+CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550=y
+CONFIG_KIRKWOOD_SPI=y
+CONFIG_USB=y
+CONFIG_USB_XHCI_HCD=y
diff --git a/configs/clearfog_emmcboot1_defconfig b/configs/clearfog_emmcboot1_defconfig
new file mode 100644
index 00000000000..59f88c64a2e
--- /dev/null
+++ b/configs/clearfog_emmcboot1_defconfig
@@ -0,0 +1,82 @@
+CONFIG_ARM=y
+CONFIG_ARCH_CPU_INIT=y
+CONFIG_SYS_THUMB_BUILD=y
+CONFIG_ARCH_MVEBU=y
+CONFIG_TEXT_BASE=0x00800000
+CONFIG_SPL_LIBCOMMON_SUPPORT=y
+CONFIG_SPL_LIBGENERIC_SUPPORT=y
+CONFIG_NR_DRAM_BANKS=2
+CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
+CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xff0000
+CONFIG_TARGET_CLEARFOG=y
+CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC=y
+CONFIG_DEFAULT_DEVICE_TREE="armada-388-clearfog"
+CONFIG_SPL_TEXT_BASE=0x40000030
+CONFIG_SPL_SERIAL=y
+CONFIG_SPL_STACK=0x4002c000
+CONFIG_SPL=y
+CONFIG_DEBUG_UART_BASE=0xf1012000
+CONFIG_DEBUG_UART_CLOCK=250000000
+CONFIG_SYS_LOAD_ADDR=0x800000
+CONFIG_PCI=y
+CONFIG_DEBUG_UART=y
+CONFIG_AHCI=y
+CONFIG_DISTRO_DEFAULTS=y
+CONFIG_BOOTDELAY=3
+CONFIG_USE_PREBOOT=y
+CONFIG_SYS_CONSOLE_INFO_QUIET=y
+# CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_DISPLAY_BOARDINFO_LATE=y
+CONFIG_SPL_MAX_SIZE=0x22fd0
+CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
+CONFIG_SPL_BSS_START_ADDR=0x40023000
+CONFIG_SPL_BSS_MAX_SIZE=0x4000
+CONFIG_SPL_SYS_MALLOC_SIMPLE=y
+# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
+CONFIG_SPL_I2C=y
+CONFIG_SYS_MAXARGS=32
+CONFIG_CMD_TLV_EEPROM=y
+CONFIG_SPL_CMD_TLV_EEPROM=y
+# CONFIG_CMD_FLASH is not set
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_I2C=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_PCI=y
+CONFIG_CMD_SPI=y
+CONFIG_CMD_USB=y
+CONFIG_CMD_TFTPPUT=y
+CONFIG_CMD_CACHE=y
+CONFIG_CMD_TIME=y
+CONFIG_ENV_OVERWRITE=y
+CONFIG_ENV_MIN_ENTRIES=128
+CONFIG_SYS_MMC_ENV_PART=2
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
+CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_SPL_OF_TRANSLATE=y
+CONFIG_AHCI_MVEBU=y
+CONFIG_DM_PCA953X=y
+CONFIG_DM_I2C=y
+CONFIG_SYS_I2C_MVTWSI=y
+CONFIG_I2C_EEPROM=y
+CONFIG_SPL_I2C_EEPROM=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
+CONFIG_MMC_SDHCI_MV=y
+CONFIG_MTD=y
+CONFIG_SF_DEFAULT_BUS=1
+CONFIG_SPI_FLASH_WINBOND=y
+CONFIG_SPI_FLASH_MTD=y
+CONFIG_PHY_MARVELL=y
+CONFIG_PHY_GIGE=y
+CONFIG_MVNETA=y
+CONFIG_MII=y
+CONFIG_MVMDIO=y
+CONFIG_PCI_MVEBU=y
+CONFIG_SCSI=y
+CONFIG_SPL_DEBUG_UART_BASE=0xd0012000
+CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550=y
+CONFIG_KIRKWOOD_SPI=y
+CONFIG_USB=y
+CONFIG_USB_XHCI_HCD=y
diff --git a/configs/clearfog_emmcdata_defconfig b/configs/clearfog_emmcdata_defconfig
new file mode 100644
index 00000000000..335b50e3c48
--- /dev/null
+++ b/configs/clearfog_emmcdata_defconfig
@@ -0,0 +1,82 @@
+CONFIG_ARM=y
+CONFIG_ARCH_CPU_INIT=y
+CONFIG_SYS_THUMB_BUILD=y
+CONFIG_ARCH_MVEBU=y
+CONFIG_TEXT_BASE=0x00800000
+CONFIG_SPL_LIBCOMMON_SUPPORT=y
+CONFIG_SPL_LIBGENERIC_SUPPORT=y
+CONFIG_NR_DRAM_BANKS=2
+CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
+CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xff0000
+CONFIG_TARGET_CLEARFOG=y
+CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC=y
+CONFIG_DEFAULT_DEVICE_TREE="armada-388-clearfog"
+CONFIG_SPL_TEXT_BASE=0x40000030
+CONFIG_SPL_SERIAL=y
+CONFIG_SPL_STACK=0x4002c000
+CONFIG_SPL=y
+CONFIG_DEBUG_UART_BASE=0xf1012000
+CONFIG_DEBUG_UART_CLOCK=250000000
+CONFIG_SYS_LOAD_ADDR=0x800000
+CONFIG_PCI=y
+CONFIG_DEBUG_UART=y
+CONFIG_AHCI=y
+CONFIG_DISTRO_DEFAULTS=y
+CONFIG_BOOTDELAY=3
+CONFIG_USE_PREBOOT=y
+CONFIG_SYS_CONSOLE_INFO_QUIET=y
+# CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_DISPLAY_BOARDINFO_LATE=y
+CONFIG_SPL_MAX_SIZE=0x22fd0
+CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
+CONFIG_SPL_BSS_START_ADDR=0x40023000
+CONFIG_SPL_BSS_MAX_SIZE=0x4000
+CONFIG_SPL_SYS_MALLOC_SIMPLE=y
+# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
+CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET=0x1000
+CONFIG_SPL_I2C=y
+CONFIG_SYS_MAXARGS=32
+CONFIG_CMD_TLV_EEPROM=y
+CONFIG_SPL_CMD_TLV_EEPROM=y
+# CONFIG_CMD_FLASH is not set
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_I2C=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_PCI=y
+CONFIG_CMD_SPI=y
+CONFIG_CMD_USB=y
+CONFIG_CMD_TFTPPUT=y
+CONFIG_CMD_CACHE=y
+CONFIG_CMD_TIME=y
+CONFIG_ENV_OVERWRITE=y
+CONFIG_ENV_MIN_ENTRIES=128
+CONFIG_ARP_TIMEOUT=200
+CONFIG_NET_RETRY_COUNT=50
+CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_SPL_OF_TRANSLATE=y
+CONFIG_AHCI_MVEBU=y
+CONFIG_DM_PCA953X=y
+CONFIG_DM_I2C=y
+CONFIG_SYS_I2C_MVTWSI=y
+CONFIG_I2C_EEPROM=y
+CONFIG_SPL_I2C_EEPROM=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_SDMA=y
+CONFIG_MMC_SDHCI_MV=y
+CONFIG_MTD=y
+CONFIG_SF_DEFAULT_BUS=1
+CONFIG_SPI_FLASH_WINBOND=y
+CONFIG_SPI_FLASH_MTD=y
+CONFIG_PHY_MARVELL=y
+CONFIG_PHY_GIGE=y
+CONFIG_MVNETA=y
+CONFIG_MII=y
+CONFIG_MVMDIO=y
+CONFIG_PCI_MVEBU=y
+CONFIG_SCSI=y
+CONFIG_SPL_DEBUG_UART_BASE=0xd0012000
+CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_SYS_NS16550=y
+CONFIG_KIRKWOOD_SPI=y
+CONFIG_USB=y
+CONFIG_USB_XHCI_HCD=y
--
2.35.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 1/3] arm: mvebu: allow additional 4096 offset for bootable mmc image
2023-10-08 12:46 ` [PATCH 1/3] arm: mvebu: allow additional 4096 offset for bootable mmc image Josua Mayer
@ 2023-10-16 8:34 ` Stefan Roese
0 siblings, 0 replies; 11+ messages in thread
From: Stefan Roese @ 2023-10-16 8:34 UTC (permalink / raw)
To: Josua Mayer, u-boot; +Cc: sjg, kabel
On 10/8/23 14:46, Josua Mayer wrote:
> Disarm the error message forcing u-boot/spl image to be located at
> sector 0 on eMMC data-partition and microSD.
> Offset 0 makes sense on eMMC boot partitions only, data partition must
> use 4096 to avoid conflicting with MBR.
>
> Valid offsets when booting from microSD, reported by boot-rom v1.73:
>
> BootROM: Bad header at offset 00000200
> BootROM: Bad header at offset 00004400
> BootROM: Bad header at offset 00200000
> BootROM: Bad header at offset 00400000
> BootROM: Bad header at offset 00600000
> BootROM: Bad header at offset 00800000
> BootROM: Bad header at offset 00A00000
> BootROM: Bad header at offset 00C00000
> BootROM: Bad header at offset 00E00000
> BootROM: Bad header at offset 01000000
> BootROM: Bad header at offset 01200000
> BootROM: Bad header at offset 01400000
> BootROM: Bad header at offset 01600000
> BootROM: Bad header at offset 01800000
> BootROM: Bad header at offset 01A00000
> BootROM: Bad header at offset 01C00000
> BootROM: Bad header at offset 01E00000
> BootROM: Bad header at offset 02000000
> BootROM: Bad header at offset 02200000
> BootROM: Bad header at offset 02400000
> BootROM: Bad header at offset 02600000
> BootROM: Bad header at offset 02800000
> BootROM: Bad header at offset 02A00000
> BootROM: Bad header at offset 02C00000
> BootROM: Bad header at offset 02E00000
>
> Valid offsets when booting from eMMC:
>
> BootROM: Bad header at offset 00000000
> BootROM: Bad header at offset 00200000
> Switching BootPartitions.
> BootROM: Bad header at offset 00000000
> BootROM: Bad header at offset 00200000
>
> Fixes: 2226ca17348 ("arm: mvebu: Load U-Boot proper binary in SPL code based on kwbimage header")
>
> Signed-off-by: Josua Mayer <josua@solid-run.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Thanks,
Stefan
> ---
> arch/arm/mach-mvebu/spl.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/mach-mvebu/spl.c b/arch/arm/mach-mvebu/spl.c
> index 379daa88a4d..0dbc12f66ea 100644
> --- a/arch/arm/mach-mvebu/spl.c
> +++ b/arch/arm/mach-mvebu/spl.c
> @@ -71,8 +71,9 @@
> #error CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR must be set to 0
> #endif
> #if !defined(CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET) || \
> - CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET != 0
> -#error CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET must be set to 0
> + (CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET != 0 && \
> + CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET != 4096)
> +#error CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET must be set to either 0 or 4096
> #endif
> #endif
>
Viele Grüße,
Stefan Roese
--
DENX Software Engineering GmbH, Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/3] cmd: mvebu/bubt: move eMMC data-partition uboot from LBA-0 to 4096
2023-10-08 12:46 ` [PATCH 2/3] cmd: mvebu/bubt: move eMMC data-partition uboot from LBA-0 to 4096 Josua Mayer
@ 2023-10-16 8:35 ` Stefan Roese
2023-10-20 9:30 ` Stefan Roese
1 sibling, 0 replies; 11+ messages in thread
From: Stefan Roese @ 2023-10-16 8:35 UTC (permalink / raw)
To: Josua Mayer, u-boot; +Cc: sjg, kabel
On 10/8/23 14:46, Josua Mayer wrote:
> A38x bootrom only searches 2 sectors when booting from eMMC,
> irregardless of data or boot partition: 0 & 4096.
>
> For eMMC boot partitions sector 0 is fine, but on data partition it
> conflicts with MBR.
>
> Change bubt command default to 4096 for eMMC data partition only, to
> allow using an MBR partition table on the eMMC data partition while also
> booting from it.
>
> Signed-off-by: Josua Mayer <josua@solid-run.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Thanks,
Stefan
> ---
> cmd/mvebu/bubt.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/cmd/mvebu/bubt.c b/cmd/mvebu/bubt.c
> index ca24a5c1c4b..eb1fef9243d 100644
> --- a/cmd/mvebu/bubt.c
> +++ b/cmd/mvebu/bubt.c
> @@ -240,9 +240,14 @@ static int mmc_burn_image(size_t image_size)
> #endif
>
> /* SD reserves LBA-0 for MBR and boots from LBA-1,
> - * MMC/eMMC boots from LBA-0
> + * MMC/eMMC boots from LBA-0 and LBA-4096
> */
> - start_lba = IS_SD(mmc) ? 1 : 0;
> + if (IS_SD(mmc))
> + start_lba = 1;
> + else if (!part)
> + start_lba = 4096;
> + else
> + start_lba = 0;
> #ifdef CONFIG_BLK
> blk_count = image_size / mmc->write_bl_len;
> if (image_size % mmc->write_bl_len)
Viele Grüße,
Stefan Roese
--
DENX Software Engineering GmbH, Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 3/3] arm: mvebu: clearfog: Add defconfigs for eMMC booting
2023-10-08 12:46 ` [PATCH 3/3] arm: mvebu: clearfog: Add defconfigs for eMMC booting Josua Mayer
@ 2023-10-16 8:37 ` Stefan Roese
2023-10-17 7:51 ` Josua Mayer
0 siblings, 1 reply; 11+ messages in thread
From: Stefan Roese @ 2023-10-16 8:37 UTC (permalink / raw)
To: Josua Mayer, u-boot; +Cc: sjg, kabel
Hi Josua,
On 10/8/23 14:46, Josua Mayer wrote:
> Armada 388 can boot from either eMMC data, boot0 or boot1 partitions.
>
> data partition requires booting from LBA-4096 to avoid conflict with
> MBR. When booting from boot0/boot1 environment should be stored there
> respectively, too.
>
> Add 3 new defconfigs, for each eMMC partition:
> - clearfog_emmcboot0_defconfig
> - clearfog_emmcboot1_defconfig
> - clearfog_emmcdata_defconfig
Do we really need new, separate defconfig files for those very similar
configurations? Or is there a way to detect this at runtime or if not
possible to include a common defconfig file?
Just checking...
Thanks,
Stefan
> Signed-off-by: Josua Mayer <josua@solid-run.com>
> ---
> configs/clearfog_emmcboot0_defconfig | 82 ++++++++++++++++++++++++++++
> configs/clearfog_emmcboot1_defconfig | 82 ++++++++++++++++++++++++++++
> configs/clearfog_emmcdata_defconfig | 82 ++++++++++++++++++++++++++++
> 3 files changed, 246 insertions(+)
> create mode 100644 configs/clearfog_emmcboot0_defconfig
> create mode 100644 configs/clearfog_emmcboot1_defconfig
> create mode 100644 configs/clearfog_emmcdata_defconfig
>
> diff --git a/configs/clearfog_emmcboot0_defconfig b/configs/clearfog_emmcboot0_defconfig
> new file mode 100644
> index 00000000000..215b7708a0d
> --- /dev/null
> +++ b/configs/clearfog_emmcboot0_defconfig
> @@ -0,0 +1,82 @@
> +CONFIG_ARM=y
> +CONFIG_ARCH_CPU_INIT=y
> +CONFIG_SYS_THUMB_BUILD=y
> +CONFIG_ARCH_MVEBU=y
> +CONFIG_TEXT_BASE=0x00800000
> +CONFIG_SPL_LIBCOMMON_SUPPORT=y
> +CONFIG_SPL_LIBGENERIC_SUPPORT=y
> +CONFIG_NR_DRAM_BANKS=2
> +CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
> +CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xff0000
> +CONFIG_TARGET_CLEARFOG=y
> +CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC=y
> +CONFIG_DEFAULT_DEVICE_TREE="armada-388-clearfog"
> +CONFIG_SPL_TEXT_BASE=0x40000030
> +CONFIG_SPL_SERIAL=y
> +CONFIG_SPL_STACK=0x4002c000
> +CONFIG_SPL=y
> +CONFIG_DEBUG_UART_BASE=0xf1012000
> +CONFIG_DEBUG_UART_CLOCK=250000000
> +CONFIG_SYS_LOAD_ADDR=0x800000
> +CONFIG_PCI=y
> +CONFIG_DEBUG_UART=y
> +CONFIG_AHCI=y
> +CONFIG_DISTRO_DEFAULTS=y
> +CONFIG_BOOTDELAY=3
> +CONFIG_USE_PREBOOT=y
> +CONFIG_SYS_CONSOLE_INFO_QUIET=y
> +# CONFIG_DISPLAY_BOARDINFO is not set
> +CONFIG_DISPLAY_BOARDINFO_LATE=y
> +CONFIG_SPL_MAX_SIZE=0x22fd0
> +CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
> +CONFIG_SPL_BSS_START_ADDR=0x40023000
> +CONFIG_SPL_BSS_MAX_SIZE=0x4000
> +CONFIG_SPL_SYS_MALLOC_SIMPLE=y
> +# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
> +CONFIG_SPL_I2C=y
> +CONFIG_SYS_MAXARGS=32
> +CONFIG_CMD_TLV_EEPROM=y
> +CONFIG_SPL_CMD_TLV_EEPROM=y
> +# CONFIG_CMD_FLASH is not set
> +CONFIG_CMD_GPIO=y
> +CONFIG_CMD_I2C=y
> +CONFIG_CMD_MMC=y
> +CONFIG_CMD_PCI=y
> +CONFIG_CMD_SPI=y
> +CONFIG_CMD_USB=y
> +CONFIG_CMD_TFTPPUT=y
> +CONFIG_CMD_CACHE=y
> +CONFIG_CMD_TIME=y
> +CONFIG_ENV_OVERWRITE=y
> +CONFIG_ENV_MIN_ENTRIES=128
> +CONFIG_SYS_MMC_ENV_PART=1
> +CONFIG_ARP_TIMEOUT=200
> +CONFIG_NET_RETRY_COUNT=50
> +CONFIG_NET_RANDOM_ETHADDR=y
> +CONFIG_SPL_OF_TRANSLATE=y
> +CONFIG_AHCI_MVEBU=y
> +CONFIG_DM_PCA953X=y
> +CONFIG_DM_I2C=y
> +CONFIG_SYS_I2C_MVTWSI=y
> +CONFIG_I2C_EEPROM=y
> +CONFIG_SPL_I2C_EEPROM=y
> +CONFIG_MMC_SDHCI=y
> +CONFIG_MMC_SDHCI_SDMA=y
> +CONFIG_MMC_SDHCI_MV=y
> +CONFIG_MTD=y
> +CONFIG_SF_DEFAULT_BUS=1
> +CONFIG_SPI_FLASH_WINBOND=y
> +CONFIG_SPI_FLASH_MTD=y
> +CONFIG_PHY_MARVELL=y
> +CONFIG_PHY_GIGE=y
> +CONFIG_MVNETA=y
> +CONFIG_MII=y
> +CONFIG_MVMDIO=y
> +CONFIG_PCI_MVEBU=y
> +CONFIG_SCSI=y
> +CONFIG_SPL_DEBUG_UART_BASE=0xd0012000
> +CONFIG_DEBUG_UART_SHIFT=2
> +CONFIG_SYS_NS16550=y
> +CONFIG_KIRKWOOD_SPI=y
> +CONFIG_USB=y
> +CONFIG_USB_XHCI_HCD=y
> diff --git a/configs/clearfog_emmcboot1_defconfig b/configs/clearfog_emmcboot1_defconfig
> new file mode 100644
> index 00000000000..59f88c64a2e
> --- /dev/null
> +++ b/configs/clearfog_emmcboot1_defconfig
> @@ -0,0 +1,82 @@
> +CONFIG_ARM=y
> +CONFIG_ARCH_CPU_INIT=y
> +CONFIG_SYS_THUMB_BUILD=y
> +CONFIG_ARCH_MVEBU=y
> +CONFIG_TEXT_BASE=0x00800000
> +CONFIG_SPL_LIBCOMMON_SUPPORT=y
> +CONFIG_SPL_LIBGENERIC_SUPPORT=y
> +CONFIG_NR_DRAM_BANKS=2
> +CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
> +CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xff0000
> +CONFIG_TARGET_CLEARFOG=y
> +CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC=y
> +CONFIG_DEFAULT_DEVICE_TREE="armada-388-clearfog"
> +CONFIG_SPL_TEXT_BASE=0x40000030
> +CONFIG_SPL_SERIAL=y
> +CONFIG_SPL_STACK=0x4002c000
> +CONFIG_SPL=y
> +CONFIG_DEBUG_UART_BASE=0xf1012000
> +CONFIG_DEBUG_UART_CLOCK=250000000
> +CONFIG_SYS_LOAD_ADDR=0x800000
> +CONFIG_PCI=y
> +CONFIG_DEBUG_UART=y
> +CONFIG_AHCI=y
> +CONFIG_DISTRO_DEFAULTS=y
> +CONFIG_BOOTDELAY=3
> +CONFIG_USE_PREBOOT=y
> +CONFIG_SYS_CONSOLE_INFO_QUIET=y
> +# CONFIG_DISPLAY_BOARDINFO is not set
> +CONFIG_DISPLAY_BOARDINFO_LATE=y
> +CONFIG_SPL_MAX_SIZE=0x22fd0
> +CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
> +CONFIG_SPL_BSS_START_ADDR=0x40023000
> +CONFIG_SPL_BSS_MAX_SIZE=0x4000
> +CONFIG_SPL_SYS_MALLOC_SIMPLE=y
> +# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
> +CONFIG_SPL_I2C=y
> +CONFIG_SYS_MAXARGS=32
> +CONFIG_CMD_TLV_EEPROM=y
> +CONFIG_SPL_CMD_TLV_EEPROM=y
> +# CONFIG_CMD_FLASH is not set
> +CONFIG_CMD_GPIO=y
> +CONFIG_CMD_I2C=y
> +CONFIG_CMD_MMC=y
> +CONFIG_CMD_PCI=y
> +CONFIG_CMD_SPI=y
> +CONFIG_CMD_USB=y
> +CONFIG_CMD_TFTPPUT=y
> +CONFIG_CMD_CACHE=y
> +CONFIG_CMD_TIME=y
> +CONFIG_ENV_OVERWRITE=y
> +CONFIG_ENV_MIN_ENTRIES=128
> +CONFIG_SYS_MMC_ENV_PART=2
> +CONFIG_ARP_TIMEOUT=200
> +CONFIG_NET_RETRY_COUNT=50
> +CONFIG_NET_RANDOM_ETHADDR=y
> +CONFIG_SPL_OF_TRANSLATE=y
> +CONFIG_AHCI_MVEBU=y
> +CONFIG_DM_PCA953X=y
> +CONFIG_DM_I2C=y
> +CONFIG_SYS_I2C_MVTWSI=y
> +CONFIG_I2C_EEPROM=y
> +CONFIG_SPL_I2C_EEPROM=y
> +CONFIG_MMC_SDHCI=y
> +CONFIG_MMC_SDHCI_SDMA=y
> +CONFIG_MMC_SDHCI_MV=y
> +CONFIG_MTD=y
> +CONFIG_SF_DEFAULT_BUS=1
> +CONFIG_SPI_FLASH_WINBOND=y
> +CONFIG_SPI_FLASH_MTD=y
> +CONFIG_PHY_MARVELL=y
> +CONFIG_PHY_GIGE=y
> +CONFIG_MVNETA=y
> +CONFIG_MII=y
> +CONFIG_MVMDIO=y
> +CONFIG_PCI_MVEBU=y
> +CONFIG_SCSI=y
> +CONFIG_SPL_DEBUG_UART_BASE=0xd0012000
> +CONFIG_DEBUG_UART_SHIFT=2
> +CONFIG_SYS_NS16550=y
> +CONFIG_KIRKWOOD_SPI=y
> +CONFIG_USB=y
> +CONFIG_USB_XHCI_HCD=y
> diff --git a/configs/clearfog_emmcdata_defconfig b/configs/clearfog_emmcdata_defconfig
> new file mode 100644
> index 00000000000..335b50e3c48
> --- /dev/null
> +++ b/configs/clearfog_emmcdata_defconfig
> @@ -0,0 +1,82 @@
> +CONFIG_ARM=y
> +CONFIG_ARCH_CPU_INIT=y
> +CONFIG_SYS_THUMB_BUILD=y
> +CONFIG_ARCH_MVEBU=y
> +CONFIG_TEXT_BASE=0x00800000
> +CONFIG_SPL_LIBCOMMON_SUPPORT=y
> +CONFIG_SPL_LIBGENERIC_SUPPORT=y
> +CONFIG_NR_DRAM_BANKS=2
> +CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
> +CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xff0000
> +CONFIG_TARGET_CLEARFOG=y
> +CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC=y
> +CONFIG_DEFAULT_DEVICE_TREE="armada-388-clearfog"
> +CONFIG_SPL_TEXT_BASE=0x40000030
> +CONFIG_SPL_SERIAL=y
> +CONFIG_SPL_STACK=0x4002c000
> +CONFIG_SPL=y
> +CONFIG_DEBUG_UART_BASE=0xf1012000
> +CONFIG_DEBUG_UART_CLOCK=250000000
> +CONFIG_SYS_LOAD_ADDR=0x800000
> +CONFIG_PCI=y
> +CONFIG_DEBUG_UART=y
> +CONFIG_AHCI=y
> +CONFIG_DISTRO_DEFAULTS=y
> +CONFIG_BOOTDELAY=3
> +CONFIG_USE_PREBOOT=y
> +CONFIG_SYS_CONSOLE_INFO_QUIET=y
> +# CONFIG_DISPLAY_BOARDINFO is not set
> +CONFIG_DISPLAY_BOARDINFO_LATE=y
> +CONFIG_SPL_MAX_SIZE=0x22fd0
> +CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
> +CONFIG_SPL_BSS_START_ADDR=0x40023000
> +CONFIG_SPL_BSS_MAX_SIZE=0x4000
> +CONFIG_SPL_SYS_MALLOC_SIMPLE=y
> +# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
> +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET=0x1000
> +CONFIG_SPL_I2C=y
> +CONFIG_SYS_MAXARGS=32
> +CONFIG_CMD_TLV_EEPROM=y
> +CONFIG_SPL_CMD_TLV_EEPROM=y
> +# CONFIG_CMD_FLASH is not set
> +CONFIG_CMD_GPIO=y
> +CONFIG_CMD_I2C=y
> +CONFIG_CMD_MMC=y
> +CONFIG_CMD_PCI=y
> +CONFIG_CMD_SPI=y
> +CONFIG_CMD_USB=y
> +CONFIG_CMD_TFTPPUT=y
> +CONFIG_CMD_CACHE=y
> +CONFIG_CMD_TIME=y
> +CONFIG_ENV_OVERWRITE=y
> +CONFIG_ENV_MIN_ENTRIES=128
> +CONFIG_ARP_TIMEOUT=200
> +CONFIG_NET_RETRY_COUNT=50
> +CONFIG_NET_RANDOM_ETHADDR=y
> +CONFIG_SPL_OF_TRANSLATE=y
> +CONFIG_AHCI_MVEBU=y
> +CONFIG_DM_PCA953X=y
> +CONFIG_DM_I2C=y
> +CONFIG_SYS_I2C_MVTWSI=y
> +CONFIG_I2C_EEPROM=y
> +CONFIG_SPL_I2C_EEPROM=y
> +CONFIG_MMC_SDHCI=y
> +CONFIG_MMC_SDHCI_SDMA=y
> +CONFIG_MMC_SDHCI_MV=y
> +CONFIG_MTD=y
> +CONFIG_SF_DEFAULT_BUS=1
> +CONFIG_SPI_FLASH_WINBOND=y
> +CONFIG_SPI_FLASH_MTD=y
> +CONFIG_PHY_MARVELL=y
> +CONFIG_PHY_GIGE=y
> +CONFIG_MVNETA=y
> +CONFIG_MII=y
> +CONFIG_MVMDIO=y
> +CONFIG_PCI_MVEBU=y
> +CONFIG_SCSI=y
> +CONFIG_SPL_DEBUG_UART_BASE=0xd0012000
> +CONFIG_DEBUG_UART_SHIFT=2
> +CONFIG_SYS_NS16550=y
> +CONFIG_KIRKWOOD_SPI=y
> +CONFIG_USB=y
> +CONFIG_USB_XHCI_HCD=y
Viele Grüße,
Stefan Roese
--
DENX Software Engineering GmbH, Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 3/3] arm: mvebu: clearfog: Add defconfigs for eMMC booting
2023-10-16 8:37 ` Stefan Roese
@ 2023-10-17 7:51 ` Josua Mayer
2023-10-17 12:35 ` Stefan Roese
0 siblings, 1 reply; 11+ messages in thread
From: Josua Mayer @ 2023-10-17 7:51 UTC (permalink / raw)
To: Stefan Roese, u-boot; +Cc: sjg, kabel
Hi Stefan,
Am 16.10.23 um 10:37 schrieb Stefan Roese:
> Hi Josua,
>
> On 10/8/23 14:46, Josua Mayer wrote:
>> Armada 388 can boot from either eMMC data, boot0 or boot1 partitions.
>>
>> data partition requires booting from LBA-4096 to avoid conflict with
>> MBR. When booting from boot0/boot1 environment should be stored there
>> respectively, too.
>>
>> Add 3 new defconfigs, for each eMMC partition:
>> - clearfog_emmcboot0_defconfig
>> - clearfog_emmcboot1_defconfig
>> - clearfog_emmcdata_defconfig
>
> Do we really need new, separate defconfig files for those very similar
> configurations? Or is there a way to detect this at runtime
I do not know, Pali Rohár might know.
We can skip patch 3 until some research has been done.
> or if not
> possible to include a common defconfig file?
So, if the boot partition used to load u-boot by the boot-rom can be
detected at runtime,
the specialisation of boot0/boot1 configs could be dropped.
That would still leave special case of u-boot offset on eMMC,
which is different between boot and data partitions, and also different
to SD configuration.
IMO it could be unified by using LBA-4096 as the general default, for
every place.
But that changes everyones default, and there is no good way to update
an existing system
(see overlap with MBR partitions).
>
> Just checking...
>
> Thanks,
> Stefan
br
Josua
>
>> Signed-off-by: Josua Mayer <josua@solid-run.com>
>> ---
>> configs/clearfog_emmcboot0_defconfig | 82 ++++++++++++++++++++++++++++
>> configs/clearfog_emmcboot1_defconfig | 82 ++++++++++++++++++++++++++++
>> configs/clearfog_emmcdata_defconfig | 82 ++++++++++++++++++++++++++++
>> 3 files changed, 246 insertions(+)
>> create mode 100644 configs/clearfog_emmcboot0_defconfig
>> create mode 100644 configs/clearfog_emmcboot1_defconfig
>> create mode 100644 configs/clearfog_emmcdata_defconfig
>>
>> diff --git a/configs/clearfog_emmcboot0_defconfig
>> b/configs/clearfog_emmcboot0_defconfig
>> new file mode 100644
>> index 00000000000..215b7708a0d
>> --- /dev/null
>> +++ b/configs/clearfog_emmcboot0_defconfig
>> @@ -0,0 +1,82 @@
>> +CONFIG_ARM=y
>> +CONFIG_ARCH_CPU_INIT=y
>> +CONFIG_SYS_THUMB_BUILD=y
>> +CONFIG_ARCH_MVEBU=y
>> +CONFIG_TEXT_BASE=0x00800000
>> +CONFIG_SPL_LIBCOMMON_SUPPORT=y
>> +CONFIG_SPL_LIBGENERIC_SUPPORT=y
>> +CONFIG_NR_DRAM_BANKS=2
>> +CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
>> +CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xff0000
>> +CONFIG_TARGET_CLEARFOG=y
>> +CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC=y
>> +CONFIG_DEFAULT_DEVICE_TREE="armada-388-clearfog"
>> +CONFIG_SPL_TEXT_BASE=0x40000030
>> +CONFIG_SPL_SERIAL=y
>> +CONFIG_SPL_STACK=0x4002c000
>> +CONFIG_SPL=y
>> +CONFIG_DEBUG_UART_BASE=0xf1012000
>> +CONFIG_DEBUG_UART_CLOCK=250000000
>> +CONFIG_SYS_LOAD_ADDR=0x800000
>> +CONFIG_PCI=y
>> +CONFIG_DEBUG_UART=y
>> +CONFIG_AHCI=y
>> +CONFIG_DISTRO_DEFAULTS=y
>> +CONFIG_BOOTDELAY=3
>> +CONFIG_USE_PREBOOT=y
>> +CONFIG_SYS_CONSOLE_INFO_QUIET=y
>> +# CONFIG_DISPLAY_BOARDINFO is not set
>> +CONFIG_DISPLAY_BOARDINFO_LATE=y
>> +CONFIG_SPL_MAX_SIZE=0x22fd0
>> +CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
>> +CONFIG_SPL_BSS_START_ADDR=0x40023000
>> +CONFIG_SPL_BSS_MAX_SIZE=0x4000
>> +CONFIG_SPL_SYS_MALLOC_SIMPLE=y
>> +# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
>> +CONFIG_SPL_I2C=y
>> +CONFIG_SYS_MAXARGS=32
>> +CONFIG_CMD_TLV_EEPROM=y
>> +CONFIG_SPL_CMD_TLV_EEPROM=y
>> +# CONFIG_CMD_FLASH is not set
>> +CONFIG_CMD_GPIO=y
>> +CONFIG_CMD_I2C=y
>> +CONFIG_CMD_MMC=y
>> +CONFIG_CMD_PCI=y
>> +CONFIG_CMD_SPI=y
>> +CONFIG_CMD_USB=y
>> +CONFIG_CMD_TFTPPUT=y
>> +CONFIG_CMD_CACHE=y
>> +CONFIG_CMD_TIME=y
>> +CONFIG_ENV_OVERWRITE=y
>> +CONFIG_ENV_MIN_ENTRIES=128
>> +CONFIG_SYS_MMC_ENV_PART=1
>> +CONFIG_ARP_TIMEOUT=200
>> +CONFIG_NET_RETRY_COUNT=50
>> +CONFIG_NET_RANDOM_ETHADDR=y
>> +CONFIG_SPL_OF_TRANSLATE=y
>> +CONFIG_AHCI_MVEBU=y
>> +CONFIG_DM_PCA953X=y
>> +CONFIG_DM_I2C=y
>> +CONFIG_SYS_I2C_MVTWSI=y
>> +CONFIG_I2C_EEPROM=y
>> +CONFIG_SPL_I2C_EEPROM=y
>> +CONFIG_MMC_SDHCI=y
>> +CONFIG_MMC_SDHCI_SDMA=y
>> +CONFIG_MMC_SDHCI_MV=y
>> +CONFIG_MTD=y
>> +CONFIG_SF_DEFAULT_BUS=1
>> +CONFIG_SPI_FLASH_WINBOND=y
>> +CONFIG_SPI_FLASH_MTD=y
>> +CONFIG_PHY_MARVELL=y
>> +CONFIG_PHY_GIGE=y
>> +CONFIG_MVNETA=y
>> +CONFIG_MII=y
>> +CONFIG_MVMDIO=y
>> +CONFIG_PCI_MVEBU=y
>> +CONFIG_SCSI=y
>> +CONFIG_SPL_DEBUG_UART_BASE=0xd0012000
>> +CONFIG_DEBUG_UART_SHIFT=2
>> +CONFIG_SYS_NS16550=y
>> +CONFIG_KIRKWOOD_SPI=y
>> +CONFIG_USB=y
>> +CONFIG_USB_XHCI_HCD=y
>> diff --git a/configs/clearfog_emmcboot1_defconfig
>> b/configs/clearfog_emmcboot1_defconfig
>> new file mode 100644
>> index 00000000000..59f88c64a2e
>> --- /dev/null
>> +++ b/configs/clearfog_emmcboot1_defconfig
>> @@ -0,0 +1,82 @@
>> +CONFIG_ARM=y
>> +CONFIG_ARCH_CPU_INIT=y
>> +CONFIG_SYS_THUMB_BUILD=y
>> +CONFIG_ARCH_MVEBU=y
>> +CONFIG_TEXT_BASE=0x00800000
>> +CONFIG_SPL_LIBCOMMON_SUPPORT=y
>> +CONFIG_SPL_LIBGENERIC_SUPPORT=y
>> +CONFIG_NR_DRAM_BANKS=2
>> +CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
>> +CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xff0000
>> +CONFIG_TARGET_CLEARFOG=y
>> +CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC=y
>> +CONFIG_DEFAULT_DEVICE_TREE="armada-388-clearfog"
>> +CONFIG_SPL_TEXT_BASE=0x40000030
>> +CONFIG_SPL_SERIAL=y
>> +CONFIG_SPL_STACK=0x4002c000
>> +CONFIG_SPL=y
>> +CONFIG_DEBUG_UART_BASE=0xf1012000
>> +CONFIG_DEBUG_UART_CLOCK=250000000
>> +CONFIG_SYS_LOAD_ADDR=0x800000
>> +CONFIG_PCI=y
>> +CONFIG_DEBUG_UART=y
>> +CONFIG_AHCI=y
>> +CONFIG_DISTRO_DEFAULTS=y
>> +CONFIG_BOOTDELAY=3
>> +CONFIG_USE_PREBOOT=y
>> +CONFIG_SYS_CONSOLE_INFO_QUIET=y
>> +# CONFIG_DISPLAY_BOARDINFO is not set
>> +CONFIG_DISPLAY_BOARDINFO_LATE=y
>> +CONFIG_SPL_MAX_SIZE=0x22fd0
>> +CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
>> +CONFIG_SPL_BSS_START_ADDR=0x40023000
>> +CONFIG_SPL_BSS_MAX_SIZE=0x4000
>> +CONFIG_SPL_SYS_MALLOC_SIMPLE=y
>> +# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
>> +CONFIG_SPL_I2C=y
>> +CONFIG_SYS_MAXARGS=32
>> +CONFIG_CMD_TLV_EEPROM=y
>> +CONFIG_SPL_CMD_TLV_EEPROM=y
>> +# CONFIG_CMD_FLASH is not set
>> +CONFIG_CMD_GPIO=y
>> +CONFIG_CMD_I2C=y
>> +CONFIG_CMD_MMC=y
>> +CONFIG_CMD_PCI=y
>> +CONFIG_CMD_SPI=y
>> +CONFIG_CMD_USB=y
>> +CONFIG_CMD_TFTPPUT=y
>> +CONFIG_CMD_CACHE=y
>> +CONFIG_CMD_TIME=y
>> +CONFIG_ENV_OVERWRITE=y
>> +CONFIG_ENV_MIN_ENTRIES=128
>> +CONFIG_SYS_MMC_ENV_PART=2
>> +CONFIG_ARP_TIMEOUT=200
>> +CONFIG_NET_RETRY_COUNT=50
>> +CONFIG_NET_RANDOM_ETHADDR=y
>> +CONFIG_SPL_OF_TRANSLATE=y
>> +CONFIG_AHCI_MVEBU=y
>> +CONFIG_DM_PCA953X=y
>> +CONFIG_DM_I2C=y
>> +CONFIG_SYS_I2C_MVTWSI=y
>> +CONFIG_I2C_EEPROM=y
>> +CONFIG_SPL_I2C_EEPROM=y
>> +CONFIG_MMC_SDHCI=y
>> +CONFIG_MMC_SDHCI_SDMA=y
>> +CONFIG_MMC_SDHCI_MV=y
>> +CONFIG_MTD=y
>> +CONFIG_SF_DEFAULT_BUS=1
>> +CONFIG_SPI_FLASH_WINBOND=y
>> +CONFIG_SPI_FLASH_MTD=y
>> +CONFIG_PHY_MARVELL=y
>> +CONFIG_PHY_GIGE=y
>> +CONFIG_MVNETA=y
>> +CONFIG_MII=y
>> +CONFIG_MVMDIO=y
>> +CONFIG_PCI_MVEBU=y
>> +CONFIG_SCSI=y
>> +CONFIG_SPL_DEBUG_UART_BASE=0xd0012000
>> +CONFIG_DEBUG_UART_SHIFT=2
>> +CONFIG_SYS_NS16550=y
>> +CONFIG_KIRKWOOD_SPI=y
>> +CONFIG_USB=y
>> +CONFIG_USB_XHCI_HCD=y
>> diff --git a/configs/clearfog_emmcdata_defconfig
>> b/configs/clearfog_emmcdata_defconfig
>> new file mode 100644
>> index 00000000000..335b50e3c48
>> --- /dev/null
>> +++ b/configs/clearfog_emmcdata_defconfig
>> @@ -0,0 +1,82 @@
>> +CONFIG_ARM=y
>> +CONFIG_ARCH_CPU_INIT=y
>> +CONFIG_SYS_THUMB_BUILD=y
>> +CONFIG_ARCH_MVEBU=y
>> +CONFIG_TEXT_BASE=0x00800000
>> +CONFIG_SPL_LIBCOMMON_SUPPORT=y
>> +CONFIG_SPL_LIBGENERIC_SUPPORT=y
>> +CONFIG_NR_DRAM_BANKS=2
>> +CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
>> +CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xff0000
>> +CONFIG_TARGET_CLEARFOG=y
>> +CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC=y
>> +CONFIG_DEFAULT_DEVICE_TREE="armada-388-clearfog"
>> +CONFIG_SPL_TEXT_BASE=0x40000030
>> +CONFIG_SPL_SERIAL=y
>> +CONFIG_SPL_STACK=0x4002c000
>> +CONFIG_SPL=y
>> +CONFIG_DEBUG_UART_BASE=0xf1012000
>> +CONFIG_DEBUG_UART_CLOCK=250000000
>> +CONFIG_SYS_LOAD_ADDR=0x800000
>> +CONFIG_PCI=y
>> +CONFIG_DEBUG_UART=y
>> +CONFIG_AHCI=y
>> +CONFIG_DISTRO_DEFAULTS=y
>> +CONFIG_BOOTDELAY=3
>> +CONFIG_USE_PREBOOT=y
>> +CONFIG_SYS_CONSOLE_INFO_QUIET=y
>> +# CONFIG_DISPLAY_BOARDINFO is not set
>> +CONFIG_DISPLAY_BOARDINFO_LATE=y
>> +CONFIG_SPL_MAX_SIZE=0x22fd0
>> +CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
>> +CONFIG_SPL_BSS_START_ADDR=0x40023000
>> +CONFIG_SPL_BSS_MAX_SIZE=0x4000
>> +CONFIG_SPL_SYS_MALLOC_SIMPLE=y
>> +# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
>> +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET=0x1000
>> +CONFIG_SPL_I2C=y
>> +CONFIG_SYS_MAXARGS=32
>> +CONFIG_CMD_TLV_EEPROM=y
>> +CONFIG_SPL_CMD_TLV_EEPROM=y
>> +# CONFIG_CMD_FLASH is not set
>> +CONFIG_CMD_GPIO=y
>> +CONFIG_CMD_I2C=y
>> +CONFIG_CMD_MMC=y
>> +CONFIG_CMD_PCI=y
>> +CONFIG_CMD_SPI=y
>> +CONFIG_CMD_USB=y
>> +CONFIG_CMD_TFTPPUT=y
>> +CONFIG_CMD_CACHE=y
>> +CONFIG_CMD_TIME=y
>> +CONFIG_ENV_OVERWRITE=y
>> +CONFIG_ENV_MIN_ENTRIES=128
>> +CONFIG_ARP_TIMEOUT=200
>> +CONFIG_NET_RETRY_COUNT=50
>> +CONFIG_NET_RANDOM_ETHADDR=y
>> +CONFIG_SPL_OF_TRANSLATE=y
>> +CONFIG_AHCI_MVEBU=y
>> +CONFIG_DM_PCA953X=y
>> +CONFIG_DM_I2C=y
>> +CONFIG_SYS_I2C_MVTWSI=y
>> +CONFIG_I2C_EEPROM=y
>> +CONFIG_SPL_I2C_EEPROM=y
>> +CONFIG_MMC_SDHCI=y
>> +CONFIG_MMC_SDHCI_SDMA=y
>> +CONFIG_MMC_SDHCI_MV=y
>> +CONFIG_MTD=y
>> +CONFIG_SF_DEFAULT_BUS=1
>> +CONFIG_SPI_FLASH_WINBOND=y
>> +CONFIG_SPI_FLASH_MTD=y
>> +CONFIG_PHY_MARVELL=y
>> +CONFIG_PHY_GIGE=y
>> +CONFIG_MVNETA=y
>> +CONFIG_MII=y
>> +CONFIG_MVMDIO=y
>> +CONFIG_PCI_MVEBU=y
>> +CONFIG_SCSI=y
>> +CONFIG_SPL_DEBUG_UART_BASE=0xd0012000
>> +CONFIG_DEBUG_UART_SHIFT=2
>> +CONFIG_SYS_NS16550=y
>> +CONFIG_KIRKWOOD_SPI=y
>> +CONFIG_USB=y
>> +CONFIG_USB_XHCI_HCD=y
>
> Viele Grüße,
> Stefan Roese
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 3/3] arm: mvebu: clearfog: Add defconfigs for eMMC booting
2023-10-17 7:51 ` Josua Mayer
@ 2023-10-17 12:35 ` Stefan Roese
0 siblings, 0 replies; 11+ messages in thread
From: Stefan Roese @ 2023-10-17 12:35 UTC (permalink / raw)
To: Josua Mayer, u-boot; +Cc: sjg, kabel
Hi Josua,
On 10/17/23 09:51, Josua Mayer wrote:
> Hi Stefan,
>
> Am 16.10.23 um 10:37 schrieb Stefan Roese:
>> Hi Josua,
>>
>> On 10/8/23 14:46, Josua Mayer wrote:
>>> Armada 388 can boot from either eMMC data, boot0 or boot1 partitions.
>>>
>>> data partition requires booting from LBA-4096 to avoid conflict with
>>> MBR. When booting from boot0/boot1 environment should be stored there
>>> respectively, too.
>>>
>>> Add 3 new defconfigs, for each eMMC partition:
>>> - clearfog_emmcboot0_defconfig
>>> - clearfog_emmcboot1_defconfig
>>> - clearfog_emmcdata_defconfig
>>
>> Do we really need new, separate defconfig files for those very similar
>> configurations? Or is there a way to detect this at runtime
> I do not know, Pali Rohár might know.
Pali is unfortunately not participating in U-Boot development any more.
> We can skip patch 3 until some research has been done.
Ok. Let's use this option for now.
>> or if not
>> possible to include a common defconfig file?
> So, if the boot partition used to load u-boot by the boot-rom can be
> detected at runtime,
> the specialisation of boot0/boot1 configs could be dropped.
> That would still leave special case of u-boot offset on eMMC,
> which is different between boot and data partitions, and also different
> to SD configuration.
>
> IMO it could be unified by using LBA-4096 as the general default, for
> every place.
> But that changes everyones default, and there is no good way to update
> an existing system
> (see overlap with MBR partitions).
Agreed. This is not a good "solution".
Could you please double-check that the first 2 patches apply clean on
latest master and if not, please send a v2.
Thanks,
Stefan
>>
>> Just checking...
>>
>> Thanks,
>> Stefan
> br
> Josua
>>
>>> Signed-off-by: Josua Mayer <josua@solid-run.com>
>>> ---
>>> configs/clearfog_emmcboot0_defconfig | 82 ++++++++++++++++++++++++++++
>>> configs/clearfog_emmcboot1_defconfig | 82 ++++++++++++++++++++++++++++
>>> configs/clearfog_emmcdata_defconfig | 82 ++++++++++++++++++++++++++++
>>> 3 files changed, 246 insertions(+)
>>> create mode 100644 configs/clearfog_emmcboot0_defconfig
>>> create mode 100644 configs/clearfog_emmcboot1_defconfig
>>> create mode 100644 configs/clearfog_emmcdata_defconfig
>>>
>>> diff --git a/configs/clearfog_emmcboot0_defconfig
>>> b/configs/clearfog_emmcboot0_defconfig
>>> new file mode 100644
>>> index 00000000000..215b7708a0d
>>> --- /dev/null
>>> +++ b/configs/clearfog_emmcboot0_defconfig
>>> @@ -0,0 +1,82 @@
>>> +CONFIG_ARM=y
>>> +CONFIG_ARCH_CPU_INIT=y
>>> +CONFIG_SYS_THUMB_BUILD=y
>>> +CONFIG_ARCH_MVEBU=y
>>> +CONFIG_TEXT_BASE=0x00800000
>>> +CONFIG_SPL_LIBCOMMON_SUPPORT=y
>>> +CONFIG_SPL_LIBGENERIC_SUPPORT=y
>>> +CONFIG_NR_DRAM_BANKS=2
>>> +CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
>>> +CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xff0000
>>> +CONFIG_TARGET_CLEARFOG=y
>>> +CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC=y
>>> +CONFIG_DEFAULT_DEVICE_TREE="armada-388-clearfog"
>>> +CONFIG_SPL_TEXT_BASE=0x40000030
>>> +CONFIG_SPL_SERIAL=y
>>> +CONFIG_SPL_STACK=0x4002c000
>>> +CONFIG_SPL=y
>>> +CONFIG_DEBUG_UART_BASE=0xf1012000
>>> +CONFIG_DEBUG_UART_CLOCK=250000000
>>> +CONFIG_SYS_LOAD_ADDR=0x800000
>>> +CONFIG_PCI=y
>>> +CONFIG_DEBUG_UART=y
>>> +CONFIG_AHCI=y
>>> +CONFIG_DISTRO_DEFAULTS=y
>>> +CONFIG_BOOTDELAY=3
>>> +CONFIG_USE_PREBOOT=y
>>> +CONFIG_SYS_CONSOLE_INFO_QUIET=y
>>> +# CONFIG_DISPLAY_BOARDINFO is not set
>>> +CONFIG_DISPLAY_BOARDINFO_LATE=y
>>> +CONFIG_SPL_MAX_SIZE=0x22fd0
>>> +CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
>>> +CONFIG_SPL_BSS_START_ADDR=0x40023000
>>> +CONFIG_SPL_BSS_MAX_SIZE=0x4000
>>> +CONFIG_SPL_SYS_MALLOC_SIMPLE=y
>>> +# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
>>> +CONFIG_SPL_I2C=y
>>> +CONFIG_SYS_MAXARGS=32
>>> +CONFIG_CMD_TLV_EEPROM=y
>>> +CONFIG_SPL_CMD_TLV_EEPROM=y
>>> +# CONFIG_CMD_FLASH is not set
>>> +CONFIG_CMD_GPIO=y
>>> +CONFIG_CMD_I2C=y
>>> +CONFIG_CMD_MMC=y
>>> +CONFIG_CMD_PCI=y
>>> +CONFIG_CMD_SPI=y
>>> +CONFIG_CMD_USB=y
>>> +CONFIG_CMD_TFTPPUT=y
>>> +CONFIG_CMD_CACHE=y
>>> +CONFIG_CMD_TIME=y
>>> +CONFIG_ENV_OVERWRITE=y
>>> +CONFIG_ENV_MIN_ENTRIES=128
>>> +CONFIG_SYS_MMC_ENV_PART=1
>>> +CONFIG_ARP_TIMEOUT=200
>>> +CONFIG_NET_RETRY_COUNT=50
>>> +CONFIG_NET_RANDOM_ETHADDR=y
>>> +CONFIG_SPL_OF_TRANSLATE=y
>>> +CONFIG_AHCI_MVEBU=y
>>> +CONFIG_DM_PCA953X=y
>>> +CONFIG_DM_I2C=y
>>> +CONFIG_SYS_I2C_MVTWSI=y
>>> +CONFIG_I2C_EEPROM=y
>>> +CONFIG_SPL_I2C_EEPROM=y
>>> +CONFIG_MMC_SDHCI=y
>>> +CONFIG_MMC_SDHCI_SDMA=y
>>> +CONFIG_MMC_SDHCI_MV=y
>>> +CONFIG_MTD=y
>>> +CONFIG_SF_DEFAULT_BUS=1
>>> +CONFIG_SPI_FLASH_WINBOND=y
>>> +CONFIG_SPI_FLASH_MTD=y
>>> +CONFIG_PHY_MARVELL=y
>>> +CONFIG_PHY_GIGE=y
>>> +CONFIG_MVNETA=y
>>> +CONFIG_MII=y
>>> +CONFIG_MVMDIO=y
>>> +CONFIG_PCI_MVEBU=y
>>> +CONFIG_SCSI=y
>>> +CONFIG_SPL_DEBUG_UART_BASE=0xd0012000
>>> +CONFIG_DEBUG_UART_SHIFT=2
>>> +CONFIG_SYS_NS16550=y
>>> +CONFIG_KIRKWOOD_SPI=y
>>> +CONFIG_USB=y
>>> +CONFIG_USB_XHCI_HCD=y
>>> diff --git a/configs/clearfog_emmcboot1_defconfig
>>> b/configs/clearfog_emmcboot1_defconfig
>>> new file mode 100644
>>> index 00000000000..59f88c64a2e
>>> --- /dev/null
>>> +++ b/configs/clearfog_emmcboot1_defconfig
>>> @@ -0,0 +1,82 @@
>>> +CONFIG_ARM=y
>>> +CONFIG_ARCH_CPU_INIT=y
>>> +CONFIG_SYS_THUMB_BUILD=y
>>> +CONFIG_ARCH_MVEBU=y
>>> +CONFIG_TEXT_BASE=0x00800000
>>> +CONFIG_SPL_LIBCOMMON_SUPPORT=y
>>> +CONFIG_SPL_LIBGENERIC_SUPPORT=y
>>> +CONFIG_NR_DRAM_BANKS=2
>>> +CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
>>> +CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xff0000
>>> +CONFIG_TARGET_CLEARFOG=y
>>> +CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC=y
>>> +CONFIG_DEFAULT_DEVICE_TREE="armada-388-clearfog"
>>> +CONFIG_SPL_TEXT_BASE=0x40000030
>>> +CONFIG_SPL_SERIAL=y
>>> +CONFIG_SPL_STACK=0x4002c000
>>> +CONFIG_SPL=y
>>> +CONFIG_DEBUG_UART_BASE=0xf1012000
>>> +CONFIG_DEBUG_UART_CLOCK=250000000
>>> +CONFIG_SYS_LOAD_ADDR=0x800000
>>> +CONFIG_PCI=y
>>> +CONFIG_DEBUG_UART=y
>>> +CONFIG_AHCI=y
>>> +CONFIG_DISTRO_DEFAULTS=y
>>> +CONFIG_BOOTDELAY=3
>>> +CONFIG_USE_PREBOOT=y
>>> +CONFIG_SYS_CONSOLE_INFO_QUIET=y
>>> +# CONFIG_DISPLAY_BOARDINFO is not set
>>> +CONFIG_DISPLAY_BOARDINFO_LATE=y
>>> +CONFIG_SPL_MAX_SIZE=0x22fd0
>>> +CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
>>> +CONFIG_SPL_BSS_START_ADDR=0x40023000
>>> +CONFIG_SPL_BSS_MAX_SIZE=0x4000
>>> +CONFIG_SPL_SYS_MALLOC_SIMPLE=y
>>> +# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
>>> +CONFIG_SPL_I2C=y
>>> +CONFIG_SYS_MAXARGS=32
>>> +CONFIG_CMD_TLV_EEPROM=y
>>> +CONFIG_SPL_CMD_TLV_EEPROM=y
>>> +# CONFIG_CMD_FLASH is not set
>>> +CONFIG_CMD_GPIO=y
>>> +CONFIG_CMD_I2C=y
>>> +CONFIG_CMD_MMC=y
>>> +CONFIG_CMD_PCI=y
>>> +CONFIG_CMD_SPI=y
>>> +CONFIG_CMD_USB=y
>>> +CONFIG_CMD_TFTPPUT=y
>>> +CONFIG_CMD_CACHE=y
>>> +CONFIG_CMD_TIME=y
>>> +CONFIG_ENV_OVERWRITE=y
>>> +CONFIG_ENV_MIN_ENTRIES=128
>>> +CONFIG_SYS_MMC_ENV_PART=2
>>> +CONFIG_ARP_TIMEOUT=200
>>> +CONFIG_NET_RETRY_COUNT=50
>>> +CONFIG_NET_RANDOM_ETHADDR=y
>>> +CONFIG_SPL_OF_TRANSLATE=y
>>> +CONFIG_AHCI_MVEBU=y
>>> +CONFIG_DM_PCA953X=y
>>> +CONFIG_DM_I2C=y
>>> +CONFIG_SYS_I2C_MVTWSI=y
>>> +CONFIG_I2C_EEPROM=y
>>> +CONFIG_SPL_I2C_EEPROM=y
>>> +CONFIG_MMC_SDHCI=y
>>> +CONFIG_MMC_SDHCI_SDMA=y
>>> +CONFIG_MMC_SDHCI_MV=y
>>> +CONFIG_MTD=y
>>> +CONFIG_SF_DEFAULT_BUS=1
>>> +CONFIG_SPI_FLASH_WINBOND=y
>>> +CONFIG_SPI_FLASH_MTD=y
>>> +CONFIG_PHY_MARVELL=y
>>> +CONFIG_PHY_GIGE=y
>>> +CONFIG_MVNETA=y
>>> +CONFIG_MII=y
>>> +CONFIG_MVMDIO=y
>>> +CONFIG_PCI_MVEBU=y
>>> +CONFIG_SCSI=y
>>> +CONFIG_SPL_DEBUG_UART_BASE=0xd0012000
>>> +CONFIG_DEBUG_UART_SHIFT=2
>>> +CONFIG_SYS_NS16550=y
>>> +CONFIG_KIRKWOOD_SPI=y
>>> +CONFIG_USB=y
>>> +CONFIG_USB_XHCI_HCD=y
>>> diff --git a/configs/clearfog_emmcdata_defconfig
>>> b/configs/clearfog_emmcdata_defconfig
>>> new file mode 100644
>>> index 00000000000..335b50e3c48
>>> --- /dev/null
>>> +++ b/configs/clearfog_emmcdata_defconfig
>>> @@ -0,0 +1,82 @@
>>> +CONFIG_ARM=y
>>> +CONFIG_ARCH_CPU_INIT=y
>>> +CONFIG_SYS_THUMB_BUILD=y
>>> +CONFIG_ARCH_MVEBU=y
>>> +CONFIG_TEXT_BASE=0x00800000
>>> +CONFIG_SPL_LIBCOMMON_SUPPORT=y
>>> +CONFIG_SPL_LIBGENERIC_SUPPORT=y
>>> +CONFIG_NR_DRAM_BANKS=2
>>> +CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
>>> +CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xff0000
>>> +CONFIG_TARGET_CLEARFOG=y
>>> +CONFIG_MVEBU_SPL_BOOT_DEVICE_MMC=y
>>> +CONFIG_DEFAULT_DEVICE_TREE="armada-388-clearfog"
>>> +CONFIG_SPL_TEXT_BASE=0x40000030
>>> +CONFIG_SPL_SERIAL=y
>>> +CONFIG_SPL_STACK=0x4002c000
>>> +CONFIG_SPL=y
>>> +CONFIG_DEBUG_UART_BASE=0xf1012000
>>> +CONFIG_DEBUG_UART_CLOCK=250000000
>>> +CONFIG_SYS_LOAD_ADDR=0x800000
>>> +CONFIG_PCI=y
>>> +CONFIG_DEBUG_UART=y
>>> +CONFIG_AHCI=y
>>> +CONFIG_DISTRO_DEFAULTS=y
>>> +CONFIG_BOOTDELAY=3
>>> +CONFIG_USE_PREBOOT=y
>>> +CONFIG_SYS_CONSOLE_INFO_QUIET=y
>>> +# CONFIG_DISPLAY_BOARDINFO is not set
>>> +CONFIG_DISPLAY_BOARDINFO_LATE=y
>>> +CONFIG_SPL_MAX_SIZE=0x22fd0
>>> +CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
>>> +CONFIG_SPL_BSS_START_ADDR=0x40023000
>>> +CONFIG_SPL_BSS_MAX_SIZE=0x4000
>>> +CONFIG_SPL_SYS_MALLOC_SIMPLE=y
>>> +# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
>>> +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET=0x1000
>>> +CONFIG_SPL_I2C=y
>>> +CONFIG_SYS_MAXARGS=32
>>> +CONFIG_CMD_TLV_EEPROM=y
>>> +CONFIG_SPL_CMD_TLV_EEPROM=y
>>> +# CONFIG_CMD_FLASH is not set
>>> +CONFIG_CMD_GPIO=y
>>> +CONFIG_CMD_I2C=y
>>> +CONFIG_CMD_MMC=y
>>> +CONFIG_CMD_PCI=y
>>> +CONFIG_CMD_SPI=y
>>> +CONFIG_CMD_USB=y
>>> +CONFIG_CMD_TFTPPUT=y
>>> +CONFIG_CMD_CACHE=y
>>> +CONFIG_CMD_TIME=y
>>> +CONFIG_ENV_OVERWRITE=y
>>> +CONFIG_ENV_MIN_ENTRIES=128
>>> +CONFIG_ARP_TIMEOUT=200
>>> +CONFIG_NET_RETRY_COUNT=50
>>> +CONFIG_NET_RANDOM_ETHADDR=y
>>> +CONFIG_SPL_OF_TRANSLATE=y
>>> +CONFIG_AHCI_MVEBU=y
>>> +CONFIG_DM_PCA953X=y
>>> +CONFIG_DM_I2C=y
>>> +CONFIG_SYS_I2C_MVTWSI=y
>>> +CONFIG_I2C_EEPROM=y
>>> +CONFIG_SPL_I2C_EEPROM=y
>>> +CONFIG_MMC_SDHCI=y
>>> +CONFIG_MMC_SDHCI_SDMA=y
>>> +CONFIG_MMC_SDHCI_MV=y
>>> +CONFIG_MTD=y
>>> +CONFIG_SF_DEFAULT_BUS=1
>>> +CONFIG_SPI_FLASH_WINBOND=y
>>> +CONFIG_SPI_FLASH_MTD=y
>>> +CONFIG_PHY_MARVELL=y
>>> +CONFIG_PHY_GIGE=y
>>> +CONFIG_MVNETA=y
>>> +CONFIG_MII=y
>>> +CONFIG_MVMDIO=y
>>> +CONFIG_PCI_MVEBU=y
>>> +CONFIG_SCSI=y
>>> +CONFIG_SPL_DEBUG_UART_BASE=0xd0012000
>>> +CONFIG_DEBUG_UART_SHIFT=2
>>> +CONFIG_SYS_NS16550=y
>>> +CONFIG_KIRKWOOD_SPI=y
>>> +CONFIG_USB=y
>>> +CONFIG_USB_XHCI_HCD=y
>>
>> Viele Grüße,
>> Stefan Roese
>>
Viele Grüße,
Stefan Roese
--
DENX Software Engineering GmbH, Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/3] cmd: mvebu/bubt: move eMMC data-partition uboot from LBA-0 to 4096
2023-10-08 12:46 ` [PATCH 2/3] cmd: mvebu/bubt: move eMMC data-partition uboot from LBA-0 to 4096 Josua Mayer
2023-10-16 8:35 ` Stefan Roese
@ 2023-10-20 9:30 ` Stefan Roese
2023-10-25 7:59 ` Josua Mayer
1 sibling, 1 reply; 11+ messages in thread
From: Stefan Roese @ 2023-10-20 9:30 UTC (permalink / raw)
To: Josua Mayer, u-boot; +Cc: sjg, kabel
On 10/8/23 14:46, Josua Mayer wrote:
> A38x bootrom only searches 2 sectors when booting from eMMC,
> irregardless of data or boot partition: 0 & 4096.
>
> For eMMC boot partitions sector 0 is fine, but on data partition it
> conflicts with MBR.
>
> Change bubt command default to 4096 for eMMC data partition only, to
> allow using an MBR partition table on the eMMC data partition while also
> booting from it.
>
> Signed-off-by: Josua Mayer <josua@solid-run.com>
> ---
> cmd/mvebu/bubt.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/cmd/mvebu/bubt.c b/cmd/mvebu/bubt.c
> index ca24a5c1c4b..eb1fef9243d 100644
> --- a/cmd/mvebu/bubt.c
> +++ b/cmd/mvebu/bubt.c
> @@ -240,9 +240,14 @@ static int mmc_burn_image(size_t image_size)
> #endif
>
> /* SD reserves LBA-0 for MBR and boots from LBA-1,
> - * MMC/eMMC boots from LBA-0
> + * MMC/eMMC boots from LBA-0 and LBA-4096
> */
> - start_lba = IS_SD(mmc) ? 1 : 0;
> + if (IS_SD(mmc))
> + start_lba = 1;
> + else if (!part)
> + start_lba = 4096;
> + else
> + start_lba = 0;
> #ifdef CONFIG_BLK
> blk_count = image_size / mmc->write_bl_len;
> if (image_size % mmc->write_bl_len)
This patch leads to this error, e.g. for turris_mox_defconfig:
cmd/mvebu/bubt.c: In function 'mmc_burn_image':
cmd/mvebu/bubt.c:247:19: error: 'part' undeclared (first use in this
function)
247 | else if (!part)
| ^~~~
cmd/mvebu/bubt.c:247:19: note: each undeclared identifier is reported
only once for each function it appears in
Could you please check and fix?
Thanks,
Stefan
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/3] cmd: mvebu/bubt: move eMMC data-partition uboot from LBA-0 to 4096
2023-10-20 9:30 ` Stefan Roese
@ 2023-10-25 7:59 ` Josua Mayer
0 siblings, 0 replies; 11+ messages in thread
From: Josua Mayer @ 2023-10-25 7:59 UTC (permalink / raw)
To: Stefan Roese, u-boot; +Cc: sjg, kabel
Hi Stefan,
Am 20.10.23 um 11:30 schrieb Stefan Roese:
> On 10/8/23 14:46, Josua Mayer wrote:
>> + else if (!part)
>> + start_lba = 4096;
>
> This patch leads to this error, e.g. for turris_mox_defconfig:
>
> cmd/mvebu/bubt.c: In function 'mmc_burn_image':
> cmd/mvebu/bubt.c:247:19: error: 'part' undeclared (first use in this
> function)
> 247 | else if (!part)
> | ^~~~
> cmd/mvebu/bubt.c:247:19: note: each undeclared identifier is reported
> only once for each function it appears in
>
> Could you please check and fix?
I will fix guard it the same way the declaration of part variable is
guarded, and submit v2.
>
> Thanks,
> Stefan
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2023-10-25 7:59 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-08 12:46 [PATCH 0/3] mvebu: clearfog: add support for emmc boot Josua Mayer
2023-10-08 12:46 ` [PATCH 1/3] arm: mvebu: allow additional 4096 offset for bootable mmc image Josua Mayer
2023-10-16 8:34 ` Stefan Roese
2023-10-08 12:46 ` [PATCH 2/3] cmd: mvebu/bubt: move eMMC data-partition uboot from LBA-0 to 4096 Josua Mayer
2023-10-16 8:35 ` Stefan Roese
2023-10-20 9:30 ` Stefan Roese
2023-10-25 7:59 ` Josua Mayer
2023-10-08 12:46 ` [PATCH 3/3] arm: mvebu: clearfog: Add defconfigs for eMMC booting Josua Mayer
2023-10-16 8:37 ` Stefan Roese
2023-10-17 7:51 ` Josua Mayer
2023-10-17 12:35 ` Stefan Roese
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox