]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
arm: mvebu: Espressobin: Enable 'mtd' command and define SPI NOR partitions
authorPali Rohár <pali@kernel.org>
Fri, 16 Jul 2021 10:34:42 +0000 (12:34 +0200)
committerStefan Roese <sr@denx.de>
Mon, 19 Jul 2021 07:05:30 +0000 (09:05 +0200)
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@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 <pali@kernel.org>
Reviewed-by: Konstantin Porotchkin <kostap@marvell.com>
Reviewed-by: Stefan Roese <sr@denx.de>
arch/arm/dts/armada-3720-espressobin.dts
configs/mvebu_espressobin-88f3720_defconfig
include/configs/mvebu_armada-37xx.h

index d86d8f0b63cf52ac48681d90aa2ab63bc35045a3..cba6139be690ca9b9cc9cfd6c7136763311c2617 100644 (file)
                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 = <CONFIG_ENV_OFFSET CONFIG_ENV_SIZE>;
+                               label = "u-boot-env";
+                       };
+               };
+#endif
        };
 };
 
index dc199cfe503bbae9e82b918d7f673142e4b99e9b..78796115cd38aca1af95576cef6b97c802ee4bd8 100644 (file)
@@ -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
index a2bea2947dd15102c67ce096f41019a1e2ec6913..c8c34d7d92dd57625bfc476696d0d4426f3bec1b 100644 (file)
 #define CONFIG_I2C_MV
 #define CONFIG_SYS_I2C_SLAVE           0x0
 
-/*
- * SPI Flash configuration
- */
-#define CONFIG_MTD_PARTITIONS          /* required for UBI partition support */
-
 /*
  * Environment
  */