[PATCH 3/3] arm: mvebu: clearfog: Add defconfigs for eMMC booting
Stefan Roese
sr at denx.de
Tue Oct 17 14:35:45 CEST 2023
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 at 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 at denx.de
More information about the U-Boot
mailing list