From: Pali Rohár Date: Fri, 16 Jul 2021 10:34:42 +0000 (+0200) Subject: arm: mvebu: Espressobin: Enable 'mtd' command and define SPI NOR partitions X-Git-Url: http://git.dujemihanovic.xyz/html/%7B%7B%20%28.OutputFormats.Get?a=commitdiff_plain;h=a675eb14bd4a827c97afd8a44210aff81ee8095a;p=u-boot.git arm: mvebu: Espressobin: Enable 'mtd' command and define SPI NOR partitions 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 : 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@0 - parent: spi@10600 - driver: jedec_spi_nor - path: /soc/internal-regs/spi@10600/spi-flash@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 Reviewed-by: Konstantin Porotchkin Reviewed-by: Stefan Roese --- diff --git a/arch/arm/dts/armada-3720-espressobin.dts b/arch/arm/dts/armada-3720-espressobin.dts index d86d8f0b63..cba6139be6 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@firmware { + reg = <0 CONFIG_ENV_OFFSET>; + label = "firmware"; + }; + + partition@u-boot-env { + reg = ; + label = "u-boot-env"; + }; + }; +#endif }; }; diff --git a/configs/mvebu_espressobin-88f3720_defconfig b/configs/mvebu_espressobin-88f3720_defconfig index dc199cfe50..78796115cd 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 a2bea2947d..c8c34d7d92 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 */