[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