[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