[PATCH u-boot-mvebu 7/7] arm: mvebu: spl: Allow to build SATA kwbimage for 4K Native disks

Martin Rowe martin.p.rowe at gmail.com
Thu Mar 30 12:31:27 CEST 2023


On Wed, 29 Mar 2023 at 19:28, Pali Rohár <pali at kernel.org> wrote:
> Add a new config option CONFIG_MVEBU_SPL_SATA_BLKSZ for specifying block
> size of SATA disk. This information is used during building of SATA
> kwbimage and must be correctly set, otherwise BootROM does not load SPL.
>
> For 4K Native disks CONFIG_MVEBU_SPL_SATA_BLKSZ must be set to 4096.
>
> Signed-off-by: Pali Rohár <pali at kernel.org>

I only have 512 drives to test with, but there are no regressions with
MMC (SD and eMMC), SPI, UART, or SATA (512) booting on Clearfog.

Tested-by: Martin Rowe <martin.p.rowe at gmail.com>

> ---
>  arch/arm/mach-mvebu/Kconfig         | 10 ++++++++++
>  arch/arm/mach-mvebu/Makefile        |  5 +++++
>  arch/arm/mach-mvebu/kwbimage.cfg.in |  3 +++
>  3 files changed, 18 insertions(+)
>
> diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig
> index 1f0dbef1c68a..e6e911f8af7d 100644
> --- a/arch/arm/mach-mvebu/Kconfig
> +++ b/arch/arm/mach-mvebu/Kconfig
> @@ -380,6 +380,16 @@ config MVEBU_SPL_NAND_BADBLK_LOCATION
>           Value 0x0 = SLC flash = BBI at page 0 or page 1
>           Value 0x1 = MLC flash = BBI at last page in the block
>
> +config MVEBU_SPL_SATA_BLKSZ
> +       int "SATA block size"
> +       depends on MVEBU_SPL_BOOT_DEVICE_SATA
> +       range 512 32768
> +       default 512
> +       help
> +         Block size of the SATA disk in bytes.
> +         Typically 512 bytes for majority of disks
> +         and 4096 bytes for 4K Native disks.
> +
>  config MVEBU_EFUSE
>         bool "Enable eFuse support"
>         depends on HAVE_MVEBU_EFUSE
> diff --git a/arch/arm/mach-mvebu/Makefile b/arch/arm/mach-mvebu/Makefile
> index 90f88337bc10..0584ed2be5b4 100644
> --- a/arch/arm/mach-mvebu/Makefile
> +++ b/arch/arm/mach-mvebu/Makefile
> @@ -73,6 +73,11 @@ KWB_CFG_NAND_BLKSZ = $(CONFIG_SYS_NAND_BLOCK_SIZE)
>  KWB_CFG_NAND_BADBLK_LOCATION = $(CONFIG_MVEBU_SPL_NAND_BADBLK_LOCATION)
>  endif
>
> +ifneq ($(CONFIG_MVEBU_SPL_BOOT_DEVICE_SATA),)
> +KWB_REPLACE += SATA_BLKSZ
> +KWB_CFG_SATA_BLKSZ = $(CONFIG_MVEBU_SPL_SATA_BLKSZ)
> +endif
> +
>  ifneq ($(CONFIG_SECURED_MODE_IMAGE),)
>  KWB_REPLACE += CSK_INDEX
>  KWB_CFG_CSK_INDEX = $(CONFIG_SECURED_MODE_CSK_INDEX)
> diff --git a/arch/arm/mach-mvebu/kwbimage.cfg.in b/arch/arm/mach-mvebu/kwbimage.cfg.in
> index 90cf00c5b984..588c259202bb 100644
> --- a/arch/arm/mach-mvebu/kwbimage.cfg.in
> +++ b/arch/arm/mach-mvebu/kwbimage.cfg.in
> @@ -16,6 +16,9 @@ VERSION               1
>  #@NAND_BLKSZ
>  #@NAND_BADBLK_LOCATION
>
> +# SATA configuration
> +#@SATA_BLKSZ
> +
>  # Enable BootROM output via DEBUG flag on SoCs which require it
>  #@DEBUG
>
> --
> 2.20.1
>


More information about the U-Boot mailing list