[EXT] [PATCH] arm: mvebu: Espressobin: Enable 'mtd' command and define SPI NOR partitions

Kostya Porotchkin kostap at marvell.com
Sun Jul 18 07:05:56 CEST 2021


Hi, Pali,

> -----Original Message-----
> From: Pali Rohár <pali at kernel.org>
> Sent: Friday, July 16, 2021 13:35
> To: Stefan Roese <sr at denx.de>; Andre Heider <a.heider at gmail.com>; Gérald
> Kerma <gerald at gk2.net>; Kostya Porotchkin <kostap at marvell.com>
> Cc: u-boot at lists.denx.de
> Subject: [EXT] [PATCH] arm: mvebu: Espressobin: Enable 'mtd' command and
> define SPI NOR partitions
> 
> External Email
> 
> ----------------------------------------------------------------------
> U-Boot now supports parsing SPI NOR partitions from Device Tree. So enable
> 'mtd' command support for Espressobin board and define partition layout in U-
> Boot Espressobin DTS file. Access to SPI NOR via 'sf' command is old method
> and 'mtd' command is now preferred variant.
> 
> From include file remove '#define CONFIG_MTD_PARTITIONS' as this option is
> now defined and enabled in defconfig file. This change is required to fix compile
> error:
> 
>       CC      arch/arm/lib/asm-offsets.s
>     In file included from include/config.h:4,
>                      from include/common.h:16,
>                      from lib/asm-offsets.c:14:
>     include/configs/mvebu_armada-37xx.h:63: warning:
> "CONFIG_MTD_PARTITIONS" redefined
>      #define CONFIG_MTD_PARTITIONS  /* required for UBI partition support */
> 
>     In file included from ././include/linux/kconfig.h:4,
>                      from <command-line>:
>     include/generated/autoconf.h:44: note: this is the location of the previous
> definition
>      #define CONFIG_MTD_PARTITIONS 1
> 
> After enabling support for mtd command, output from 'mtd list' on Espressobin
> board is:
> 
>     => mtd list
>     List of MTD devices:
>     * w25q32dw
>       - device: spi-flash at 0
>       - parent: spi at 10600
>       - driver: jedec_spi_nor
>       - path: /soc/internal-regs/spi at 10600/spi-flash at 0
>       - type: NOR flash
>       - block size: 0x1000 bytes
>       - min I/O: 0x1 bytes
>       - 0x000000000000-0x000000400000 : "w25q32dw"
>               - 0x000000000000-0x0000003f0000 : "firmware"
>               - 0x0000003f0000-0x000000400000 : "u-boot-env"
>     =>
> 
> Signed-off-by: Pali Rohár <pali at kernel.org>
Reviewed-by: Konstantin Porotchkin <kostap at marvell.com>

Regards
Kosta
> ---
>  arch/arm/dts/armada-3720-espressobin.dts    | 18 ++++++++++++++++++
>  configs/mvebu_espressobin-88f3720_defconfig |  3 +++
>  include/configs/mvebu_armada-37xx.h         |  5 -----
>  3 files changed, 21 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/arm/dts/armada-3720-espressobin.dts
> b/arch/arm/dts/armada-3720-espressobin.dts
> index d86d8f0b63cf..cba6139be690 100644
> --- a/arch/arm/dts/armada-3720-espressobin.dts
> +++ b/arch/arm/dts/armada-3720-espressobin.dts
> @@ -164,6 +164,24 @@
>  		reg = <0>; /* Chip select 0 */
>  		spi-max-frequency = <50000000>;
>  		m25p,fast-read;
> +
> +#ifdef CONFIG_ENV_IS_IN_SPI_FLASH
> +		partitions {
> +			compatible = "fixed-partitions";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +
> +			partition at firmware {
> +				reg = <0 CONFIG_ENV_OFFSET>;
> +				label = "firmware";
> +			};
> +
> +			partition at u-boot-env {
> +				reg = <CONFIG_ENV_OFFSET
> CONFIG_ENV_SIZE>;
> +				label = "u-boot-env";
> +			};
> +		};
> +#endif
>  	};
>  };
> 
> diff --git a/configs/mvebu_espressobin-88f3720_defconfig
> b/configs/mvebu_espressobin-88f3720_defconfig
> index dc199cfe503b..78796115cd38 100644
> --- a/configs/mvebu_espressobin-88f3720_defconfig
> +++ b/configs/mvebu_espressobin-88f3720_defconfig
> @@ -28,6 +28,7 @@ CONFIG_BOARD_LATE_INIT=y  CONFIG_CMD_GPIO=y
> CONFIG_CMD_I2C=y  CONFIG_CMD_MMC=y
> +CONFIG_CMD_MTD=y
>  CONFIG_CMD_PCI=y
>  CONFIG_CMD_SPI=y
>  CONFIG_CMD_USB=y
> @@ -54,6 +55,7 @@ CONFIG_MMC_SDHCI=y
>  CONFIG_MMC_SDHCI_SDMA=y
>  CONFIG_MMC_SDHCI_XENON=y
>  CONFIG_MTD=y
> +CONFIG_DM_MTD=y
>  CONFIG_SF_DEFAULT_MODE=0
>  CONFIG_SF_DEFAULT_SPEED=40000000
>  CONFIG_SPI_FLASH_GIGADEVICE=y
> @@ -62,6 +64,7 @@ CONFIG_SPI_FLASH_MACRONIX=y
> CONFIG_SPI_FLASH_SPANSION=y  CONFIG_SPI_FLASH_STMICRO=y
> CONFIG_SPI_FLASH_WINBOND=y
> +CONFIG_SPI_FLASH_MTD=y
>  CONFIG_PHY_MARVELL=y
>  CONFIG_PHY_GIGE=y
>  CONFIG_E1000=y
> diff --git a/include/configs/mvebu_armada-37xx.h
> b/include/configs/mvebu_armada-37xx.h
> index a2bea2947dd1..c8c34d7d92dd 100644
> --- a/include/configs/mvebu_armada-37xx.h
> +++ b/include/configs/mvebu_armada-37xx.h
> @@ -57,11 +57,6 @@
>  #define CONFIG_I2C_MV
>  #define CONFIG_SYS_I2C_SLAVE		0x0
> 
> -/*
> - * SPI Flash configuration
> - */
> -#define CONFIG_MTD_PARTITIONS		/* required for UBI partition
> support */
> -
>  /*
>   * Environment
>   */
> --
> 2.20.1



More information about the U-Boot mailing list