mtd: Add m25p80 driver
Subsystems (15)
PATCH v7 1/87 mtd: Add m25p80 driver
This is MTD SPI-NOR driver for ST M25Pxx (and similar) serial flash chips which is written as MTD_UCLASS.
More features will be adding on further patches.
--- Makefile | 1 + drivers/mtd/spi-nor/Makefile | 6 ++++++ drivers/mtd/spi-nor/m25p80.c | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 drivers/mtd/spi-nor/Makefile create mode 100644 drivers/mtd/spi-nor/m25p80.c
Makefile +1 -0
@@ -633,6 +633,7 @@ libs-$(CONFIG_CMD_NAND) += drivers/mtd/nand/ libs-y += drivers/mtd/onenand/ libs-$(CONFIG_CMD_UBI) += drivers/mtd/ubi/ libs-y += drivers/mtd/spi/ +libs-y += drivers/mtd/spi-nor/ libs-y += drivers/net/ libs-y += drivers/net/phy/ libs-y += drivers/pci/
drivers/mtd/spi-nor/Makefile new file +6 -0
@@ -0,0 +1,6 @@ +# +# Copyright (C) 2016 Jagan Teki <[email protected]> +# +# SPDX-License-Identifier: GPL-2.0+ + +obj-$(CONFIG_MTD_M25P80) += m25p80.o
drivers/mtd/spi-nor/m25p80.c new file +37 -0
@@ -0,0 +1,37 @@ +/* +* MTD SPI-NOR driver for ST M25Pxx (and similar) serial flash chips +* +* Copyright (C) 2016 Jagan Teki <[email protected]> +* +* SPDX-License-Identifier: GPL-2.0+ +*/ + +#include <common.h> +#include <dm.h> +#include <errno.h> +#include <spi.h> +#include <linux/mtd/mtd.h> + +static int m25p_probe (struct udevice *dev) +{ +struct spi_slave *spi =dev_get_parent_priv (dev); +struct mtd_info *mtd =dev_get_uclass_priv (dev); + +return 0 ; +} + +static const struct udevice_id m25p_ids[] = { +/* +* Generic compatibility for SPI NOR that can be identified by the +* JEDEC READ ID opcode (0x9F). Use this, if possible. +*/ + { .compatible ="jedec,spi-nor" }, + { } +}; + +U_BOOT_DRIVER (m25p80) = { + .name ="m25p80" , + .id =UCLASS_MTD , + .of_match = m25p_ids, + .probe = m25p_probe, +};
Signature · 1 line
1.9.1
PATCH v7 2/87 mtd: Add Kconfig entry for MTD_M25P80
Added Kconfig entry for MTD_M25P80
--- drivers/mtd/spi-nor/Kconfig | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 drivers/mtd/spi-nor/Kconfig
drivers/mtd/spi-nor/Kconfig new file +15 -0
@@ -0,0 +1,15 @@ +config MTD_M25P80 + tristate "Support most SPI Flash chips (AT26DF, M25P, W25X, ...)" + help + This enables access to most modern SPI flash chips, used for + program and data storage. Series supported include Atmel AT26DF, + Spansion S25SL, SST 25VF, ST M25P, and Winbond W25X. Other chips + are supported as well. See the driver source for the current list, + or to add other chips. + + Note that the original DataFlash chips (AT45 series, not AT26DF), + need an entirely different driver. + + Set up your spi devices with the right board-specific platform data, + if you want to specify device partitioning or to use a device which + doesn't support the JEDEC ID instruction.
Signature · 1 line
1.9.1
PATCH v7 3/87 mtd: Add SPI-NOR core support
In reply to Jagan TekiSome of the SPI device drivers at drivers/spi not a real spi controllers, Unlike normal/generic SPI controllers they operates only with SPI-NOR flash devices. these were technically termed as SPI-NOR controllers, Ex: drivers/spi/fsl_qspi.c
The problem with these were resides at drivers/spi is entire SPI layer becomes SPI-NOR flash oriented which is absolutely a wrong indication where SPI layer getting effected more with flash operations - So this SPI-NOR core will resolve this issue by separating all SPI-NOR flash operations from spi layer and creats a generic layer called SPI-NOR core which can be used to interact SPI-NOR to SPI driver interface layer and the SPI-NOR controller driver. The idea is taken from Linux spi-nor framework.
Before SPI-NOR:
----------------------- cmd_sf.c ----------------------- spi_flash.c ----------------------- sf_probe.c ----------------------- spi-uclass ----------------------- spi drivers ----------------------- SPI NOR chip -----------------------
After SPI-NOR:
------------------------------ cmd_sf.c ------------------------------ spi-nor.c ------------------------------- m25p80.c spi nor drivers ------------------------------- spi-uclass SPI NOR chip ------------------------------- spi drivers ------------------------------- SPI NOR chip -------------------------------
--- doc/mtd/spi-nor.txt | 81 +++ drivers/mtd/Kconfig | 2 + drivers/mtd/spi-nor/Makefile | 5 + drivers/mtd/spi-nor/spi-nor-ids.c | 276 ++++++++++ drivers/mtd/spi-nor/spi-nor.c | 1084 +++++++++++++++++++++++++++++++++++++ include/linux/err.h | 5 + include/linux/mtd/spi-nor.h | 253 +++++++++ 7 files changed, 1706 insertions(+) create mode 100644 doc/mtd/spi-nor.txt create mode 100644 drivers/mtd/spi-nor/spi-nor-ids.c create mode 100644 drivers/mtd/spi-nor/spi-nor.c create mode 100644 include/linux/mtd/spi-nor.h
doc/mtd/spi-nor.txt new file +81 -0
@@ -0,0 +1,81 @@ + SPI NOR framework + ============================================ + +Part I - Why do we need this framework? +--------------------------------------- + +SPI bus controllers (drivers/spi/) only deal with streams of bytes; the bus +controller operates agnostic of the specific device attached. However, some +controllers (such as Freescale's QuadSPI controller) cannot easily handle +arbitrary streams of bytes, but rather are designed specifically for SPI NOR. + +In particular, Freescale's QuadSPI controller must know the NOR commands to +find the right LUT sequence. Unfortunately, the SPI subsystem has no notion of +opcodes, addresses, or data payloads; a SPI controller simply knows to send or +receive bytes (Tx and Rx). Therefore, we must define a new layering scheme under +which the controller driver is aware of the opcodes, addressing, and other +details of the SPI NOR protocol. + +Part II - How does the framework work? +-------------------------------------- + +This framework just adds a new layer between the MTD and the SPI bus driver. +With this new layer, the SPI NOR controller driver does not depend on the +m25p80 code anymore. + +Before SPI-NOR: + + ----------------------- + cmd_sf.c + ----------------------- + spi_flash.c + ----------------------- + sf_probe.c + ----------------------- + spi-uclass + ----------------------- + spi drivers + ----------------------- + SPI NOR chip + ----------------------- + +After SPI-NOR: + + ------------------------------ + cmd_sf.c + ------------------------------ + spi-nor.c + ------------------------------- + m25p80.c spi nor drivers + ------------------------------- + spi-uclass SPI NOR chip + ------------------------------- + spi drivers + ------------------------------- + SPI NOR chip + ------------------------------- + +SPI-NOR with MTD: + + ------------------------------ + cmd_sf.c + ------------------------------ + MTD core + ------------------------------ + spi-nor.c + ------------------------------- + m25p80.c spi nor drivers + ------------------------------- + spi-uclass SPI NOR chip + ------------------------------- + spi bus drivers + ------------------------------- + SPI NOR chip + ------------------------------- + +Part III - How can drivers use the framework? +--------------------------------------------- + +The main API is spi_nor_scan(). Before you call the hook, a driver should +initialize the necessary fields for spi_nor{}. Please see +drivers/mtd/spi-nor/spi-nor.c for detail.
drivers/mtd/Kconfig +2 -0
@@ -33,3 +33,5 @@ endmenu source "drivers/mtd/nand/Kconfig" source "drivers/mtd/spi/Kconfig" + +source "drivers/mtd/spi-nor/Kconfig"
drivers/mtd/spi-nor/Makefile +5 -0
@@ -3,4 +3,9 @@ # # SPDX-License-Identifier: GPL-2.0+ +ifdef CONFIG_MTD_SPI_NOR +obj-y += spi-nor.o +obj-y += spi-nor-ids.o +endif + obj-$(CONFIG_MTD_M25P80) += m25p80.o
drivers/mtd/spi-nor/spi-nor-ids.c new file +276 -0
276 lines not on this page · raw message
drivers/mtd/spi-nor/spi-nor.c new file +1084 -0
1,084 lines not on this page · raw message
include/linux/err.h +5 -0
@@ -36,6 +36,11 @@ static inline long IS_ERR(const void *ptr)return IS_ERR_VALUE ((unsigned long )ptr); } +static inline bool IS_ERR_OR_NULL (const void *ptr) +{ +return !ptr ||IS_ERR_VALUE ((unsigned long )ptr); +} +/** * ERR_CAST - Explicitly cast an error-valued pointer to another pointer type * @ptr: The pointer to cast.
include/linux/mtd/spi-nor.h new file +253 -0
253 lines not on this page · raw message
Signature · 1 line
1.9.1
PATCH v7 4/87 doc: device-tree-bindings: jedec, spi-nor
In reply to Jagan TekiSince m25p80 follows similar naming convention as Linux, hence added jedec, spi-nor device tree bindings from Linux.
--- doc/device-tree-bindings/mtd/jedec,spi-nor.txt | 78 ++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 doc/device-tree-bindings/mtd/jedec,spi-nor.txt
doc/device-tree-bindings/mtd/jedec,spi-nor.txt new file +78 -0
@@ -0,0 +1,78 @@ +* SPI NOR flash: ST M25Pxx (and similar) serial flash chips + +Required properties: +- #address-cells, #size-cells : Must be present if the device has sub-nodes + representing partitions. +- compatible : May include a device-specific string consisting of the + manufacturer and name of the chip. A list of supported chip + names follows. + Must also include "jedec,spi-nor" for any SPI NOR flash that can + be identified by the JEDEC READ ID opcode (0x9F). + + Supported chip names: + at25df321a + at25df641 + at26df081a + mr25h256 + mx25l4005a + mx25l1606e + mx25l6405d + mx25l12805d + mx25l25635e + n25q064 + n25q128a11 + n25q128a13 + n25q512a + s25fl256s1 + s25fl512s + s25sl12801 + s25fl008k + s25fl064k + sst25vf040b + m25p40 + m25p80 + m25p16 + m25p32 + m25p64 + m25p128 + w25x80 + w25x32 + w25q32 + w25q32dw + w25q80bl + w25q128 + w25q256 + + The following chip names have been used historically to + designate quirky versions of flash chips that do not support the + JEDEC READ ID opcode (0x9F): + m25p05-nonjedec + m25p10-nonjedec + m25p20-nonjedec + m25p40-nonjedec + m25p80-nonjedec + m25p16-nonjedec + m25p32-nonjedec + m25p64-nonjedec + m25p128-nonjedec + +- reg : Chip-Select number +- spi-max-frequency : Maximum frequency of the SPI bus the chip can operate at + +Optional properties: +- m25p,fast-read : Use the "fast read" opcode to read data from the chip instead + of the usual "read" opcode. This opcode is not supported by + all chips and support for it can not be detected at runtime. + Refer to your chips' datasheet to check if this is supported + by your chip. + +Example: + + flash: m25p80 at 0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "spansion,m25p80", "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <40000000>; + m25p,fast-read; + };
Signature · 1 line
1.9.1
PATCH v7 5/87 mtd: spi-nor: Add Kconfig entry for MTD_SPI_NOR
In reply to Jagan TekiAdded kconfig entry for MTD_SPI_NOR
--- drivers/mtd/spi-nor/Kconfig | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
drivers/mtd/spi-nor/Kconfig +18 -0
@@ -1,3 +1,19 @@ +menuconfig MTD_SPI_NOR + tristate "SPI-NOR device support" + help + This is the core SPI NOR framework which can be used to interact SPI-NOR + to SPI driver interface layer and the SPI-NOR controller driver. + + Unlike normal/generic spi controllers, they are few controllers which are + exclusively used to connect SPI-NOR devices, called SPI-NOR controllers. + So technically these controllers shouldn't reside at drivers/spi as these + may effect the generic SPI bus functionalities, so this SPI-NOR core acts + as a common core framework between the generic SPI controller drivers vs + SPI-NOR controller drivers for SPI-NOR device access. Note that from SPI-NOR + core to SPI drivers there should be an interface layer. + +if MTD_SPI_NOR + config MTD_M25P80 tristate "Support most SPI Flash chips (AT26DF, M25P, W25X, ...)" help
@@ -13,3 +29,5 @@ config MTD_M25P80 Set up your spi devices with the right board-specific platform data, if you want to specify device partitioning or to use a device which doesn't support the JEDEC ID instruction. + +endif # MTD_SPI_NOR
Signature · 1 line
1.9.1
PATCH v7 6/87 mtd: spi-nor: Add kconfig for MTD_SPI_NOR_USE_4K_SECTORS
In reply to Jagan TekiAdded kconfig entry for MTD_SPI_NOR_USE_4K_SECTORS.
--- drivers/mtd/spi-nor/Kconfig | 14 ++++++++++++++ 1 file changed, 14 insertions(+)
drivers/mtd/spi-nor/Kconfig +14 -0
@@ -30,4 +30,18 @@ config MTD_M25P80 if you want to specify device partitioning or to use a device which doesn't support the JEDEC ID instruction. +config MTD_SPI_NOR_USE_4K_SECTORS + bool "Use small 4096 B erase sectors" + default y + help + Many flash memories support erasing small (4096 B) sectors. Depending + on the usage this feature may provide performance gain in comparison + to erasing whole blocks (32/64 KiB). + Changing a small part of the flash's contents is usually faster with + small sectors. On the other hand erasing should be faster when using + 64 KiB block instead of 16 ? 4 KiB sectors. + + Please note that some tools/drivers/filesystems may not work with + 4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum). + endif # MTD_SPI_NOR
Signature · 1 line
1.9.1
PATCH v7 7/87 mtd: spi-nor: Add MTD support
In reply to Jagan TekiThis patch adds mtd_info support to spi-nor core instead of using legacy spi_flash{}.
SPI-NOR with MTD:
------------------------------ cmd_sf.c ------------------------------ MTD core ------------------------------ spi-nor.c ------------------------------- m25p80.c spi nor drivers ------------------------------- spi-uclass SPI NOR chip ------------------------------- spi drivers ------------------------------- SPI NOR chip -------------------------------
--- drivers/mtd/spi-nor/spi-nor.c | 275 +++++++++++++++++++++++++----------------- 1 file changed, 166 insertions(+), 109 deletions(-)
drivers/mtd/spi-nor/spi-nor.c +166 -109
@@ -7,6 +7,7 @@*/ #include <common.h> +#include <div64.h> #include <dm.h> #include <errno.h> #include <malloc.h>
@@ -14,6 +15,7 @@#include <linux/math64.h> #include <linux/log2.h> +#include <linux/mtd/mtd.h> #include <linux/mtd/spi-nor.h> DECLARE_GLOBAL_DATA_PTR ;
@@ -209,10 +211,11 @@ bar_end:static int spi_nor_read_bar (struct spi_nor *nor,const struct spi_nor_info *info) { +struct mtd_info *mtd = nor->mtd;u8 curr_bank =0 ;int ret; -if (flash->size <=SNOR_16MB_BOUN ) +if (mtd->size <=SNOR_16MB_BOUN ) goto bar_end;switch (JEDEC_MFR (info)) {
@@ -240,12 +243,12 @@ bar_end:#ifdef CONFIG_SF_DUAL_FLASH static void spi_nor_dual (struct spi_nor *nor,u32 *addr) { -struct spi_flash *flash = nor->flash; +struct mtd_info *mtd = nor->mtd;switch (nor->dual) {case SNOR_DUAL_STACKED : -if (*addr >= (flash->size >>1 )) { - *addr -= flash->size >>1 ; +if (*addr >= (mtd->size >>1 )) { + *addr -= mtd->size >>1 ; nor->flags |=SNOR_F_U_PAGE ; }else { nor->flags &= ~SNOR_F_U_PAGE ;
@@ -263,8 +266,9 @@ static void spi_nor_dual(struct spi_nor *nor, u32 *addr)#if defined(CONFIG_SPI_FLASH_STMICRO ) || defined(CONFIG_SPI_FLASH_SST )static void stm_get_locked_range (struct spi_nor *nor,u8 sr,loff_t *ofs, -u32 *len) +uint64_t *len) { +struct mtd_info *mtd = nor->mtd;u8 mask =SR_BP2 |SR_BP1 |SR_BP0 ;int shift =ffs (mask) -1 ;int pow;
@@ -275,18 +279,19 @@ static void stm_get_locked_range(struct spi_nor *nor, u8 sr, loff_t *ofs, *len =0 ; }else { pow = ((sr & mask) ^ mask) >> shift; - *len = flash->size >> pow; - *ofs = flash->size - *len; + *len = mtd->size >> pow; + *ofs = mtd->size - *len; } }/* * Return 1 if the entire region is locked, 0 otherwise */ -static int stm_is_locked_sr (struct spi_nor *nor,u32 ofs,u32 len,u8 sr) +static int stm_is_locked_sr (struct spi_nor *nor,loff_t ofs,uint64_t len, +u8 sr) {loff_t lock_offs; -u32 lock_len; +uint64_t lock_len;stm_get_locked_range (nor, sr, &lock_offs, &lock_len);
@@ -294,24 +299,6 @@ static int stm_is_locked_sr(struct spi_nor *nor, u32 ofs, u32 len, u8 sr) }/* -* Check if a region of the flash is (completely) locked. See stm_lock() for -* more info. -* -* Returns 1 if entire region is locked, 0 if any portion is unlocked, and -* negative on errors. -*/ -static int stm_is_locked (struct spi_nor *nor,u32 ofs,size_t len) -{ -int status; - - status =read_sr (nor); -if (status <0 ) -return status; - -return stm_is_locked_sr (nor, ofs, len, status); -} - -/* * Lock a region of the flash. Compatible with ST Micro and similar flash. * Supports only the block protection bits BP{0,1,2} in the status register * (SR). Does not support these features found in newer SR bitfields:
@@ -334,9 +321,10 @@ static int stm_is_locked(struct spi_nor *nor, u32 ofs, size_t len)* * Returns negative on errors, 0 on success. */ -static int stm_lock (struct spi_nor *nor,u32 ofs,size_t len) +static int stm_lock (struct spi_nor *nor,loff_t ofs,uint64_t len) { -u8 status_old, status_new; +struct mtd_info *mtd = nor->mtd; +int status_old, status_new;u8 mask =SR_BP2 |SR_BP1 |SR_BP0 ;u8 shift =ffs (mask) -1 , pow, val;
@@ -345,12 +333,12 @@ static int stm_lock(struct spi_nor *nor, u32 ofs, size_t len)return status_old;/* SPI NOR always locks to the end */ -if (ofs + len != flash->size) { +if (ofs + len != mtd->size) {/* Does combined region extend to end? */ -if (!stm_is_locked_sr (nor, ofs + len, flash->size - ofs - len, +if (!stm_is_locked_sr (nor, ofs + len, mtd->size - ofs - len, status_old))return -EINVAL ; - len = flash->size - ofs; + len = mtd->size - ofs; }/*
@@ -362,11 +350,10 @@ static int stm_lock(struct spi_nor *nor, u32 ofs, size_t len)* * pow = ceil(log2(size / len)) = log2(size) - floor(log2(len)) */ - pow =ilog2 (flash->size) -ilog2 (len); + pow =ilog2 (mtd->size) -ilog2 (len); val = mask - (pow << shift);if (val & ~mask)return -EINVAL ; -/* Don't "lock" with no region! */ if (!(val & mask))return -EINVAL ;
@@ -386,20 +373,22 @@ static int stm_lock(struct spi_nor *nor, u32 ofs, size_t len)* * Returns negative on errors, 0 on success. */ -static int stm_unlock (struct spi_nor *nor,u32 ofs,size_t len) +static int stm_unlock (struct spi_nor *nor,loff_t ofs,uint64_t len) { -uint8_t status_old, status_new; +struct mtd_info *mtd = nor->mtd; +int status_old, status_new;u8 mask =SR_BP2 |SR_BP1 |SR_BP0 ;u8 shift =ffs (mask) -1 , pow, val; status_old =read_sr (nor); -if (status_old <0 ) +if (status_old <0 )return status_old;/* Cannot unlock; would unlock larger region than requested */ -if (stm_is_locked_sr (nor, status_old, ofs - flash->erase_size, - nor->erase_size)) +if (stm_is_locked_sr (nor, status_old, ofs - mtd->erasesize, + mtd->erasesize))return -EINVAL ; +/* * Need largest pow such that: *
@@ -409,8 +398,8 @@ static int stm_unlock(struct spi_nor *nor, u32 ofs, size_t len)* * pow = floor(log2(size / len)) = log2(size) - ceil(log2(len)) */ - pow =ilog2 (flash->size) -order_base_2 (flash->size - (ofs + len)); -if (ofs + len == flash->size) { + pow =ilog2 (mtd->size) -order_base_2 (mtd->size - (ofs + len)); +if (ofs + len == mtd->size) { val =0 ;/* fully unlocked */ }else { val = mask - (pow << shift);
@@ -428,8 +417,47 @@ static int stm_unlock(struct spi_nor *nor, u32 ofs, size_t len)write_enable (nor); return write_sr(nor, status_new); } + +/* +* Check if a region of the flash is (completely) locked. See stm_lock() for +* more info. +* +* Returns 1 if entire region is locked, 0 if any portion is unlocked, and +* negative on errors. +*/ +static int stm_is_locked (struct spi_nor *nor,loff_t ofs,uint64_t len) +{ +int status; + + status =read_sr (nor); +if (status <0 ) +return status; + +return stm_is_locked_sr (nor, ofs, len, status); +}#endif +static int spi_nor_lock (struct mtd_info *mtd,loff_t ofs,uint64_t len) +{ +struct spi_nor *nor = mtd->priv; + +return nor->flash_lock (nor, ofs, len); +} + +static int spi_nor_unlock (struct mtd_info *mtd,loff_t ofs,uint64_t len) +{ +struct spi_nor *nor = mtd->priv; + +return nor->flash_unlock (nor, ofs, len); +} + +static int spi_nor_is_locked (struct mtd_info *mtd,loff_t ofs,uint64_t len) +{ +struct spi_nor *nor = mtd->priv; + +return nor->flash_is_locked (nor, ofs, len); +} +static const struct spi_nor_info *spi_nor_id (struct spi_nor *nor) {int tmp;
@@ -455,30 +483,32 @@ static const struct spi_nor_info *spi_nor_id(struct spi_nor *nor)return ERR_PTR (-ENODEV ); } -static int spi_nor_erase (struct spi_flash *flash,u32 offset,size_t len) +static int spi_nor_erase (struct mtd_info *mtd,struct erase_info *instr) { -struct spi_nor *nor = flash->nor; -u32 erase_size, erase_addr; +struct spi_nor *nor = mtd->priv; +u32 addr, len, erase_addr;u8 cmd[SNOR_MAX_CMD_SIZE ]; +uint32_t rem;int ret =-1 ; - erase_size = nor->erase_size; -if (offset % erase_size || len % erase_size) { -debug ("spi-nor: Erase offset/length not multiple of erase size\n" ); -return -1 ; - } +div_u64_rem (instr->len, mtd->erasesize, &rem); +if (rem) +return -EINVAL ; -if (flash->flash_is_locked) { -if (flash->flash_is_locked (flash, offset, len) >0 ) { + addr = instr->addr; + len = instr->len; + +if (mtd->_is_locked) { +if (mtd->_is_locked (mtd, addr, len) >0 ) {printf ("offset 0x%x is protected and cannot be erased\n" , - offset); + addr);return -EINVAL ; } } - cmd[0 ] = flash->erase_opcode; + cmd[0 ] = nor->erase_opcode;while (len) { - erase_addr = offset; + erase_addr = addr;#ifdef CONFIG_SF_DUAL_FLASH if (nor->dual >SNOR_DUAL_SINGLE )
@@ -498,39 +528,47 @@ static int spi_nor_erase(struct spi_flash *flash, u32 offset, size_t len) ret = nor->write (nor, cmd,sizeof (cmd),NULL ,0 );if (ret <0 ) -break ; + goto erase_err; ret =spi_nor_wait_till_ready (nor,SNOR_READY_WAIT_ERASE );if (ret <0 ) -return ret; + goto erase_err; - offset += erase_size; - len -= erase_size; + addr += mtd->erasesize; + len -= mtd->erasesize; } +write_disable (nor); + + instr->state =MTD_ERASE_DONE ; +mtd_erase_callback (instr); + +return ret; + +erase_err: + instr->state =MTD_ERASE_FAILED ;return ret; } -int spi_nor_write (struct spi_flash *flash,u32 offset, -size_t len,const void *buf) +static int spi_nor_write (struct mtd_info *mtd,loff_t offset,size_t len, +size_t *retlen,const u_char *buf) { -struct spi_nor *nor = flash->nor; -unsigned long byte_addr, page_size; -u32 write_addr; +struct spi_nor *nor = mtd->priv; +u32 byte_addr, page_size, write_addr;size_t chunk_len, actual;u8 cmd[SNOR_MAX_CMD_SIZE ];int ret =-1 ; - page_size = nor->page_size; - -if (flash->flash_is_locked) { -if (flash->flash_is_locked (flash, offset, len) >0 ) { -printf ("offset 0x%x is protected and cannot be written\n" , +if (mtd->_is_locked) { +if (mtd->_is_locked (mtd, offset, len) >0 ) { +printf ("offset 0x%llx is protected and cannot be written\n" , offset);return -EINVAL ; } } + page_size = nor->page_size; + cmd[0 ] = nor->program_opcode;for (actual =0 ; actual < len; actual += chunk_len) { write_addr = offset;
@@ -568,14 +606,16 @@ int spi_nor_write(struct spi_flash *flash, u32 offset,return ret; offset += chunk_len; + *retlen += chunk_len; }return ret; } -int spi_nor_read (struct spi_flash *flash,u32 offset,size_t len,void *data) +static int spi_nor_read (struct mtd_info *mtd,loff_t from,size_t len, +size_t *retlen,u_char *buf) { -struct spi_nor *nor = flash->nor; +struct spi_nor *nor = mtd->priv;u32 remain_len, read_len, read_addr;u8 *cmd, cmdsz;int bank_sel =0 ;
@@ -583,7 +623,7 @@ int spi_nor_read(struct spi_flash *flash, u32 offset, size_t len, void *data)/* Handle memory-mapped SPI */ if (nor->memory_map) { - ret = nor->read_mmap (nor, data, nor->memory_map + offset, len); + ret = nor->read_mmap (nor, buf, nor->memory_map + from, len);if (ret) {debug ("spi-nor: mmap read failed\n" );return ret;
@@ -601,7 +641,7 @@ int spi_nor_read(struct spi_flash *flash, u32 offset, size_t len, void *data) cmd[0 ] = nor->read_opcode;while (len) { - read_addr = offset; + read_addr = from;#ifdef CONFIG_SF_DUAL_FLASH if (nor->dual >SNOR_DUAL_SINGLE )
@@ -614,7 +654,7 @@ int spi_nor_read(struct spi_flash *flash, u32 offset, size_t len, void *data) bank_sel = nor->bank_curr;#endif remain_len = ((SNOR_16MB_BOUN << nor->shift) * - (bank_sel +1 )) - offset; + (bank_sel +1 )) - from;if (len < remain_len) read_len = len;else
@@ -622,13 +662,14 @@ int spi_nor_read(struct spi_flash *flash, u32 offset, size_t len, void *data)spi_nor_addr (read_addr, cmd); - ret = nor->read (nor, cmd, cmdsz, data, read_len); + ret = nor->read (nor, cmd, cmdsz, buf, read_len);if (ret <0 )break ; - offset += read_len; + from += read_len; len -= read_len; - data += read_len; + buf += read_len; + *retlen += read_len; }free (cmd);
@@ -636,7 +677,8 @@ int spi_nor_read(struct spi_flash *flash, u32 offset, size_t len, void *data) } #ifdef CONFIG_SPI_FLASH_SST -static int sst_byte_write(struct spi_nor *nor, u32 offset, const void *buf) +static int sst_byte_write(struct spi_nor *nor, u32 offset, + const void *buf, size_t *retlen) { int ret; u8 cmd[4] = {
@@ -657,12 +699,15 @@ static int sst_byte_write(struct spi_nor *nor, u32 offset, const void *buf)if (ret)return ret; + *retlen +=1 ; +return spi_nor_wait_till_ready (nor,SNOR_READY_WAIT_PROG ); } -int sst_write_wp (struct spi_nor *nor,u32 offset,size_t len,const void *buf) +static int sst_write_wp (struct mtd_info *mtd,loff_t offset,size_t len, +size_t *retlen,const u_char *buf) { -struct spi_nor *nor = flash->nor; +struct spi_nor *nor = mtd->priv;size_t actual, cmd_len;int ret;u8 cmd[4 ];
@@ -670,7 +715,7 @@ int sst_write_wp(struct spi_nor *nor, u32 offset, size_t len, const void *buf)/* If the data is not word aligned, write out leading single byte */ actual = offset %2 ;if (actual) { - ret =sst_byte_write (nor, offset, buf); + ret =sst_byte_write (nor, offset, buf, retlen);if (ret) goto done; }
@@ -687,7 +732,7 @@ int sst_write_wp(struct spi_nor *nor, u32 offset, size_t len, const void *buf) cmd[3 ] = offset;for (; actual < len -1 ; actual +=2 ) { -debug ("spi-nor: 0x%p => cmd = { 0x%02x 0x%06x }\n" , +debug ("spi-nor: 0x%p => cmd = { 0x%02x 0x%06llx }\n" , buf + actual, cmd[0 ], offset); ret = nor->write (nor, cmd, cmd_len, buf + actual,2 );
@@ -702,6 +747,7 @@ int sst_write_wp(struct spi_nor *nor, u32 offset, size_t len, const void *buf) cmd_len =1 ; offset +=2 ; + *retlen +=2 ; }if (!ret)
@@ -709,20 +755,21 @@ int sst_write_wp(struct spi_nor *nor, u32 offset, size_t len, const void *buf)/* If there is a single trailing byte, write it out */ if (!ret && actual != len) - ret =sst_byte_write (nor, offset, buf + actual); + ret =sst_byte_write (nor, offset, buf + actual, retlen); done:return ret; } -int sst_write_bp (struct spi_nor *nor,u32 offset,size_t len,const void *buf) +static int sst_write_bp (struct mtd_info *mtd,loff_t offset,size_t len, +size_t *retlen,const u_char *buf) { -struct spi_nor *nor = flash->nor; +struct spi_nor *nor = mtd->priv;size_t actual;int ret;for (actual =0 ; actual < len; actual++) { - ret =sst_byte_write (nor, offset, buf + actual); + ret =sst_byte_write (nor, offset, buf + actual, retlen);if (ret) {debug ("spi-nor: sst byte program failed\n" );break ;
@@ -853,6 +900,7 @@ static int set_quad_mode(struct spi_nor *nor, const struct spi_nor_info *info)#if CONFIG_IS_ENABLED (OF_CONTROL )int spi_nor_decode_fdt (const void *blob,struct spi_nor *nor) { +struct mtd_info *mtd = nor->mtd;fdt_addr_t addr;fdt_size_t size;int node;
@@ -868,7 +916,7 @@ int spi_nor_decode_fdt(const void *blob, struct spi_nor *nor)return 0 ; } -if (flash->size != size) { +if (mtd->size != size) {debug ("%s: Memory map must cover entire device\n" , __func__);return -1 ; }
@@ -891,6 +939,7 @@ static int spi_nor_check(struct spi_nor *nor)int spi_nor_scan (struct spi_nor *nor) { +struct mtd_info *mtd = nor->mtd;const struct spi_nor_info *info =NULL ;static u8 flash_read_cmd[] = {SNOR_OP_READ ,
@@ -921,7 +970,13 @@ int spi_nor_scan(struct spi_nor *nor)write_sr (nor,0 ); } - flash->name = info->name; + mtd->name = info->name; + mtd->priv = nor; + mtd->type =MTD_NORFLASH ; + mtd->writesize =1 ; + mtd->flags =MTD_CAP_NORFLASH ; + mtd->_erase = spi_nor_erase; + mtd->_read = spi_nor_read;if (info->flags &USE_FSR ) nor->flags |=SNOR_F_USE_FSR ;
@@ -929,15 +984,13 @@ int spi_nor_scan(struct spi_nor *nor)if (info->flags &SST_WRITE ) nor->flags |=SNOR_F_SST_WRITE ; - flash->write = spi_nor_write; - flash->erase = spi_nor_erase; - flash->read = spi_nor_read; + mtd->_write = spi_nor_write;#if defined(CONFIG_SPI_FLASH_SST )if (nor->flags &SNOR_F_SST_WRITE ) {if (nor->mode &SNOR_WRITE_1_1_BYTE ) - flash->write = sst_write_bp; + mtd->_write = sst_write_bp;else - flash->write = sst_write_wp; + mtd->_write = sst_write_wp; }#endif
@@ -951,10 +1004,10 @@ int spi_nor_scan(struct spi_nor *nor) }#endif -if (flash->flash_lock && flash->flash_unlock && flash->flash_is_locked) { - flash->flash_lock = spi_nor_lock; - flash->flash_unlock = spi_nor_unlock; - flash->flash_is_locked = spi_nor_is_locked; +if (nor->flash_lock && nor->flash_unlock && nor->flash_is_locked) { + mtd->_lock = spi_nor_lock; + mtd->_unlock = spi_nor_unlock; + mtd->_is_locked = spi_nor_is_locked; }/* Compute the flash size */
@@ -972,30 +1025,30 @@ int spi_nor_scan(struct spi_nor *nor) nor->page_size =512 ; } nor->page_size <<= nor->shift; - flash->sector_size = info->sector_size << nor->shift; - flash->size = flash->sector_size * info->n_sectors << nor->shift; + mtd->writebufsize = nor->page_size; + mtd->size = (info->sector_size * info->n_sectors) << nor->shift;#ifdef CONFIG_SF_DUAL_FLASH if (nor->dual &SNOR_DUAL_STACKED ) - flash->size <<=1 ; + mtd->size <<=1 ;#endif #ifdef CONFIG_MTD_SPI_NOR_USE_4K_SECTORS /* prefer "small sector" erase if possible */ if (info->flags &SECT_4K ) { nor->erase_opcode =SNOR_OP_BE_4K ; - nor->erase_size =4096 << nor->shift; + mtd->erasesize =4096 << nor->shift; }else if (info->flags &SECT_4K_PMC ) { nor->erase_opcode =SNOR_OP_BE_4K_PMC ; - nor->erase_size =4096 ; + mtd->erasesize =4096 ; } else#endif { nor->erase_opcode =SNOR_OP_SE ; - nor->erase_size = flash->sector_size; + mtd->erasesize = info->sector_size << nor->shift; } -/* Now erase size becomes valid sector size */ - flash->sector_size = nor->erase_size; +if (info->flags &SPI_NOR_NO_ERASE ) + mtd->flags |=MTD_NO_ERASE ;/* Look for the fastest read cmd */ cmd =fls (info->flash_read & nor->read_mode);
@@ -1007,6 +1060,10 @@ int spi_nor_scan(struct spi_nor *nor) nor->read_opcode =SNOR_OP_READ_FAST ; } +/* Some devices cannot do fast-read */ +if (info->flags &SPI_NOR_NO_FR ) + nor->read_opcode =SNOR_OP_READ ; +/* Not require to look for fastest only two write cmds yet */ if (info->flags &SNOR_WRITE_QUAD && nor->mode &SNOR_WRITE_1_1_4 ) nor->program_opcode =SNOR_OP_QPP ;
@@ -1061,10 +1118,10 @@ int spi_nor_scan(struct spi_nor *nor)#endif #ifndef CONFIG_SPL_BUILD -printf ("spi-nor: detected %s with page size " , flash->name); +printf ("spi-nor: detected %s with page size " , mtd->name);print_size (nor->page_size,", erase size " ); -print_size (nor->erase_size,", total " ); -print_size (flash->size,"" ); +print_size (mtd->erasesize,", total " ); +print_size (mtd->size,"" );if (nor->memory_map)printf (", mapped at %p" , nor->memory_map);puts ("\n" );
@@ -1072,9 +1129,9 @@ int spi_nor_scan(struct spi_nor *nor)#ifndef CONFIG_SPI_FLASH_BAR if (((nor->dual ==SNOR_DUAL_SINGLE ) && - (flash->size >SNOR_16MB_BOUN )) || + (mtd->size >SNOR_16MB_BOUN )) || ((nor->dual >SNOR_DUAL_SINGLE ) && - (flash->size >SNOR_16MB_BOUN <<1 ))) { + (mtd->size >SNOR_16MB_BOUN <<1 ))) {puts ("spi-nor: Warning - Only lower 16MiB accessible," );puts (" Full access #define CONFIG_SPI_FLASH_BAR\n" ); }
Signature · 1 line
1.9.1
PATCH v7 8/87 mtd: spi-nor: Add spi_nor support in m25p80
In reply to Jagan Tekim25p80 is flash interface for spi-nor core and drivers/spi so add spi_nor{} functionalities like
- allocate spi_nor{}
- basic initilization
- install hooks
- call to spi-nor core, using spi_nor_scan
- register with mtd core
--- drivers/mtd/spi-nor/m25p80.c | 245 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 245 insertions(+)
drivers/mtd/spi-nor/m25p80.c +245 -0
@@ -8,16 +8,260 @@#include <common.h> #include <dm.h> +#include <dma.h> #include <errno.h> #include <spi.h> + +#include <dm/device-internal.h> +#include <linux/mtd/mtd.h> +#include <linux/mtd/spi-nor.h> + +struct m25p { +struct spi_slave *spi; +struct spi_nor spi_nor; +}; + +static int spi_read_then_write (struct spi_slave *spi,const u8 *cmd, +size_t cmd_len,const u8 *data_out, +u8 *data_in,size_t data_len) +{ +unsigned long flags =SPI_XFER_BEGIN ; +int ret; + +if (data_len ==0 ) + flags |=SPI_XFER_END ; + + ret =spi_xfer (spi, cmd_len *8 , cmd,NULL , flags); +if (ret) { +debug ("SF: Failed to send command (%zu bytes): %d\n" , + cmd_len, ret); + }else if (data_len !=0 ) { + ret =spi_xfer (spi, data_len *8 , data_out, data_in, +SPI_XFER_END ); +if (ret) +debug ("SF: Failed to transfer %zu bytes of data: %d\n" , + data_len, ret); + } + +return ret; +} + +static int m25p80_read_reg (struct spi_nor *nor,u8 cmd,u8 *val,int len) +{ +struct m25p *flash = nor->priv; +struct spi_slave *spi = flash->spi; +int ret; + + ret =spi_claim_bus (spi); +if (ret <0 ) { +debug ("m25p80: unable to claim SPI bus\n" ); +return ret; + } + +if (nor->flags &SNOR_F_U_PAGE ) + spi->flags |=SPI_XFER_U_PAGE ; + + ret =spi_read_then_write (spi, &cmd,1 ,NULL , val, len); +if (ret <0 ) { +debug ("m25p80: error %d reading register %x\n" , ret, cmd); +return ret; + } + +spi_release_bus (spi); + +return ret; +} + +static int m25p80_write_reg (struct spi_nor *nor,u8 cmd,u8 *buf,int len) +{ +struct m25p *flash = nor->priv; +struct spi_slave *spi = flash->spi; +int ret; + + ret =spi_claim_bus (spi); +if (ret <0 ) { +debug ("m25p80: unable to claim SPI bus\n" ); +return ret; + } + +if (nor->flags &SNOR_F_U_PAGE ) + spi->flags |=SPI_XFER_U_PAGE ; + + ret =spi_read_then_write (spi, &cmd,1 , buf,NULL , len); +if (ret <0 ) { +debug ("m25p80: error %d writing register %x\n" , ret, cmd); +return ret; + } + +spi_release_bus (spi); + +return ret; +} + +/* +* TODO: remove the weak after all the other spi_flash_copy_mmap +* implementations removed from drivers +*/ +void __weak flash_copy_mmap (void *data,void *offset,size_t len) +{ +#ifdef CONFIG_DMA +if (!dma_memcpy (data, offset, len)) +return ; +#endif +memcpy (data, offset, len); +} + +static int m25p80_read_mmap (struct spi_nor *nor,void *data, +void *offset,size_t len) +{ +struct m25p *flash = nor->priv; +struct spi_slave *spi = flash->spi; +int ret; + + ret =spi_claim_bus (spi); +if (ret) { +debug ("m25p80: unable to claim SPI bus\n" ); +return ret; + } + +spi_xfer (spi,0 ,NULL ,NULL ,SPI_XFER_MMAP ); +flash_copy_mmap (data, offset, len); +spi_xfer (spi,0 ,NULL ,NULL ,SPI_XFER_MMAP_END ); + +spi_release_bus (spi); + +return ret; +} + +static int m25p80_read (struct spi_nor *nor,const u8 *cmd,size_t cmd_len, +void *data,size_t data_len) +{ +struct m25p *flash = nor->priv; +struct spi_slave *spi = flash->spi; +int ret; + + ret =spi_claim_bus (spi); +if (ret <0 ) { +debug ("m25p80: unable to claim SPI bus\n" ); +return ret; + } + +if (nor->flags &SNOR_F_U_PAGE ) + spi->flags |=SPI_XFER_U_PAGE ; + + ret =spi_read_then_write (spi, cmd, cmd_len,NULL , data, data_len); +if (ret <0 ) { +debug ("m25p80: error %d reading %x\n" , ret, *cmd); +return ret; + } + +spi_release_bus (spi); + +return ret; +} + +static int m25p80_write (struct spi_nor *nor,const u8 *cmd,size_t cmd_len, +const void *data,size_t data_len) +{ +struct m25p *flash = nor->priv; +struct spi_slave *spi = flash->spi; +int ret; + + ret =spi_claim_bus (spi); +if (ret <0 ) { +debug ("m25p80: unable to claim SPI bus\n" ); +return ret; + } + +if (nor->flags &SNOR_F_U_PAGE ) + spi->flags |=SPI_XFER_U_PAGE ; + + ret =spi_read_then_write (spi, cmd, cmd_len, data,NULL , data_len); +if (ret <0 ) { +debug ("m25p80: error %d writing %x\n" , ret, *cmd); +return ret; + } + +spi_release_bus (spi); + +return ret; +}static int m25p_probe (struct udevice *dev) {struct spi_slave *spi =dev_get_parent_priv (dev);struct mtd_info *mtd =dev_get_uclass_priv (dev); +struct m25p *flash =dev_get_priv (dev); +struct spi_nor *nor; +int ret; + + nor = &flash->spi_nor; + +/* install hooks */ + nor->read_mmap = m25p80_read_mmap; + nor->read = m25p80_read; + nor->write = m25p80_write; + nor->read_reg = m25p80_read_reg; + nor->write_reg = m25p80_write_reg; + + nor->mtd = mtd; + nor->priv = flash; + flash->spi = spi; + +/* claim spi bus */ + ret =spi_claim_bus (spi); +if (ret) { +debug ("m25p80: failed to claim SPI bus: %d\n" , ret); +return ret; + } + +switch (spi->mode_rx) { +case SPI_RX_SLOW : + nor->read_mode =SNOR_READ ; +break ; +case SPI_RX_DUAL : + nor->read_mode =SNOR_READ_1_1_2 ; +break ; +case SPI_RX_QUAD : + nor->read_mode =SNOR_READ_1_1_4 ; +break ; + } + +switch (spi->mode) { +case SPI_TX_BYTE : + nor->mode =SNOR_WRITE_1_1_BYTE ; +break ; +case SPI_TX_QUAD : + nor->mode =SNOR_WRITE_1_1_4 ; +break ; + } + + nor->memory_map = spi->memory_map; + nor->max_write_size = spi->max_write_size; + +/* TODO: unrelated to spi_slave{} */ +if (spi->option &SPI_CONN_DUAL_SHARED ) + nor->dual =SNOR_DUAL_STACKED ; +else if (spi->option &SPI_CONN_DUAL_SEPARATED ) + nor->dual =SNOR_DUAL_PARALLEL ; + + ret =spi_nor_scan (nor); +if (ret) + goto err_scan; + + ret =add_mtd_device (mtd); +if (ret) + goto err_mtd;return 0 ; + +err_scan: +spi_release_bus (spi); +err_mtd: +spi_free_slave (spi); +device_remove (dev); +return ret; }static const struct udevice_id m25p_ids[] = {
@@ -34,4 +278,5 @@ U_BOOT_DRIVER(m25p80) = { .id = UCLASS_MTD, .of_match = m25p_ids, .probe = m25p_probe, + .priv_auto_alloc_size = sizeof(struct m25p), };
Signature · 1 line
1.9.1
PATCH v7 9/87 mtd: spi-nor: Add dm spi-nor probing
In reply to Jagan TekiThis patch adds driver-model probe from cmd_sf through MTD_DM_SPI_NOR which is depends on MTD and DM_SPI uclass.
--- cmd/sf.c | 4 ++-- common/env_sf.c | 4 ++-- drivers/mtd/spi-nor/Kconfig | 7 +++++++ drivers/mtd/spi-nor/Makefile | 2 ++ drivers/mtd/spi-nor/spi-nor-probe.c | 36 ++++++++++++++++++++++++++++++++++++ include/spi_flash.h | 18 +++++++++++++++++- 6 files changed, 66 insertions(+), 5 deletions(-) create mode 100644 drivers/mtd/spi-nor/spi-nor-probe.c
cmd/sf.c +2 -2
@@ -85,7 +85,7 @@ static int do_spi_flash_probe(int argc, char * const argv[])unsigned int speed =CONFIG_SF_DEFAULT_SPEED ;unsigned int mode =CONFIG_SF_DEFAULT_MODE ;char *endp; -#ifdef CONFIG_DM_SPI_FLASH +#if defined(CONFIG_DM_SPI_FLASH ) || defined(CONFIG_DM_MTD_SPI_NOR )struct udevice *new, *bus_dev;int ret;#else
@@ -118,7 +118,7 @@ static int do_spi_flash_probe(int argc, char * const argv[])return -1 ; } -#ifdef CONFIG_DM_SPI_FLASH +#if defined(CONFIG_DM_SPI_FLASH ) || defined(CONFIG_DM_MTD_SPI_NOR )/* Remove the old device, otherwise probe will just be a nop */ ret =spi_find_bus_and_cs (bus, cs, &bus_dev, &new);if (!ret) {
common/env_sf.c +2 -2
@@ -52,7 +52,7 @@ int saveenv(void)char *saved_buffer =NULL , flag =OBSOLETE_FLAG ;u32 saved_size, saved_offset, sector =1 ;int ret; -#ifdef CONFIG_DM_SPI_FLASH +#if defined(CONFIG_DM_SPI_FLASH ) || defined(CONFIG_DM_MTD_SPI_NOR )struct udevice *new; ret = spi_flash_probe_bus_cs(CONFIG_ENV_SPI_BUS, CONFIG_ENV_SPI_CS,
@@ -242,7 +242,7 @@ int saveenv(void)char *saved_buffer =NULL ;int ret =1 ;env_t env_new; -#ifdef CONFIG_DM_SPI_FLASH +#if defined(CONFIG_DM_SPI_FLASH ) || defined(CONFIG_DM_MTD_SPI_NOR )struct udevice *new; ret = spi_flash_probe_bus_cs(CONFIG_ENV_SPI_BUS, CONFIG_ENV_SPI_CS,
drivers/mtd/spi-nor/Kconfig +7 -0
@@ -1,5 +1,6 @@ menuconfig MTD_SPI_NOR tristate "SPI-NOR device support" + select DM_MTD_SPI_NOR if DM_SPI && MTD help This is the core SPI NOR framework which can be used to interact SPI-NOR to SPI driver interface layer and the SPI-NOR controller driver.
@@ -12,6 +13,12 @@ menuconfig MTD_SPI_NOR SPI-NOR controller drivers for SPI-NOR device access. Note that from SPI-NOR core to SPI drivers there should be an interface layer. +config DM_MTD_SPI_NOR + bool "MTD driver model for SPI-NOR" + help + This is enables MTD driver model support for SPI-NOR. Both MTD and SPI + driver models need to define for enabling this support. + if MTD_SPI_NOR config MTD_M25P80
drivers/mtd/spi-nor/Makefile +2 -0
@@ -6,6 +6,8 @@ ifdef CONFIG_MTD_SPI_NOR obj-y += spi-nor.o obj-y += spi-nor-ids.o + +obj-$(CONFIG_DM_MTD_SPI_NOR) += spi-nor-probe.o endif obj-$(CONFIG_MTD_M25P80) += m25p80.o
drivers/mtd/spi-nor/spi-nor-probe.c new file +36 -0
@@ -0,0 +1,36 @@ +/* +* Copyright (c) 2014 Google, Inc +* +* SPDX-License-Identifier: GPL-2.0+ +*/ + +#include <common.h> +#include <dm.h> +#include <spi.h> +#include <spi_flash.h> + +int spi_flash_probe_bus_cs (unsigned int busnum,unsigned int cs, +unsigned int max_hz,unsigned int spi_mode, +struct udevice **devp) +{ +struct spi_slave *slave; +struct udevice *bus; +char *str; +int ret; + +#if defined(CONFIG_SPL_BUILD ) && defined(CONFIG_USE_TINY_PRINTF ) + str ="spi_flash" ; +#else +char name[30 ]; + +snprintf (name,sizeof (name),"spi_flash@%d:%d" , busnum, cs); + str =strdup (name); +#endif + ret =spi_get_bus_and_cs (busnum, cs, max_hz, spi_mode, +"spi_flash_std" , str, &bus, &slave); +if (ret) +return ret; + + *devp = slave->dev; +return 0 ; +}
include/spi_flash.h +17 -1
@@ -108,6 +108,14 @@ struct spi_flash {#endif }; +#if defined(CONFIG_MTD_SPI_NOR ) && defined(CONFIG_DM_MTD_SPI_NOR ) + +int spi_flash_probe_bus_cs (unsigned int busnum,unsigned int cs, +unsigned int max_hz,unsigned int spi_mode, +struct udevice **devp); + +#endif +struct dm_spi_flash_ops {int (*read)(struct udevice *dev,u32 offset,size_t len,void *buf); int (*write)(struct udevice *dev, u32 offset, size_t len,
@@ -190,7 +198,15 @@ int sandbox_sf_bind_emul(struct sandbox_state *state, int busnum, int cs,void sandbox_sf_unbind_emul (struct sandbox_state *state,int busnum,int cs); -#else +#elif !defined(CONFIG_MTD_SPI_NOR ) + +struct sandbox_state ; + +int sandbox_sf_bind_emul (struct sandbox_state *state,int busnum,int cs, +struct udevice *bus,int of_offset,const char *spec); + +void sandbox_sf_unbind_emul (struct sandbox_state *state,int busnum,int cs); +struct spi_flash *spi_flash_probe (unsigned int bus,unsigned int cs,unsigned int max_hz,unsigned int spi_mode);
Signature · 1 line
1.9.1
PATCH v7 10/87 mtd: spi-nor: Add spi_flash_probe for mtd-dm-spi-nor
In reply to Jagan TekiWhile probing spi-nor in SPL spi_flash_probe is needed, so add the flash probe code in spi-nor-probe.c
--- drivers/mtd/spi-nor/spi-nor-probe.c | 15 +++++++++++++++ include/spi_flash.h | 6 ++++++ 2 files changed, 21 insertions(+)
drivers/mtd/spi-nor/spi-nor-probe.c +15 -0
@@ -9,6 +9,21 @@#include <spi.h> #include <spi_flash.h> +/* +* TODO(sjg at chromium.org): This is an old-style function. We should remove +* it when all SPI flash drivers use dm +*/ +spi_flash_t *spi_flash_probe (unsigned int bus,unsigned int cs, +unsigned int max_hz,unsigned int spi_mode) +{ +struct udevice *dev; + +if (spi_flash_probe_bus_cs (bus, cs, max_hz, spi_mode, &dev)) +return NULL ; + +return dev_get_uclass_priv (dev); +} +int spi_flash_probe_bus_cs (unsigned int busnum,unsigned int cs,unsigned int max_hz,unsigned int spi_mode,struct udevice **devp)
include/spi_flash.h +6 -0
@@ -110,10 +110,16 @@ struct spi_flash {#if defined(CONFIG_MTD_SPI_NOR ) && defined(CONFIG_DM_MTD_SPI_NOR ) +typedef struct mtd_info spi_flash_t ; +int spi_flash_probe_bus_cs (unsigned int busnum,unsigned int cs,unsigned int max_hz,unsigned int spi_mode,struct udevice **devp); +/* Compatibility function - this is the old U-Boot API */ +spi_flash_t *spi_flash_probe (unsigned int bus,unsigned int cs, +unsigned int max_hz,unsigned int spi_mode); +#endif struct dm_spi_flash_ops {
Signature · 1 line
1.9.1
PATCH v7 11/87 mtd: spi-nor: Add spi_flash_free for mtd-dm-spi-nor
In reply to Jagan Tekienv_sf need to free the flash while read error, so add the flash probe code in spi-nor-probe.c
--- drivers/mtd/spi-nor/spi-nor-probe.c | 7 +++++++ include/spi_flash.h | 3 +++ 2 files changed, 10 insertions(+)
drivers/mtd/spi-nor/spi-nor-probe.c +7 -0
@@ -9,6 +9,8 @@#include <spi.h> #include <spi_flash.h> +#include <dm/device-internal.h> +/* * TODO(sjg at chromium.org): This is an old-style function. We should remove * it when all SPI flash drivers use dm
@@ -24,6 +26,11 @@ spi_flash_t *spi_flash_probe(unsigned int bus, unsigned int cs,return dev_get_uclass_priv (dev); } +void spi_flash_free (spi_flash_t *flash) +{ +device_remove (flash->dev); +} +int spi_flash_probe_bus_cs (unsigned int busnum,unsigned int cs,unsigned int max_hz,unsigned int spi_mode,struct udevice **devp)
include/spi_flash.h +3 -0
@@ -120,6 +120,9 @@ int spi_flash_probe_bus_cs(unsigned int busnum, unsigned int cs,spi_flash_t *spi_flash_probe (unsigned int bus,unsigned int cs,unsigned int max_hz,unsigned int spi_mode); +/* Compatibility function - this is the old U-Boot API */ +void spi_flash_free (spi_flash_t *flash); +#endif struct dm_spi_flash_ops {
Signature · 1 line
1.9.1
PATCH v7 12/87 mtd: spi-nor: m25p80: Add spi_nor support for non-dm
In reply to Jagan TekiLike adding spi_nor support for dm-driven code in m25p80 add the same way for non-dm code as well.
- allocate spi_nor{}
- basic initilization
- install hooks
- call to spi-nor core, using spi_nor_scan
- register with mtd core
--- drivers/mtd/spi-nor/m25p80.c | 108 ++++++++++++++++++++++++++++++++++++++----- include/spi_flash.h | 18 +++++++- 2 files changed, 112 insertions(+), 14 deletions(-)
drivers/mtd/spi-nor/m25p80.c +96 -12
@@ -20,6 +20,9 @@struct m25p {struct spi_slave *spi;struct spi_nor spi_nor; +#ifndef CONFIG_DM_MTD_SPI_NOR +struct mtd_info mtd; +#endif }; static int spi_read_then_write(struct spi_slave *spi, const u8 *cmd,
@@ -188,16 +191,13 @@ static int m25p80_write(struct spi_nor *nor, const u8 *cmd, size_t cmd_len,return ret; } -static int m25p_probe (struct udevice *dev) +static int m25p80_spi_nor (struct spi_nor *nor) { -struct spi_slave *spi =dev_get_parent_priv (dev); -struct mtd_info *mtd =dev_get_uclass_priv (dev); -struct m25p *flash =dev_get_priv (dev); -struct spi_nor *nor; +struct mtd_info *mtd = nor->mtd; +struct m25p *flash = nor->priv; +struct spi_slave *spi = flash->spi;int ret; - nor = &flash->spi_nor; -/* install hooks */ nor->read_mmap = m25p80_read_mmap; nor->read = m25p80_read;
@@ -205,10 +205,6 @@ static int m25p_probe(struct udevice *dev) nor->read_reg = m25p80_read_reg; nor->write_reg = m25p80_write_reg; - nor->mtd = mtd; - nor->priv = flash; - flash->spi = spi; -/* claim spi bus */ ret =spi_claim_bus (spi);if (ret) {
@@ -260,10 +256,33 @@ err_scan:spi_release_bus (spi); err_mtd:spi_free_slave (spi); -device_remove (dev);return ret; } +#ifdef CONFIG_DM_MTD_SPI_NOR +static int m25p_probe (struct udevice *dev) +{ +struct spi_slave *spi =dev_get_parent_priv (dev); +struct mtd_info *mtd =dev_get_uclass_priv (dev); +struct m25p *flash =dev_get_priv (dev); +struct spi_nor *nor; +int ret; + + nor = &flash->spi_nor; + + nor->mtd = mtd; + nor->priv = flash; + flash->spi = spi; + + ret =m25p80_spi_nor (nor); +if (ret) { +device_remove (dev); +return ret; + } + +return 0 ; +} +static const struct udevice_id m25p_ids[] = {/* * Generic compatibility for SPI NOR that can be identified by the
@@ -280,3 +299,68 @@ U_BOOT_DRIVER(m25p80) = { .probe = m25p_probe, .priv_auto_alloc_size = sizeof(struct m25p), }; + +#else + +static struct mtd_info *m25p80_probe_tail (struct spi_slave *bus) +{ +struct m25p *flash; +struct spi_nor *nor; +int ret; + + flash =calloc (1 ,sizeof (*flash)); +if (!flash) { +debug ("mp25p80: failed to allocate m25p\n" ); +return NULL ; + } + + nor = &flash->spi_nor; + nor->mtd = &flash->mtd; + + nor->priv = flash; + flash->spi = bus; + + ret =m25p80_spi_nor (nor); +if (ret) { +free (flash); +return NULL ; + } + +return nor->mtd; +} + +struct mtd_info *spi_flash_probe (unsigned int busnum,unsigned int cs, +unsigned int max_hz,unsigned int spi_mode) +{ +struct spi_slave *bus; + + bus =spi_setup_slave (busnum, cs, max_hz, spi_mode); +if (!bus) +return NULL ; +return m25p80_probe_tail (bus); +} + +#ifdef CONFIG_OF_SPI_FLASH +struct mtd_info *spi_flash_probe_fdt (const void *blob,int slave_node, +int spi_node) +{ +struct spi_slave *bus; + + bus =spi_setup_slave_fdt (blob, slave_node, spi_node); +if (!bus) +return NULL ; +return m25p80_probe_tail (bus); +} +#endif + +void spi_flash_free (struct mtd_info *info) +{ +struct spi_nor *nor = info->priv; +struct m25p *flash = nor->priv; + +del_mtd_device (info); +spi_free_slave (flash->spi); +free (flash); +} + +#endif /* CONFIG_DM_MTD_SPI_NOR */
include/spi_flash.h +16 -2
@@ -108,10 +108,12 @@ struct spi_flash {#endif }; -#if defined(CONFIG_MTD_SPI_NOR ) && defined(CONFIG_DM_MTD_SPI_NOR ) +#ifdef CONFIG_MTD_SPI_NOR typedef struct mtd_info spi_flash_t ; +#ifdef CONFIG_DM_MTD_SPI_NOR +int spi_flash_probe_bus_cs (unsigned int busnum,unsigned int cs,unsigned int max_hz,unsigned int spi_mode,struct udevice **devp);
@@ -123,7 +125,19 @@ spi_flash_t *spi_flash_probe(unsigned int bus, unsigned int cs,/* Compatibility function - this is the old U-Boot API */ void spi_flash_free (spi_flash_t *flash); -#endif +#else + +spi_flash_t *spi_flash_probe (unsigned int bus,unsigned int cs, +unsigned int max_hz,unsigned int spi_mode); + +spi_flash_t *spi_flash_probe_fdt (const void *blob,int slave_node, +int spi_node); + +void spi_flash_free (spi_flash_t *flash); + +#endif /* CONFIG_DM_MTD_SPI_NOR */ + +#endif /* CONFIG_MTD_SPI_NOR */ struct dm_spi_flash_ops {int (*read)(struct udevice *dev,u32 offset,size_t len,void *buf);
Signature · 1 line
1.9.1
PATCH v7 13/87 sf: Rename erase_size to erasesize
In reply to Jagan Tekierasesize name looks similar as the way mtd_info{} used so renamed erase_size to erasesize and more over the spi-flash will use mtd in future patches.
--- drivers/mtd/spi/sf_dataflash.c | 4 ++-- drivers/mtd/spi/spi_flash.c | 14 +++++++------- include/spi_flash.h | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-)
drivers/mtd/spi/sf_dataflash.c +2 -2
@@ -427,12 +427,12 @@ static int add_dataflash(struct udevice *dev, char *name, int nr_pages, spi_flash->name = name; spi_flash->page_size = pagesize; spi_flash->size = nr_pages * pagesize; - spi_flash->erase_size = pagesize; + spi_flash->erasesize = pagesize;#ifndef CONFIG_SPL_BUILD printf ("SPI DataFlash: Detected %s with page size " , spi_flash->name);print_size (spi_flash->page_size,", erase size " ); -print_size (spi_flash->erase_size,", total " ); +print_size (spi_flash->erasesize,", total " );print_size (spi_flash->size,"" );printf (", revision %c" , revision);puts ("\n" );
drivers/mtd/spi/spi_flash.c +7 -7
@@ -329,7 +329,7 @@ int spi_flash_cmd_erase_ops(struct spi_flash *flash, u32 offset, size_t len)u8 cmd[SPI_FLASH_CMD_LEN ];int ret =-1 ; - erase_size = flash->erase_size; + erase_size = flash->erasesize;if (offset % erase_size || len % erase_size) {debug ("SF: Erase offset/length not multiple of erase size\n" );return -1 ;
@@ -804,7 +804,7 @@ int stm_unlock(struct spi_flash *flash, u32 ofs, size_t len)return ret;/* Cannot unlock; would unlock larger region than requested */ -if (stm_is_locked_sr (flash, ofs - flash->erase_size, flash->erase_size, +if (stm_is_locked_sr (flash, ofs - flash->erasesize, flash->erasesize, status_old))return -EINVAL ;/*
@@ -1091,17 +1091,17 @@ int spi_flash_scan(struct spi_flash *flash)/* Compute erase sector and command */ if (params->flags &SECT_4K ) { flash->erase_cmd =CMD_ERASE_4K ; - flash->erase_size =4096 << flash->shift; + flash->erasesize =4096 << flash->shift; }else if (params->flags &SECT_32K ) { flash->erase_cmd =CMD_ERASE_32K ; - flash->erase_size =32768 << flash->shift; + flash->erasesize =32768 << flash->shift; }else { flash->erase_cmd =CMD_ERASE_64K ; - flash->erase_size = flash->sector_size; + flash->erasesize = flash->sector_size; }/* Now erase size becomes valid sector size */ - flash->sector_size = flash->erase_size; + flash->sector_size = flash->erasesize;/* Look for the fastest read cmd */ cmd =fls (params->e_rd_cmd & spi->mode_rx);
@@ -1173,7 +1173,7 @@ int spi_flash_scan(struct spi_flash *flash)#ifndef CONFIG_SPL_BUILD printf ("SF: Detected %s with page size " , flash->name);print_size (flash->page_size,", erase size " ); -print_size (flash->erase_size,", total " ); +print_size (flash->erasesize,", total " );print_size (flash->size,"" );if (flash->memory_map)printf (", mapped at %p" , flash->memory_map);
include/spi_flash.h +2 -2
@@ -40,7 +40,7 @@ struct spi_slave;* @size: Total flash size * @page_size: Write (page) size * @sector_size: Sector size -* @erase_size: Erase size +* @erasesize: Erase size * @bank_read_cmd: Bank read cmd * @bank_write_cmd: Bank write cmd * @bank_curr: Current flash bank
@@ -73,7 +73,7 @@ struct spi_flash {u32 size;u32 page_size;u32 sector_size; -u32 erase_size; +u32 erasesize;#ifdef CONFIG_SPI_FLASH_BAR u8 bank_read_cmd;u8 bank_write_cmd;
Signature · 1 line
1.9.1
PATCH v7 14/87 sf: Use erasesize instead of sector_size
In reply to Jagan TekiFor computing proper sector_size the below patch assigned erase_size which is a proper sector computation size, so this patch directly used erasesize instead of assignment.
"sf: Fix to compute proper sector_size" (sha1: c650ca7b4c160193791dc7a52381c71c6a29e871)
--- cmd/sf.c | 20 ++++++++++---------- drivers/dfu/dfu_sf.c | 8 ++++---- drivers/mtd/spi/sf_mtd.c | 2 +- drivers/mtd/spi/spi_flash.c | 3 --- 4 files changed, 15 insertions(+), 18 deletions(-)
cmd/sf.c +10 -10
@@ -53,8 +53,8 @@ static int sf_parse_len_arg(char *arg, ulong *len)if (ep == arg || *ep !='\0' )return -1 ; -if (round_up_len && flash->sector_size >0 ) - *len =ROUND (len_arg, flash->sector_size); +if (round_up_len && flash->erasesize >0 ) + *len =ROUND (len_arg, flash->erasesize);else *len = len_arg;
@@ -171,10 +171,10 @@ static const char *spi_flash_update_block(struct spi_flash *flash, u32 offset, {char *ptr = (char *)buf; -debug ("offset=%#x, sector_size=%#x, len=%#zx\n" , - offset, flash->sector_size, len); +debug ("offset=%#x, erasesize=%#x, len=%#zx\n" , + offset, flash->erasesize, len);/* Read the entire sector so to allow for rewriting */ -if (spi_flash_read (flash, offset, flash->sector_size, cmp_buf)) +if (spi_flash_read (flash, offset, flash->erasesize, cmp_buf))return "read" ;/* Compare only what is meaningful (len) */ if (memcmp (cmp_buf, buf, len) ==0 ) {
@@ -184,15 +184,15 @@ static const char *spi_flash_update_block(struct spi_flash *flash, u32 offset,return NULL ; }/* Erase the entire sector */ -if (spi_flash_erase (flash, offset, flash->sector_size)) +if (spi_flash_erase (flash, offset, flash->erasesize))return "erase" ;/* If it's a partial sector, copy the data into the temp-buffer */ -if (len != flash->sector_size) { +if (len != flash->erasesize) {memcpy (cmp_buf, buf, len); ptr = cmp_buf; }/* Write one complete sector */ -if (spi_flash_write (flash, offset, flash->sector_size, ptr)) +if (spi_flash_write (flash, offset, flash->erasesize, ptr))return "write" ;return NULL ;
@@ -223,12 +223,12 @@ static int spi_flash_update(struct spi_flash *flash, u32 offset,if (end - buf >=200 ) scale = (end - buf) /100 ; - cmp_buf =memalign (ARCH_DMA_MINALIGN , flash->sector_size); + cmp_buf =memalign (ARCH_DMA_MINALIGN , flash->erasesize);if (cmp_buf) {ulong last_update =get_timer (0 );for (; buf < end && !err_oper; buf += todo, offset += todo) { - todo =min_t (size_t, end - buf, flash->sector_size); + todo =min_t (size_t, end - buf, flash->erasesize);if (get_timer (last_update) >100 ) { printf(" \rUpdating, %zu%% %lu B/s", 100 - (end - buf) / scale,
drivers/dfu/dfu_sf.c +4 -4
@@ -25,8 +25,8 @@ static int dfu_read_medium_sf(struct dfu_entity *dfu, u64 offset, void *buf,static u64 find_sector (struct dfu_entity *dfu,u64 start,u64 offset) { -return (lldiv ((start + offset), dfu->data.sf.dev->sector_size)) * - dfu->data.sf.dev->sector_size; +return (lldiv ((start + offset), dfu->data.sf.dev->erasesize)) * + dfu->data.sf.dev->erasesize; } static int dfu_write_medium_sf(struct dfu_entity *dfu,
@@ -36,7 +36,7 @@ static int dfu_write_medium_sf(struct dfu_entity *dfu, ret =spi_flash_erase (dfu->data.sf.dev,find_sector (dfu, dfu->data.sf.start, offset), - dfu->data.sf.dev->sector_size); + dfu->data.sf.dev->erasesize);if (ret)return ret;
@@ -123,7 +123,7 @@ int dfu_fill_entity_sf(struct dfu_entity *dfu, char *devstr, char *s)return -ENODEV ; dfu->dev_type =DFU_DEV_SF ; - dfu->max_buf_size = dfu->data.sf.dev->sector_size; + dfu->max_buf_size = dfu->data.sf.dev->erasesize; st =strsep (&s," " );if (!strcmp (st,"raw" )) {
drivers/mtd/spi/sf_mtd.c +1 -1
@@ -93,7 +93,7 @@ int spi_flash_mtd_register(struct spi_flash *flash)/* Only uniform flash devices for now */ sf_mtd_info.numeraseregions =0 ; - sf_mtd_info.erasesize = flash->sector_size; + sf_mtd_info.erasesize = flash->erasesize;return add_mtd_device (&sf_mtd_info); }
drivers/mtd/spi/spi_flash.c +0 -3
@@ -1100,9 +1100,6 @@ int spi_flash_scan(struct spi_flash *flash) flash->erasesize = flash->sector_size; } -/* Now erase size becomes valid sector size */ - flash->sector_size = flash->erasesize; -/* Look for the fastest read cmd */ cmd =fls (params->e_rd_cmd & spi->mode_rx);if (cmd) {
Signature · 1 line
1.9.1
PATCH v7 15/87 sf: Use uint64_t for flash->size
In reply to Jagan TekiTo sync with size in mtd_info{} this patch change data type of size to uint64_t
--- cmd/sf.c | 4 ++-- include/spi_flash.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)
cmd/sf.c +2 -2
@@ -280,7 +280,7 @@ static int do_spi_flash_read_write(int argc, char * const argv[])/* Consistency checking */ if (offset + len > flash->size) { -printf ("ERROR: attempting %s past flash size (%#x)\n" , +printf ("ERROR: attempting %s past flash size (%#llx)\n" , argv[0 ], flash->size);return 1 ; }
@@ -336,7 +336,7 @@ static int do_spi_flash_erase(int argc, char * const argv[])/* Consistency checking */ if (offset + size > flash->size) { -printf ("ERROR: attempting %s past flash size (%#x)\n" , +printf ("ERROR: attempting %s past flash size (%#llx)\n" , argv[0 ], flash->size);return 1 ; }
include/spi_flash.h +1 -1
@@ -70,7 +70,7 @@ struct spi_flash {u8 shift;u16 flags; -u32 size; +uint64_t size;u32 page_size;u32 sector_size;u32 erasesize;
Signature · 1 line
1.9.1
PATCH v7 16/87 spi_flash: Use mtd_info operation for SPI-NOR
In reply to Jagan TekiSince spi-nor is using mtd layer for flash operations this patch used mtd ops from user commands instead of legacy spi_flash{} ops.
--- include/spi_flash.h | 60 ++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 48 insertions(+), 12 deletions(-)
include/spi_flash.h +48 -12
@@ -12,6 +12,7 @@#include <dm.h> /* Because we dereference struct udevice here */ #include <linux/types.h> +#include <linux/mtd/mtd.h> #ifndef CONFIG_SF_DEFAULT_SPEED # define CONFIG_SF_DEFAULT_SPEED 1000000
@@ -112,6 +113,39 @@ struct spi_flash {typedef struct mtd_info spi_flash_t ; +static inline int spi_flash_read (spi_flash_t *info,u32 offset, +size_t len,void *buf) +{ +return mtd_read (info, offset, len, &len, (u_char *)buf); +} + +static inline int spi_flash_write (spi_flash_t *info,u32 offset, +size_t len,const void *buf) +{ +return mtd_write (info, offset, len, &len, (u_char *)buf); +} + +static inline int spi_flash_erase (spi_flash_t *info,u32 offset,size_t len) +{ +struct erase_info instr; + + instr.mtd = info; + instr.addr = offset; + instr.len = len; + instr.callback =0 ; + +return mtd_erase (info, &instr); +} + +static inline int spi_flash_protect (spi_flash_t *info,u32 ofs, +u32 len,bool prot) +{ +if (prot) +return mtd_lock (info, ofs, len); +else +return mtd_unlock (info, ofs, len); +} +#ifdef CONFIG_DM_MTD_SPI_NOR int spi_flash_probe_bus_cs(unsigned int busnum, unsigned int cs,
@@ -137,6 +171,20 @@ void spi_flash_free(spi_flash_t *flash);#endif /* CONFIG_DM_MTD_SPI_NOR */ +#else + +static inline int spi_flash_protect (struct spi_flash *flash,u32 ofs,u32 len, +bool prot) +{ +if (!flash->flash_lock || !flash->flash_unlock) +return -EOPNOTSUPP ; + +if (prot) +return flash->flash_lock (flash, ofs, len); +else +return flash->flash_unlock (flash, ofs, len); +} +#endif /* CONFIG_MTD_SPI_NOR */ struct dm_spi_flash_ops {
@@ -266,18 +314,6 @@ static inline int spi_flash_erase(struct spi_flash *flash, u32 offset, }#endif -static inline int spi_flash_protect (struct spi_flash *flash,u32 ofs,u32 len, -bool prot) -{ -if (!flash->flash_lock || !flash->flash_unlock) -return -EOPNOTSUPP ; - -if (prot) -return flash->flash_lock (flash, ofs, len); -else -return flash->flash_unlock (flash, ofs, len); -} -void spi_boot (void )__noreturn ;void spi_spl_load_image (uint32_t offs,unsigned int size,void *vdst);
Signature · 1 line
1.9.1
PATCH v7 17/87 spi_flash: Use spi_flash_t instead of struct spi_flash
In reply to Jagan Tekispi_flash_t same typedef alias name for spi_flash and mtd_info so which one will use based on the user config definition.
--- cmd/sf.c | 10 +++++----- common/env_sf.c | 2 +- include/spi_flash.h | 2 ++ 3 files changed, 8 insertions(+), 6 deletions(-)
cmd/sf.c +5 -5
@@ -19,7 +19,7 @@#include <asm/io.h> #include <dm/device-internal.h> -static struct spi_flash *flash; +static spi_flash_t *flash;/* * This function computes the length argument for the erase command.
@@ -89,7 +89,7 @@ static int do_spi_flash_probe(int argc, char * const argv[])struct udevice *new, *bus_dev;int ret;#else -struct spi_flash *new; +spi_flash_t *new;#endif if (argc >=2 ) {
@@ -166,7 +166,7 @@ static int do_spi_flash_probe(int argc, char * const argv[])* @param skipped Count of skipped data (incremented by this function) * @return NULL if OK, else a string containing the stage which failed */ -static const char *spi_flash_update_block (struct spi_flash *flash,u32 offset, +static const char *spi_flash_update_block (spi_flash_t *flash,u32 offset,size_t len,const char *buf,char *cmp_buf,size_t *skipped) {char *ptr = (char *)buf;
@@ -208,7 +208,7 @@ static const char *spi_flash_update_block(struct spi_flash *flash, u32 offset,* @param buf buffer to write from * @return 0 if ok, 1 on error */ -static int spi_flash_update (struct spi_flash *flash,u32 offset, +static int spi_flash_update (spi_flash_t *flash,u32 offset,size_t len,const char *buf) {const char *err_oper =NULL ;
@@ -436,7 +436,7 @@ static void spi_test_next_stage(struct test_info *test)* @param vbuf Verification buffer * @return 0 if ok, -1 on error */ -static int spi_flash_test (struct spi_flash *flash,uint8_t *buf,ulong len, +static int spi_flash_test (spi_flash_t *flash,uint8_t *buf,ulong len,ulong offset,uint8_t *vbuf) {struct test_info test;
common/env_sf.c +1 -1
@@ -43,7 +43,7 @@ DECLARE_GLOBAL_DATA_PTR;char *env_name_spec ="SPI Flash" ; -static struct spi_flash *env_flash; +static spi_flash_t *env_flash;#if defined(CONFIG_ENV_OFFSET_REDUND )int saveenv (void )
include/spi_flash.h +2 -0
@@ -173,6 +173,8 @@ void spi_flash_free(spi_flash_t *flash);#else +typedef struct spi_flash spi_flash_t ; +static inline int spi_flash_protect (struct spi_flash *flash,u32 ofs,u32 len,bool prot) {
Signature · 1 line
1.9.1
PATCH v7 18/87 mtd: spi-nor: Move spi_read_then_write to spi layer
In reply to Jagan TekiSince spi_read_then_write is doing spi operations like setting up commands, tx and rx through spi_xfer, So it is meanfull to have this definition at spi layer and flash layer should use this whenever required.
--- drivers/mtd/spi-nor/m25p80.c | 25 ------------------------- drivers/spi/spi-uclass.c | 25 +++++++++++++++++++++++++ drivers/spi/spi.c | 31 +++++++++++++++++++++++++++++++ include/spi.h | 5 +++++ 4 files changed, 61 insertions(+), 25 deletions(-)
drivers/mtd/spi-nor/m25p80.c +0 -25
@@ -25,31 +25,6 @@ struct m25p {#endif }; -static int spi_read_then_write (struct spi_slave *spi,const u8 *cmd, -size_t cmd_len,const u8 *data_out, -u8 *data_in,size_t data_len) -{ -unsigned long flags =SPI_XFER_BEGIN ; -int ret; - -if (data_len ==0 ) - flags |=SPI_XFER_END ; - - ret =spi_xfer (spi, cmd_len *8 , cmd,NULL , flags); -if (ret) { -debug ("SF: Failed to send command (%zu bytes): %d\n" , - cmd_len, ret); - }else if (data_len !=0 ) { - ret =spi_xfer (spi, data_len *8 , data_out, data_in, -SPI_XFER_END ); -if (ret) -debug ("SF: Failed to transfer %zu bytes of data: %d\n" , - data_len, ret); - } - -return ret; -} -static int m25p80_read_reg (struct spi_nor *nor,u8 cmd,u8 *val,int len) {struct m25p *flash = nor->priv;
drivers/spi/spi-uclass.c +25 -0
@@ -95,6 +95,31 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen,return spi_get_ops (bus)->xfer (dev, bitlen, dout, din, flags); } +int spi_read_then_write (struct spi_slave *spi,const u8 *cmd, +size_t cmd_len,const u8 *data_out, +u8 *data_in,size_t data_len) +{ +unsigned long flags =SPI_XFER_BEGIN ; +int ret; + +if (data_len ==0 ) + flags |=SPI_XFER_END ; + + ret =spi_xfer (spi, cmd_len *8 , cmd,NULL , flags); +if (ret) { +debug ("spi: failed to send command (%zu bytes): %d\n" , + cmd_len, ret); + }else if (data_len !=0 ) { + ret =spi_xfer (spi, data_len *8 , data_out, data_in, +SPI_XFER_END ); +if (ret) +debug ("spi: failed to transfer %zu bytes of data: %d\n" , + data_len, ret); + } + +return ret; +} +static int spi_post_bind (struct udevice *dev) {/* Scan the bus for devices */
drivers/spi/spi.c +31 -0
@@ -39,6 +39,37 @@ void *spi_do_alloc_slave(int offset, int size, unsigned int bus,return ptr; } +int __weak spi_xfer (struct spi_slave *slave,unsigned int bitlen, +const void *dout,void *din,unsigned long flags) +{ +return 0 ; +} + +int spi_read_then_write (struct spi_slave *spi,const u8 *cmd, +size_t cmd_len,const u8 *data_out, +u8 *data_in,size_t data_len) +{ +unsigned long flags =SPI_XFER_BEGIN ; +int ret; + +if (data_len ==0 ) + flags |=SPI_XFER_END ; + + ret =spi_xfer (spi, cmd_len *8 , cmd,NULL , flags); +if (ret) { +debug ("spi: failed to send command (%zu bytes): %d\n" , + cmd_len, ret); + }else if (data_len !=0 ) { + ret =spi_xfer (spi, data_len *8 , data_out, data_in, +SPI_XFER_END ); +if (ret) +debug ("spi: failed to transfer %zu bytes of data: %d\n" , + data_len, ret); + } + +return ret; +} +#ifdef CONFIG_OF_SPI struct spi_slave *spi_base_setup_slave_fdt (const void *blob,int busnum,int node)
include/spi.h +5 -0
@@ -265,6 +265,11 @@ int spi_set_wordlen(struct spi_slave *slave, unsigned int wordlen);int spi_xfer (struct spi_slave *slave,unsigned int bitlen,const void *dout,void *din,unsigned long flags); +/* spi_write_then_read - SPI synchronous read followed by write */ +int spi_read_then_write (struct spi_slave *spi,const u8 *cmd, +size_t cmd_len,const u8 *data_out, +u8 *data_in,size_t data_len); +/* Copy memory mapped data */ void spi_flash_copy_mmap (void *data,void *offset,size_t len);
Signature · 1 line
1.9.1
PATCH v7 19/87 spi: Rename spi_read_then_write to spi_write_then_read
In reply to Jagan TekiSince spi_read_then_write moved into spi layer, the meaning of data transfer is also change from read_then_write to write_then_read, this means first spi will write the opcode through and then read the respective buffer.
--- drivers/mtd/spi-nor/m25p80.c | 8 ++++---- drivers/spi/spi-uclass.c | 19 +++++++++---------- drivers/spi/spi.c | 19 +++++++++---------- include/spi.h | 23 +++++++++++++++++++---- 4 files changed, 41 insertions(+), 28 deletions(-)
drivers/mtd/spi-nor/m25p80.c +4 -4
@@ -40,7 +40,7 @@ static int m25p80_read_reg(struct spi_nor *nor, u8 cmd, u8 *val, int len)if (nor->flags &SNOR_F_U_PAGE ) spi->flags |=SPI_XFER_U_PAGE ; - ret =spi_read_then_write (spi, &cmd,1 ,NULL , val, len); + ret =spi_write_then_read (spi, &cmd,1 ,NULL , val, len);if (ret <0 ) {debug ("m25p80: error %d reading register %x\n" , ret, cmd);return ret;
@@ -66,7 +66,7 @@ static int m25p80_write_reg(struct spi_nor *nor, u8 cmd, u8 *buf, int len)if (nor->flags &SNOR_F_U_PAGE ) spi->flags |=SPI_XFER_U_PAGE ; - ret =spi_read_then_write (spi, &cmd,1 , buf,NULL , len); + ret =spi_write_then_read (spi, &cmd,1 , buf,NULL , len);if (ret <0 ) {debug ("m25p80: error %d writing register %x\n" , ret, cmd);return ret;
@@ -128,7 +128,7 @@ static int m25p80_read(struct spi_nor *nor, const u8 *cmd, size_t cmd_len,if (nor->flags &SNOR_F_U_PAGE ) spi->flags |=SPI_XFER_U_PAGE ; - ret =spi_read_then_write (spi, cmd, cmd_len,NULL , data, data_len); + ret =spi_write_then_read (spi, cmd, cmd_len,NULL , data, data_len);if (ret <0 ) {debug ("m25p80: error %d reading %x\n" , ret, *cmd);return ret;
@@ -155,7 +155,7 @@ static int m25p80_write(struct spi_nor *nor, const u8 *cmd, size_t cmd_len,if (nor->flags &SNOR_F_U_PAGE ) spi->flags |=SPI_XFER_U_PAGE ; - ret =spi_read_then_write (spi, cmd, cmd_len, data,NULL , data_len); + ret =spi_write_then_read (spi, cmd, cmd_len, data,NULL , data_len);if (ret <0 ) {debug ("m25p80: error %d writing %x\n" , ret, *cmd);return ret;
drivers/spi/spi-uclass.c +9 -10
@@ -95,26 +95,25 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen,return spi_get_ops (bus)->xfer (dev, bitlen, dout, din, flags); } -int spi_read_then_write (struct spi_slave *spi,const u8 *cmd, -size_t cmd_len,const u8 *data_out, -u8 *data_in,size_t data_len) +int spi_write_then_read (struct spi_slave *slave,const u8 *opcode, +size_t n_opcode,const u8 *txbuf,u8 *rxbuf, +size_t n_buf) {unsigned long flags =SPI_XFER_BEGIN ;int ret; -if (data_len ==0 ) +if (n_buf ==0 ) flags |=SPI_XFER_END ; - ret =spi_xfer (spi, cmd_len *8 , cmd,NULL , flags); + ret =spi_xfer (slave, n_opcode *8 , opcode,NULL , flags);if (ret) {debug ("spi: failed to send command (%zu bytes): %d\n" , - cmd_len, ret); - }else if (data_len !=0 ) { - ret =spi_xfer (spi, data_len *8 , data_out, data_in, -SPI_XFER_END ); + n_opcode, ret); + }else if (n_buf !=0 ) { + ret =spi_xfer (slave, n_buf *8 , txbuf, rxbuf,SPI_XFER_END );if (ret)debug ("spi: failed to transfer %zu bytes of data: %d\n" , - data_len, ret); + n_buf, ret); }return ret;
drivers/spi/spi.c +9 -10
@@ -45,26 +45,25 @@ int __weak spi_xfer(struct spi_slave *slave, unsigned int bitlen,return 0 ; } -int spi_read_then_write (struct spi_slave *spi,const u8 *cmd, -size_t cmd_len,const u8 *data_out, -u8 *data_in,size_t data_len) +int spi_write_then_read (struct spi_slave *slave,const u8 *opcode, +size_t n_opcode,const u8 *txbuf,u8 *rxbuf, +size_t n_buf) {unsigned long flags =SPI_XFER_BEGIN ;int ret; -if (data_len ==0 ) +if (n_buf ==0 ) flags |=SPI_XFER_END ; - ret =spi_xfer (spi, cmd_len *8 , cmd,NULL , flags); + ret =spi_xfer (slave, n_opcode *8 , opcode,NULL , flags);if (ret) {debug ("spi: failed to send command (%zu bytes): %d\n" , - cmd_len, ret); - }else if (data_len !=0 ) { - ret =spi_xfer (spi, data_len *8 , data_out, data_in, -SPI_XFER_END ); + n_opcode, ret); + }else if (n_buf !=0 ) { + ret =spi_xfer (slave, n_buf *8 , txbuf, rxbuf,SPI_XFER_END );if (ret)debug ("spi: failed to transfer %zu bytes of data: %d\n" , - data_len, ret); + n_buf, ret); }return ret;
include/spi.h +19 -4
@@ -265,10 +265,25 @@ int spi_set_wordlen(struct spi_slave *slave, unsigned int wordlen);int spi_xfer (struct spi_slave *slave,unsigned int bitlen,const void *dout,void *din,unsigned long flags); -/* spi_write_then_read - SPI synchronous read followed by write */ -int spi_read_then_write (struct spi_slave *spi,const u8 *cmd, -size_t cmd_len,const u8 *data_out, -u8 *data_in,size_t data_len); +/** +* spi_write_then_read - SPI synchronous write followed by read +* +* This performs a half duplex transaction in which the first transaction +* is to send the opcode and if the length of buf is non-zero then it start +* the second transaction as tx or rx based on the need from respective slave. +* +* @slave: slave device with which opcode/data will be exchanged +* @opcode: opcode used for specific transfer +* @n_opcode: size of opcode, in bytes +* @txbuf: buffer into which data to be written +* @rxbuf: buffer into which data will be read +* @n_buf: size of buf (whether it's [tx|rx]buf), in bytes +* +* Returns: 0 on success, not 0 on failure +*/ +int spi_write_then_read (struct spi_slave *slave,const u8 *opcode, +size_t n_opcode,const u8 *txbuf,u8 *rxbuf, +size_t n_buf);/* Copy memory mapped data */ void spi_flash_copy_mmap (void *data,void *offset,size_t len);
Signature · 1 line
1.9.1
PATCH v7 20/87 mtd: spi-nor: Rename SPI_FLASH_BAR to SPI_NOR_BAR
In reply to Jagan TekiRenamed SPI_FLASH_BAR to SPI_NOR_BAR
--- drivers/mtd/spi-nor/spi-nor.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)
drivers/mtd/spi-nor/spi-nor.c +7 -7
@@ -181,7 +181,7 @@ static int spi_nor_wait_till_ready(struct spi_nor *nor, unsigned long timeout)return -ETIMEDOUT ; } -#ifdef CONFIG_SPI_FLASH_BAR +#ifdef CONFIG_SPI_NOR_BAR static int spi_nor_write_bar (struct spi_nor *nor,u32 offset) {u8 bank_sel;
@@ -514,7 +514,7 @@ static int spi_nor_erase(struct mtd_info *mtd, struct erase_info *instr)if (nor->dual >SNOR_DUAL_SINGLE )spi_nor_dual (nor, &erase_addr);#endif -#ifdef CONFIG_SPI_FLASH_BAR +#ifdef CONFIG_SPI_NOR_BAR ret =spi_nor_write_bar (nor, erase_addr);if (ret <0 )return ret;
@@ -577,7 +577,7 @@ static int spi_nor_write(struct mtd_info *mtd, loff_t offset, size_t len,if (nor->dual >SNOR_DUAL_SINGLE )spi_nor_dual (nor, &write_addr);#endif -#ifdef CONFIG_SPI_FLASH_BAR +#ifdef CONFIG_SPI_NOR_BAR ret =spi_nor_write_bar (nor, write_addr);if (ret <0 )return ret;
@@ -647,7 +647,7 @@ static int spi_nor_read(struct mtd_info *mtd, loff_t from, size_t len,if (nor->dual >SNOR_DUAL_SINGLE )spi_nor_dual (nor, &read_addr);#endif -#ifdef CONFIG_SPI_FLASH_BAR +#ifdef CONFIG_SPI_NOR_BAR ret =spi_nor_write_bar (nor, read_addr);if (ret <0 )return ret;
@@ -1103,7 +1103,7 @@ int spi_nor_scan(struct spi_nor *nor) }/* Configure the BAR - discover bank cmds and read current bank */ -#ifdef CONFIG_SPI_FLASH_BAR +#ifdef CONFIG_SPI_NOR_BAR ret =spi_nor_read_bar (nor, info);if (ret <0 )return ret;
@@ -1127,13 +1127,13 @@ int spi_nor_scan(struct spi_nor *nor)puts ("\n" );#endif -#ifndef CONFIG_SPI_FLASH_BAR +#ifndef CONFIG_SPI_NOR_BAR if (((nor->dual ==SNOR_DUAL_SINGLE ) && (mtd->size >SNOR_16MB_BOUN )) || ((nor->dual >SNOR_DUAL_SINGLE ) && (mtd->size >SNOR_16MB_BOUN <<1 ))) {puts ("spi-nor: Warning - Only lower 16MiB accessible," ); -puts (" Full access #define CONFIG_SPI_FLASH_BAR\n" ); +puts (" Full access #define CONFIG_SPI_NOR_BAR\n" ); }#endif
Signature · 1 line
1.9.1
PATCH v7 21/87 mtd: spi-nor: Add Kconfig entry for SPI_NOR_BAR
In reply to Jagan TekiAdded kconfig entry for SPI_NOR_BAR
--- drivers/mtd/spi-nor/Kconfig | 7 +++++++ 1 file changed, 7 insertions(+)
drivers/mtd/spi-nor/Kconfig +7 -0
@@ -51,4 +51,11 @@ config MTD_SPI_NOR_USE_4K_SECTORS Please note that some tools/drivers/filesystems may not work with 4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum). +config SPI_NOR_BAR + bool "SPI NOR Bank/Extended address register support" + help + Enable the SPI NOR Bank/Extended address register support. + Bank/Extended address registers are used to access the flash + which has size > 16MiB in 3-byte addressing. + endif # MTD_SPI_NOR
Signature · 1 line
1.9.1
PATCH v7 22/87 mtd: spi-nor: Copy spl files from drivers/mtd/spi
In reply to Jagan TekiCopy spl files from drivers/mtd/spi to spi-nor,
more changes will added on future patches.
--- drivers/mtd/spi-nor/Makefile | 5 +++ drivers/mtd/spi-nor/fsl_espi_spl.c | 90 ++++++++++++++++++++++++++++++++++++++ drivers/mtd/spi-nor/spi_spl_load.c | 90 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 185 insertions(+) create mode 100644 drivers/mtd/spi-nor/fsl_espi_spl.c create mode 100644 drivers/mtd/spi-nor/spi_spl_load.c
drivers/mtd/spi-nor/Makefile +5 -0
@@ -3,6 +3,11 @@ # # SPDX-License-Identifier: GPL-2.0+ +ifdef CONFIG_SPL_BUILD +obj-$(CONFIG_SPL_SPI_LOAD) += spi_spl_load.o +obj-$(CONFIG_SPL_SPI_BOOT) += fsl_espi_spl.o +endif + ifdef CONFIG_MTD_SPI_NOR obj-y += spi-nor.o obj-y += spi-nor-ids.o
drivers/mtd/spi-nor/fsl_espi_spl.c new file +90 -0
90 lines not on this page · raw message
drivers/mtd/spi-nor/spi_spl_load.c new file +90 -0
90 lines not on this page · raw message
Signature · 1 line
1.9.1
PATCH v7 23/87 mtd: spi-nor: spl: Follow ascending order of include headers
In reply to Jagan TekiUse ascending order while including headers files.
--- drivers/mtd/spi-nor/fsl_espi_spl.c | 2 +- drivers/mtd/spi-nor/spi_spl_load.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
drivers/mtd/spi-nor/fsl_espi_spl.c +1 -1
@@ -5,8 +5,8 @@*/ #include <common.h> -#include <spi_flash.h> #include <malloc.h> +#include <spi_flash.h> #define ESPI_BOOT_IMAGE_SIZE 0x48#define ESPI_BOOT_IMAGE_ADDR 0x50
drivers/mtd/spi-nor/spi_spl_load.c +1 -1
@@ -10,9 +10,9 @@*/ #include <common.h> +#include <errno.h> #include <spi.h> #include <spi_flash.h> -#include <errno.h> #include <spl.h> #ifdef CONFIG_SPL_OS_BOOT
Signature · 1 line
1.9.1
PATCH v7 24/87 mtd: spi-nor: fsl_espi_spl: Use mtd_info
In reply to Jagan TekiReplace spi_flash{} with mtd_info{}
--- drivers/mtd/spi-nor/fsl_espi_spl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/mtd/spi-nor/fsl_espi_spl.c +2 -2
@@ -14,7 +14,7 @@void spi_spl_load_image (uint32_t offs,unsigned int size,void *vdst) { -struct spi_flash *flash; +spi_flash_t *flash; flash =spi_flash_probe (CONFIG_ENV_SPI_BUS ,CONFIG_ENV_SPI_CS ,CONFIG_ENV_SPI_MAX_HZ ,CONFIG_ENV_SPI_MODE );
@@ -38,7 +38,7 @@ void spi_boot(void)#ifndef CONFIG_FSL_CORENET unsigned char *buf =NULL ;#endif -struct spi_flash *flash; +spi_flash_t *flash; flash =spi_flash_probe (CONFIG_ENV_SPI_BUS ,CONFIG_ENV_SPI_CS ,CONFIG_ENV_SPI_MAX_HZ ,CONFIG_ENV_SPI_MODE );
Signature · 1 line
1.9.1
PATCH v7 25/87 mtd: spi-nor: fsl_espi_spl: Use writebufsize instead of page_size
In reply to Jagan TekiReplace spi_flash{} with mtd_info{}
--- drivers/mtd/spi-nor/fsl_espi_spl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/mtd/spi-nor/fsl_espi_spl.c +3 -3
@@ -54,15 +54,15 @@ void spi_boot(void)/* * Load U-Boot image from SPI flash into RAM */ - buf =malloc (flash->page_size); + buf =malloc (flash->writebufsize);if (buf ==NULL ) {puts ("\nmalloc failed" );hang (); } -memset (buf,0 , flash->page_size); +memset (buf,0 , flash->writebufsize);spi_flash_read (flash,CONFIG_CFG_DATA_SECTOR , - flash->page_size, (void *)buf); + flash->writebufsize, (void *)buf); offset = *(u32 *)(buf +ESPI_BOOT_IMAGE_ADDR );/* Skip spl code */ offset +=CONFIG_SYS_SPI_FLASH_U_BOOT_OFFS ;
Signature · 1 line
1.9.1
PATCH v7 26/87 mtd: spi-nor: spi_spl_load: Use mtd_info
In reply to Jagan TekiReplace spi_flash{} with mtd_info{}
--- drivers/mtd/spi-nor/spi_spl_load.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
drivers/mtd/spi-nor/spi_spl_load.c +2 -3
@@ -20,8 +20,7 @@* Load the kernel, check for a valid header we can parse, and if found load * the kernel and then device tree. */ -static int spi_load_image_os (struct spi_flash *flash, -struct image_header *header) +static int spi_load_image_os (spi_flash_t *flash,struct image_header *header) {/* Read for a header, parse or error out. */ spi_flash_read(flash, CONFIG_SYS_SPI_KERNEL_OFFS, 0x40,
@@ -52,7 +51,7 @@ static int spi_load_image_os(struct spi_flash *flash,int spl_spi_load_image (void ) {int err =0 ; -struct spi_flash *flash; +spi_flash_t *flash;struct image_header *header;/*
Signature · 1 line
1.9.1
PATCH v7 27/87 spl: Add CONFIG_SPL_SPI_NOR_SUPPORT
In reply to Jagan TekiAdd SPL support for SPI-NOR flash.
--- drivers/Makefile | 1 + 1 file changed, 1 insertion(+)
drivers/Makefile +1 -0
@@ -18,6 +18,7 @@ obj-$(CONFIG_ARMADA_38X) += ddr/marvell/a38x/ obj-$(CONFIG_ARMADA_XP) += ddr/marvell/axp/ obj-$(CONFIG_ALTERA_SDRAM) += ddr/altera/ obj-$(CONFIG_SPL_SERIAL_SUPPORT) += serial/ +obj-$(CONFIG_SPL_SPI_NOR_SUPPORT) += mtd/spi-nor/ obj-$(CONFIG_SPL_SPI_FLASH_SUPPORT) += mtd/spi/ obj-$(CONFIG_SPL_SPI_SUPPORT) += spi/ obj-$(CONFIG_SPL_POWER_SUPPORT) += power/ power/pmic/
Signature · 1 line
1.9.1
PATCH v7 28/87 mtd: spi-nor: Add flash vendor Kconfig entries
In reply to Jagan TekiAdded flash vendor kconfig entries from drivers/mtd/spi
--- drivers/mtd/spi-nor/Kconfig | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+)
drivers/mtd/spi-nor/Kconfig +40 -0
@@ -58,4 +58,44 @@ config SPI_NOR_BAR Bank/Extended address registers are used to access the flash which has size > 16MiB in 3-byte addressing. +config SPI_FLASH_ATMEL + bool "Atmel SPI flash support" + help + Add support for various Atmel SPI flash chips (AT45xxx and AT25xxx) + +config SPI_FLASH_EON + bool "EON SPI flash support" + help + Add support for various EON SPI flash chips (EN25xxx) + +config SPI_FLASH_GIGADEVICE + bool "GigaDevice SPI flash support" + help + Add support for various GigaDevice SPI flash chips (GD25xxx) + +config SPI_FLASH_MACRONIX + bool "Macronix SPI flash support" + help + Add support for various Macronix SPI flash chips (MX25Lxxx) + +config SPI_FLASH_SPANSION + bool "Spansion SPI flash support" + help + Add support for various Spansion SPI flash chips (S25FLxxx) + +config SPI_FLASH_STMICRO + bool "STMicro SPI flash support" + help + Add support for various STMicro SPI flash chips (M25Pxxx and N25Qxxx) + +config SPI_FLASH_SST + bool "SST SPI flash support" + help + Add support for various SST SPI flash chips (SST25xxx) + +config SPI_FLASH_WINBOND + bool "Winbond SPI flash support" + help + Add support for various Winbond SPI flash chips (W25xxx) + endif # MTD_SPI_NOR
Signature · 1 line
1.9.1
PATCH v7 29/87 arm: zynq: Kconfig: Select MTD uclass
In reply to Jagan TekiSince SPI-NOR core relies on MTD uclass.
--- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+)
arch/arm/Kconfig +1 -0
@@ -568,6 +568,7 @@ config ARCH_ZYNQ select DM_MMC select DM_SPI select DM_SERIAL + select MTD select DM_SPI_FLASH select SPL_SEPARATE_BSS if SPL
Signature · 1 line
1.9.1
PATCH v7 30/87 arm: zynq: Kconfig: Drop DM_SPI_FLASH
In reply to Jagan TekiDrop using legacy DM_SPI_FLASH.
--- arch/arm/Kconfig | 1 - 1 file changed, 1 deletion(-)
arch/arm/Kconfig +0 -1
@@ -569,7 +569,6 @@ config ARCH_ZYNQ select DM_SPI select DM_SERIAL select MTD - select DM_SPI_FLASH select SPL_SEPARATE_BSS if SPL config ARCH_ZYNQMP
Signature · 1 line
1.9.1
PATCH v7 31/87 mtd: spi-nor: Copy sf_dataflash
In reply to Jagan TekiCopy sf_dataflash.c from drivers/mtd/spi to spi-nor, more changes will see on future patches.
--- drivers/mtd/spi-nor/sf_dataflash.c | 701 +++++++++++++++++++++++++++++++++++++ 1 file changed, 701 insertions(+) create mode 100644 drivers/mtd/spi-nor/sf_dataflash.c
drivers/mtd/spi-nor/sf_dataflash.c new file +701 -0
@@ -0,0 +1,701 @@ +/* +* +* Atmel DataFlash probing +* +* Copyright (C) 2004-2009, 2015 Freescale Semiconductor, Inc. +* Haikun Wang (haikun.wang at freescale.com) +* +* SPDX-License-Identifier: GPL-2.0+ +*/ +#include <common.h> +#include <dm.h> +#include <errno.h> +#include <fdtdec.h> +#include <spi.h> +#include <spi_flash.h> +#include <div64.h> +#include <linux/err.h> +#include <linux/math64.h> + +#include "sf_internal.h" + +/* reads can bypass the buffers */ +#define OP_READ_CONTINUOUS 0xE8 +#define OP_READ_PAGE 0xD2 + +/* group B requests can run even while status reports "busy" */ +#define OP_READ_STATUS 0xD7/* group B */ + +/* move data between host and buffer */ +#define OP_READ_BUFFER1 0xD4/* group B */ +#define OP_READ_BUFFER2 0xD6/* group B */ +#define OP_WRITE_BUFFER1 0x84/* group B */ +#define OP_WRITE_BUFFER2 0x87/* group B */ + +/* erasing flash */ +#define OP_ERASE_PAGE 0x81 +#define OP_ERASE_BLOCK 0x50 + +/* move data between buffer and flash */ +#define OP_TRANSFER_BUF1 0x53 +#define OP_TRANSFER_BUF2 0x55 +#define OP_MREAD_BUFFER1 0xD4 +#define OP_MREAD_BUFFER2 0xD6 +#define OP_MWERASE_BUFFER1 0x83 +#define OP_MWERASE_BUFFER2 0x86 +#define OP_MWRITE_BUFFER1 0x88/* sector must be pre-erased */ +#define OP_MWRITE_BUFFER2 0x89/* sector must be pre-erased */ + +/* write to buffer, then write-erase to flash */ +#define OP_PROGRAM_VIA_BUF1 0x82 +#define OP_PROGRAM_VIA_BUF2 0x85 + +/* compare buffer to flash */ +#define OP_COMPARE_BUF1 0x60 +#define OP_COMPARE_BUF2 0x61 + +/* read flash to buffer, then write-erase to flash */ +#define OP_REWRITE_VIA_BUF1 0x58 +#define OP_REWRITE_VIA_BUF2 0x59 + +/* +* newer chips report JEDEC manufacturer and device IDs; chip +* serial number and OTP bits; and per-sector writeprotect. +*/ +#define OP_READ_ID 0x9F +#define OP_READ_SECURITY 0x77 +#define OP_WRITE_SECURITY_REVC 0x9A +#define OP_WRITE_SECURITY 0x9B/* revision D */ + + +struct dataflash { +uint8_t command[16 ]; +unsigned short page_offset;/* offset in flash address */ +}; + +/* +* Return the status of the DataFlash device. +*/ +static inline int dataflash_status (struct spi_slave *spi) +{ +int ret; +u8 status; +/* +* NOTE: at45db321c over 25 MHz wants to write +* a dummy byte after the opcode... +*/ + ret =spi_flash_cmd (spi,OP_READ_STATUS , &status,1 ); +return ret ? -EIO : status; +} + +/* +* Poll the DataFlash device until it is READY. +* This usually takes 5-20 msec or so; more for sector erase. +* ready: return > 0 +*/ +static int dataflash_waitready (struct spi_slave *spi) +{ +int status; +int timeout =2 *CONFIG_SYS_HZ ; +int timebase; + + timebase =get_timer (0 ); +do { + status =dataflash_status (spi); +if (status <0 ) + status =0 ; + +if (status & (1 <<7 ))/* RDY/nBSY */ +return status; + +mdelay (3 ); + }while (get_timer (timebase) < timeout); + +return -ETIME ; +} + +/* +* Erase pages of flash. +*/ +static int spi_dataflash_erase (struct udevice *dev,u32 offset,size_t len) +{ +struct dataflash *dataflash; +struct spi_flash *spi_flash; +struct spi_slave *spi; +unsigned blocksize; +uint8_t *command; +uint32_t rem; +int status; + + dataflash =dev_get_priv (dev); + spi_flash =dev_get_uclass_priv (dev); + spi = spi_flash->spi; + + blocksize = spi_flash->page_size <<3 ; + +memset (dataflash->command,0 ,sizeof (dataflash->command)); + command = dataflash->command; + +debug ("%s: erase addr=0x%x len 0x%x\n" , dev->name, offset, len); + +div_u64_rem (len, spi_flash->page_size, &rem); +if (rem) +return -EINVAL ; +div_u64_rem (offset, spi_flash->page_size, &rem); +if (rem) +return -EINVAL ; + + status =spi_claim_bus (spi); +if (status) { +debug ("SPI DATAFLASH: unable to claim SPI bus\n" ); +return status; + } + +while (len >0 ) { +unsigned int pageaddr; +int do_block; +/* +* Calculate flash page address; use block erase (for speed) if +* we're at a block boundary and need to erase the whole block. +*/ + pageaddr =div_u64 (offset, spi_flash->page_size); + do_block = (pageaddr &0x7 ) ==0 && len >= blocksize; + pageaddr = pageaddr << dataflash->page_offset; + + command[0 ] = do_block ?OP_ERASE_BLOCK :OP_ERASE_PAGE ; + command[1 ] = (uint8_t )(pageaddr >>16 ); + command[2 ] = (uint8_t )(pageaddr >>8 ); + command[3 ] =0 ; + +debug ("%s ERASE %s: (%x) %x %x %x [%d]\n" , + dev->name, do_block ?"block" :"page" , + command[0 ], command[1 ], command[2 ], command[3 ], + pageaddr); + + status =spi_flash_cmd_write (spi, command,4 ,NULL ,0 ); +if (status <0 ) { +debug ("%s: erase send command error!\n" , dev->name); +return -EIO ; + } + + status =dataflash_waitready (spi); +if (status <0 ) { +debug ("%s: erase waitready error!\n" , dev->name); +return status; + } + +if (do_block) { + offset += blocksize; + len -= blocksize; + }else { + offset += spi_flash->page_size; + len -= spi_flash->page_size; + } + } + +spi_release_bus (spi); + +return 0 ; +} + +/* +* Read from the DataFlash device. +* offset : Start offset in flash device +* len : Amount to read +* buf : Buffer containing the data +*/ +static int spi_dataflash_read (struct udevice *dev,u32 offset,size_t len, +void *buf) +{ +struct dataflash *dataflash; +struct spi_flash *spi_flash; +struct spi_slave *spi; +unsigned int addr; +uint8_t *command; +int status; + + dataflash =dev_get_priv (dev); + spi_flash =dev_get_uclass_priv (dev); + spi = spi_flash->spi; + +memset (dataflash->command,0 ,sizeof (dataflash->command)); + command = dataflash->command; + +debug ("%s: erase addr=0x%x len 0x%x\n" , dev->name, offset, len); +debug ("READ: (%x) %x %x %x\n" , + command[0 ], command[1 ], command[2 ], command[3 ]); + +/* Calculate flash page/byte address */ + addr = (((unsigned )offset / spi_flash->page_size) + << dataflash->page_offset) + + ((unsigned )offset % spi_flash->page_size); + + status =spi_claim_bus (spi); +if (status) { +debug ("SPI DATAFLASH: unable to claim SPI bus\n" ); +return status; + } + +/* +* Continuous read, max clock = f(car) which may be less than +* the peak rate available. Some chips support commands with +* fewer "don't care" bytes. Both buffers stay unchanged. +*/ + command[0 ] =OP_READ_CONTINUOUS ; + command[1 ] = (uint8_t )(addr >>16 ); + command[2 ] = (uint8_t )(addr >>8 ); + command[3 ] = (uint8_t )(addr >>0 ); + +/* plus 4 "don't care" bytes, command len: 4 + 4 "don't care" bytes */ + status =spi_flash_cmd_read (spi, command,8 , buf, len); + +spi_release_bus (spi); + +return status; +} + +/* +* Write to the DataFlash device. +* offset : Start offset in flash device +* len : Amount to write +* buf : Buffer containing the data +*/ +int spi_dataflash_write (struct udevice *dev,u32 offset,size_t len, +const void *buf) +{ +struct dataflash *dataflash; +struct spi_flash *spi_flash; +struct spi_slave *spi; +uint8_t *command; +unsigned int pageaddr, addr, to, writelen; +size_t remaining = len; +u_char *writebuf = (u_char *)buf; +int status = -EINVAL ; + + dataflash =dev_get_priv (dev); + spi_flash =dev_get_uclass_priv (dev); + spi = spi_flash->spi; + +memset (dataflash->command,0 ,sizeof (dataflash->command)); + command = dataflash->command; + +debug ("%s: write 0x%x..0x%x\n" , dev->name, offset, (offset + len)); + + pageaddr = ((unsigned )offset / spi_flash->page_size); + to = ((unsigned )offset % spi_flash->page_size); +if (to + len > spi_flash->page_size) + writelen = spi_flash->page_size - to; +else + writelen = len; + + status =spi_claim_bus (spi); +if (status) { +debug ("SPI DATAFLASH: unable to claim SPI bus\n" ); +return status; + } + +while (remaining >0 ) { +debug ("write @ %d:%d len=%d\n" , pageaddr, to, writelen); + +/* +* REVISIT: +* (a) each page in a sector must be rewritten at least +* once every 10K sibling erase/program operations. +* (b) for pages that are already erased, we could +* use WRITE+MWRITE not PROGRAM for ~30% speedup. +* (c) WRITE to buffer could be done while waiting for +* a previous MWRITE/MWERASE to complete ... +* (d) error handling here seems to be mostly missing. +* +* Two persistent bits per page, plus a per-sector counter, +* could support (a) and (b) ... we might consider using +* the second half of sector zero, which is just one block, +* to track that state. (On AT91, that sector should also +* support boot-from-DataFlash.) +*/ + + addr = pageaddr << dataflash->page_offset; + +/* (1) Maybe transfer partial page to Buffer1 */ +if (writelen != spi_flash->page_size) { + command[0 ] =OP_TRANSFER_BUF1 ; + command[1 ] = (addr &0x00FF0000 ) >>16 ; + command[2 ] = (addr &0x0000FF00 ) >>8 ; + command[3 ] =0 ; + +debug ("TRANSFER: (%x) %x %x %x\n" , + command[0 ], command[1 ], command[2 ], command[3 ]); + + status =spi_flash_cmd_write (spi, command,4 ,NULL ,0 ); +if (status <0 ) { +debug ("%s: write(<pagesize) command error!\n" , + dev->name); +return -EIO ; + } + + status =dataflash_waitready (spi); +if (status <0 ) { +debug ("%s: write(<pagesize) waitready error!\n" , + dev->name); +return status; + } + } + +/* (2) Program full page via Buffer1 */ + addr += to; + command[0 ] =OP_PROGRAM_VIA_BUF1 ; + command[1 ] = (addr &0x00FF0000 ) >>16 ; + command[2 ] = (addr &0x0000FF00 ) >>8 ; + command[3 ] = (addr &0x000000FF ); + +debug ("PROGRAM: (%x) %x %x %x\n" , + command[0 ], command[1 ], command[2 ], command[3 ]); + + status =spi_flash_cmd_write (spi, command, +4 , writebuf, writelen); +if (status <0 ) { +debug ("%s: write send command error!\n" , dev->name); +return -EIO ; + } + + status =dataflash_waitready (spi); +if (status <0 ) { +debug ("%s: write waitready error!\n" , dev->name); +return status; + } + +#ifdef CONFIG_SPI_DATAFLASH_WRITE_VERIFY +/* (3) Compare to Buffer1 */ + addr = pageaddr << dataflash->page_offset; + command[0 ] =OP_COMPARE_BUF1 ; + command[1 ] = (addr &0x00FF0000 ) >>16 ; + command[2 ] = (addr &0x0000FF00 ) >>8 ; + command[3 ] =0 ; + +debug ("COMPARE: (%x) %x %x %x\n" , + command[0 ], command[1 ], command[2 ], command[3 ]); + + status =spi_flash_cmd_write (spi, command, +4 , writebuf, writelen); +if (status <0 ) { +debug ("%s: write(compare) send command error!\n" , + dev->name); +return -EIO ; + } + + status =dataflash_waitready (spi); + +/* Check result of the compare operation */ +if (status & (1 <<6 )) { +printf ("SPI DataFlash: write compare page %u, err %d\n" , + pageaddr, status); + remaining =0 ; + status = -EIO ; +break ; + }else { + status =0 ; + } + +#endif /* CONFIG_SPI_DATAFLASH_WRITE_VERIFY */ + remaining = remaining - writelen; + pageaddr++; + to =0 ; + writebuf += writelen; + +if (remaining > spi_flash->page_size) + writelen = spi_flash->page_size; +else + writelen = remaining; + } + +spi_release_bus (spi); + +return 0 ; +} + +static int add_dataflash (struct udevice *dev,char *name,int nr_pages, +int pagesize,int pageoffset,char revision) +{ +struct spi_flash *spi_flash; +struct dataflash *dataflash; + + dataflash =dev_get_priv (dev); + spi_flash =dev_get_uclass_priv (dev); + + dataflash->page_offset = pageoffset; + + spi_flash->name = name; + spi_flash->page_size = pagesize; + spi_flash->size = nr_pages * pagesize; + spi_flash->erase_size = pagesize; + +#ifndef CONFIG_SPL_BUILD +printf ("SPI DataFlash: Detected %s with page size " , spi_flash->name); +print_size (spi_flash->page_size,", erase size " ); +print_size (spi_flash->erase_size,", total " ); +print_size (spi_flash->size,"" ); +printf (", revision %c" , revision); +puts ("\n" ); +#endif + +return 0 ; +} + +struct flash_info { +char *name; + +/* +* JEDEC id has a high byte of zero plus three data bytes: +* the manufacturer id, then a two byte device id. +*/ +uint32_t jedec_id; + +/* The size listed here is what works with OP_ERASE_PAGE. */ +unsigned nr_pages; +uint16_t pagesize; +uint16_t pageoffset; + +uint16_t flags; +#define SUP_POW2PS 0x0002/* supports 2^N byte pages */ +#define IS_POW2PS 0x0001/* uses 2^N byte pages */ +}; + +static struct flash_info dataflash_data[] = { +/* +* NOTE: chips with SUP_POW2PS (rev D and up) need two entries, +* one with IS_POW2PS and the other without. The entry with the +* non-2^N byte page size can't name exact chip revisions without +* losing backwards compatibility for cmdlinepart. +* +* Those two entries have different name spelling format in order to +* show their difference obviously. +* The upper case refer to the chip isn't in normal 2^N bytes page-size +* mode. +* The lower case refer to the chip is in normal 2^N bytes page-size +* mode. +* +* These newer chips also support 128-byte security registers (with +* 64 bytes one-time-programmable) and software write-protection. +*/ + {"AT45DB011B" ,0x1f2200 ,512 ,264 ,9 ,SUP_POW2PS }, + {"at45db011d" ,0x1f2200 ,512 ,256 ,8 ,SUP_POW2PS |IS_POW2PS }, + + {"AT45DB021B" ,0x1f2300 ,1024 ,264 ,9 ,SUP_POW2PS }, + {"at45db021d" ,0x1f2300 ,1024 ,256 ,8 ,SUP_POW2PS |IS_POW2PS }, + + {"AT45DB041x" ,0x1f2400 ,2048 ,264 ,9 ,SUP_POW2PS }, + {"at45db041d" ,0x1f2400 ,2048 ,256 ,8 ,SUP_POW2PS |IS_POW2PS }, + + {"AT45DB081B" ,0x1f2500 ,4096 ,264 ,9 ,SUP_POW2PS }, + {"at45db081d" ,0x1f2500 ,4096 ,256 ,8 ,SUP_POW2PS |IS_POW2PS }, + + {"AT45DB161x" ,0x1f2600 ,4096 ,528 ,10 ,SUP_POW2PS }, + {"at45db161d" ,0x1f2600 ,4096 ,512 ,9 ,SUP_POW2PS |IS_POW2PS }, + + {"AT45DB321x" ,0x1f2700 ,8192 ,528 ,10 ,0 },/* rev C */ + + {"AT45DB321x" ,0x1f2701 ,8192 ,528 ,10 ,SUP_POW2PS }, + {"at45db321d" ,0x1f2701 ,8192 ,512 ,9 ,SUP_POW2PS |IS_POW2PS }, + + {"AT45DB642x" ,0x1f2800 ,8192 ,1056 ,11 ,SUP_POW2PS }, + {"at45db642d" ,0x1f2800 ,8192 ,1024 ,10 ,SUP_POW2PS |IS_POW2PS }, +}; + +static struct flash_info *jedec_probe (struct spi_slave *spi,u8 *id) +{ +int tmp; +uint32_t jedec; +struct flash_info *info; +int status; + +/* +* JEDEC also defines an optional "extended device information" +* string for after vendor-specific data, after the three bytes +* we use here. Supporting some chips might require using it. +* +* If the vendor ID isn't Atmel's (0x1f), assume this call failed. +* That's not an error; only rev C and newer chips handle it, and +* only Atmel sells these chips. +*/ +if (id[0 ] !=0x1f ) +return NULL ; + + jedec = id[0 ]; + jedec = jedec <<8 ; + jedec |= id[1 ]; + jedec = jedec <<8 ; + jedec |= id[2 ]; + +for (tmp =0 , info = dataflash_data; + tmp <ARRAY_SIZE (dataflash_data); + tmp++, info++) { +if (info->jedec_id == jedec) { +if (info->flags &SUP_POW2PS ) { + status =dataflash_status (spi); +if (status <0 ) { +debug ("SPI DataFlash: status error %d\n" , + status); +return NULL ; + } +if (status &0x1 ) { +if (info->flags &IS_POW2PS ) +return info; + }else { +if (!(info->flags &IS_POW2PS )) +return info; + } + }else { +return info; + } + } + } + +/* +* Treat other chips as errors ... we won't know the right page +* size (it might be binary) even when we can tell which density +* class is involved (legacy chip id scheme). +*/ +printf ("SPI DataFlash: Unsupported flash IDs: " ); +printf ("manuf %02x, jedec %04x, ext_jedec %04x\n" , + id[0 ], jedec, id[3 ] <<8 | id[4 ]); +return NULL ; +} + +/* +* Detect and initialize DataFlash device, using JEDEC IDs on newer chips +* or else the ID code embedded in the status bits: +* +* Device Density ID code #Pages PageSize Offset +* AT45DB011B 1Mbit (128K) xx0011xx (0x0c) 512 264 9 +* AT45DB021B 2Mbit (256K) xx0101xx (0x14) 1024 264 9 +* AT45DB041B 4Mbit (512K) xx0111xx (0x1c) 2048 264 9 +* AT45DB081B 8Mbit (1M) xx1001xx (0x24) 4096 264 9 +* AT45DB0161B 16Mbit (2M) xx1011xx (0x2c) 4096 528 10 +* AT45DB0321B 32Mbit (4M) xx1101xx (0x34) 8192 528 10 +* AT45DB0642 64Mbit (8M) xx111xxx (0x3c) 8192 1056 11 +* AT45DB1282 128Mbit (16M) xx0100xx (0x10) 16384 1056 11 +*/ +static int spi_dataflash_probe (struct udevice *dev) +{ +struct spi_slave *spi =dev_get_parent_priv (dev); +struct spi_flash *spi_flash; +struct flash_info *info; +u8 idcode[5 ]; +int ret, status =0 ; + + spi_flash =dev_get_uclass_priv (dev); + spi_flash->dev = dev; + + ret =spi_claim_bus (spi); +if (ret) +return ret; + + ret =spi_flash_cmd (spi,CMD_READ_ID , idcode,sizeof (idcode)); +if (ret) { +printf ("SPI DataFlash: Failed to get idcodes\n" ); + goto err_read_cmd; + } + +/* +* Try to detect dataflash by JEDEC ID. +* If it succeeds we know we have either a C or D part. +* D will support power of 2 pagesize option. +* Both support the security register, though with different +* write procedures. +*/ + info =jedec_probe (spi, idcode); +if (info !=NULL ) +add_dataflash (dev, info->name, info->nr_pages, + info->pagesize, info->pageoffset, + (info->flags &SUP_POW2PS ) ?'d' :'c' ); +else { +/* +* Older chips support only legacy commands, identifing +* capacity using bits in the status byte. +*/ + status =dataflash_status (spi); +if (status <=0 || status ==0xff ) { +printf ("SPI DataFlash: read status error %d\n" , status); +if (status ==0 || status ==0xff ) + status = -ENODEV ; + goto err_read_cmd; + } +/* +* if there's a device there, assume it's dataflash. +* board setup should have set spi->max_speed_max to +* match f(car) for continuous reads, mode 0 or 3. +*/ +switch (status &0x3c ) { +case 0x0c :/* 0 0 1 1 x x */ + status =add_dataflash (dev,"AT45DB011B" , +512 ,264 ,9 ,0 ); +break ; +case 0x14 :/* 0 1 0 1 x x */ + status =add_dataflash (dev,"AT45DB021B" , +1024 ,264 ,9 ,0 ); +break ; +case 0x1c :/* 0 1 1 1 x x */ + status =add_dataflash (dev,"AT45DB041x" , +2048 ,264 ,9 ,0 ); +break ; +case 0x24 :/* 1 0 0 1 x x */ + status =add_dataflash (dev,"AT45DB081B" , +4096 ,264 ,9 ,0 ); +break ; +case 0x2c :/* 1 0 1 1 x x */ + status =add_dataflash (dev,"AT45DB161x" , +4096 ,528 ,10 ,0 ); +break ; +case 0x34 :/* 1 1 0 1 x x */ + status =add_dataflash (dev,"AT45DB321x" , +8192 ,528 ,10 ,0 ); +break ; +case 0x38 :/* 1 1 1 x x x */ +case 0x3c : + status =add_dataflash (dev,"AT45DB642x" , +8192 ,1056 ,11 ,0 ); +break ; +/* obsolete AT45DB1282 not (yet?) supported */ +default : +dev_info (&spi->dev,"unsupported device (%x)\n" , + status &0x3c ); + status = -ENODEV ; + goto err_read_cmd; + } + } + +/* Assign spi data */ + spi_flash->spi = spi; + spi_flash->memory_map = spi->memory_map; + spi_flash->dual_flash = spi->option; + +spi_release_bus (spi); + +return 0 ; + +err_read_cmd: +spi_release_bus (spi); + +return status; +} + +static const struct dm_spi_flash_ops spi_dataflash_ops = { + .read = spi_dataflash_read, + .write = spi_dataflash_write, + .erase = spi_dataflash_erase, +}; + +static const struct udevice_id spi_dataflash_ids[] = { + { .compatible ="atmel,at45" , }, + { .compatible ="atmel,dataflash" , }, + { } +}; + +U_BOOT_DRIVER (spi_dataflash) = { + .name ="spi_dataflash" , + .id =UCLASS_SPI_FLASH , + .of_match = spi_dataflash_ids, + .probe = spi_dataflash_probe, + .priv_auto_alloc_size =sizeof (struct dataflash ), + .ops = &spi_dataflash_ops, +};
Signature · 1 line
1.9.1
PATCH v7 32/87 mtd: dataflash: Remove unneeded spi data
In reply to Jagan Tekidataflash doesn't require options, memory_map from spi.
--- drivers/mtd/spi-nor/sf_dataflash.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)
drivers/mtd/spi-nor/sf_dataflash.c +1 -5
@@ -584,6 +584,7 @@ static int spi_dataflash_probe(struct udevice *dev)int ret, status =0 ; spi_flash =dev_get_uclass_priv (dev); + spi_flash->spi = spi; spi_flash->dev = dev; ret =spi_claim_bus (spi);
@@ -664,11 +665,6 @@ static int spi_dataflash_probe(struct udevice *dev) } } -/* Assign spi data */ - spi_flash->spi = spi; - spi_flash->memory_map = spi->memory_map; - spi_flash->dual_flash = spi->option; -spi_release_bus (spi);return 0 ;
Signature · 1 line
1.9.1
PATCH v7 33/87 mtd: dataflash: Move flash id detection into jedec_probe
In reply to Jagan TekiFlash id detection should be the first step to enumerate the connected flash on the board, once ie done checking with respective id codes locally in the driver all this should be part of jedec_probe instead of id detection and validated through flash_info{} table separatly.
--- drivers/mtd/spi-nor/sf_dataflash.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-)
drivers/mtd/spi-nor/sf_dataflash.c +10 -9
@@ -501,9 +501,10 @@ static struct flash_info dataflash_data[] = { { "at45db642d", 0x1f2800, 8192, 1024, 10, SUP_POW2PS | IS_POW2PS}, }; -static struct flash_info *jedec_probe (struct spi_slave *spi,u8 *id) +static struct flash_info *jedec_probe (struct spi_slave *spi) {int tmp; +uint8_t id[5 ];uint32_t jedec;struct flash_info *info;int status;
@@ -517,6 +518,11 @@ static struct flash_info *jedec_probe(struct spi_slave *spi, u8 *id)* That's not an error; only rev C and newer chips handle it, and * only Atmel sells these chips. */ + tmp =spi_flash_cmd (spi,CMD_READ_ID , id,sizeof (id)); +if (tmp <0 ) { +printf ("dataflash: error %d reading JEDEC ID\n" , tmp); +return ERR_PTR (tmp); + }if (id[0 ] !=0x1f )return NULL ;
@@ -580,7 +586,6 @@ static int spi_dataflash_probe(struct udevice *dev)struct spi_slave *spi =dev_get_parent_priv (dev);struct spi_flash *spi_flash;struct flash_info *info; -u8 idcode[5 ];int ret, status =0 ; spi_flash =dev_get_uclass_priv (dev);
@@ -591,12 +596,6 @@ static int spi_dataflash_probe(struct udevice *dev)if (ret)return ret; - ret =spi_flash_cmd (spi,CMD_READ_ID , idcode,sizeof (idcode)); -if (ret) { -printf ("SPI DataFlash: Failed to get idcodes\n" ); - goto err_read_cmd; - } -/* * Try to detect dataflash by JEDEC ID. * If it succeeds we know we have either a C or D part.
@@ -604,7 +603,9 @@ static int spi_dataflash_probe(struct udevice *dev)* Both support the security register, though with different * write procedures. */ - info =jedec_probe (spi, idcode); + info =jedec_probe (spi); +if (IS_ERR (info)) +return PTR_ERR (info);if (info !=NULL ) add_dataflash(dev, info->name, info->nr_pages, info->pagesize, info->pageoffset,
Signature · 1 line
1.9.1
PATCH v7 34/87 mtd: dataflash: Fix add_dataflash return logic
In reply to Jagan TekiThis patch fixed the add_dataflash return logic,
so-that it can handle both jedec and older chips
same as Linux.
--- drivers/mtd/spi-nor/sf_dataflash.c | 127 ++++++++++++++++++------------------- 1 file changed, 61 insertions(+), 66 deletions(-)
drivers/mtd/spi-nor/sf_dataflash.c +61 -66
@@ -586,15 +586,15 @@ static int spi_dataflash_probe(struct udevice *dev)struct spi_slave *spi =dev_get_parent_priv (dev);struct spi_flash *spi_flash;struct flash_info *info; -int ret, status =0 ; +int status; spi_flash =dev_get_uclass_priv (dev); spi_flash->spi = spi; spi_flash->dev = dev; - ret =spi_claim_bus (spi); -if (ret) -return ret; + status =spi_claim_bus (spi); +if (status) +return status;/* * Try to detect dataflash by JEDEC ID.
@@ -605,74 +605,69 @@ static int spi_dataflash_probe(struct udevice *dev)*/ info =jedec_probe (spi);if (IS_ERR (info)) -return PTR_ERR (info); -if (info !=NULL ) -add_dataflash (dev, info->name, info->nr_pages, - info->pagesize, info->pageoffset, - (info->flags &SUP_POW2PS ) ?'d' :'c' ); -else { -/* -* Older chips support only legacy commands, identifing -* capacity using bits in the status byte. -*/ - status =dataflash_status (spi); -if (status <=0 || status ==0xff ) { -printf ("SPI DataFlash: read status error %d\n" , status); -if (status ==0 || status ==0xff ) - status = -ENODEV ; - goto err_read_cmd; - } -/* -* if there's a device there, assume it's dataflash. -* board setup should have set spi->max_speed_max to -* match f(car) for continuous reads, mode 0 or 3. -*/ -switch (status &0x3c ) { -case 0x0c :/* 0 0 1 1 x x */ - status =add_dataflash (dev,"AT45DB011B" , -512 ,264 ,9 ,0 ); -break ; -case 0x14 :/* 0 1 0 1 x x */ - status =add_dataflash (dev,"AT45DB021B" , -1024 ,264 ,9 ,0 ); -break ; -case 0x1c :/* 0 1 1 1 x x */ - status =add_dataflash (dev,"AT45DB041x" , -2048 ,264 ,9 ,0 ); -break ; -case 0x24 :/* 1 0 0 1 x x */ - status =add_dataflash (dev,"AT45DB081B" , -4096 ,264 ,9 ,0 ); -break ; -case 0x2c :/* 1 0 1 1 x x */ - status =add_dataflash (dev,"AT45DB161x" , -4096 ,528 ,10 ,0 ); -break ; -case 0x34 :/* 1 1 0 1 x x */ - status =add_dataflash (dev,"AT45DB321x" , -8192 ,528 ,10 ,0 ); -break ; -case 0x38 :/* 1 1 1 x x x */ -case 0x3c : - status =add_dataflash (dev,"AT45DB642x" , -8192 ,1056 ,11 ,0 ); -break ; -/* obsolete AT45DB1282 not (yet?) supported */ -default : -dev_info (&spi->dev,"unsupported device (%x)\n" , - status &0x3c ); + goto err_jedec_probe; +if (info !=NULL ) { + status =add_dataflash (dev, info->name, info->nr_pages, + info->pagesize, info->pageoffset, + (info->flags &SUP_POW2PS ) ?'d' :'c' ); +if (status <0 ) + goto err_status; + } + +/* +* Older chips support only legacy commands, identifing +* capacity using bits in the status byte. +*/ + status =dataflash_status (spi); +if (status <=0 || status ==0xff ) { +printf ("SPI DataFlash: read status error %d\n" , status); +if (status ==0 || status ==0xff ) status = -ENODEV ; - goto err_read_cmd; - } + goto err_jedec_probe; } -spi_release_bus (spi); +/* +* if there's a device there, assume it's dataflash. +* board setup should have set spi->max_speed_max to +* match f(car) for continuous reads, mode 0 or 3. +*/ +switch (status &0x3c ) { +case 0x0c :/* 0 0 1 1 x x */ + status =add_dataflash (dev,"AT45DB011B" ,512 ,264 ,9 ,0 ); +break ; +case 0x14 :/* 0 1 0 1 x x */ + status =add_dataflash (dev,"AT45DB021B" ,1024 ,264 ,9 ,0 ); +break ; +case 0x1c :/* 0 1 1 1 x x */ + status =add_dataflash (dev,"AT45DB041x" ,2048 ,264 ,9 ,0 ); +break ; +case 0x24 :/* 1 0 0 1 x x */ + status =add_dataflash (dev,"AT45DB081B" ,4096 ,264 ,9 ,0 ); +break ; +case 0x2c :/* 1 0 1 1 x x */ + status =add_dataflash (dev,"AT45DB161x" ,4096 ,528 ,10 ,0 ); +break ; +case 0x34 :/* 1 1 0 1 x x */ + status =add_dataflash (dev,"AT45DB321x" ,8192 ,528 ,10 ,0 ); +break ; +case 0x38 :/* 1 1 1 x x x */ +case 0x3c : + status =add_dataflash (dev,"AT45DB642x" ,8192 ,1056 ,11 ,0 ); +break ; +/* obsolete AT45DB1282 not (yet?) supported */ +default : +dev_info (&spi->dev,"unsupported device (%x)\n" , + status &0x3c ); + status = -ENODEV ; + goto err_status; + } -return 0 ; +return status; -err_read_cmd: +err_status: +spi_free_slave (spi); +err_jedec_probe:spi_release_bus (spi); -return status; }
Signature · 1 line
1.9.1
PATCH v7 35/87 mtd: dataflash: Add UCLASS_MTD support
In reply to Jagan TekiThis patch replace the dataflash driver from SPI_FLASH uclass to MTD UCLASS along with the support of mtd opertaions.
--- drivers/mtd/spi-nor/sf_dataflash.c | 214 ++++++++++++++++++------------------- 1 file changed, 107 insertions(+), 107 deletions(-)
drivers/mtd/spi-nor/sf_dataflash.c +107 -107
@@ -2,6 +2,7 @@* * Atmel DataFlash probing * +* Copyright (C) 2016 Jagan Teki <[email protected]> * Copyright (C) 2004-2009, 2015 Freescale Semiconductor, Inc. * Haikun Wang (haikun.wang at freescale.com) *
@@ -12,10 +13,10 @@#include <errno.h> #include <fdtdec.h> #include <spi.h> -#include <spi_flash.h> #include <div64.h> #include <linux/err.h> #include <linux/math64.h> +#include <linux/mtd/mtd.h> #include "sf_internal.h"
@@ -70,7 +71,11 @@struct dataflash {uint8_t command[16 ]; +unsigned short page_offset;/* offset in flash address */ +unsigned int page_size;/* of bytes per page */ + +struct spi_slave *spi; };/*
@@ -117,31 +122,25 @@ static int dataflash_waitready(struct spi_slave *spi)/* * Erase pages of flash. */ -static int spi_dataflash_erase (struct udevice *dev,u32 offset,size_t len) +static int dataflash_erase (struct mtd_info *mtd,struct erase_info *instr) { -struct dataflash *dataflash; -struct spi_flash *spi_flash; -struct spi_slave *spi; -unsigned blocksize; +struct dataflash *priv = mtd->priv; +struct spi_slave *spi = priv->spi; +unsigned blocksize = priv->page_size <<3 ;uint8_t *command;uint32_t rem;int status; - dataflash =dev_get_priv (dev); - spi_flash =dev_get_uclass_priv (dev); - spi = spi_flash->spi; - - blocksize = spi_flash->page_size <<3 ; - -memset (dataflash->command,0 ,sizeof (dataflash->command)); - command = dataflash->command; +memset (priv->command,0 ,sizeof (priv->command)); + command = priv->command; -debug ("%s: erase addr=0x%x len 0x%x\n" , dev->name, offset, len); +debug ("%s: erase addr=0x%llx len 0x%llx\n" , mtd->name, + instr->addr, instr->len); -div_u64_rem (len, spi_flash->page_size, &rem); +div_u64_rem (instr->len, priv->page_size, &rem);if (rem)return -EINVAL ; -div_u64_rem (offset, spi_flash->page_size, &rem); +div_u64_rem (instr->addr, priv->page_size, &rem);if (rem)return -EINVAL ;
@@ -151,16 +150,16 @@ static int spi_dataflash_erase(struct udevice *dev, u32 offset, size_t len)return status; } -while (len >0 ) { +while (instr->len >0 ) {unsigned int pageaddr;int do_block;/* * Calculate flash page address; use block erase (for speed) if * we're at a block boundary and need to erase the whole block. */ - pageaddr =div_u64 (offset, spi_flash->page_size); - do_block = (pageaddr &0x7 ) ==0 && len >= blocksize; - pageaddr = pageaddr << dataflash->page_offset; + pageaddr =div_u64 (instr->addr, priv->page_size); + do_block = (pageaddr &0x7 ) ==0 && instr->len >= blocksize; + pageaddr = pageaddr << priv->page_offset; command[0 ] = do_block ?OP_ERASE_BLOCK :OP_ERASE_PAGE ; command[1 ] = (uint8_t )(pageaddr >>16 );
@@ -168,67 +167,68 @@ static int spi_dataflash_erase(struct udevice *dev, u32 offset, size_t len) command[3 ] =0 ;debug ("%s ERASE %s: (%x) %x %x %x [%d]\n" , - dev->name, do_block ?"block" :"page" , + mtd->name, do_block ?"block" :"page" , command[0 ], command[1 ], command[2 ], command[3 ], pageaddr); status =spi_flash_cmd_write (spi, command,4 ,NULL ,0 );if (status <0 ) { -debug ("%s: erase send command error!\n" , dev->name); +debug ("%s: erase send command error!\n" , mtd->name);return -EIO ; } status =dataflash_waitready (spi);if (status <0 ) { -debug ("%s: erase waitready error!\n" , dev->name); +debug ("%s: erase waitready error!\n" , mtd->name);return status; }if (do_block) { - offset += blocksize; - len -= blocksize; + instr->addr += blocksize; + instr->len -= blocksize; }else { - offset += spi_flash->page_size; - len -= spi_flash->page_size; + instr->addr += priv->page_size; + instr->len -= priv->page_size; } }spi_release_bus (spi); +/* Inform MTD subsystem that erase is complete */ + instr->state =MTD_ERASE_DONE ; +mtd_erase_callback (instr); +return 0 ; }/* * Read from the DataFlash device. -* offset : Start offset in flash device +* from : Start offset in flash device * len : Amount to read +* retlen : About of data actually read * buf : Buffer containing the data */ -static int spi_dataflash_read (struct udevice *dev,u32 offset,size_t len, -void *buf) +static int dataflash_read (struct mtd_info *mtd,loff_t from,size_t len, +size_t *retlen,u_char *buf) { -struct dataflash *dataflash; -struct spi_flash *spi_flash; -struct spi_slave *spi; +struct dataflash *priv = mtd->priv; +struct spi_slave *spi = priv->spi;unsigned int addr;uint8_t *command;int status; - dataflash =dev_get_priv (dev); - spi_flash =dev_get_uclass_priv (dev); - spi = spi_flash->spi; - -memset (dataflash->command,0 ,sizeof (dataflash->command)); - command = dataflash->command; +memset (priv->command,0 ,sizeof (priv->command)); + command = priv->command; -debug ("%s: erase addr=0x%x len 0x%x\n" , dev->name, offset, len); +debug ("%s: read 0x%x..0x%x\n" , mtd->name, (unsigned )from, + (unsigned )(from + len));debug ("READ: (%x) %x %x %x\n" , command[0 ], command[1 ], command[2 ], command[3 ]);/* Calculate flash page/byte address */ - addr = (((unsigned )offset / spi_flash->page_size) - << dataflash->page_offset) - + ((unsigned )offset % spi_flash->page_size); + addr = (((unsigned )from / priv->page_size) + << priv->page_offset) + + ((unsigned )from % priv->page_size); status =spi_claim_bus (spi);if (status) {
@@ -248,6 +248,10 @@ static int spi_dataflash_read(struct udevice *dev, u32 offset, size_t len,/* plus 4 "don't care" bytes, command len: 4 + 4 "don't care" bytes */ status =spi_flash_cmd_read (spi, command,8 , buf, len); +if (status >=0 ) { + *retlen = len -8 ; + status =0 ; + }spi_release_bus (spi);
@@ -256,35 +260,32 @@ static int spi_dataflash_read(struct udevice *dev, u32 offset, size_t len,/* * Write to the DataFlash device. -* offset : Start offset in flash device +* to : Start offset in flash device * len : Amount to write +* retlen : Amount of data actually written * buf : Buffer containing the data */ -int spi_dataflash_write (struct udevice *dev,u32 offset,size_t len, -const void *buf) +static int dataflash_write (struct mtd_info *mtd,loff_t to,size_t len, +size_t *retlen,const u_char *buf) { -struct dataflash *dataflash; -struct spi_flash *spi_flash; -struct spi_slave *spi; +struct dataflash *priv = mtd->priv; +struct spi_slave *spi = priv->spi;uint8_t *command; -unsigned int pageaddr, addr, to, writelen; +unsigned int pageaddr, addr, offset, writelen;size_t remaining = len;u_char *writebuf = (u_char *)buf;int status = -EINVAL ; - dataflash =dev_get_priv (dev); - spi_flash =dev_get_uclass_priv (dev); - spi = spi_flash->spi; +memset (priv->command,0 ,sizeof (priv->command)); + command = priv->command; -memset (dataflash->command,0 ,sizeof (dataflash->command)); - command = dataflash->command; +debug ("%s: write 0x%x..0x%x\n" , mtd->name, (unsigned )to, + (unsigned )(to + len)); -debug ("%s: write 0x%x..0x%x\n" , dev->name, offset, (offset + len)); - - pageaddr = ((unsigned )offset / spi_flash->page_size); - to = ((unsigned )offset % spi_flash->page_size); -if (to + len > spi_flash->page_size) - writelen = spi_flash->page_size - to; + pageaddr = ((unsigned )to / priv->page_size); + offset = ((unsigned )to % priv->page_size); +if (offset + len > priv->page_size) + writelen = priv->page_size - offset;else writelen = len;
@@ -295,7 +296,7 @@ int spi_dataflash_write(struct udevice *dev, u32 offset, size_t len, }while (remaining >0 ) { -debug ("write @ %d:%d len=%d\n" , pageaddr, to, writelen); +debug ("write @ %d:%d len=%d\n" , pageaddr, offset, writelen);/* * REVISIT:
@@ -314,10 +315,10 @@ int spi_dataflash_write(struct udevice *dev, u32 offset, size_t len,* support boot-from-DataFlash.) */ - addr = pageaddr << dataflash->page_offset; + addr = pageaddr << priv->page_offset;/* (1) Maybe transfer partial page to Buffer1 */ -if (writelen != spi_flash->page_size) { +if (writelen != priv->page_size) { command[0 ] =OP_TRANSFER_BUF1 ; command[1 ] = (addr &0x00FF0000 ) >>16 ; command[2 ] = (addr &0x0000FF00 ) >>8 ;
@@ -329,20 +330,20 @@ int spi_dataflash_write(struct udevice *dev, u32 offset, size_t len, status =spi_flash_cmd_write (spi, command,4 ,NULL ,0 );if (status <0 ) {debug ("%s: write(<pagesize) command error!\n" , - dev->name); + mtd->name);return -EIO ; } status =dataflash_waitready (spi);if (status <0 ) {debug ("%s: write(<pagesize) waitready error!\n" , - dev->name); + mtd->name);return status; } }/* (2) Program full page via Buffer1 */ - addr += to; + addr += offset; command[0 ] =OP_PROGRAM_VIA_BUF1 ; command[1 ] = (addr &0x00FF0000 ) >>16 ; command[2 ] = (addr &0x0000FF00 ) >>8 ;
@@ -354,19 +355,19 @@ int spi_dataflash_write(struct udevice *dev, u32 offset, size_t len, status =spi_flash_cmd_write (spi, command,4 , writebuf, writelen);if (status <0 ) { -debug ("%s: write send command error!\n" , dev->name); +debug ("%s: write send command error!\n" , mtd->name);return -EIO ; } status =dataflash_waitready (spi);if (status <0 ) { -debug ("%s: write waitready error!\n" , dev->name); +debug ("%s: write waitready error!\n" , mtd->name);return status; }#ifdef CONFIG_SPI_DATAFLASH_WRITE_VERIFY /* (3) Compare to Buffer1 */ - addr = pageaddr << dataflash->page_offset; + addr = pageaddr << priv->page_offset; command[0 ] =OP_COMPARE_BUF1 ; command[1 ] = (addr &0x00FF0000 ) >>16 ; command[2 ] = (addr &0x0000FF00 ) >>8 ;
@@ -379,7 +380,7 @@ int spi_dataflash_write(struct udevice *dev, u32 offset, size_t len, 4, writebuf, writelen);if (status <0 ) {debug ("%s: write(compare) send command error!\n" , - dev->name); + mtd->name);return -EIO ; }
@@ -399,11 +400,12 @@ int spi_dataflash_write(struct udevice *dev, u32 offset, size_t len,#endif /* CONFIG_SPI_DATAFLASH_WRITE_VERIFY */ remaining = remaining - writelen; pageaddr++; - to =0 ; + offset =0 ; writebuf += writelen; + *retlen += writelen; -if (remaining > spi_flash->page_size) - writelen = spi_flash->page_size; +if (remaining > priv->page_size) + writelen = priv->page_size;else writelen = remaining; }
@@ -414,31 +416,41 @@ int spi_dataflash_write(struct udevice *dev, u32 offset, size_t len, }static int add_dataflash (struct udevice *dev,char *name,int nr_pages, -int pagesize,int pageoffset,char revision) +int pagesize,int pageoffset,char revision) { -struct spi_flash *spi_flash; -struct dataflash *dataflash; - - dataflash =dev_get_priv (dev); - spi_flash =dev_get_uclass_priv (dev); - - dataflash->page_offset = pageoffset; +struct dataflash *priv =dev_get_priv (dev); +struct mtd_info *mtd =dev_get_uclass_priv (dev); +int ret; - spi_flash->name = name; - spi_flash->page_size = pagesize; - spi_flash->size = nr_pages * pagesize; - spi_flash->erase_size = pagesize; + priv->spi =dev_get_parent_priv (dev); + priv->page_size = pagesize; + priv->page_offset = pageoffset; + + mtd->name = name; + mtd->size = nr_pages * pagesize; + mtd->erasesize = pagesize; + mtd->writesize = pagesize; + mtd->type =MTD_DATAFLASH ; + mtd->flags =MTD_WRITEABLE ; + mtd->_erase = dataflash_erase; + mtd->_read = dataflash_read; + mtd->_write = dataflash_write; + mtd->priv = priv;#ifndef CONFIG_SPL_BUILD -printf ("SPI DataFlash: Detected %s with page size " , spi_flash->name); -print_size (spi_flash->page_size,", erase size " ); -print_size (spi_flash->erase_size,", total " ); -print_size (spi_flash->size,"" ); +printf ("SPI DataFlash: Detected %s with page size " , mtd->name); +print_size (priv->page_size,", erase size " ); +print_size (mtd->erasesize,", total " ); +print_size (mtd->size,"" );printf (", revision %c" , revision);puts ("\n" );#endif -return 0 ; + ret =add_mtd_device (mtd); +if (ret) +return ret; + +return ret; }struct flash_info {
@@ -583,15 +595,10 @@ static struct flash_info *jedec_probe(struct spi_slave *spi)*/ static int spi_dataflash_probe (struct udevice *dev) { -struct spi_slave *spi =dev_get_parent_priv (dev); -struct spi_flash *spi_flash; -struct flash_info *info; +struct spi_slave *spi =dev_get_parent_priv (dev); +struct flash_info *info;int status; - spi_flash =dev_get_uclass_priv (dev); - spi_flash->spi = spi; - spi_flash->dev = dev; - status =spi_claim_bus (spi);if (status)return status;
@@ -671,12 +678,6 @@ err_jedec_probe:return status; } -static const struct dm_spi_flash_ops spi_dataflash_ops = { - .read = spi_dataflash_read, - .write = spi_dataflash_write, - .erase = spi_dataflash_erase, -}; -static const struct udevice_id spi_dataflash_ids[] = { { .compatible ="atmel,at45" , }, { .compatible ="atmel,dataflash" , },
@@ -685,9 +686,8 @@ static const struct udevice_id spi_dataflash_ids[] = {U_BOOT_DRIVER (spi_dataflash) = { .name ="spi_dataflash" , - .id =UCLASS_SPI_FLASH , + .id =UCLASS_MTD , .of_match = spi_dataflash_ids, .probe = spi_dataflash_probe, .priv_auto_alloc_size =sizeof (struct dataflash ), - .ops = &spi_dataflash_ops, };
Signature · 1 line
1.9.1
PATCH v7 36/87 mtd: dataflash: Use spi_write_then_read
In reply to Jagan TekiUse spi_write_then_read call from spi layer for
dataflash write and then read calling.
--- drivers/mtd/spi-nor/sf_dataflash.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-)
drivers/mtd/spi-nor/sf_dataflash.c +11 -10
@@ -84,12 +84,12 @@ struct dataflash {static inline int dataflash_status (struct spi_slave *spi) {int ret; -u8 status; +u8 cmd =OP_READ_STATUS , status;/* * NOTE: at45db321c over 25 MHz wants to write * a dummy byte after the opcode... */ - ret =spi_flash_cmd (spi,OP_READ_STATUS , &status,1 ); + ret =spi_write_then_read (spi, &cmd,1 ,NULL , &status,1 );return ret ? -EIO : status; }
@@ -171,7 +171,7 @@ static int dataflash_erase(struct mtd_info *mtd, struct erase_info *instr) command[0 ], command[1 ], command[2 ], command[3 ], pageaddr); - status =spi_flash_cmd_write (spi, command,4 ,NULL ,0 ); + status =spi_write_then_read (spi, command,4 ,NULL ,NULL ,0 );if (status <0 ) {debug ("%s: erase send command error!\n" , mtd->name);return -EIO ;
@@ -247,7 +247,7 @@ static int dataflash_read(struct mtd_info *mtd, loff_t from, size_t len, command[3 ] = (uint8_t )(addr >>0 );/* plus 4 "don't care" bytes, command len: 4 + 4 "don't care" bytes */ - status =spi_flash_cmd_read (spi, command,8 , buf, len); + status =spi_write_then_read (spi, command,8 ,NULL , buf, len);if (status >=0 ) { *retlen = len -8 ; status =0 ;
@@ -327,7 +327,7 @@ static int dataflash_write(struct mtd_info *mtd, loff_t to, size_t len,debug ("TRANSFER: (%x) %x %x %x\n" , command[0 ], command[1 ], command[2 ], command[3 ]); - status =spi_flash_cmd_write (spi, command,4 ,NULL ,0 ); + status =spi_write_then_read (spi, command,4 ,NULL ,NULL ,0 );if (status <0 ) {debug ("%s: write(<pagesize) command error!\n" , mtd->name);
@@ -352,8 +352,8 @@ static int dataflash_write(struct mtd_info *mtd, loff_t to, size_t len,debug ("PROGRAM: (%x) %x %x %x\n" , command[0 ], command[1 ], command[2 ], command[3 ]); - status =spi_flash_cmd_write (spi, command, -4 , writebuf, writelen); + status =spi_write_then_read (spi, command,4 , + writebuf,NULL , writelen);if (status <0 ) {debug ("%s: write send command error!\n" , mtd->name);return -EIO ;
@@ -376,8 +376,8 @@ static int dataflash_write(struct mtd_info *mtd, loff_t to, size_t len,debug ("COMPARE: (%x) %x %x %x\n" , command[0 ], command[1 ], command[2 ], command[3 ]); - status =spi_flash_cmd_write (spi, command, -4 , writebuf, writelen); + status =spi_write_then_read (spi, command,4 , + writebuf,NULL , writelen);if (status <0 ) {debug ("%s: write(compare) send command error!\n" , mtd->name);
@@ -519,6 +519,7 @@ static struct flash_info *jedec_probe(struct spi_slave *spi)uint8_t id[5 ];uint32_t jedec;struct flash_info *info; +u8 cmd =CMD_READ_ID ;int status;/*
@@ -530,7 +531,7 @@ static struct flash_info *jedec_probe(struct spi_slave *spi)* That's not an error; only rev C and newer chips handle it, and * only Atmel sells these chips. */ - tmp =spi_flash_cmd (spi,CMD_READ_ID , id,sizeof (id)); + tmp =spi_write_then_read (spi, &cmd,1 ,NULL , id,sizeof (id));if (tmp <0 ) {printf ("dataflash: error %d reading JEDEC ID\n" , tmp);return ERR_PTR (tmp);
Signature · 1 line
1.9.1
PATCH v7 37/87 mtd: dataflash: Drop sf_internal.h
In reply to Jagan TekiDrop using sf_internal.h and get the RDID from spi-nor.h
--- drivers/mtd/spi-nor/sf_dataflash.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
drivers/mtd/spi-nor/sf_dataflash.c +2 -3
@@ -17,8 +17,7 @@#include <linux/err.h> #include <linux/math64.h> #include <linux/mtd/mtd.h> - -#include "sf_internal.h" +#include <linux/mtd/spi-nor.h> /* reads can bypass the buffers */ #define OP_READ_CONTINUOUS 0xE8
@@ -519,7 +518,7 @@ static struct flash_info *jedec_probe(struct spi_slave *spi)uint8_t id[5 ];uint32_t jedec;struct flash_info *info; -u8 cmd =CMD_READ_ID ; +u8 cmd =SNOR_OP_RDID ;int status;/*
Signature · 1 line
1.9.1
PATCH v7 38/87 mtd: dataflash: Minor cleanups
In reply to Jagan Teki- rename spi_dataflash to mtd_dataflash
- fix single line comments
- remove unneeded spaces
- ascending order of include files
- rename spi_dataflash_* to dataflash_*
- rename SPI DATAFLASH to dataflash
- rename SPI DataFlash to dataflash
- return NULL replaced with error code
--- drivers/mtd/spi-nor/sf_dataflash.c | 51 ++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 29 deletions(-)
drivers/mtd/spi-nor/sf_dataflash.c +22 -29
@@ -1,5 +1,4 @@/* -* * Atmel DataFlash probing * * Copyright (C) 2016 Jagan Teki <[email protected]>
@@ -7,8 +6,10 @@* Haikun Wang (haikun.wang at freescale.com) * * SPDX-License-Identifier: GPL-2.0+ -*/ +*/ +#include <common.h> +#include <div64.h> #include <dm.h> #include <errno.h> #include <fdtdec.h>
@@ -67,7 +68,6 @@#define OP_WRITE_SECURITY_REVC 0x9A#define OP_WRITE_SECURITY 0x9B/* revision D */ -struct dataflash {uint8_t command[16 ];
@@ -77,9 +77,7 @@ struct dataflash {struct spi_slave *spi; }; -/* -* Return the status of the DataFlash device. -*/ +/* Return the status of the DataFlash device */ static inline int dataflash_status (struct spi_slave *spi) {int ret;
@@ -118,9 +116,7 @@ static int dataflash_waitready(struct spi_slave *spi)return -ETIME ; } -/* -* Erase pages of flash. -*/ +/* Erase pages of flash */ static int dataflash_erase (struct mtd_info *mtd,struct erase_info *instr) {struct dataflash *priv = mtd->priv;
@@ -145,7 +141,7 @@ static int dataflash_erase(struct mtd_info *mtd, struct erase_info *instr) status =spi_claim_bus (spi);if (status) { -debug ("SPI DATAFLASH: unable to claim SPI bus\n" ); +debug ("dataflash: unable to claim SPI bus\n" );return status; }
@@ -231,7 +227,7 @@ static int dataflash_read(struct mtd_info *mtd, loff_t from, size_t len, status =spi_claim_bus (spi);if (status) { -debug ("SPI DATAFLASH: unable to claim SPI bus\n" ); +debug ("dataflash: unable to claim SPI bus\n" );return status; }
@@ -290,7 +286,7 @@ static int dataflash_write(struct mtd_info *mtd, loff_t to, size_t len, status =spi_claim_bus (spi);if (status) { -debug ("SPI DATAFLASH: unable to claim SPI bus\n" ); +debug ("dataflash: unable to claim SPI bus\n" );return status; }
@@ -387,7 +383,7 @@ static int dataflash_write(struct mtd_info *mtd, loff_t to, size_t len,/* Check result of the compare operation */ if (status & (1 <<6 )) { -printf ("SPI DataFlash: write compare page %u, err %d\n" , +printf ("dataflash: write compare page %u, err %d\n" , pageaddr, status); remaining =0 ; status = -EIO ;
@@ -551,7 +547,7 @@ static struct flash_info *jedec_probe(struct spi_slave *spi)if (info->flags &SUP_POW2PS ) { status =dataflash_status (spi);if (status <0 ) { -debug ("SPI DataFlash: status error %d\n" , +debug ("dataflash: status error %d\n" , status);return NULL ; }
@@ -573,10 +569,8 @@ static struct flash_info *jedec_probe(struct spi_slave *spi)* size (it might be binary) even when we can tell which density * class is involved (legacy chip id scheme). */ -printf ("SPI DataFlash: Unsupported flash IDs: " ); -printf ("manuf %02x, jedec %04x, ext_jedec %04x\n" , - id[0 ], jedec, id[3 ] <<8 | id[4 ]); -return NULL ; +printf ("dataflash: JEDEC id %06x not handled\n" , jedec); +return ERR_PTR (-ENODEV ); }/*
@@ -593,7 +587,7 @@ static struct flash_info *jedec_probe(struct spi_slave *spi)* AT45DB0642 64Mbit (8M) xx111xxx (0x3c) 8192 1056 11 * AT45DB1282 128Mbit (16M) xx0100xx (0x10) 16384 1056 11 */ -static int spi_dataflash_probe (struct udevice *dev) +static int dataflash_probe (struct udevice *dev) {struct spi_slave *spi =dev_get_parent_priv (dev);struct flash_info *info;
@@ -621,19 +615,19 @@ static int spi_dataflash_probe(struct udevice *dev) goto err_status; } -/* +/* * Older chips support only legacy commands, identifing * capacity using bits in the status byte. */ status =dataflash_status (spi);if (status <=0 || status ==0xff ) { -printf ("SPI DataFlash: read status error %d\n" , status); +printf ("dataflash: read status error %d\n" , status);if (status ==0 || status ==0xff ) status = -ENODEV ; goto err_jedec_probe; } -/* +/* * if there's a device there, assume it's dataflash. * board setup should have set spi->max_speed_max to * match f(car) for continuous reads, mode 0 or 3.
@@ -663,8 +657,7 @@ static int spi_dataflash_probe(struct udevice *dev)break ;/* obsolete AT45DB1282 not (yet?) supported */ default : -dev_info (&spi->dev,"unsupported device (%x)\n" , - status &0x3c ); +printf ("dataflash: unsupported device (%x)\n" , status &0x3c ); status = -ENODEV ; goto err_status; }
@@ -678,16 +671,16 @@ err_jedec_probe:return status; } -static const struct udevice_id spi_dataflash_ids[] = { +static const struct udevice_id dataflash_ids[] = { { .compatible ="atmel,at45" , }, { .compatible ="atmel,dataflash" , }, { } }; -U_BOOT_DRIVER (spi_dataflash) = { - .name ="spi_dataflash" , +U_BOOT_DRIVER (mtd_dataflash) = { + .name ="mtd_dataflash" , .id =UCLASS_MTD , - .of_match = spi_dataflash_ids, - .probe = spi_dataflash_probe, + .of_match = dataflash_ids, + .probe = dataflash_probe, .priv_auto_alloc_size =sizeof (struct dataflash ), };
Signature · 1 line
1.9.1
PATCH v7 39/87 mtd: Rename sf_dataflash.c to mtd_dataflash.c
In reply to Jagan TekiSince dataflash driver is using mtd_info core functionalities this patch renames file and config name similar way as Linux.
---
drivers/mtd/spi-nor/Makefile | 1 +
drivers/mtd/spi-nor/{sf_dataflash.c => mtd_dataflash.c} | 0
2 files changed, 1 insertion(+)
rename drivers/mtd/spi-nor/{sf_dataflash.c => mtd_dataflash.c} (100%)drivers/mtd/spi-nor/Makefile +1 -0
@@ -16,3 +16,4 @@ obj-$(CONFIG_DM_MTD_SPI_NOR) += spi-nor-probe.o endif obj-$(CONFIG_MTD_M25P80) += m25p80.o +obj-$(CONFIG_MTD_DATAFLASH) += mtd_dataflash.o
drivers/mtd/spi-nor/mtd_dataflash.c renamed from drivers/mtd/spi-nor/sf_dataflash.c +0 -0
Signature · 1 line
1.9.1
PATCH v7 40/87 mtd: spi-nor: Add Kconfig entry for mtd_dataflash
In reply to Jagan TekiAdded kconfig entry for MTD_DATAFLASH
--- drivers/mtd/spi-nor/Kconfig | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
drivers/mtd/spi-nor/Kconfig +15 -0
@@ -99,3 +99,18 @@ config SPI_FLASH_WINBOND Add support for various Winbond SPI flash chips (W25xxx) endif # MTD_SPI_NOR + +config MTD_DATAFLASH + bool "AT45xxx DataFlash support" + depends on MTD + help + Enable the access for SPI-flash-based AT45xxx DataFlash chips. + DataFlash is a kind of SPI flash. Most AT45 chips have two buffers + in each chip, which may be used for double buffered I/O; but this + driver doesn't (yet) use these for any kind of i/o overlap or prefetching. + + Sometimes DataFlash is packaged in MMC-format cards, although the + MMC stack can't (yet?) distinguish between MMC and DataFlash + protocols during enumeration. + + If unsure, say N
Signature · 1 line
1.9.1
PATCH v7 41/87 mtd: dataflash: Add MTD_DATAFLASH_WRITE_VERIFY
In reply to Jagan Tekimtd_dataflash driver almost similar to Linux, so rename the CONFIG_SPI_DATAFLASH_WRITE_VERIFY => CONFIG_MTD_DATAFLASH_WRITE_VERIFY
--- drivers/mtd/spi-nor/mtd_dataflash.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/mtd/spi-nor/mtd_dataflash.c +2 -2
@@ -360,7 +360,7 @@ static int dataflash_write(struct mtd_info *mtd, loff_t to, size_t len,return status; } -#ifdef CONFIG_SPI_DATAFLASH_WRITE_VERIFY +#ifdef CONFIG_MTD_DATAFLASH_WRITE_VERIFY /* (3) Compare to Buffer1 */ addr = pageaddr << priv->page_offset; command[0 ] =OP_COMPARE_BUF1 ;
@@ -392,7 +392,7 @@ static int dataflash_write(struct mtd_info *mtd, loff_t to, size_t len, status = 0; } -#endif /* CONFIG_SPI_DATAFLASH_WRITE_VERIFY */ +#endif /* CONFIG_MTD_DATAFLASH_WRITE_VERIFY */ remaining = remaining - writelen; pageaddr++; offset =0 ;
Signature · 1 line
1.9.1
PATCH v7 42/87 mtd: spi-nor: Add kconfig MTD_DATAFLASH_WRITE_VERIFY
In reply to Jagan TekiAdded kconfig entry for MTD_DATAFLASH_WRITE_VERIFY
--- drivers/mtd/spi-nor/Kconfig | 10 ++++++++++ 1 file changed, 10 insertions(+)
drivers/mtd/spi-nor/Kconfig +10 -0
@@ -114,3 +114,13 @@ config MTD_DATAFLASH protocols during enumeration. If unsure, say N + +config MTD_DATAFLASH_WRITE_VERIFY + bool "Verify DataFlash page writes" + depends on MTD_DATAFLASH + help + This adds an extra check when data is written to the flash. + It may help if you are verifying chip setup (timings etc) on + your board. There is a rare possibility that even though the + device thinks the write was successful, a bit could have been + flipped accidentally due to device wear or something else.
Signature · 1 line
1.9.1
PATCH v7 43/87 configs: ls1021aqds: Drop DM_SPI_FLASH and DATAFLASH
In reply to Jagan TekiDropped DM_SPI_FLASH and SPI_FLASH_DATAFLASH
--- include/configs/ls1021aqds.h | 2 -- 1 file changed, 2 deletions(-)
include/configs/ls1021aqds.h +0 -2
@@ -432,8 +432,6 @@ unsigned long get_board_ddr_clk(void);/* DM SPI */ #if defined(CONFIG_FSL_DSPI ) || defined(CONFIG_FSL_QSPI )#define CONFIG_CMD_SF -#define CONFIG_DM_SPI_FLASH -#define CONFIG_SPI_FLASH_DATAFLASH #endif #endif
Signature · 1 line
1.9.1
PATCH v7 44/87 defconfig: ls1021aqds_qspi: Enable SPI-NOR
In reply to Jagan TekiEnable SPI-NOR with MTD uclass.
--- configs/ls1021aqds_qspi_defconfig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
configs/ls1021aqds_qspi_defconfig +3 -1
@@ -9,7 +9,9 @@ CONFIG_SYS_EXTRA_OPTIONS="QSPI_BOOT" # CONFIG_CMD_SETEXPR is not set CONFIG_OF_CONTROL=y CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
Signature · 1 line
1.9.1
PATCH v7 45/87 defconfig: ls1021aqds_qspi: Enable CONFIG_MTD_DATAFLASH
In reply to Jagan TekiEnable CONFIG_MTD_DATAFLASH
--- configs/ls1021aqds_qspi_defconfig | 1 + 1 file changed, 1 insertion(+)
configs/ls1021aqds_qspi_defconfig +1 -0
@@ -12,6 +12,7 @@ CONFIG_DM=y CONFIG_MTD=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y +CONFIG_MTD_DATAFLASH=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
Signature · 1 line
1.9.1
PATCH v7 46/87 mtd: spi-nor: Copy sandbox
In reply to Jagan TekiCopy sandbox.c from drivers/mtd/spi to spi-nor,
more changes will added on future patches.
--- drivers/mtd/spi-nor/sandbox.c | 703 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 703 insertions(+) create mode 100644 drivers/mtd/spi-nor/sandbox.c
drivers/mtd/spi-nor/sandbox.c new file +703 -0
@@ -0,0 +1,703 @@ +/* +* Simulate a SPI flash +* +* Copyright (c) 2011-2013 The Chromium OS Authors. +* See file CREDITS for list of people who contributed to this +* project. +* +* Licensed under the GPL-2 or later. +*/ + +#include <common.h> +#include <dm.h> +#include <malloc.h> +#include <spi.h> +#include <os.h> + +#include <spi_flash.h> +#include "sf_internal.h" + +#include <asm/getopt.h> +#include <asm/spi.h> +#include <asm/state.h> +#include <dm/device-internal.h> +#include <dm/lists.h> +#include <dm/uclass-internal.h> + +DECLARE_GLOBAL_DATA_PTR ; + +/* +* The different states that our SPI flash transitions between. +* We need to keep track of this across multiple xfer calls since +* the SPI bus could possibly call down into us multiple times. +*/ +enum sandbox_sf_state { +SF_CMD ,/* default state -- we're awaiting a command */ +SF_ID ,/* read the flash's (jedec) ID code */ +SF_ADDR ,/* processing the offset in the flash to read/etc... */ +SF_READ ,/* reading data from the flash */ +SF_WRITE ,/* writing data to the flash, i.e. page programming */ +SF_ERASE ,/* erase the flash */ +SF_READ_STATUS ,/* read the flash's status register */ +SF_READ_STATUS1 ,/* read the flash's status register upper 8 bits*/ +SF_WRITE_STATUS ,/* write the flash's status register */ +}; + +static const char *sandbox_sf_state_name (enum sandbox_sf_state state) +{ +static const char *const states[] = { +"CMD" ,"ID" ,"ADDR" ,"READ" ,"WRITE" ,"ERASE" ,"READ_STATUS" , +"READ_STATUS1" ,"WRITE_STATUS" , + }; +return states[state]; +} + +/* Bits for the status register */ +#define STAT_WIP (1 << 0) +#define STAT_WEL (1 << 1) + +/* Assume all SPI flashes have 3 byte addresses since they do atm */ +#define SF_ADDR_LEN 3 + +#define IDCODE_LEN 3 + +/* Used to quickly bulk erase backing store */ +static u8 sandbox_sf_0xff[0x1000 ]; + +/* Internal state data for each SPI flash */ +struct sandbox_spi_flash { +unsigned int cs;/* Chip select we are attached to */ +/* +* As we receive data over the SPI bus, our flash transitions +* between states. For example, we start off in the SF_CMD +* state where the first byte tells us what operation to perform +* (such as read or write the flash). But the operation itself +* can go through a few states such as first reading in the +* offset in the flash to perform the requested operation. +* Thus "state" stores the exact state that our machine is in +* while "cmd" stores the overall command we're processing. +*/ +enum sandbox_sf_state state; +uint cmd; +/* Erase size of current erase command */ +uint erase_size; +/* Current position in the flash; used when reading/writing/etc... */ +uint off; +/* How many address bytes we've consumed */ +uint addr_bytes, pad_addr_bytes; +/* The current flash status (see STAT_XXX defines above) */ +u16 status; +/* Data describing the flash we're emulating */ +const struct spi_flash_params *data; +/* The file on disk to serv up data from */ +int fd; +}; + +struct sandbox_spi_flash_plat_data { +const char *filename; +const char *device_name; +int bus; +int cs; +}; + +/** +* This is a very strange probe function. If it has platform data (which may +* have come from the device tree) then this function gets the filename and +* device type from there. Failing that it looks@the command line +* parameter. +*/ +static int sandbox_sf_probe (struct udevice *dev) +{ +/* spec = idcode:file */ +struct sandbox_spi_flash *sbsf =dev_get_priv (dev); +const char *file; +size_t len, idname_len; +const struct spi_flash_params *data; +struct sandbox_spi_flash_plat_data *pdata =dev_get_platdata (dev); +struct sandbox_state *state =state_get_current (); +struct udevice *bus = dev->parent; +const char *spec =NULL ; +int ret =0 ; +int cs =-1 ; +int i; + +debug ("%s: bus %d, looking for emul=%p: " , __func__, bus->seq, dev); +if (bus->seq >=0 && bus->seq <CONFIG_SANDBOX_SPI_MAX_BUS ) { +for (i =0 ; i <CONFIG_SANDBOX_SPI_MAX_CS ; i++) { +if (state->spi[bus->seq][i].emul == dev) + cs = i; + } + } +if (cs ==-1 ) { +printf ("Error: Unknown chip select for device '%s'\n" , + dev->name); +return -EINVAL ; + } +debug ("found at cs %d\n" , cs); + +if (!pdata->filename) { +struct sandbox_state *state =state_get_current (); + +assert (bus->seq !=-1 ); +if (bus->seq <CONFIG_SANDBOX_SPI_MAX_BUS ) + spec = state->spi[bus->seq][cs].spec; +if (!spec) { +debug ("%s: No spec found for bus %d, cs %d\n" , + __func__, bus->seq, cs); + ret = -ENOENT ; + goto error; + } + + file =strchr (spec,':' ); +if (!file) { +printf ("%s: unable to parse file\n" , __func__); + ret = -EINVAL ; + goto error; + } + idname_len = file - spec; + pdata->filename = file +1 ; + pdata->device_name = spec; + ++file; + }else { + spec =strchr (pdata->device_name,',' ); +if (spec) + spec++; +else + spec = pdata->device_name; + idname_len =strlen (spec); + } +debug ("%s: device='%s'\n" , __func__, spec); + +for (data = spi_flash_params_table; data->name; data++) { + len =strlen (data->name); +if (idname_len != len) +continue ; +if (!strncasecmp (spec, data->name, len)) +break ; + } +if (!data->name) { +printf ("%s: unknown flash '%*s'\n" , __func__, (int )idname_len, + spec); + ret = -EINVAL ; + goto error; + } + +if (sandbox_sf_0xff[0 ] ==0x00 ) +memset (sandbox_sf_0xff,0xff ,sizeof (sandbox_sf_0xff)); + + sbsf->fd =os_open (pdata->filename,02 ); +if (sbsf->fd ==-1 ) { +printf ("%s: unable to open file '%s'\n" , __func__, + pdata->filename); + ret = -EIO ; + goto error; + } + + sbsf->data = data; + sbsf->cs = cs; + +return 0 ; + + error: +debug ("%s: Got error %d\n" , __func__, ret); +return ret; +} + +static int sandbox_sf_remove (struct udevice *dev) +{ +struct sandbox_spi_flash *sbsf =dev_get_priv (dev); + +os_close (sbsf->fd); + +return 0 ; +} + +static void sandbox_sf_cs_activate (struct udevice *dev) +{ +struct sandbox_spi_flash *sbsf =dev_get_priv (dev); + +debug ("sandbox_sf: CS activated; state is fresh!\n" ); + +/* CS is asserted, so reset state */ + sbsf->off =0 ; + sbsf->addr_bytes =0 ; + sbsf->pad_addr_bytes =0 ; + sbsf->state =SF_CMD ; + sbsf->cmd =SF_CMD ; +} + +static void sandbox_sf_cs_deactivate (struct udevice *dev) +{ +debug ("sandbox_sf: CS deactivated; cmd done processing!\n" ); +} + +/* +* There are times when the data lines are allowed to tristate. What +* is actually sensed on the line depends on the hardware. It could +* always be 0xFF/0x00 (if there are pull ups/downs), or things could +* float and so we'd get garbage back. This func encapsulates that +* scenario so we can worry about the details here. +*/ +static void sandbox_spi_tristate (u8 *buf,uint len) +{ +/* XXX: make this into a user config option ? */ +memset (buf,0xff , len); +} + +/* Figure out what command this stream is telling us to do */ +static int sandbox_sf_process_cmd (struct sandbox_spi_flash *sbsf,const u8 *rx, +u8 *tx) +{ +enum sandbox_sf_state oldstate = sbsf->state; + +/* We need to output a byte for the cmd byte we just ate */ +if (tx) +sandbox_spi_tristate (tx,1 ); + + sbsf->cmd = rx[0 ]; +switch (sbsf->cmd) { +case CMD_READ_ID : + sbsf->state =SF_ID ; + sbsf->cmd =SF_ID ; +break ; +case CMD_READ_ARRAY_FAST : + sbsf->pad_addr_bytes =1 ; +case CMD_READ_ARRAY_SLOW : +case CMD_PAGE_PROGRAM : + sbsf->state =SF_ADDR ; +break ; +case CMD_WRITE_DISABLE : +debug (" write disabled\n" ); + sbsf->status &= ~STAT_WEL ; +break ; +case CMD_READ_STATUS : + sbsf->state =SF_READ_STATUS ; +break ; +case CMD_READ_STATUS1 : + sbsf->state =SF_READ_STATUS1 ; +break ; +case CMD_WRITE_ENABLE : +debug (" write enabled\n" ); + sbsf->status |=STAT_WEL ; +break ; +case CMD_WRITE_STATUS : + sbsf->state =SF_WRITE_STATUS ; +break ; +default : { +int flags = sbsf->data->flags; + +/* we only support erase here */ +if (sbsf->cmd ==CMD_ERASE_CHIP ) { + sbsf->erase_size = sbsf->data->sector_size * + sbsf->data->nr_sectors; + }else if (sbsf->cmd ==CMD_ERASE_4K && (flags &SECT_4K )) { + sbsf->erase_size =4 <<10 ; + }else if (sbsf->cmd ==CMD_ERASE_32K && (flags &SECT_32K )) { + sbsf->erase_size =32 <<10 ; + }else if (sbsf->cmd ==CMD_ERASE_64K && + !(flags & (SECT_4K |SECT_32K ))) { + sbsf->erase_size =64 <<10 ; + }else { +debug (" cmd unknown: %#x\n" , sbsf->cmd); +return -EIO ; + } + sbsf->state =SF_ADDR ; +break ; + } + } + +if (oldstate != sbsf->state) +debug (" cmd: transition to %s state\n" , +sandbox_sf_state_name (sbsf->state)); + +return 0 ; +} + +int sandbox_erase_part (struct sandbox_spi_flash *sbsf,int size) +{ +int todo; +int ret; + +while (size >0 ) { + todo =min (size, (int )sizeof (sandbox_sf_0xff)); + ret =os_write (sbsf->fd, sandbox_sf_0xff, todo); +if (ret != todo) +return ret; + size -= todo; + } + +return 0 ; +} + +static int sandbox_sf_xfer (struct udevice *dev,unsigned int bitlen, +const void *rxp,void *txp,unsigned long flags) +{ +struct sandbox_spi_flash *sbsf =dev_get_priv (dev); +const uint8_t *rx = rxp; +uint8_t *tx = txp; +uint cnt, pos =0 ; +int bytes = bitlen /8 ; +int ret; + +debug ("sandbox_sf: state:%x(%s) bytes:%u\n" , sbsf->state, +sandbox_sf_state_name (sbsf->state), bytes); + +if ((flags &SPI_XFER_BEGIN )) +sandbox_sf_cs_activate (dev); + +if (sbsf->state ==SF_CMD ) { +/* Figure out the initial state */ + ret =sandbox_sf_process_cmd (sbsf, rx, tx); +if (ret) +return ret; + ++pos; + } + +/* Process the remaining data */ +while (pos < bytes) { +switch (sbsf->state) { +case SF_ID : { +u8 id; + +debug (" id: off:%u tx:" , sbsf->off); +if (sbsf->off <IDCODE_LEN ) { +/* Extract correct byte from ID 0x00aabbcc */ + id = sbsf->data->jedec >> + (8 * (IDCODE_LEN -1 - sbsf->off)); + }else { + id =0 ; + } +debug ("%d %02x\n" , sbsf->off, id); + tx[pos++] = id; + ++sbsf->off; +break ; + } +case SF_ADDR : +debug (" addr: bytes:%u rx:%02x " , sbsf->addr_bytes, + rx[pos]); + +if (sbsf->addr_bytes++ <SF_ADDR_LEN ) + sbsf->off = (sbsf->off <<8 ) | rx[pos]; +debug ("addr:%06x\n" , sbsf->off); + +if (tx) +sandbox_spi_tristate (&tx[pos],1 ); + pos++; + +/* See if we're done processing */ +if (sbsf->addr_bytes < +SF_ADDR_LEN + sbsf->pad_addr_bytes) +break ; + +/* Next state! */ +if (os_lseek (sbsf->fd, sbsf->off,OS_SEEK_SET ) <0 ) { +puts ("sandbox_sf: os_lseek() failed" ); +return -EIO ; + } +switch (sbsf->cmd) { +case CMD_READ_ARRAY_FAST : +case CMD_READ_ARRAY_SLOW : + sbsf->state =SF_READ ; +break ; +case CMD_PAGE_PROGRAM : + sbsf->state =SF_WRITE ; +break ; +default : +/* assume erase state ... */ + sbsf->state =SF_ERASE ; + goto case_sf_erase; + } +debug (" cmd: transition to %s state\n" , +sandbox_sf_state_name (sbsf->state)); +break ; +case SF_READ : +/* +* XXX: need to handle exotic behavior: +* - reading past end of device +*/ + + cnt = bytes - pos; +debug (" tx: read(%u)\n" , cnt); +assert (tx); + ret =os_read (sbsf->fd, tx + pos, cnt); +if (ret <0 ) { +puts ("sandbox_sf: os_read() failed\n" ); +return -EIO ; + } + pos += ret; +break ; +case SF_READ_STATUS : +debug (" read status: %#x\n" , sbsf->status); + cnt = bytes - pos; +memset (tx + pos, sbsf->status, cnt); + pos += cnt; +break ; +case SF_READ_STATUS1 : +debug (" read status: %#x\n" , sbsf->status); + cnt = bytes - pos; +memset (tx + pos, sbsf->status >>8 , cnt); + pos += cnt; +break ; +case SF_WRITE_STATUS : +debug (" write status: %#x (ignored)\n" , rx[pos]); + pos = bytes; +break ; +case SF_WRITE : +/* +* XXX: need to handle exotic behavior: +* - unaligned addresses +* - more than a page (256) worth of data +* - reading past end of device +*/ +if (!(sbsf->status &STAT_WEL )) { +puts ("sandbox_sf: write enable not set before write\n" ); + goto done; + } + + cnt = bytes - pos; +debug (" rx: write(%u)\n" , cnt); +if (tx) +sandbox_spi_tristate (&tx[pos], cnt); + ret =os_write (sbsf->fd, rx + pos, cnt); +if (ret <0 ) { +puts ("sandbox_spi: os_write() failed\n" ); +return -EIO ; + } + pos += ret; + sbsf->status &= ~STAT_WEL ; +break ; +case SF_ERASE : + case_sf_erase: { +if (!(sbsf->status &STAT_WEL )) { +puts ("sandbox_sf: write enable not set before erase\n" ); + goto done; + } + +/* verify address is aligned */ +if (sbsf->off & (sbsf->erase_size -1 )) { +debug (" sector erase: cmd:%#x needs align:%#x, but we got %#x\n" , + sbsf->cmd, sbsf->erase_size, + sbsf->off); + sbsf->status &= ~STAT_WEL ; + goto done; + } + +debug (" sector erase addr: %u, size: %u\n" , sbsf->off, + sbsf->erase_size); + + cnt = bytes - pos; +if (tx) +sandbox_spi_tristate (&tx[pos], cnt); + pos += cnt; + +/* +* TODO(vapier at gentoo.org): latch WIP in status, and +* delay before clearing it ? +*/ + ret =sandbox_erase_part (sbsf, sbsf->erase_size); + sbsf->status &= ~STAT_WEL ; +if (ret) { +debug ("sandbox_sf: Erase failed\n" ); + goto done; + } + goto done; + } +default : +debug (" ??? no idea what to do ???\n" ); + goto done; + } + } + + done: +if (flags &SPI_XFER_END ) +sandbox_sf_cs_deactivate (dev); +return pos == bytes ?0 : -EIO ; +} + +int sandbox_sf_ofdata_to_platdata (struct udevice *dev) +{ +struct sandbox_spi_flash_plat_data *pdata =dev_get_platdata (dev); +const void *blob = gd->fdt_blob; +int node = dev->of_offset; + + pdata->filename =fdt_getprop (blob, node,"sandbox,filename" ,NULL ); + pdata->device_name =fdt_getprop (blob, node,"compatible" ,NULL ); +if (!pdata->filename || !pdata->device_name) { +debug ("%s: Missing properties, filename=%s, device_name=%s\n" , + __func__, pdata->filename, pdata->device_name); +return -EINVAL ; + } + +return 0 ; +} + +static const struct dm_spi_emul_ops sandbox_sf_emul_ops = { + .xfer = sandbox_sf_xfer, +}; + +#ifdef CONFIG_SPI_FLASH +static int sandbox_cmdline_cb_spi_sf (struct sandbox_state *state, +const char *arg) +{ +unsigned long bus, cs; +const char *spec =sandbox_spi_parse_spec (arg, &bus, &cs); + +if (!spec) +return 1 ; + +/* +* It is safe to not make a copy of 'spec' because it comes from the +* command line. +* +* TODO(sjg at chromium.org): It would be nice if we could parse the +* spec here, but the problem is that no U-Boot init has been done +* yet. Perhaps we can figure something out. +*/ + state->spi[bus][cs].spec = spec; +debug ("%s: Setting up spec '%s' for bus %ld, cs %ld\n" , __func__, + spec, bus, cs); + +return 0 ; +} +SANDBOX_CMDLINE_OPT (spi_sf,1 ,"connect a SPI flash: <bus>:<cs>:<id>:<file>" ); + +int sandbox_sf_bind_emul (struct sandbox_state *state,int busnum,int cs, +struct udevice *bus,int of_offset,const char *spec) +{ +struct udevice *emul; +char name[20 ], *str; +struct driver *drv; +int ret; + +/* now the emulator */ +strncpy (name, spec,sizeof (name) -6 ); + name[sizeof (name) -6 ] ='\0' ; +strcat (name,"-emul" ); + str =strdup (name); +if (!str) +return -ENOMEM ; + drv =lists_driver_lookup_name ("sandbox_sf_emul" ); +if (!drv) { +puts ("Cannot find sandbox_sf_emul driver\n" ); +return -ENOENT ; + } + ret =device_bind (bus, drv, str,NULL , of_offset, &emul); +if (ret) { +printf ("Cannot create emul device for spec '%s' (err=%d)\n" , + spec, ret); +return ret; + } + state->spi[busnum][cs].emul = emul; + +return 0 ; +} + +void sandbox_sf_unbind_emul (struct sandbox_state *state,int busnum,int cs) +{ +struct udevice *dev; + + dev = state->spi[busnum][cs].emul; +device_remove (dev); +device_unbind (dev); + state->spi[busnum][cs].emul =NULL ; +} + +static int sandbox_sf_bind_bus_cs (struct sandbox_state *state,int busnum, +int cs,const char *spec) +{ +struct udevice *bus, *slave; +int ret; + + ret =uclass_find_device_by_seq (UCLASS_SPI , busnum, true, &bus); +if (ret) { +printf ("Invalid bus %d for spec '%s' (err=%d)\n" , busnum, + spec, ret); +return ret; + } + ret =spi_find_chip_select (bus, cs, &slave); +if (!ret) { +printf ("Chip select %d already exists for spec '%s'\n" , cs, + spec); +return -EEXIST ; + } + + ret =device_bind_driver (bus,"spi_flash_std" , spec, &slave); +if (ret) +return ret; + +return sandbox_sf_bind_emul (state, busnum, cs, bus,-1 , spec); +} + +int sandbox_spi_get_emul (struct sandbox_state *state, +struct udevice *bus,struct udevice *slave, +struct udevice **emulp) +{ +struct sandbox_spi_info *info; +int busnum = bus->seq; +int cs =spi_chip_select (slave); +int ret; + + info = &state->spi[busnum][cs]; +if (!info->emul) { +/* Use the same device tree node as the SPI flash device */ +debug ("%s: busnum=%u, cs=%u: binding SPI flash emulation: " , + __func__, busnum, cs); + ret =sandbox_sf_bind_emul (state, busnum, cs, bus, + slave->of_offset, slave->name); +if (ret) { +debug ("failed (err=%d)\n" , ret); +return ret; + } +debug ("OK\n" ); + } + *emulp = info->emul; + +return 0 ; +} + +int dm_scan_other (bool pre_reloc_only) +{ +struct sandbox_state *state =state_get_current (); +int busnum, cs; + +if (pre_reloc_only) +return 0 ; +for (busnum =0 ; busnum <CONFIG_SANDBOX_SPI_MAX_BUS ; busnum++) { +for (cs =0 ; cs <CONFIG_SANDBOX_SPI_MAX_CS ; cs++) { +const char *spec = state->spi[busnum][cs].spec; +int ret; + +if (spec) { + ret =sandbox_sf_bind_bus_cs (state, busnum, + cs, spec); +if (ret) { +debug ("%s: Bind failed for bus %d, cs %d\n" , + __func__, busnum, cs); +return ret; + } +debug ("%s: Setting up spec '%s' for bus %d, cs %d\n" , + __func__, spec, busnum, cs); + } + } + } + +return 0 ; +} +#endif + +static const struct udevice_id sandbox_sf_ids[] = { + { .compatible ="sandbox,spi-flash" }, + { } +}; + +U_BOOT_DRIVER (sandbox_sf_emul) = { + .name ="sandbox_sf_emul" , + .id =UCLASS_SPI_EMUL , + .of_match = sandbox_sf_ids, + .ofdata_to_platdata = sandbox_sf_ofdata_to_platdata, + .probe = sandbox_sf_probe, + .remove = sandbox_sf_remove, + .priv_auto_alloc_size =sizeof (struct sandbox_spi_flash ), + .platdata_auto_alloc_size =sizeof (struct sandbox_spi_flash_plat_data ), + .ops = &sandbox_sf_emul_ops, +};
Signature · 1 line
1.9.1
PATCH v7 47/87 mtd: spi-nor: sandbox: Use spi-nor header
In reply to Jagan TekiSince sandbox moved to use spi-nor layer, this patch replaced the header changes from sf_internal.h to mtd/spi-nor.h
--- drivers/mtd/spi-nor/sandbox.c | 46 +++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 23 deletions(-)
drivers/mtd/spi-nor/sandbox.c +23 -23
@@ -12,10 +12,8 @@#include <dm.h> #include <malloc.h> #include <spi.h> -#include <os.h> -#include <spi_flash.h> -#include "sf_internal.h" +#include <os.h> #include <asm/getopt.h> #include <asm/spi.h>
@@ -24,6 +22,8 @@#include <dm/lists.h> #include <dm/uclass-internal.h> +#include <linux/mtd/spi-nor.h> +DECLARE_GLOBAL_DATA_PTR ;/*
@@ -88,7 +88,7 @@ struct sandbox_spi_flash {/* The current flash status (see STAT_XXX defines above) */ u16 status;/* Data describing the flash we're emulating */ -const struct spi_flash_params *data; +const struct spi_nor_info *data;/* The file on disk to serv up data from */ int fd; };
@@ -112,7 +112,7 @@ static int sandbox_sf_probe(struct udevice *dev)struct sandbox_spi_flash *sbsf =dev_get_priv (dev);const char *file;size_t len, idname_len; -const struct spi_flash_params *data; +const struct spi_nor_info *data;struct sandbox_spi_flash_plat_data *pdata =dev_get_platdata (dev);struct sandbox_state *state =state_get_current ();struct udevice *bus = dev->parent;
@@ -168,7 +168,7 @@ static int sandbox_sf_probe(struct udevice *dev) }debug ("%s: device='%s'\n" , __func__, spec); -for (data = spi_flash_params_table; data->name; data++) { +for (data = spi_nor_ids; data->name; data++) { len =strlen (data->name);if (idname_len != len)continue ;
@@ -256,45 +256,45 @@ static int sandbox_sf_process_cmd(struct sandbox_spi_flash *sbsf, const u8 *rx, sbsf->cmd = rx[0 ];switch (sbsf->cmd) { -case CMD_READ_ID : +case SNOR_OP_RDID : sbsf->state =SF_ID ; sbsf->cmd =SF_ID ;break ; -case CMD_READ_ARRAY_FAST : +case SNOR_OP_READ_FAST : sbsf->pad_addr_bytes =1 ; -case CMD_READ_ARRAY_SLOW : -case CMD_PAGE_PROGRAM : +case SNOR_OP_READ : +case SNOR_OP_PP : sbsf->state =SF_ADDR ;break ; -case CMD_WRITE_DISABLE : +case SNOR_OP_WRDI :debug (" write disabled\n" ); sbsf->status &= ~STAT_WEL ;break ; -case CMD_READ_STATUS : +case SNOR_OP_RDSR : sbsf->state =SF_READ_STATUS ;break ; -case CMD_READ_STATUS1 : +case SNOR_OP_RDCR : sbsf->state =SF_READ_STATUS1 ;break ; -case CMD_WRITE_ENABLE : +case SNOR_OP_WREN :debug (" write enabled\n" ); sbsf->status |=STAT_WEL ;break ; -case CMD_WRITE_STATUS : +case SNOR_OP_WRSR : sbsf->state =SF_WRITE_STATUS ;break ;default : {int flags = sbsf->data->flags;/* we only support erase here */ -if (sbsf->cmd ==CMD_ERASE_CHIP ) { +if (sbsf->cmd ==SPINOR_OP_CHIP_ERASE ) { sbsf->erase_size = sbsf->data->sector_size * - sbsf->data->nr_sectors; - }else if (sbsf->cmd ==CMD_ERASE_4K && (flags &SECT_4K )) { + sbsf->data->n_sectors; + }else if (sbsf->cmd ==SNOR_OP_BE_4K && (flags &SECT_4K )) { sbsf->erase_size =4 <<10 ; - }else if (sbsf->cmd ==CMD_ERASE_32K && (flags &SECT_32K )) { + }else if (sbsf->cmd ==SNOR_OP_BE_32K && (flags &SECT_32K )) { sbsf->erase_size =32 <<10 ; - }else if (sbsf->cmd ==CMD_ERASE_64K && + }else if (sbsf->cmd ==SNOR_OP_SE && !(flags & (SECT_4K |SECT_32K ))) { sbsf->erase_size =64 <<10 ; }else {
@@ -395,11 +395,11 @@ static int sandbox_sf_xfer(struct udevice *dev, unsigned int bitlen,return -EIO ; }switch (sbsf->cmd) { -case CMD_READ_ARRAY_FAST : -case CMD_READ_ARRAY_SLOW : +case SNOR_OP_READ_FAST : +case SNOR_OP_READ : sbsf->state =SF_READ ;break ; -case CMD_PAGE_PROGRAM : +case SNOR_OP_PP : sbsf->state =SF_WRITE ;break ;default :
Signature · 1 line
1.9.1
PATCH v7 48/87 mtd: spi-nor: sandbox: Fix ID exctract from spi_nor_info
In reply to Jagan TekiThis patch fix the id exctract from spi_nor_info ids.
--- drivers/mtd/spi-nor/sandbox.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/mtd/spi-nor/sandbox.c +2 -1
@@ -362,7 +362,8 @@ static int sandbox_sf_xfer(struct udevice *dev, unsigned int bitlen,debug (" id: off:%u tx:" , sbsf->off);if (sbsf->off <IDCODE_LEN ) {/* Extract correct byte from ID 0x00aabbcc */ - id = sbsf->data->jedec >> + id = ((JEDEC_MFR (sbsf->data) <<16 ) | +JEDEC_ID (sbsf->data)) >> (8 * (IDCODE_LEN -1 - sbsf->off)); }else { id =0 ;
Signature · 1 line
1.9.1
PATCH v7 49/87 mtd: spi-nor: Add SPI_NOR_SANDBOX
In reply to Jagan TekiTo follow spi-nor notation replaced CONFIG_SPI_FLASH_SANDBOX with CONFIG_SPI_NOR_SANDBOX.
--- drivers/mtd/spi-nor/Kconfig | 10 ++++++++++ drivers/mtd/spi-nor/Makefile | 1 + 2 files changed, 11 insertions(+)
drivers/mtd/spi-nor/Kconfig +10 -0
@@ -98,6 +98,16 @@ config SPI_FLASH_WINBOND help Add support for various Winbond SPI flash chips (W25xxx) +config SPI_NOR_SANDBOX + bool "Support sandbox SPI flash device" + depends on SANDBOX + help + Since sandbox cannot access real devices, an emulation mechanism is + provided instead. Drivers can be connected up to the sandbox SPI + bus (see CONFIG_SANDBOX_SPI) and SPI traffic will be routed to this + device. Typically the contents of the emulated SPI flash device is + stored in a file on the host filesystem. + endif # MTD_SPI_NOR config MTD_DATAFLASH
drivers/mtd/spi-nor/Makefile +1 -0
@@ -17,3 +17,4 @@ endif obj-$(CONFIG_MTD_M25P80) += m25p80.o obj-$(CONFIG_MTD_DATAFLASH) += mtd_dataflash.o +obj-$(CONFIG_SPI_NOR_SANDBOX) += sandbox.o
Signature · 1 line
1.9.1
PATCH v7 50/87 test/dm: Makefile: Use CONFIG_DM_MTD_SPI_NOR
In reply to Jagan TekiUse CONFIG_DM_MTD_SPI_NOR instead of CONFIG_DM_SPI_FLASH
--- test/dm/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
test/dm/Makefile +1 -1
@@ -28,7 +28,7 @@ obj-y += regmap.o obj-$(CONFIG_REMOTEPROC) += remoteproc.o obj-$(CONFIG_RESET) += reset.o obj-$(CONFIG_DM_RTC) += rtc.o -obj-$(CONFIG_DM_SPI_FLASH) += sf.o +obj-$(CONFIG_DM_MTD_SPI_NOR) += sf.o obj-$(CONFIG_DM_SPI) += spi.o obj-y += syscon.o obj-$(CONFIG_DM_USB) += usb.o
Signature · 1 line
1.9.1
PATCH v7 51/87 test/dm: spi: Use CONFIG_DM_MTD_SPI_NOR
In reply to Jagan TekiUse CONFIG_DM_MTD_SPI_NOR instead of CONFIG_DM_SPI_FLASH
--- test/dm/spi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
test/dm/spi.c +1 -1
@@ -118,7 +118,7 @@ static int dm_test_spi_xfer(struct unit_test_state *uts)* Since we are about to destroy all devices, we must tell sandbox * to forget the emulation device */ -#ifdef CONFIG_DM_SPI_FLASH +#ifdef CONFIG_DM_MTD_SPI_NOR sandbox_sf_unbind_emul (state_get_current (), busnum, cs);#endif
Signature · 1 line
1.9.1
PATCH v7 52/87 configs: sandbox: Enable SPI-NOR sandbox driver
In reply to Jagan Teki- CONFIG_DM_SPI_FLASH
+ CONFIG_MTD
+ CONFIG_MTD_M25P80
+ CONFIG_MTD_SPI_NOR
+ CONFIG_SPI_NOR_SANDBOX
Replace CONFIG_SPI_FLASH with CONFIG_MTD_SPI_NOR
--- arch/Kconfig | 2 +- configs/sandbox_defconfig | 5 +++-- drivers/mtd/spi-nor/sandbox.c | 2 +- include/spi_flash.h | 14 +++++++------- 4 files changed, 12 insertions(+), 11 deletions(-)
arch/Kconfig +1 -1
@@ -87,11 +87,11 @@ config SANDBOX select SYS_GENERIC_BOARD select SUPPORT_OF_CONTROL select DM - select DM_SPI_FLASH select DM_SERIAL select DM_I2C select DM_SPI select DM_GPIO + select MTD config SH bool "SuperH architecture"
configs/sandbox_defconfig +3 -2
@@ -40,8 +40,9 @@ CONFIG_CROS_EC=y CONFIG_CROS_EC_SANDBOX=y CONFIG_RESET=y CONFIG_DM_MMC=y -CONFIG_SPI_FLASH_SANDBOX=y -CONFIG_SPI_FLASH=y +CONFIG_SPI_NOR_SANDBOX=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_GIGADEVICE=y
drivers/mtd/spi-nor/sandbox.c +1 -1
@@ -536,7 +536,7 @@ static const struct dm_spi_emul_ops sandbox_sf_emul_ops = { .xfer = sandbox_sf_xfer, }; -#ifdef CONFIG_SPI_FLASH +#ifdef CONFIG_MTD_SPI_NOR static int sandbox_cmdline_cb_spi_sf (struct sandbox_state *state,const char *arg) {
include/spi_flash.h +7 -7
@@ -148,6 +148,13 @@ static inline int spi_flash_protect(spi_flash_t *info, u32 ofs,#ifdef CONFIG_DM_MTD_SPI_NOR +struct sandbox_state ; + +int sandbox_sf_bind_emul (struct sandbox_state *state,int busnum,int cs, +struct udevice *bus,int of_offset,const char *spec); + +void sandbox_sf_unbind_emul (struct sandbox_state *state,int busnum,int cs); +int spi_flash_probe_bus_cs (unsigned int busnum,unsigned int cs,unsigned int max_hz,unsigned int spi_mode,struct udevice **devp);
@@ -273,13 +280,6 @@ void sandbox_sf_unbind_emul(struct sandbox_state *state, int busnum, int cs);#elif !defined(CONFIG_MTD_SPI_NOR ) -struct sandbox_state ; - -int sandbox_sf_bind_emul (struct sandbox_state *state,int busnum,int cs, -struct udevice *bus,int of_offset,const char *spec); - -void sandbox_sf_unbind_emul (struct sandbox_state *state,int busnum,int cs); -struct spi_flash *spi_flash_probe (unsigned int bus,unsigned int cs,unsigned int max_hz,unsigned int spi_mode);
Signature · 1 line
1.9.1
PATCH v7 53/87 test/dm: spi: Use m25p80 as driver name
In reply to Jagan TekiSince new spi-nor using m25p80 as a driver name for probing flash chip using spi_get_bus_and_cs, hence replace the 'spi_flash_std' with 'm25p80
--- test/dm/spi.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
test/dm/spi.c +3 -3
@@ -59,7 +59,7 @@ static int dm_test_spi_find(struct unit_test_state *uts)*/ ut_asserteq (-ENODEV ,spi_find_bus_and_cs (busnum, cs, &bus, &dev));ut_asserteq (-ENOENT ,spi_get_bus_and_cs (busnum, cs, speed, mode, -"spi_flash_std" ,"name" , &bus, +"m25p80" ,"name" , &bus, &slave));sandbox_sf_unbind_emul (state_get_current (), busnum, cs);ut_assertok (spi_cs_info (bus, cs, &info));
@@ -70,7 +70,7 @@ static int dm_test_spi_find(struct unit_test_state *uts) "name"));ut_assertok (spi_find_bus_and_cs (busnum, cs, &bus, &dev));ut_assertok (spi_get_bus_and_cs (busnum, cs, speed, mode, -"spi_flash_std" ,"name" , &bus, &slave)); +"m25p80" ,"name" , &bus, &slave));ut_assertok (spi_cs_info (bus, cs, &info));ut_asserteq_ptr (info.dev, slave->dev);
@@ -79,7 +79,7 @@ static int dm_test_spi_find(struct unit_test_state *uts)ut_assertok (sandbox_sf_bind_emul (state, busnum, cs_b, bus, of_offset,"name" ));ut_assertok (spi_get_bus_and_cs (busnum, cs_b, speed, mode, -"spi_flash_std" ,"name" , &bus, &slave)); +"m25p80" ,"name" , &bus, &slave));ut_assertok (spi_cs_info (bus, cs_b, &info));ut_asserteq_ptr (info.dev, slave->dev);
Signature · 1 line
1.9.1
PATCH v7 54/87 dts: sandbox: Use jedec, spi-nor compatible string
In reply to Jagan TekiUse spi-nor flash driver compatible string as 'jedec,spi-nor' instead of spi-flash
--- arch/sandbox/dts/test.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/sandbox/dts/test.dts +1 -1
@@ -267,7 +267,7 @@ cs-gpios = <0>, <&gpio_a 0>; spi.bin at 0 { reg = <0>; - compatible = "spansion,m25p16", "spi-flash"; + compatible = "spansion,m25p16", "jedec,spi-nor"; spi-max-frequency = <40000000>; sandbox,filename = "spi.bin"; };
Signature · 1 line
1.9.1
PATCH v7 55/87 x86: Drop using spi_flash_dm_ops
In reply to Jagan TekiSince spi-nor flash is part of MTD uclass, so replaced UCLASS_SPI_FLASH with UCLASS_MTD and use respective spi_flash operations as well.
--- arch/arm/mach-rockchip/rk3288-board-spl.c | 2 +- arch/x86/lib/mrccache.c | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-)
arch/arm/mach-rockchip/rk3288-board-spl.c +1 -1
@@ -53,7 +53,7 @@ u32 spl_boot_device(void) }debug ("Found device %s\n" , dev->name);switch (device_get_uclass_id (dev)) { -case UCLASS_SPI_FLASH : +case UCLASS_MTD :return BOOT_DEVICE_SPI ;case UCLASS_MMC :return BOOT_DEVICE_MMC1 ;
arch/x86/lib/mrccache.c +4 -5
@@ -109,6 +109,7 @@ static struct mrc_data_container *find_next_mrc_cache(struct mrc_region *entry,int mrccache_update (struct udevice *sf,struct mrc_region *entry,struct mrc_data_container *cur) { +spi_flash_t *flash =dev_get_uclass_priv (sf);struct mrc_data_container *cache;ulong offset;ulong base_addr;
@@ -139,7 +140,7 @@ int mrccache_update(struct udevice *sf, struct mrc_region *entry,debug ("Erasing the MRC cache region of %x bytes at %x\n" , entry->length, entry->offset); - ret =spi_flash_erase_dm (sf, entry->offset, entry->length); + ret =spi_flash_erase (flash, entry->offset, entry->length);if (ret) {debug ("Failed to erase flash region\n" );return ret;
@@ -150,8 +151,7 @@ int mrccache_update(struct udevice *sf, struct mrc_region *entry,/* Write the data out */ offset = (ulong )cache - base_addr + entry->offset;debug ("Write MRC cache update to flash at %lx\n" , offset); - ret =spi_flash_write_dm (sf, offset, cur->data_size +sizeof (*cur), - cur); + ret =spi_flash_write (flash, offset, cur->data_size +sizeof (*cur), cur);if (ret) {debug ("Failed to write to SPI flash\n" );return ret;
@@ -216,8 +216,7 @@ int mrccache_get_region(struct udevice **devp, struct mrc_region *entry) entry->length = reg[1 ];if (devp) { - ret =uclass_get_device_by_of_offset (UCLASS_SPI_FLASH , node, - devp); + ret =uclass_get_device_by_of_offset (UCLASS_MTD , node, devp);debug ("ret = %d\n" , ret);if (ret)return ret;
Signature · 1 line
1.9.1
PATCH v7 56/87 spi_flash: Use spi_flash_t
In reply to Jagan TekiUse spi_flash_t instead of struct spi_flash.
--- board/Arcturus/ucp1020/cmd_arc.c | 2 +- board/Synology/ds414/cmd_syno.c | 2 +- board/buffalo/lsxl/lsxl.c | 2 +- board/congatec/cgtqmx6eval/cgtqmx6eval.c | 2 +- board/davinci/da8xxevm/da850evm.c | 2 +- board/renesas/sh7752evb/sh7752evb.c | 4 ++-- board/renesas/sh7753evb/sh7753evb.c | 4 ++-- board/renesas/sh7757lcr/sh7757lcr.c | 6 +++--- board/siemens/taurus/taurus.c | 2 +- common/splash_source.c | 2 +- drivers/dfu/dfu_sf.c | 4 ++-- drivers/net/fm/fm.c | 2 +- drivers/net/phy/cortina.c | 2 +- include/dfu.h | 2 +- 14 files changed, 19 insertions(+), 19 deletions(-)
board/Arcturus/ucp1020/cmd_arc.c +1 -1
@@ -37,7 +37,7 @@#define FIRM_ADDR3 (CONFIG_ENV_SECT_SIZE + 0x200 - sizeof(smac))#define FIRM_ADDR4 (CONFIG_ENV_SECT_SIZE + 0x400 - sizeof(smac)) -static struct spi_flash *flash; +static spi_flash_t *flash;char smac[4 ][18 ];static int ishwaddr (char *hwaddr)
board/Synology/ds414/cmd_syno.c +1 -1
@@ -27,7 +27,7 @@ static int do_syno_populate(int argc, char * const argv[])unsigned int cs =CONFIG_SF_DEFAULT_CS ;unsigned int speed =CONFIG_SF_DEFAULT_SPEED ;unsigned int mode =CONFIG_SF_DEFAULT_MODE ; -struct spi_flash *flash; +spi_flash_t *flash;unsigned long addr =0x80000 ;/* XXX: parameterize this? */ loff_t offset =0x007d0000 ;loff_t len =0x00010000 ;
board/buffalo/lsxl/lsxl.c +1 -1
@@ -211,7 +211,7 @@ void check_enetaddr(void)static void erase_environment (void ) { -struct spi_flash *flash; +spi_flash_t *flash;printf ("Erasing environment..\n" ); flash =spi_flash_probe (0 ,0 ,1000000 ,SPI_MODE_3 );
board/congatec/cgtqmx6eval/cgtqmx6eval.c +1 -1
@@ -1005,7 +1005,7 @@ static void conv_ascii(unsigned char *dst, unsigned char *src, int len)#define CFG_MFG_ADDR_OFFSET (spi->size - SZ_16K)static bool is_2gb (void ) { -struct spi_flash *spi; +spi_flash_t *spi;int ret;char buf[sizeof (struct mfgdata )];struct mfgdata *data = (struct mfgdata *)buf;
board/davinci/da8xxevm/da850evm.c +1 -1
@@ -49,7 +49,7 @@ DECLARE_GLOBAL_DATA_PTR;#ifdef CONFIG_MAC_ADDR_IN_SPIFLASH static int get_mac_addr (u8 *addr) { -struct spi_flash *flash; +spi_flash_t *flash;int ret; flash = spi_flash_probe(CFG_MAC_ADDR_SPI_BUS, CFG_MAC_ADDR_SPI_CS,
board/renesas/sh7752evb/sh7752evb.c +2 -2
@@ -185,7 +185,7 @@ int board_mmc_init(bd_t *bis)static int get_sh_eth_mac_raw (unsigned char *buf,int size) { -struct spi_flash *spi; +spi_flash_t *spi;int ret; spi =spi_flash_probe (0 ,0 ,1000000 ,SPI_MODE_3 );
@@ -254,7 +254,7 @@ int do_write_mac(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) {int i, ret;char mac_string[256 ]; -struct spi_flash *spi; +spi_flash_t *spi;unsigned char *buf;if (argc !=3 ) {
board/renesas/sh7753evb/sh7753evb.c +2 -2
@@ -201,7 +201,7 @@ int board_mmc_init(bd_t *bis)static int get_sh_eth_mac_raw (unsigned char *buf,int size) { -struct spi_flash *spi; +spi_flash_t *spi;int ret; spi =spi_flash_probe (0 ,0 ,1000000 ,SPI_MODE_3 );
@@ -270,7 +270,7 @@ int do_write_mac(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) {int i, ret;char mac_string[256 ]; -struct spi_flash *spi; +spi_flash_t *spi;unsigned char *buf;if (argc !=3 ) {
board/renesas/sh7757lcr/sh7757lcr.c +3 -3
@@ -30,7 +30,7 @@ static void init_gctrl(void)static int init_pcie_bridge_from_spi (void *buf,size_t size) { -struct spi_flash *spi; +spi_flash_t *spi;int ret;unsigned long pcie_addr;
@@ -256,7 +256,7 @@ int board_mmc_init(bd_t *bis)static int get_sh_eth_mac_raw (unsigned char *buf,int size) { -struct spi_flash *spi; +spi_flash_t *spi;int ret; spi =spi_flash_probe (0 ,0 ,1000000 ,SPI_MODE_3 );
@@ -381,7 +381,7 @@ int do_write_mac(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) {int i, ret;char mac_string[256 ]; -struct spi_flash *spi; +spi_flash_t *spi;unsigned char *buf;if (argc !=5 ) {
board/siemens/taurus/taurus.c +1 -1
@@ -121,7 +121,7 @@ void spl_board_init(void)/* check for recovery mode */ if (at91_is_recovery () ==1 ) { -struct spi_flash *flash; +spi_flash_t *flash;puts ("Recovery button pressed\n" );nand_init ();
common/splash_source.c +1 -1
@@ -20,7 +20,7 @@DECLARE_GLOBAL_DATA_PTR ;#ifdef CONFIG_SPI_FLASH -static struct spi_flash *sf; +static spi_flash_t *sf;static int splash_sf_read_raw (u32 bmp_load_addr,int offset,size_t read_size) {if (!sf) {
drivers/dfu/dfu_sf.c +2 -2
@@ -63,14 +63,14 @@ static void dfu_free_entity_sf(struct dfu_entity *dfu)spi_flash_free (dfu->data.sf.dev); } -static struct spi_flash *parse_dev (char *devstr) +static spi_flash_t *parse_dev (char *devstr) {unsigned int bus;unsigned int cs;unsigned int speed =CONFIG_SF_DEFAULT_SPEED ;unsigned int mode =CONFIG_SF_DEFAULT_MODE ;char *s, *endp; -struct spi_flash *dev; +spi_flash_t *dev; s =strsep (&devstr,":" );if (!s || !*s || (bus =simple_strtoul (s, &endp,0 ), *endp)) {
drivers/net/fm/fm.c +1 -1
@@ -367,7 +367,7 @@ int fm_init_common(int index, struct ccsr_fman *reg) CONFIG_SYS_FMAN_FW_ADDR, rc); }#elif defined(CONFIG_SYS_QE_FW_IN_SPIFLASH) -struct spi_flash *ucode_flash; +spi_flash_t *ucode_flash;void *addr =malloc (CONFIG_SYS_QE_FMAN_FW_LENGTH );int ret =0 ;
drivers/net/phy/cortina.c +1 -1
@@ -147,7 +147,7 @@ void cs4340_upload_firmware(struct phy_device *phydev) }#elif defined(CONFIG_SYS_CORTINA_FW_IN_SPIFLASH )int ret; -struct spi_flash *ucode_flash; +spi_flash_t *ucode_flash; addr =malloc (CONFIG_CORTINA_FW_LENGTH ); ucode_flash = spi_flash_probe(CONFIG_ENV_SPI_BUS, CONFIG_ENV_SPI_CS,
include/dfu.h +1 -1
@@ -73,7 +73,7 @@ struct ram_internal_data { };struct sf_internal_data { -struct spi_flash *dev; +spi_flash_t *dev;/* RAW programming */ u64 start;
Signature · 1 line
1.9.1
PATCH v7 57/87 defconfig: zynq_zc770_xm013: Enable ZYNQ_QSPI
In reply to Jagan TekiUse zynq qspi driver for zynq zc770_xm013 board.
--- configs/zynq_zc770_xm013_defconfig | 1 + 1 file changed, 1 insertion(+)
configs/zynq_zc770_xm013_defconfig +1 -0
@@ -17,3 +17,4 @@ CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_BAR=y CONFIG_ZYNQ_GEM=y +CONFIG_ZYNQ_QSPI=y
Signature · 1 line
1.9.1
PATCH v7 58/87 configs: Drop CONFIG_SPI_FLASH_MTD
In reply to Jagan TekiSince mtd support is part of spi-nor core, hence removed legacy defines.
--- include/configs/aristainetos-common.h | 1 - include/configs/gw_ventana.h | 1 - include/configs/socfpga_common.h | 1 - 3 files changed, 3 deletions(-)
include/configs/aristainetos-common.h +0 -1
@@ -42,7 +42,6 @@#define CONFIG_PHY_MICREL #define CONFIG_CMD_SF -#define CONFIG_SPI_FLASH_MTD #define CONFIG_MXC_SPI #define CONFIG_SF_DEFAULT_SPEED 20000000#define CONFIG_SF_DEFAULT_MODE SPI_MODE_0
include/configs/gw_ventana.h +0 -1
@@ -68,7 +68,6 @@#define CONFIG_CMD_SF #ifdef CONFIG_CMD_SF #define CONFIG_MXC_SPI -#define CONFIG_SPI_FLASH_MTD #define CONFIG_SPI_FLASH_BAR #define CONFIG_SF_DEFAULT_BUS 0#define CONFIG_SF_DEFAULT_CS 0
include/configs/socfpga_common.h +0 -1
@@ -206,7 +206,6 @@ unsigned int cm_get_l4_sp_clk_hz(void);*/ /* Enable multiple SPI NOR flash manufacturers */ #ifndef CONFIG_SPL_BUILD -#define CONFIG_SPI_FLASH_MTD #define CONFIG_CMD_MTDPARTS #define CONFIG_MTD_DEVICE #define CONFIG_MTD_PARTITIONS
Signature · 1 line
1.9.1
PATCH v7 59/87 config: Enable SPI-NOR framework
In reply to Jagan Teki- CONFIG_DM_SPI_FLASH
- CONFIG_SPI_FLASH
- CONFIG_SPL_SPI_FLASH_SUPPORT
+ CONFIG_MTD
+ CONFIG_MTD_M25P80
+ CONFIG_MTD_SPI_NOR
+ CONFIG_SPL_SPI_NOR_SUPPORT
+ CONFIG_SPL_MTD_SUPPORT
for conditional constructCONFIG_SPI_FLASH => CONFIG_MTD_SPI_NOR
--- arch/Kconfig | 2 +- arch/arm/Kconfig | 11 ++++++----- arch/arm/mach-rockchip/Kconfig | 2 +- arch/arm/mach-tegra/Kconfig | 2 +- board/davinci/ea20/ea20.c | 2 +- configs/B4420QDS_NAND_defconfig | 3 ++- configs/B4420QDS_SPIFLASH_defconfig | 3 ++- configs/B4420QDS_defconfig | 3 ++- configs/B4860QDS_NAND_defconfig | 3 ++- configs/B4860QDS_SECURE_BOOT_defconfig | 3 ++- configs/B4860QDS_SPIFLASH_defconfig | 3 ++- configs/B4860QDS_SRIO_PCIE_BOOT_defconfig | 3 ++- configs/B4860QDS_defconfig | 3 ++- configs/BSC9131RDB_NAND_SYSCLK100_defconfig | 3 ++- configs/BSC9131RDB_NAND_defconfig | 3 ++- configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig | 3 ++- configs/BSC9131RDB_SPIFLASH_defconfig | 3 ++- configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig | 3 ++- configs/BSC9132QDS_NAND_DDRCLK100_defconfig | 3 ++- configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig | 3 ++- configs/BSC9132QDS_NAND_DDRCLK133_defconfig | 3 ++- configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig | 3 ++- configs/BSC9132QDS_NOR_DDRCLK100_defconfig | 3 ++- configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig | 3 ++- configs/BSC9132QDS_NOR_DDRCLK133_defconfig | 3 ++- configs/BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig | 3 ++- configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig | 3 ++- configs/BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig | 3 ++- configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig | 3 ++- configs/BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig | 3 ++- configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig | 3 ++- configs/BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig | 3 ++- configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig | 3 ++- configs/C29XPCIE_NAND_defconfig | 3 ++- configs/C29XPCIE_NOR_SECBOOT_defconfig | 3 ++- configs/C29XPCIE_SPIFLASH_SECBOOT_defconfig | 3 ++- configs/C29XPCIE_SPIFLASH_defconfig | 3 ++- configs/C29XPCIE_defconfig | 3 ++- configs/M52277EVB_defconfig | 3 ++- configs/M52277EVB_stmicro_defconfig | 3 ++- configs/M54418TWR_defconfig | 3 ++- configs/M54418TWR_nand_mii_defconfig | 3 ++- configs/M54418TWR_nand_rmii_defconfig | 3 ++- configs/M54418TWR_nand_rmii_lowfreq_defconfig | 3 ++- configs/M54418TWR_serial_mii_defconfig | 3 ++- configs/M54418TWR_serial_rmii_defconfig | 3 ++- configs/M54451EVB_defconfig | 3 ++- configs/M54451EVB_stmicro_defconfig | 3 ++- configs/M54455EVB_a66_defconfig | 3 ++- configs/M54455EVB_defconfig | 3 ++- configs/M54455EVB_i66_defconfig | 3 ++- configs/M54455EVB_intel_defconfig | 3 ++- configs/M54455EVB_stm33_defconfig | 3 ++- configs/MPC8536DS_36BIT_defconfig | 3 ++- configs/MPC8536DS_SDCARD_defconfig | 3 ++- configs/MPC8536DS_SPIFLASH_defconfig | 3 ++- configs/MPC8536DS_defconfig | 3 ++- configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig | 3 ++- configs/P1010RDB-PA_36BIT_NAND_defconfig | 3 ++- configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig | 3 ++- configs/P1010RDB-PA_36BIT_NOR_defconfig | 3 ++- configs/P1010RDB-PA_36BIT_SDCARD_defconfig | 3 ++- configs/P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig | 3 ++- configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig | 3 ++- configs/P1010RDB-PA_NAND_SECBOOT_defconfig | 3 ++- configs/P1010RDB-PA_NAND_defconfig | 3 ++- configs/P1010RDB-PA_NOR_SECBOOT_defconfig | 3 ++- configs/P1010RDB-PA_NOR_defconfig | 3 ++- configs/P1010RDB-PA_SDCARD_defconfig | 3 ++- configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig | 3 ++- configs/P1010RDB-PA_SPIFLASH_defconfig | 3 ++- configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig | 3 ++- configs/P1010RDB-PB_36BIT_NAND_defconfig | 3 ++- configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig | 3 ++- configs/P1010RDB-PB_36BIT_NOR_defconfig | 3 ++- configs/P1010RDB-PB_36BIT_SDCARD_defconfig | 3 ++- configs/P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig | 3 ++- configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig | 3 ++- configs/P1010RDB-PB_NAND_SECBOOT_defconfig | 3 ++- configs/P1010RDB-PB_NAND_defconfig | 3 ++- configs/P1010RDB-PB_NOR_SECBOOT_defconfig | 3 ++- configs/P1010RDB-PB_NOR_defconfig | 3 ++- configs/P1010RDB-PB_SDCARD_defconfig | 3 ++- configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig | 3 ++- configs/P1010RDB-PB_SPIFLASH_defconfig | 3 ++- configs/P1020RDB-PC_36BIT_NAND_defconfig | 3 ++- configs/P1020RDB-PC_36BIT_SDCARD_defconfig | 3 ++- configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig | 3 ++- configs/P1020RDB-PC_36BIT_defconfig | 3 ++- configs/P1020RDB-PC_NAND_defconfig | 3 ++- configs/P1020RDB-PC_SDCARD_defconfig | 3 ++- configs/P1020RDB-PC_SPIFLASH_defconfig | 3 ++- configs/P1020RDB-PC_defconfig | 3 ++- configs/P1020RDB-PD_NAND_defconfig | 3 ++- configs/P1020RDB-PD_SDCARD_defconfig | 3 ++- configs/P1020RDB-PD_SPIFLASH_defconfig | 3 ++- configs/P1020RDB-PD_defconfig | 3 ++- configs/P1021RDB-PC_36BIT_NAND_defconfig | 3 ++- configs/P1021RDB-PC_36BIT_SDCARD_defconfig | 3 ++- configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig | 3 ++- configs/P1021RDB-PC_36BIT_defconfig | 3 ++- configs/P1021RDB-PC_NAND_defconfig | 3 ++- configs/P1021RDB-PC_SDCARD_defconfig | 3 ++- configs/P1021RDB-PC_SPIFLASH_defconfig | 3 ++- configs/P1021RDB-PC_defconfig | 3 ++- configs/P1022DS_36BIT_NAND_defconfig | 3 ++- configs/P1022DS_36BIT_SDCARD_defconfig | 3 ++- configs/P1022DS_36BIT_SPIFLASH_defconfig | 3 ++- configs/P1022DS_36BIT_defconfig | 3 ++- configs/P1022DS_NAND_defconfig | 3 ++- configs/P1022DS_SDCARD_defconfig | 3 ++- configs/P1022DS_SPIFLASH_defconfig | 3 ++- configs/P1022DS_defconfig | 3 ++- configs/P1024RDB_36BIT_defconfig | 3 ++- configs/P1024RDB_NAND_defconfig | 3 ++- configs/P1024RDB_SDCARD_defconfig | 3 ++- configs/P1024RDB_SPIFLASH_defconfig | 3 ++- configs/P1024RDB_defconfig | 3 ++- configs/P1025RDB_36BIT_defconfig | 3 ++- configs/P1025RDB_NAND_defconfig | 3 ++- configs/P1025RDB_SDCARD_defconfig | 3 ++- configs/P1025RDB_SPIFLASH_defconfig | 3 ++- configs/P1025RDB_defconfig | 3 ++- configs/P2020RDB-PC_36BIT_NAND_defconfig | 3 ++- configs/P2020RDB-PC_36BIT_SDCARD_defconfig | 3 ++- configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig | 3 ++- configs/P2020RDB-PC_36BIT_defconfig | 3 ++- configs/P2020RDB-PC_NAND_defconfig | 3 ++- configs/P2020RDB-PC_SDCARD_defconfig | 3 ++- configs/P2020RDB-PC_SPIFLASH_defconfig | 3 ++- configs/P2020RDB-PC_defconfig | 3 ++- configs/P2041RDB_NAND_defconfig | 3 ++- configs/P2041RDB_SDCARD_defconfig | 3 ++- configs/P2041RDB_SECURE_BOOT_defconfig | 3 ++- configs/P2041RDB_SPIFLASH_defconfig | 3 ++- configs/P2041RDB_SRIO_PCIE_BOOT_defconfig | 3 ++- configs/P2041RDB_defconfig | 3 ++- configs/P3041DS_NAND_SECURE_BOOT_defconfig | 3 ++- configs/P3041DS_NAND_defconfig | 3 ++- configs/P3041DS_SDCARD_defconfig | 3 ++- configs/P3041DS_SECURE_BOOT_defconfig | 3 ++- configs/P3041DS_SPIFLASH_defconfig | 3 ++- configs/P3041DS_SRIO_PCIE_BOOT_defconfig | 3 ++- configs/P3041DS_defconfig | 3 ++- configs/P4080DS_SDCARD_defconfig | 3 ++- configs/P4080DS_SECURE_BOOT_defconfig | 3 ++- configs/P4080DS_SPIFLASH_defconfig | 3 ++- configs/P4080DS_SRIO_PCIE_BOOT_defconfig | 3 ++- configs/P4080DS_defconfig | 3 ++- configs/P5020DS_NAND_SECURE_BOOT_defconfig | 3 ++- configs/P5020DS_NAND_defconfig | 3 ++- configs/P5020DS_SDCARD_defconfig | 3 ++- configs/P5020DS_SECURE_BOOT_defconfig | 3 ++- configs/P5020DS_SPIFLASH_defconfig | 3 ++- configs/P5020DS_SRIO_PCIE_BOOT_defconfig | 3 ++- configs/P5020DS_defconfig | 3 ++- configs/P5040DS_NAND_SECURE_BOOT_defconfig | 3 ++- configs/P5040DS_NAND_defconfig | 3 ++- configs/P5040DS_SDCARD_defconfig | 3 ++- configs/P5040DS_SECURE_BOOT_defconfig | 3 ++- configs/P5040DS_SPIFLASH_defconfig | 3 ++- configs/P5040DS_defconfig | 3 ++- configs/T1023RDB_NAND_defconfig | 3 ++- configs/T1023RDB_SDCARD_defconfig | 3 ++- configs/T1023RDB_SECURE_BOOT_defconfig | 3 ++- configs/T1023RDB_SPIFLASH_defconfig | 3 ++- configs/T1023RDB_defconfig | 3 ++- configs/T1024QDS_DDR4_SECURE_BOOT_defconfig | 3 ++- configs/T1024QDS_DDR4_defconfig | 3 ++- configs/T1024QDS_NAND_defconfig | 3 ++- configs/T1024QDS_SDCARD_defconfig | 3 ++- configs/T1024QDS_SECURE_BOOT_defconfig | 3 ++- configs/T1024QDS_SPIFLASH_defconfig | 3 ++- configs/T1024QDS_defconfig | 3 ++- configs/T1024RDB_NAND_defconfig | 3 ++- configs/T1024RDB_SDCARD_defconfig | 3 ++- configs/T1024RDB_SECURE_BOOT_defconfig | 3 ++- configs/T1024RDB_SPIFLASH_defconfig | 3 ++- configs/T1024RDB_defconfig | 3 ++- configs/T1040D4RDB_NAND_defconfig | 3 ++- configs/T1040D4RDB_SDCARD_defconfig | 3 ++- configs/T1040D4RDB_SECURE_BOOT_defconfig | 3 ++- configs/T1040D4RDB_SPIFLASH_defconfig | 3 ++- configs/T1040D4RDB_defconfig | 3 ++- configs/T1040QDS_DDR4_defconfig | 3 ++- configs/T1040QDS_SECURE_BOOT_defconfig | 3 ++- configs/T1040QDS_defconfig | 3 ++- configs/T1040RDB_NAND_defconfig | 3 ++- configs/T1040RDB_SDCARD_defconfig | 3 ++- configs/T1040RDB_SECURE_BOOT_defconfig | 3 ++- configs/T1040RDB_SPIFLASH_defconfig | 3 ++- configs/T1040RDB_defconfig | 3 ++- configs/T1042D4RDB_NAND_defconfig | 3 ++- configs/T1042D4RDB_SDCARD_defconfig | 3 ++- configs/T1042D4RDB_SECURE_BOOT_defconfig | 3 ++- configs/T1042D4RDB_SPIFLASH_defconfig | 3 ++- configs/T1042D4RDB_defconfig | 3 ++- configs/T1042RDB_PI_NAND_defconfig | 3 ++- configs/T1042RDB_PI_SDCARD_defconfig | 3 ++- configs/T1042RDB_PI_SPIFLASH_defconfig | 3 ++- configs/T1042RDB_PI_defconfig | 3 ++- configs/T1042RDB_SECURE_BOOT_defconfig | 3 ++- configs/T1042RDB_defconfig | 3 ++- configs/T2080QDS_NAND_defconfig | 3 ++- configs/T2080QDS_SDCARD_defconfig | 3 ++- configs/T2080QDS_SECURE_BOOT_defconfig | 3 ++- configs/T2080QDS_SPIFLASH_defconfig | 3 ++- configs/T2080QDS_SRIO_PCIE_BOOT_defconfig | 3 ++- configs/T2080QDS_defconfig | 3 ++- configs/T2080RDB_NAND_defconfig | 3 ++- configs/T2080RDB_SDCARD_defconfig | 3 ++- configs/T2080RDB_SECURE_BOOT_defconfig | 3 ++- configs/T2080RDB_SPIFLASH_defconfig | 3 ++- configs/T2080RDB_SRIO_PCIE_BOOT_defconfig | 3 ++- configs/T2080RDB_defconfig | 3 ++- configs/T2081QDS_NAND_defconfig | 3 ++- configs/T2081QDS_SDCARD_defconfig | 3 ++- configs/T2081QDS_SPIFLASH_defconfig | 3 ++- configs/T2081QDS_SRIO_PCIE_BOOT_defconfig | 3 ++- configs/T2081QDS_defconfig | 3 ++- configs/T4160QDS_NAND_defconfig | 3 ++- configs/T4160QDS_SDCARD_defconfig | 3 ++- configs/T4160QDS_SECURE_BOOT_defconfig | 3 ++- configs/T4160QDS_defconfig | 3 ++- configs/T4160RDB_defconfig | 3 ++- configs/T4240QDS_NAND_defconfig | 3 ++- configs/T4240QDS_SDCARD_defconfig | 3 ++- configs/T4240QDS_SECURE_BOOT_defconfig | 3 ++- configs/T4240QDS_SRIO_PCIE_BOOT_defconfig | 3 ++- configs/T4240QDS_defconfig | 3 ++- configs/T4240RDB_SDCARD_defconfig | 3 ++- configs/T4240RDB_defconfig | 3 ++- configs/UCP1020_SPIFLASH_defconfig | 3 ++- configs/UCP1020_defconfig | 3 ++- configs/alt_defconfig | 3 ++- configs/am335x_boneblack_defconfig | 3 ++- configs/am335x_boneblack_vboot_defconfig | 3 ++- configs/am335x_evm_defconfig | 3 ++- configs/am335x_evm_nor_defconfig | 3 ++- configs/am335x_evm_norboot_defconfig | 3 ++- configs/am335x_evm_spiboot_defconfig | 3 ++- configs/am335x_evm_usbspl_defconfig | 3 ++- configs/am335x_gp_evm_defconfig | 3 ++- configs/am437x_gp_evm_defconfig | 3 ++- configs/am437x_sk_evm_defconfig | 5 +++-- configs/am43xx_evm_defconfig | 3 ++- configs/am43xx_evm_ethboot_defconfig | 3 ++- configs/am43xx_evm_qspiboot_defconfig | 3 ++- configs/am43xx_evm_usbhost_boot_defconfig | 3 ++- configs/am57xx_evm_defconfig | 3 ++- configs/aristainetos2_defconfig | 3 ++- configs/aristainetos2b_defconfig | 3 ++- configs/aristainetos_defconfig | 3 ++- configs/at91sam9n12ek_mmc_defconfig | 3 ++- configs/at91sam9n12ek_nandflash_defconfig | 3 ++- configs/at91sam9n12ek_spiflash_defconfig | 3 ++- configs/at91sam9x5ek_dataflash_defconfig | 3 ++- configs/at91sam9x5ek_mmc_defconfig | 3 ++- configs/at91sam9x5ek_nandflash_defconfig | 3 ++- configs/at91sam9x5ek_spiflash_defconfig | 3 ++- configs/atngw100_defconfig | 3 ++- configs/atngw100mkii_defconfig | 3 ++- configs/axm_defconfig | 3 ++- configs/bayleybay_defconfig | 3 ++- configs/beaver_defconfig | 3 ++- configs/bf518f-ezbrd_defconfig | 3 ++- configs/bf525-ucr2_defconfig | 3 ++- configs/bf526-ezbrd_defconfig | 3 ++- configs/bf527-ad7160-eval_defconfig | 3 ++- configs/bf527-ezkit-v2_defconfig | 3 ++- configs/bf527-ezkit_defconfig | 3 ++- configs/bf527-sdp_defconfig | 3 ++- configs/bf537-minotaur_defconfig | 3 ++- configs/bf537-pnav_defconfig | 3 ++- configs/bf537-srv1_defconfig | 3 ++- configs/bf537-stamp_defconfig | 3 ++- configs/bf548-ezkit_defconfig | 3 ++- configs/bf561-acvilon_defconfig | 3 ++- configs/bf609-ezkit_defconfig | 3 ++- configs/bg0900_defconfig | 3 ++- configs/birdland_bav335a_defconfig | 3 ++- configs/birdland_bav335b_defconfig | 3 ++- configs/blackstamp_defconfig | 3 ++- configs/blackvme_defconfig | 3 ++- configs/br4_defconfig | 3 ++- configs/cardhu_defconfig | 3 ++- configs/cgtqmx6eval_defconfig | 2 ++ configs/chromebook_jerry_defconfig | 2 ++ configs/chromebook_link_defconfig | 3 ++- configs/chromebook_samus_defconfig | 3 ++- configs/chromebox_panther_defconfig | 3 ++- configs/clearfog_defconfig | 3 ++- configs/cm_fx6_defconfig | 3 ++- configs/cm_t43_defconfig | 3 ++- configs/conga-qeval20-qa3-e3845_defconfig | 3 ++- configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig | 3 ++- configs/controlcenterd_36BIT_SDCARD_defconfig | 3 ++- configs/coreboot-x86_defconfig | 3 ++- configs/cougarcanyon2_defconfig | 3 ++- configs/crownbay_defconfig | 3 ++- configs/d2net_v2_defconfig | 3 ++- configs/da850_am18xxevm_defconfig | 3 ++- configs/da850evm_defconfig | 3 ++- configs/da850evm_direct_nor_defconfig | 3 ++- configs/dalmore_defconfig | 3 ++- configs/db-88f6820-gp_defconfig | 3 ++- configs/db-mv784mp-gp_defconfig | 3 ++- configs/dra72_evm_defconfig | 5 +++-- configs/dra74_evm_defconfig | 5 +++-- configs/dra7xx_evm_defconfig | 4 +++- configs/dra7xx_evm_qspiboot_defconfig | 4 +++- configs/dra7xx_evm_uart3_defconfig | 4 +++- configs/draco_defconfig | 3 ++- configs/dreamplug_defconfig | 3 ++- configs/ds414_defconfig | 3 ++- configs/e2220-1170_defconfig | 3 ++- configs/ea20_defconfig | 3 ++- configs/ethernut5_defconfig | 3 ++- configs/firefly-rk3288_defconfig | 2 ++ configs/galileo_defconfig | 3 ++- configs/gose_defconfig | 3 ++- configs/gplugd_defconfig | 3 ++- configs/inetspace_v2_defconfig | 3 ++- configs/ip04_defconfig | 3 ++- configs/jetson-tk1_defconfig | 3 ++- configs/k2e_evm_defconfig | 3 ++- configs/k2g_evm_defconfig | 3 ++- configs/k2hk_evm_defconfig | 3 ++- configs/k2l_evm_defconfig | 3 ++- configs/km_kirkwood_128m16_defconfig | 3 ++- configs/km_kirkwood_defconfig | 3 ++- configs/km_kirkwood_pci_defconfig | 3 ++- configs/kmcoge4_defconfig | 3 ++- configs/kmcoge5un_defconfig | 3 ++- configs/kmlion1_defconfig | 3 ++- configs/kmnusa_defconfig | 3 ++- configs/kmsugp1_defconfig | 3 ++- configs/kmsuv31_defconfig | 3 ++- configs/koelsch_defconfig | 3 ++- configs/kylin-rk3036_defconfig | 2 ++ configs/lager_defconfig | 3 ++- configs/legoev3_defconfig | 3 ++- configs/ls1021aqds_sdcard_qspi_defconfig | 3 ++- configs/ls1021atwr_qspi_defconfig | 4 +++- configs/ls1021atwr_sdcard_qspi_defconfig | 3 ++- configs/ls1043aqds_defconfig | 3 ++- configs/ls1043aqds_lpuart_defconfig | 3 ++- configs/ls1043aqds_nand_defconfig | 3 ++- configs/ls1043aqds_nor_ddr3_defconfig | 3 ++- configs/ls1043aqds_qspi_defconfig | 3 ++- configs/ls1043aqds_sdcard_ifc_defconfig | 3 ++- configs/ls1043aqds_sdcard_qspi_defconfig | 3 ++- configs/ls1043ardb_SECURE_BOOT_defconfig | 3 ++- configs/ls1043ardb_defconfig | 3 ++- configs/ls1043ardb_nand_defconfig | 3 ++- configs/ls1043ardb_sdcard_defconfig | 3 ++- configs/ls2080aqds_defconfig | 2 +- configs/ls2080ardb_defconfig | 2 +- configs/ls2085aqds_defconfig | 2 +- configs/ls2085ardb_defconfig | 2 +- configs/lschlv2_defconfig | 3 ++- configs/lsxhl_defconfig | 3 ++- configs/m28evk_defconfig | 3 ++- configs/ma5d4evk_defconfig | 3 ++- configs/marsboard_defconfig | 3 ++- configs/maxbcm_defconfig | 3 ++- configs/mgcoge3un_defconfig | 3 ++- configs/minnowmax_defconfig | 3 ++- configs/mx28evk_auart_console_defconfig | 3 ++- configs/mx28evk_defconfig | 3 ++- configs/mx28evk_nand_defconfig | 3 ++- configs/mx28evk_spi_defconfig | 3 ++- configs/mx6dlsabreauto_defconfig | 3 ++- configs/mx6dlsabresd_defconfig | 3 ++- configs/mx6qpsabreauto_defconfig | 3 ++- configs/mx6qsabreauto_defconfig | 3 ++- configs/mx6qsabrelite_defconfig | 3 ++- configs/mx6qsabresd_defconfig | 3 ++- configs/mx6sabresd_spl_defconfig | 3 ++- configs/mx6slevk_defconfig | 3 ++- configs/mx6slevk_spinor_defconfig | 3 ++- configs/mx6slevk_spl_defconfig | 3 ++- configs/mx6sxsabreauto_defconfig | 3 ++- configs/mx6sxsabresd_defconfig | 3 ++- configs/mx6sxsabresd_spl_defconfig | 3 ++- configs/net2big_v2_defconfig | 3 ++- configs/netspace_lite_v2_defconfig | 3 ++- configs/netspace_max_v2_defconfig | 3 ++- configs/netspace_mini_v2_defconfig | 3 ++- configs/netspace_v2_defconfig | 3 ++- configs/nitrogen6dl2g_defconfig | 3 ++- configs/nitrogen6dl_defconfig | 3 ++- configs/nitrogen6q2g_defconfig | 3 ++- configs/nitrogen6q_defconfig | 3 ++- configs/nitrogen6s1g_defconfig | 3 ++- configs/nitrogen6s_defconfig | 3 ++- configs/nyan-big_defconfig | 3 ++- configs/omapl138_lcdk_defconfig | 3 ++- configs/ot1200_defconfig | 3 ++- configs/ot1200_spl_defconfig | 3 ++- configs/p2371-0000_defconfig | 3 ++- configs/p2371-2180_defconfig | 3 ++- configs/p2571_defconfig | 3 ++- configs/pcm051_rev1_defconfig | 3 ++- configs/pcm051_rev3_defconfig | 3 ++- configs/peach-pi_defconfig | 3 ++- configs/peach-pit_defconfig | 3 ++- configs/porter_defconfig | 3 ++- configs/portl2_defconfig | 3 ++- configs/pr1_defconfig | 3 ++- configs/pxm2_defconfig | 3 ++- configs/qemu-x86_defconfig | 3 ++- configs/rastaban_defconfig | 3 ++- configs/riotboard_defconfig | 3 ++- configs/rock2_defconfig | 2 ++ configs/rut_defconfig | 3 ++- configs/sama5d2_xplained_mmc_defconfig | 3 ++- configs/sama5d2_xplained_spiflash_defconfig | 3 ++- configs/sama5d3xek_mmc_defconfig | 3 ++- configs/sama5d3xek_nandflash_defconfig | 3 ++- configs/sama5d3xek_spiflash_defconfig | 3 ++- configs/sama5d4_xplained_mmc_defconfig | 3 ++- configs/sama5d4_xplained_nandflash_defconfig | 3 ++- configs/sama5d4_xplained_spiflash_defconfig | 3 ++- configs/sama5d4ek_mmc_defconfig | 3 ++- configs/sama5d4ek_nandflash_defconfig | 3 ++- configs/sama5d4ek_spiflash_defconfig | 3 ++- configs/sh7752evb_defconfig | 3 ++- configs/sh7753evb_defconfig | 3 ++- configs/sh7757lcr_defconfig | 3 ++- configs/silk_defconfig | 3 ++- configs/smdk5250_defconfig | 3 ++- configs/smdk5420_defconfig | 3 ++- configs/snow_defconfig | 3 ++- configs/socfpga_arria5_defconfig | 3 ++- configs/socfpga_cyclone5_defconfig | 3 ++- configs/socfpga_de0_nano_soc_defconfig | 3 +++ configs/socfpga_mcvevk_defconfig | 2 ++ configs/socfpga_sockit_defconfig | 3 ++- configs/socfpga_socrates_defconfig | 3 ++- configs/socfpga_sr1500_defconfig | 3 ++- configs/spring_defconfig | 3 ++- configs/stout_defconfig | 3 ++- configs/taurus_defconfig | 3 ++- configs/tec-ng_defconfig | 3 ++- configs/theadorable_debug_defconfig | 3 ++- configs/theadorable_defconfig | 3 ++- configs/thuban_defconfig | 3 ++- configs/tqma6q_mba6_mmc_defconfig | 3 ++- configs/tqma6q_mba6_spi_defconfig | 3 ++- configs/tqma6s_mba6_mmc_defconfig | 3 ++- configs/tqma6s_mba6_spi_defconfig | 3 ++- configs/trimslice_defconfig | 3 ++- configs/tseries_spi_defconfig | 3 ++- configs/venice2_defconfig | 3 ++- configs/vf610twr_defconfig | 3 ++- configs/vf610twr_nand_defconfig | 3 ++- configs/vinco_defconfig | 3 ++- configs/zynq_microzed_defconfig | 3 ++- configs/zynq_zc702_defconfig | 3 ++- configs/zynq_zc706_defconfig | 3 ++- configs/zynq_zc770_xm010_defconfig | 3 ++- configs/zynq_zc770_xm013_defconfig | 3 ++- configs/zynq_zed_defconfig | 3 ++- configs/zynq_zybo_defconfig | 3 ++- include/configs/MPC8536DS.h | 2 +- include/configs/P1010RDB.h | 3 ++- include/configs/P1022DS.h | 3 ++- include/configs/T102xQDS.h | 3 ++- include/configs/T102xRDB.h | 3 ++- include/configs/T104xRDB.h | 3 ++- include/configs/T208xQDS.h | 5 +++-- include/configs/T208xRDB.h | 5 +++-- include/configs/UCP1020.h | 4 ++-- include/configs/am335x_evm.h | 3 ++- include/configs/am43xx_evm.h | 2 +- include/configs/at91sam9n12ek.h | 3 ++- include/configs/at91sam9x5ek.h | 3 ++- include/configs/bav335x.h | 3 ++- include/configs/bfin_adi_common.h | 2 +- include/configs/cgtqmx6eval.h | 4 ++-- include/configs/chromebook_jerry.h | 3 ++- include/configs/clearfog.h | 3 ++- include/configs/cm_fx6.h | 3 ++- include/configs/cm_t43.h | 3 ++- include/configs/da850evm.h | 6 ++++-- include/configs/db-88f6820-gp.h | 3 ++- include/configs/db-mv784mp-gp.h | 3 ++- include/configs/dra7xx_evm.h | 5 +++-- include/configs/dreamplug.h | 2 +- include/configs/ds414.h | 3 ++- include/configs/exynos5-common.h | 2 +- include/configs/gw_ventana.h | 10 +++++----- include/configs/ls1021atwr.h | 1 - include/configs/ls1043a_common.h | 2 +- include/configs/ls2080aqds.h | 3 ++- include/configs/ls2080ardb.h | 3 ++- include/configs/lsxl.h | 2 +- include/configs/ma5d4evk.h | 3 ++- include/configs/maxbcm.h | 3 ++- include/configs/mx6ul_14x14_evk.h | 3 ++- include/configs/mx7dsabresd.h | 3 ++- include/configs/omapl138_lcdk.h | 3 ++- include/configs/ot1200.h | 3 ++- include/configs/p1_p2_rdb_pc.h | 5 +++-- include/configs/pcm051.h | 3 ++- include/configs/pcm052.h | 3 ++- include/configs/rk3036_common.h | 1 - include/configs/rk3288_common.h | 1 - include/configs/sama5d2_xplained.h | 3 ++- include/configs/sama5d3xek.h | 3 ++- include/configs/sama5d4_xplained.h | 3 ++- include/configs/sama5d4ek.h | 3 ++- include/configs/siemens-am33x-common.h | 3 ++- include/configs/socfpga_common.h | 3 ++- include/configs/taurus.h | 3 ++- include/configs/tegra-common-usb-gadget.h | 2 +- include/configs/theadorable.h | 3 ++- include/configs/ti_armv7_keystone2.h | 3 ++- include/configs/tseries.h | 3 ++- include/configs/zynq-common.h | 3 ++- 521 files changed, 1041 insertions(+), 532 deletions(-)
arch/Kconfig +1 -1
@@ -113,7 +113,7 @@ config X86 select DM_SERIAL select DM_GPIO select DM_SPI - select DM_SPI_FLASH + select MTD endchoice
arch/arm/Kconfig +6 -5
@@ -120,7 +120,7 @@ config ARCH_MVEBU select DM_ETH select DM_SERIAL select DM_SPI - select DM_SPI_FLASH + select MTD select SPL_DM select SPL_DM_SEQ_ALIAS select SPL_OF_CONTROL
@@ -220,8 +220,9 @@ config TARGET_STV0991 select DM select DM_SERIAL select DM_SPI - select DM_SPI_FLASH - select SPI_FLASH + select MTD + select MTD_M25P80 + select MTD_SPI_NOR config TARGET_X600 bool "Support x600"
@@ -424,7 +425,7 @@ config ARCH_EXYNOS bool "Samsung EXYNOS" select CPU_V7 select DM - select DM_SPI_FLASH + select MTD select DM_SERIAL select DM_SPI select DM_GPIO
@@ -514,7 +515,7 @@ config ARCH_SOCFPGA select OF_CONTROL select SPL_OF_CONTROL select DM - select DM_SPI_FLASH + select MTD select DM_SPI config TARGET_CM_T43
arch/arm/mach-rockchip/Kconfig +1 -1
@@ -32,7 +32,7 @@ config DM_SERIAL config DM_SPI default y -config DM_SPI_FLASH +config MTD default y config DM_I2C
arch/arm/mach-tegra/Kconfig +1 -1
@@ -12,7 +12,7 @@ config TEGRA_COMMON select DM_PWM select DM_SERIAL select DM_SPI - select DM_SPI_FLASH + select MTD select OF_CONTROL select VIDCONSOLE_AS_LCD if DM_VIDEO
board/davinci/ea20/ea20.c +1 -1
@@ -160,7 +160,7 @@ const struct pinmux_config halten_pin[] = { };static const struct pinmux_resource pinmuxes[] = { -#ifdef CONFIG_SPI_FLASH +#ifdef CONFIG_MTD_SPI_NORPINMUX_ITEM (spi1_pins), #endifPINMUX_ITEM (uart_pins),
configs/B4420QDS_NAND_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_B4420,RAMBOOT_PBL,SPL_FSL_PBL,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SST=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/B4420QDS_SPIFLASH_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_B4420,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SST=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/B4420QDS_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_B4420" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SST=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/B4860QDS_NAND_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860,RAMBOOT_PBL,SPL_FSL_PBL,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SST=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/B4860QDS_SECURE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SST=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/B4860QDS_SPIFLASH_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SST=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/B4860QDS_SRIO_PCIE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SST=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/B4860QDS_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SST=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/BSC9131RDB_NAND_SYSCLK100_defconfig +2 -1
@@ -9,7 +9,8 @@ CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="BSC9131RDB,NAND,SYS_CLK_100" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_SYS_NS16550=y CONFIG_FSL_ESPI=y
configs/BSC9131RDB_NAND_defconfig +2 -1
@@ -9,7 +9,8 @@ CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="BSC9131RDB,NAND" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_SYS_NS16550=y CONFIG_FSL_ESPI=y
configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="BSC9131RDB,SPIFLASH,SYS_CLK_100" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_SYS_NS16550=y CONFIG_FSL_ESPI=y
configs/BSC9131RDB_SPIFLASH_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="BSC9131RDB,SPIFLASH" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_SYS_NS16550=y CONFIG_FSL_ESPI=y
configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,NAND_SECBOOT,SYS_CLK_100_DDR_100,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/BSC9132QDS_NAND_DDRCLK100_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,NAND,SYS_CLK_100_DDR_100" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,NAND_SECBOOT,SYS_CLK_100_DDR_133,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/BSC9132QDS_NAND_DDRCLK133_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,NAND,SYS_CLK_100_DDR_133" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SYS_CLK_100_DDR_100,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/BSC9132QDS_NOR_DDRCLK100_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SYS_CLK_100_DDR_100" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SYS_CLK_100_DDR_133,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/BSC9132QDS_NOR_DDRCLK133_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SYS_CLK_100_DDR_133" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SDCARD,SYS_CLK_100_DDR_100,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SDCARD,SYS_CLK_100_DDR_100" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SDCARD,SYS_CLK_100_DDR_133,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SDCARD,SYS_CLK_100_DDR_133" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_100,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_100" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_133,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_133" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/C29XPCIE_NAND_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y
configs/C29XPCIE_NOR_SECBOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y
configs/C29XPCIE_SPIFLASH_SECBOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT,SPIFLASH,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y
configs/C29XPCIE_SPIFLASH_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT,SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y
configs/C29XPCIE_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y
configs/M52277EVB_defconfig +2 -1
@@ -6,5 +6,6 @@ CONFIG_SYS_PROMPT="-> " # CONFIG_CMD_SETEXPR is not set # CONFIG_CMD_NET is not set # CONFIG_CMD_NFS is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y
configs/M52277EVB_stmicro_defconfig +2 -1
@@ -5,5 +5,6 @@ CONFIG_SYS_EXTRA_OPTIONS="CF_SBF,SYS_STMICRO_BOOT" # CONFIG_CMD_SETEXPR is not set # CONFIG_CMD_NET is not set # CONFIG_CMD_NFS is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y
configs/M54418TWR_defconfig +2 -1
@@ -8,5 +8,6 @@ CONFIG_SYS_PROMPT="-> " # CONFIG_CMD_LOADS is not set # CONFIG_CMD_FLASH is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y
configs/M54418TWR_nand_mii_defconfig +2 -1
@@ -8,5 +8,6 @@ CONFIG_SYS_PROMPT="-> " # CONFIG_CMD_LOADS is not set # CONFIG_CMD_FLASH is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y
configs/M54418TWR_nand_rmii_defconfig +2 -1
@@ -8,5 +8,6 @@ CONFIG_SYS_PROMPT="-> " # CONFIG_CMD_LOADS is not set # CONFIG_CMD_FLASH is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y
configs/M54418TWR_nand_rmii_lowfreq_defconfig +2 -1
@@ -8,5 +8,6 @@ CONFIG_SYS_PROMPT="-> " # CONFIG_CMD_LOADS is not set # CONFIG_CMD_FLASH is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y
configs/M54418TWR_serial_mii_defconfig +2 -1
@@ -8,5 +8,6 @@ CONFIG_SYS_PROMPT="-> " # CONFIG_CMD_LOADS is not set # CONFIG_CMD_FLASH is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y
configs/M54418TWR_serial_rmii_defconfig +2 -1
@@ -8,5 +8,6 @@ CONFIG_SYS_PROMPT="-> " # CONFIG_CMD_LOADS is not set # CONFIG_CMD_FLASH is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y
configs/M54451EVB_defconfig +2 -1
@@ -6,5 +6,6 @@ CONFIG_SYS_PROMPT="-> " # CONFIG_CMD_LOADB is not set # CONFIG_CMD_LOADS is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y
configs/M54451EVB_stmicro_defconfig +2 -1
@@ -5,5 +5,6 @@ CONFIG_SYS_EXTRA_OPTIONS="CF_SBF,SYS_STMICRO_BOOT,SYS_INPUT_CLKSRC=24000000" # CONFIG_CMD_LOADB is not set # CONFIG_CMD_LOADS is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y
configs/M54455EVB_a66_defconfig +2 -1
@@ -5,5 +5,6 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_ATMEL_BOOT,SYS_INPUT_CLKSRC=66666666" # CONFIG_CMD_LOADB is not set # CONFIG_CMD_LOADS is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y
configs/M54455EVB_defconfig +2 -1
@@ -6,5 +6,6 @@ CONFIG_SYS_PROMPT="-> " # CONFIG_CMD_LOADB is not set # CONFIG_CMD_LOADS is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y
configs/M54455EVB_i66_defconfig +2 -1
@@ -5,5 +5,6 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_INTEL_BOOT,SYS_INPUT_CLKSRC=66666666" # CONFIG_CMD_LOADB is not set # CONFIG_CMD_LOADS is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y
configs/M54455EVB_intel_defconfig +2 -1
@@ -5,5 +5,6 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_INTEL_BOOT,SYS_INPUT_CLKSRC=33333333" # CONFIG_CMD_LOADB is not set # CONFIG_CMD_LOADS is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y
configs/M54455EVB_stm33_defconfig +2 -1
@@ -5,5 +5,6 @@ CONFIG_SYS_EXTRA_OPTIONS="SYS_STMICRO_BOOT,CF_SBF,SYS_INPUT_CLKSRC=33333333" # CONFIG_CMD_LOADB is not set # CONFIG_CMD_LOADS is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y
configs/MPC8536DS_36BIT_defconfig +2 -1
@@ -4,7 +4,8 @@ CONFIG_TARGET_MPC8536DS=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="36BIT" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/MPC8536DS_SDCARD_defconfig +2 -1
@@ -4,7 +4,8 @@ CONFIG_TARGET_MPC8536DS=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/MPC8536DS_SPIFLASH_defconfig +2 -1
@@ -4,7 +4,8 @@ CONFIG_TARGET_MPC8536DS=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/MPC8536DS_defconfig +2 -1
@@ -3,7 +3,8 @@ CONFIG_MPC85xx=y CONFIG_TARGET_MPC8536DS=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,NAND_SECBOOT,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PA_36BIT_NAND_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PA_36BIT_NOR_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PA_36BIT_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,SPIFLASH,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PA_NAND_SECBOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,NAND_SECBOOT,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PA_NAND_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PA_NOR_SECBOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PA_NOR_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PA_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,SPIFLASH,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PA_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,NAND_SECBOOT,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PB_36BIT_NAND_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PB_36BIT_NOR_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PB_36BIT_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,SPIFLASH,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PB_NAND_SECBOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,NAND_SECBOOT,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PB_NAND_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PB_NOR_SECBOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PB_NOR_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PB_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,SPIFLASH,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1010RDB-PB_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1020RDB-PC_36BIT_NAND_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,36BIT,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1020RDB-PC_36BIT_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,36BIT,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,36BIT,SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1020RDB-PC_36BIT_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,36BIT" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1020RDB-PC_NAND_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1020RDB-PC_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1020RDB-PC_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1020RDB-PC_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1020RDB-PD_NAND_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PD,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1020RDB-PD_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PD,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1020RDB-PD_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PD,SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1020RDB-PD_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1021RDB-PC_36BIT_NAND_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,36BIT,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1021RDB-PC_36BIT_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,36BIT,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,36BIT,SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1021RDB-PC_36BIT_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,36BIT" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1021RDB-PC_NAND_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1021RDB-PC_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1021RDB-PC_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1021RDB-PC_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1021RDB" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1022DS_36BIT_NAND_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="36BIT,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1022DS_36BIT_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="36BIT,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1022DS_36BIT_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="36BIT,SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1022DS_36BIT_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="36BIT" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1022DS_NAND_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1022DS_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1022DS_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1022DS_defconfig +2 -1
@@ -5,7 +5,8 @@ CONFIG_FIT=y CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1024RDB_36BIT_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1024RDB,36BIT" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1024RDB_NAND_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1024RDB,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1024RDB_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1024RDB,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1024RDB_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1024RDB,SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1024RDB_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1024RDB" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1025RDB_36BIT_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1025RDB,36BIT" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1025RDB_NAND_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1025RDB,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1025RDB_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1025RDB,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1025RDB_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1025RDB,SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P1025RDB_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P1025RDB" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P2020RDB-PC_36BIT_NAND_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P2020RDB-PC_36BIT_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT,SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P2020RDB-PC_36BIT_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P2020RDB-PC_NAND_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P2020RDB-PC_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P2020RDB-PC_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P2020RDB-PC_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="P2020RDB" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P2041RDB_NAND_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P2041RDB_SDCARD_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P2041RDB_SECURE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P2041RDB_SPIFLASH_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P2041RDB_SRIO_PCIE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P2041RDB_defconfig +2 -1
@@ -5,7 +5,8 @@ CONFIG_FIT=y CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P3041DS_NAND_SECURE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SECURE_BOOT,SYS_TEXT_BASE=0xFFF40000" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P3041DS_NAND_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P3041DS_SDCARD_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P3041DS_SECURE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P3041DS_SPIFLASH_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P3041DS_SRIO_PCIE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P3041DS_defconfig +2 -1
@@ -5,7 +5,8 @@ CONFIG_FIT=y CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P4080DS_SDCARD_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P4080DS_SECURE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P4080DS_SPIFLASH_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P4080DS_SRIO_PCIE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P4080DS_defconfig +2 -1
@@ -5,7 +5,8 @@ CONFIG_FIT=y CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P5020DS_NAND_SECURE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SECURE_BOOT,SYS_TEXT_BASE=0xFFF40000" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P5020DS_NAND_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P5020DS_SDCARD_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P5020DS_SECURE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P5020DS_SPIFLASH_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P5020DS_SRIO_PCIE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P5020DS_defconfig +2 -1
@@ -5,7 +5,8 @@ CONFIG_FIT=y CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P5040DS_NAND_SECURE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SECURE_BOOT,SYS_TEXT_BASE=0xFFF40000" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P5040DS_NAND_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P5040DS_SDCARD_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P5040DS_SECURE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P5040DS_SPIFLASH_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/P5040DS_defconfig +2 -1
@@ -5,7 +5,8 @@ CONFIG_FIT=y CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1023RDB_NAND_defconfig +2 -1
@@ -9,7 +9,8 @@ CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1023RDB_SDCARD_defconfig +2 -1
@@ -9,7 +9,8 @@ CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1023RDB_SECURE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1023RDB_SPIFLASH_defconfig +2 -1
@@ -9,7 +9,8 @@ CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1023RDB_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1023,T1023RDB" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1024QDS_DDR4_SECURE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,SYS_FSL_DDR4,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y
configs/T1024QDS_DDR4_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,SYS_FSL_DDR4" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y
configs/T1024QDS_NAND_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,RAMBOOT_PBL,SPL_FSL_PBL,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y
configs/T1024QDS_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y
configs/T1024QDS_SECURE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y
configs/T1024QDS_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y
configs/T1024QDS_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y
configs/T1024RDB_NAND_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1024RDB_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1024RDB_SECURE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1024RDB_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1024RDB_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1024,T1024RDB" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1040D4RDB_NAND_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND,T104XD4RDB,SYS_FSL_DDR4" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1040D4RDB_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD,T104XD4RDB,SYS_FSL_DDR4" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1040D4RDB_SECURE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040D4RDB,T104XD4RDB,SYS_FSL_DDR4,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1040D4RDB_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH,T104XD4RDB,SYS_FSL_DDR4" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1040D4RDB_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040D4RDB,T104XD4RDB,SYS_FSL_DDR4" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1040QDS_DDR4_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,SYS_FSL_DDR4" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y
configs/T1040QDS_SECURE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y
configs/T1040QDS_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y
configs/T1040RDB_NAND_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1040RDB_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1040RDB_SECURE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,SECURE_BOOT,T1040RDB" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1040RDB_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1040RDB_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040RDB" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1042D4RDB_NAND_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND,T104XD4RDB,SYS_FSL_DDR4" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1042D4RDB_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD,T104XD4RDB,SYS_FSL_DDR4" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1042D4RDB_SECURE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042D4RDB,T104XD4RDB,SYS_FSL_DDR4,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1042D4RDB_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042D4RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH,T104XD4RDB,SYS_FSL_DDR4" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1042D4RDB_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042D4RDB,T104XD4RDB,SYS_FSL_DDR4" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1042RDB_PI_NAND_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1042RDB_PI_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1042RDB_PI_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1042RDB_PI_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB_PI" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1042RDB_SECURE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,SECURE_BOOT,T1042RDB" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T1042RDB_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T2080QDS_NAND_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y
configs/T2080QDS_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y
configs/T2080QDS_SECURE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y
configs/T2080QDS_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y
configs/T2080QDS_SRIO_PCIE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y
configs/T2080QDS_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y
configs/T2080RDB_NAND_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T2080RDB_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T2080RDB_SECURE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T2080RDB_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T2080RDB_SRIO_PCIE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T2080RDB_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T2081QDS_NAND_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y
configs/T2081QDS_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y
configs/T2081QDS_SPIFLASH_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y
configs/T2081QDS_SRIO_PCIE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y
configs/T2081QDS_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y
configs/T4160QDS_NAND_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160,RAMBOOT_PBL,SPL_FSL_PBL,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SST=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T4160QDS_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SST=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T4160QDS_SECURE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SST=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T4160QDS_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SST=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T4160RDB_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SST=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T4240QDS_NAND_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,RAMBOOT_PBL,SPL_FSL_PBL,NAND" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SST=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T4240QDS_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SST=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T4240QDS_SECURE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,SECURE_BOOT" CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SST=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T4240QDS_SRIO_PCIE_BOOT_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SST=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T4240QDS_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SST=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T4240RDB_SDCARD_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SST=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/T4240RDB_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT_VERBOSE=y CONFIG_OF_BOARD_SETUP=y CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240" -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SST=y CONFIG_NETDEVICES=y CONFIG_E1000=y
configs/UCP1020_SPIFLASH_defconfig +2 -1
@@ -10,7 +10,8 @@ CONFIG_AUTOBOOT_KEYED=y CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press \"<Esc>\" to stop\n" CONFIG_AUTOBOOT_STOP_STR="\x1b" CONFIG_CMD_GPIO=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y CONFIG_SPI_FLASH_WINBOND=y
configs/UCP1020_defconfig +2 -1
@@ -10,7 +10,8 @@ CONFIG_AUTOBOOT_KEYED=y CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press \"<Esc>\" to stop\n" CONFIG_AUTOBOOT_STOP_STR="\x1b" CONFIG_CMD_GPIO=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y CONFIG_SPI_FLASH_WINBOND=y
configs/alt_defconfig +2 -1
@@ -17,7 +17,8 @@ CONFIG_TARGET_ALT=y # CONFIG_CMD_SETEXPR is not set # CONFIG_CMD_MISC is not set CONFIG_SH_SDHI=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_BAR=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_OF_LIBFDT=y
configs/am335x_boneblack_defconfig +2 -1
@@ -14,7 +14,8 @@ CONFIG_AUTOBOOT_STOP_STR=" " CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set CONFIG_DFU_TFTP=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_SYS_NS16550=y CONFIG_OF_LIBFDT=y
configs/am335x_boneblack_vboot_defconfig +2 -1
@@ -18,7 +18,8 @@ CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set CONFIG_OF_CONTROL=y CONFIG_DM_MMC=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_DM_ETH=y CONFIG_SYS_NS16550=y
configs/am335x_evm_defconfig +2 -1
@@ -13,7 +13,8 @@ CONFIG_AUTOBOOT_STOP_STR=" " # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_SYS_NS16550=y CONFIG_OF_LIBFDT=y
configs/am335x_evm_nor_defconfig +2 -1
@@ -9,7 +9,8 @@ CONFIG_SYS_EXTRA_OPTIONS="NAND" # CONFIG_CMD_IMLS is not set CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_SYS_NS16550=y CONFIG_OF_LIBFDT=y
configs/am335x_evm_norboot_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_FIT=y # CONFIG_CMD_IMLS is not set CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_SYS_NS16550=y CONFIG_OF_LIBFDT=y
configs/am335x_evm_spiboot_defconfig +2 -1
@@ -9,7 +9,8 @@ CONFIG_SYS_EXTRA_OPTIONS="SPI_BOOT" # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_SYS_NS16550=y CONFIG_OF_LIBFDT=y
configs/am335x_evm_usbspl_defconfig +2 -1
@@ -9,7 +9,8 @@ CONFIG_SYS_EXTRA_OPTIONS="NAND,SPL_USBETH_SUPPORT" # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_SYS_NS16550=y CONFIG_OF_LIBFDT=y
configs/am335x_gp_evm_defconfig +2 -1
@@ -12,7 +12,8 @@ CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set CONFIG_OF_CONTROL=y CONFIG_DM_MMC=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_DM_ETH=y CONFIG_SYS_NS16550=y
configs/am437x_gp_evm_defconfig +2 -1
@@ -14,7 +14,8 @@ CONFIG_CMD_GPIO=y CONFIG_OF_CONTROL=y CONFIG_DM=y CONFIG_DM_MMC=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SYS_NS16550=y CONFIG_TI_QSPI=y
configs/am437x_sk_evm_defconfig +3 -2
@@ -2,7 +2,7 @@ CONFIG_ARM=y CONFIG_TARGET_AM43XX_EVM=y CONFIG_DM_SERIAL=y CONFIG_DM_SPI=y -CONFIG_DM_SPI_FLASH=y +CONFIG_MTD=y CONFIG_DM_GPIO=y CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_DEFAULT_DEVICE_TREE="am437x-sk-evm"
@@ -16,7 +16,8 @@ CONFIG_CMD_GPIO=y CONFIG_OF_CONTROL=y CONFIG_DM=y CONFIG_DM_MMC=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_BAR=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SYS_NS16550=y
configs/am43xx_evm_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,NAND" # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_BAR=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SYS_NS16550=y
configs/am43xx_evm_ethboot_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,NAND,SPL_ETH_SUPPORT" # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SYS_NS16550=y CONFIG_TI_QSPI=y
configs/am43xx_evm_qspiboot_defconfig +2 -1
@@ -5,7 +5,8 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,QSPI,QSPI_BOOT" # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SYS_NS16550=y CONFIG_TI_QSPI=y
configs/am43xx_evm_usbhost_boot_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,NAND,SPL_USB_HOST_SUPPORT" # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SYS_NS16550=y CONFIG_TI_QSPI=y
configs/am57xx_evm_defconfig +2 -1
@@ -15,6 +15,7 @@ CONFIG_CMD_GPIO=y CONFIG_OF_CONTROL=y CONFIG_DM=y CONFIG_DM_MMC=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_BAR=y CONFIG_SYS_NS16550=y
configs/aristainetos2_defconfig +2 -1
@@ -6,6 +6,7 @@ CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/aristainetos/aristainetos2.cfg,MX6DL" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_OF_LIBFDT=y
configs/aristainetos2b_defconfig +2 -1
@@ -6,6 +6,7 @@ CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/aristainetos/aristainetos2.cfg,MX6DL" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_OF_LIBFDT=y
configs/aristainetos_defconfig +2 -1
@@ -6,6 +6,7 @@ CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/aristainetos/aristainetos.cfg,MX6DL" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_OF_LIBFDT=y
configs/at91sam9n12ek_mmc_defconfig +2 -1
@@ -7,6 +7,7 @@ CONFIG_SYS_PROMPT="U-Boot> " # CONFIG_CMD_FLASH is not set # CONFIG_CMD_FPGA is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y CONFIG_OF_LIBFDT=y
configs/at91sam9n12ek_nandflash_defconfig +2 -1
@@ -8,6 +8,7 @@ CONFIG_SYS_PROMPT="U-Boot> " # CONFIG_CMD_FLASH is not set # CONFIG_CMD_FPGA is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y CONFIG_OF_LIBFDT=y
configs/at91sam9n12ek_spiflash_defconfig +2 -1
@@ -8,6 +8,7 @@ CONFIG_SYS_PROMPT="U-Boot> " # CONFIG_CMD_FLASH is not set # CONFIG_CMD_FPGA is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y CONFIG_OF_LIBFDT=y
configs/at91sam9x5ek_dataflash_defconfig +2 -1
@@ -8,6 +8,7 @@ CONFIG_SYS_PROMPT="U-Boot> " # CONFIG_CMD_FLASH is not set # CONFIG_CMD_FPGA is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y CONFIG_OF_LIBFDT=y
configs/at91sam9x5ek_mmc_defconfig +2 -1
@@ -8,6 +8,7 @@ CONFIG_SYS_PROMPT="U-Boot> " # CONFIG_CMD_FLASH is not set # CONFIG_CMD_FPGA is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y CONFIG_OF_LIBFDT=y
configs/at91sam9x5ek_nandflash_defconfig +2 -1
@@ -9,6 +9,7 @@ CONFIG_SYS_PROMPT="U-Boot> " # CONFIG_CMD_FLASH is not set # CONFIG_CMD_FPGA is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y CONFIG_OF_LIBFDT=y
configs/at91sam9x5ek_spiflash_defconfig +2 -1
@@ -9,6 +9,7 @@ CONFIG_SYS_PROMPT="U-Boot> " # CONFIG_CMD_FLASH is not set # CONFIG_CMD_FPGA is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y CONFIG_OF_LIBFDT=y
configs/atngw100_defconfig +2 -1
@@ -10,5 +10,6 @@ CONFIG_AUTOBOOT_STOP_STR=" " # CONFIG_CMD_FPGA is not set # CONFIG_CMD_SOURCE is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y
configs/atngw100mkii_defconfig +2 -1
@@ -9,5 +9,6 @@ CONFIG_AUTOBOOT_STOP_STR=" " # CONFIG_CMD_XIMG is not set # CONFIG_CMD_FPGA is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y
configs/axm_defconfig +2 -1
@@ -10,7 +10,8 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,MACH_TYPE=2068,BOARD_AXM" # CONFIG_CMD_FPGA is not set # CONFIG_CMD_SOURCE is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_USE_TINY_PRINTF=y CONFIG_OF_LIBFDT=y
configs/bayleybay_defconfig +2 -1
@@ -23,7 +23,8 @@ CONFIG_OF_CONTROL=y CONFIG_REGMAP=y CONFIG_SYSCON=y CONFIG_CPU=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_GIGADEVICE=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SPI_FLASH_WINBOND=y
configs/beaver_defconfig +2 -1
@@ -13,7 +13,8 @@ CONFIG_SYS_PROMPT="Tegra30 (Beaver) # " CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set # CONFIG_CMD_NFS is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_PCI_TEGRA=y CONFIG_SYS_NS16550=y
configs/bf518f-ezbrd_defconfig +2 -1
@@ -3,7 +3,8 @@ CONFIG_TARGET_BF518F_EZBRD=y CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set CONFIG_NET_RANDOM_ETHADDR=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
configs/bf525-ucr2_defconfig +2 -1
@@ -5,5 +5,6 @@ CONFIG_TARGET_BF525_UCR2=y # CONFIG_CMD_SETEXPR is not set # CONFIG_CMD_NET is not set # CONFIG_CMD_NFS is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_EON=y
configs/bf526-ezbrd_defconfig +2 -1
@@ -3,5 +3,6 @@ CONFIG_TARGET_BF526_EZBRD=y CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set CONFIG_NET_RANDOM_ETHADDR=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SST=y
configs/bf527-ad7160-eval_defconfig +2 -1
@@ -5,6 +5,7 @@ CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set # CONFIG_CMD_NET is not set # CONFIG_CMD_NFS is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
configs/bf527-ezkit-v2_defconfig +2 -1
@@ -3,6 +3,7 @@ CONFIG_TARGET_BF527_EZKIT=y CONFIG_SYS_EXTRA_OPTIONS="BF527_EZKIT_REV_2_1" CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_LIB_RAND=y
configs/bf527-ezkit_defconfig +2 -1
@@ -3,5 +3,6 @@ CONFIG_TARGET_BF527_EZKIT=y # CONFIG_CMD_SETEXPR is not set CONFIG_NET_RANDOM_ETHADDR=y # CONFIG_NET_TFTP_VARS is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y
configs/bf527-sdp_defconfig +2 -1
@@ -5,7 +5,8 @@ CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set # CONFIG_CMD_NET is not set # CONFIG_CMD_NFS is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_MACRONIX=y
configs/bf537-minotaur_defconfig +2 -1
@@ -5,5 +5,6 @@ CONFIG_SYS_PROMPT="minotaur> " # CONFIG_CMD_FLASH is not set # CONFIG_CMD_SETEXPR is not set CONFIG_NET_RANDOM_ETHADDR=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y
configs/bf537-pnav_defconfig +2 -1
@@ -3,5 +3,6 @@ CONFIG_TARGET_BF537_PNAV=y CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set CONFIG_NET_RANDOM_ETHADDR=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y
configs/bf537-srv1_defconfig +2 -1
@@ -5,5 +5,6 @@ CONFIG_SYS_PROMPT="srv1> " # CONFIG_CMD_FLASH is not set # CONFIG_CMD_SETEXPR is not set CONFIG_NET_RANDOM_ETHADDR=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y
configs/bf537-stamp_defconfig +2 -1
@@ -3,7 +3,8 @@ CONFIG_TARGET_BF537_STAMP=y CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set CONFIG_NET_RANDOM_ETHADDR=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_MACRONIX=y
configs/bf548-ezkit_defconfig +2 -1
@@ -2,7 +2,8 @@ CONFIG_BLACKFIN=y CONFIG_TARGET_BF548_EZKIT=y CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y CONFIG_LIB_RAND=y
configs/bf561-acvilon_defconfig +2 -1
@@ -5,7 +5,8 @@ CONFIG_SYS_PROMPT="Acvilon> " # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y CONFIG_LIB_RAND=y
configs/bf609-ezkit_defconfig +2 -1
@@ -2,7 +2,8 @@ CONFIG_BLACKFIN=y CONFIG_TARGET_BF609_EZKIT=y CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_MACRONIX=y
configs/bg0900_defconfig +2 -1
@@ -4,7 +4,8 @@ CONFIG_SPL=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_BAR=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_OF_LIBFDT=y
configs/birdland_bav335a_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1" # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_SYS_NS16550=y CONFIG_OF_LIBFDT=y
configs/birdland_bav335b_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1" # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_SYS_NS16550=y CONFIG_OF_LIBFDT=y
configs/blackstamp_defconfig +2 -1
@@ -3,5 +3,6 @@ CONFIG_TARGET_BLACKSTAMP=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y
configs/blackvme_defconfig +2 -1
@@ -3,5 +3,6 @@ CONFIG_TARGET_BLACKVME=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y
configs/br4_defconfig +2 -1
@@ -5,7 +5,8 @@ CONFIG_SYS_PROMPT="br4>" # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y CONFIG_LIB_RAND=y
configs/cardhu_defconfig +2 -1
@@ -13,7 +13,8 @@ CONFIG_SYS_PROMPT="Tegra30 (Cardhu) # " CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set # CONFIG_CMD_NFS is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_PCI_TEGRA=y CONFIG_SYS_NS16550=y
configs/cgtqmx6eval_defconfig +2 -0
@@ -9,3 +9,5 @@ CONFIG_SYS_PROMPT="CGT-QMX6-Quad U-Boot > " CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set CONFIG_OF_LIBFDT=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y
configs/chromebook_jerry_defconfig +2 -0
@@ -63,3 +63,5 @@ CONFIG_USE_PRIVATE_LIBGCC=y CONFIG_USE_TINY_PRINTF=y CONFIG_CMD_DHRYSTONE=y CONFIG_ERRNO_STR=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y
configs/chromebook_link_defconfig +2 -1
@@ -28,7 +28,8 @@ CONFIG_SYS_I2C_INTEL=y CONFIG_CMD_CROS_EC=y CONFIG_CROS_EC=y CONFIG_CROS_EC_LPC=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_GIGADEVICE=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SPI_FLASH_WINBOND=y
configs/chromebook_samus_defconfig +2 -1
@@ -27,7 +27,8 @@ CONFIG_INTEL_BROADWELL_GPIO=y CONFIG_CMD_CROS_EC=y CONFIG_CROS_EC=y CONFIG_CROS_EC_LPC=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_GIGADEVICE=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SPI_FLASH_WINBOND=y
configs/chromebox_panther_defconfig +2 -1
@@ -22,7 +22,8 @@ CONFIG_SYSCON=y CONFIG_CMD_CROS_EC=y CONFIG_CROS_EC=y CONFIG_CROS_EC_LPC=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_GIGADEVICE=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SPI_FLASH_WINBOND=y
configs/clearfog_defconfig +2 -1
@@ -9,7 +9,8 @@ CONFIG_SPL=y CONFIG_CMD_USB=y # CONFIG_CMD_SETEXPR is not set CONFIG_SPL_OF_TRANSLATE=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_DEBUG_UART=y CONFIG_DEBUG_UART_BASE=0xd0012000 CONFIG_DEBUG_UART_CLOCK=250000000
configs/cm_fx6_defconfig +2 -1
@@ -18,7 +18,8 @@ CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_DHCP=y CONFIG_CMD_PING=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y CONFIG_SPI_FLASH_EON=y CONFIG_SPI_FLASH_GIGADEVICE=y
configs/cm_t43_defconfig +2 -1
@@ -13,7 +13,8 @@ CONFIG_DM=y CONFIG_SYS_NS16550=y CONFIG_OF_LIBFDT=y CONFIG_DM_SERIAL=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_BAR=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_SPI_FLASH_SST=y
configs/conga-qeval20-qa3-e3845_defconfig +2 -1
@@ -24,7 +24,8 @@ CONFIG_REGMAP=y CONFIG_SYSCON=y CONFIG_CPU=y CONFIG_WINBOND_W83627=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_GIGADEVICE=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SPI_FLASH_STMICRO=y
configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig +2 -1
@@ -10,7 +10,8 @@ CONFIG_SYS_EXTRA_OPTIONS="36BIT,SDCARD,DEVELOP" # CONFIG_CMD_FLASH is not set CONFIG_CMD_TPM=y CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SYS_NS16550=y CONFIG_FSL_ESPI=y
configs/controlcenterd_36BIT_SDCARD_defconfig +2 -1
@@ -10,7 +10,8 @@ CONFIG_SYS_EXTRA_OPTIONS="36BIT,SDCARD" # CONFIG_CMD_FLASH is not set CONFIG_CMD_TPM=y CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SYS_NS16550=y CONFIG_FSL_ESPI=y
configs/coreboot-x86_defconfig +2 -1
@@ -12,7 +12,8 @@ CONFIG_CMD_BOOTSTAGE=y CONFIG_CMD_TPM=y CONFIG_CMD_TPM_TEST=y CONFIG_OF_CONTROL=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_GIGADEVICE=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SPI_FLASH_WINBOND=y
configs/cougarcanyon2_defconfig +2 -1
@@ -10,7 +10,8 @@ CONFIG_CMD_GPIO=y CONFIG_OF_CONTROL=y CONFIG_REGMAP=y CONFIG_SYSCON=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_DM_PCI=y CONFIG_DM_RTC=y
configs/crownbay_defconfig +2 -1
@@ -21,7 +21,8 @@ CONFIG_OF_CONTROL=y CONFIG_REGMAP=y CONFIG_SYSCON=y CONFIG_CPU=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_GIGADEVICE=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SPI_FLASH_SST=y
configs/d2net_v2_defconfig +2 -1
@@ -5,7 +5,8 @@ CONFIG_SYS_EXTRA_OPTIONS="D2NET_V2" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SYS_NS16550=y CONFIG_OF_LIBFDT=y
configs/da850_am18xxevm_defconfig +2 -1
@@ -6,7 +6,8 @@ CONFIG_SYS_EXTRA_OPTIONS="DA850_AM18X_EVM,MAC_ADDR_IN_EEPROM,SYS_I2C_EEPROM_ADDR # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_SYS_NS16550=y
configs/da850evm_defconfig +2 -1
@@ -7,7 +7,8 @@ CONFIG_SYS_PROMPT="U-Boot > " # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_SYS_NS16550=y
configs/da850evm_direct_nor_defconfig +2 -1
@@ -4,7 +4,8 @@ CONFIG_TARGET_DA850EVM=y CONFIG_SYS_EXTRA_OPTIONS="MAC_ADDR_IN_SPIFLASH,USE_NOR,DIRECT_NOR_BOOT" CONFIG_SYS_PROMPT="U-Boot > " # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_SYS_NS16550=y
configs/dalmore_defconfig +2 -1
@@ -13,7 +13,8 @@ CONFIG_SYS_PROMPT="Tegra114 (Dalmore) # " CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set # CONFIG_CMD_NFS is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_SYS_NS16550=y CONFIG_TEGRA114_SPI=y
configs/db-88f6820-gp_defconfig +2 -1
@@ -9,7 +9,8 @@ CONFIG_SPL=y CONFIG_CMD_USB=y # CONFIG_CMD_SETEXPR is not set CONFIG_SPL_OF_TRANSLATE=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_DEBUG_UART=y
configs/db-mv784mp-gp_defconfig +2 -1
@@ -11,7 +11,8 @@ CONFIG_CMD_USB=y # CONFIG_CMD_SETEXPR is not set CONFIG_SPL_OF_TRANSLATE=y CONFIG_NAND_PXA3XX=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_DEBUG_UART=y
configs/dra72_evm_defconfig +3 -2
@@ -4,7 +4,7 @@ CONFIG_SYS_MALLOC_F_LEN=0x2000 CONFIG_TARGET_DRA7XX_EVM=y CONFIG_DM_SERIAL=y CONFIG_DM_SPI=y -CONFIG_DM_SPI_FLASH=y +CONFIG_MTD=y CONFIG_DM_GPIO=y CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_DEFAULT_DEVICE_TREE="dra72-evm"
@@ -16,7 +16,8 @@ CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set CONFIG_OF_CONTROL=y CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_BAR=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_SYS_NS16550=y
configs/dra74_evm_defconfig +3 -2
@@ -3,7 +3,7 @@ CONFIG_OMAP54XX=y CONFIG_TARGET_DRA7XX_EVM=y CONFIG_DM_SERIAL=y CONFIG_DM_SPI=y -CONFIG_DM_SPI_FLASH=y +CONFIG_MTD=y CONFIG_DM_GPIO=y CONFIG_SPL_STACK_R_ADDR=0x82000000 CONFIG_DEFAULT_DEVICE_TREE="dra7-evm"
@@ -15,7 +15,8 @@ CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set CONFIG_OF_CONTROL=y CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_BAR=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_SYS_NS16550=y
configs/dra7xx_evm_defconfig +3 -1
@@ -8,7 +8,9 @@ CONFIG_SPL_STACK_R=y # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +# CONFIG_CMD_NFS is not set +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_BAR=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_SYS_NS16550=y
configs/dra7xx_evm_qspiboot_defconfig +3 -1
@@ -9,7 +9,9 @@ CONFIG_SYS_EXTRA_OPTIONS="QSPI_BOOT" # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +# CONFIG_CMD_NFS is not set +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_SYS_NS16550=y CONFIG_TI_QSPI=y
configs/dra7xx_evm_uart3_defconfig +3 -1
@@ -10,7 +10,9 @@ CONFIG_SYS_EXTRA_OPTIONS="SPL_YMODEM_SUPPORT" # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +# CONFIG_CMD_NFS is not set +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_SYS_NS16550=y CONFIG_TI_QSPI=y
configs/draco_defconfig +2 -1
@@ -9,7 +9,8 @@ CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b" # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_SYS_NS16550=y CONFIG_OF_LIBFDT=y
configs/dreamplug_defconfig +2 -1
@@ -9,7 +9,8 @@ CONFIG_CMD_USB=y # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_DHCP=y CONFIG_CMD_PING=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SYS_NS16550=y CONFIG_OF_LIBFDT=y
configs/ds414_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_SPL=y # CONFIG_CMD_FLASH is not set # CONFIG_CMD_SETEXPR is not set CONFIG_SPL_OF_TRANSLATE=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_BAR=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_DEBUG_UART=y
configs/e2220-1170_defconfig +2 -1
@@ -11,7 +11,8 @@ CONFIG_SYS_PROMPT="Tegra210 (E2220-1170) # " CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set # CONFIG_CMD_NFS is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_SYS_NS16550=y CONFIG_TEGRA114_SPI=y
configs/ea20_defconfig +2 -1
@@ -6,6 +6,7 @@ CONFIG_SYS_PROMPT="ea20 > " # CONFIG_CMD_FLASH is not set CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SYS_NS16550=y
configs/ethernut5_defconfig +2 -1
@@ -6,5 +6,6 @@ CONFIG_SYS_PROMPT="U-Boot> " # CONFIG_CMD_BDI is not set # CONFIG_CMD_LOADS is not set # CONFIG_CMD_FPGA is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y
configs/firefly-rk3288_defconfig +2 -0
@@ -55,3 +55,5 @@ CONFIG_USE_PRIVATE_LIBGCC=y CONFIG_USE_TINY_PRINTF=y CONFIG_CMD_DHRYSTONE=y CONFIG_ERRNO_STR=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y
configs/galileo_defconfig +2 -1
@@ -17,7 +17,8 @@ CONFIG_OF_CONTROL=y CONFIG_REGMAP=y CONFIG_SYSCON=y CONFIG_NET_RANDOM_ETHADDR=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_GIGADEVICE=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SPI_FLASH_WINBOND=y
configs/gose_defconfig +2 -1
@@ -17,7 +17,8 @@ CONFIG_TARGET_GOSE=y # CONFIG_CMD_SETEXPR is not set # CONFIG_CMD_MISC is not set CONFIG_SH_SDHI=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_BAR=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_OF_LIBFDT=y
configs/gplugd_defconfig +2 -1
@@ -4,7 +4,8 @@ CONFIG_TARGET_GPLUGD=y # CONFIG_CMD_FLASH is not set # CONFIG_CMD_FPGA is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_ATMEL=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SYS_NS16550=y
configs/inetspace_v2_defconfig +2 -1
@@ -5,7 +5,8 @@ CONFIG_SYS_EXTRA_OPTIONS="INETSPACE_V2" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set # CONFIG_CMD_SETEXPR is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SYS_NS16550=y CONFIG_OF_LIBFDT=y
configs/ip04_defconfig +2 -1
@@ -5,7 +5,8 @@ CONFIG_TARGET_IP04=y CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set CONFIG_NET_RANDOM_ETHADDR=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
configs/jetson-tk1_defconfig +2 -1
@@ -13,7 +13,8 @@ CONFIG_SYS_PROMPT="Tegra124 (Jetson TK1) # " CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set # CONFIG_CMD_NFS is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_PCI_TEGRA=y CONFIG_SYS_NS16550=y
configs/k2e_evm_defconfig +2 -1
@@ -11,7 +11,8 @@ CONFIG_SYS_PROMPT="K2E EVM # " # CONFIG_CMD_SETEXPR is not set CONFIG_OF_CONTROL=y CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SYS_NS16550=y CONFIG_DM_ETH=y
configs/k2g_evm_defconfig +2 -1
@@ -12,7 +12,8 @@ CONFIG_REMOTEPROC_TI_POWER=y # CONFIG_CMD_SETEXPR is not set CONFIG_OF_CONTROL=y CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SYS_NS16550=y CONFIG_DM_ETH=y
configs/k2hk_evm_defconfig +2 -1
@@ -11,7 +11,8 @@ CONFIG_SYS_PROMPT="K2HK EVM # " # CONFIG_CMD_SETEXPR is not set CONFIG_OF_CONTROL=y CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SYS_NS16550=y CONFIG_DM_ETH=y
configs/k2l_evm_defconfig +2 -1
@@ -11,7 +11,8 @@ CONFIG_SYS_PROMPT="K2L EVM # " # CONFIG_CMD_SETEXPR is not set CONFIG_OF_CONTROL=y CONFIG_DM=y -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SYS_NS16550=y CONFIG_DM_ETH=y
configs/km_kirkwood_128m16_defconfig +2 -1
@@ -4,7 +4,8 @@ CONFIG_TARGET_KM_KIRKWOOD=y CONFIG_SYS_EXTRA_OPTIONS="KM_KIRKWOOD_128M16" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SYS_NS16550=y CONFIG_OF_LIBFDT=y
configs/km_kirkwood_defconfig +2 -1
@@ -4,7 +4,8 @@ CONFIG_TARGET_KM_KIRKWOOD=y CONFIG_SYS_EXTRA_OPTIONS="KM_KIRKWOOD" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SYS_NS16550=y CONFIG_OF_LIBFDT=y
configs/km_kirkwood_pci_defconfig +2 -1
@@ -4,7 +4,8 @@ CONFIG_TARGET_KM_KIRKWOOD=y CONFIG_SYS_EXTRA_OPTIONS="KM_KIRKWOOD_PCI" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SYS_NS16550=y CONFIG_OF_LIBFDT=y
configs/kmcoge4_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="KMCOGE4" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y
configs/kmcoge5un_defconfig +2 -1
@@ -4,7 +4,8 @@ CONFIG_TARGET_KM_KIRKWOOD=y CONFIG_SYS_EXTRA_OPTIONS="KM_COGE5UN" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SYS_NS16550=y CONFIG_OF_LIBFDT=y
configs/kmlion1_defconfig +2 -1
@@ -8,7 +8,8 @@ CONFIG_OF_STDOUT_VIA_ALIAS=y CONFIG_SYS_EXTRA_OPTIONS="KMLION1" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_NETDEVICES=y
configs/kmnusa_defconfig +2 -1
@@ -4,7 +4,8 @@ CONFIG_TARGET_KM_KIRKWOOD=y CONFIG_SYS_EXTRA_OPTIONS="KM_NUSA" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_M25P80=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SYS_NS16550=y CONFIG_OF_LIBFDT=y
configs/kmsugp1_defconfig +2 -1
@@ -4,7 +4,8 @@ CONFIG_TARGET_KM_KIRKWOOD=y CONFIG_SYS_EXTRA_OPTIONS="KM_SUGP1" # CONFIG_CMD_IMLS is not set # CONFIG_CMD_FLASH is not set -CONFIG_SPI_FLASH=y +CONFIG_MTD_SPI_NOR=y
Lines of this file are not shown. View the raw message.
configs/ls1021aqds_sdcard_qspi_defconfig +2 -1
Lines of this file are not shown. View the raw message.
configs/ls1021atwr_sdcard_qspi_defconfig +2 -1
Lines of this file are not shown. View the raw message.
configs/ls1043aqds_sdcard_ifc_defconfig +2 -1
Lines of this file are not shown. View the raw message.
configs/ls1043aqds_sdcard_qspi_defconfig +2 -1
Lines of this file are not shown. View the raw message.
configs/ls1043ardb_SECURE_BOOT_defconfig +2 -1
Lines of this file are not shown. View the raw message.
configs/mx28evk_auart_console_defconfig +2 -1
Lines of this file are not shown. View the raw message.
configs/sama5d2_xplained_spiflash_defconfig +2 -1
Lines of this file are not shown. View the raw message.
configs/sama5d4_xplained_nandflash_defconfig +2 -1
Lines of this file are not shown. View the raw message.
configs/sama5d4_xplained_spiflash_defconfig +2 -1
Lines of this file are not shown. View the raw message.
include/configs/tegra-common-usb-gadget.h +1 -1
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
Signature · 1 line
1.9.1
Part of the diff is not shown here. View the raw message.
PATCH v7 60/87 spi-nor: Use CONFIG_MTD_SPI_NOR
In reply to Jagan TekiReplace legacy CONFIG_SPI_FLASH with CONFIG_MTD_SPI_NOR
--- board/davinci/da8xxevm/da850evm.c | 2 +- common/splash_source.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
board/davinci/da8xxevm/da850evm.c +1 -1
@@ -234,7 +234,7 @@ const struct pinmux_resource pinmuxes[] = { PINMUX_ITEM(emac_pins_mii),#endif #endif -#ifdef CONFIG_SPI_FLASH +#ifdef CONFIG_MTD_SPI_NOR PINMUX_ITEM(spi1_pins_base), PINMUX_ITEM(spi1_pins_scs0),#endif
common/splash_source.c +1 -1
@@ -19,7 +19,7 @@DECLARE_GLOBAL_DATA_PTR ; -#ifdef CONFIG_SPI_FLASH +#ifdef CONFIG_MTD_SPI_NOR static spi_flash_t *sf;static int splash_sf_read_raw (u32 bmp_load_addr,int offset,size_t read_size) {
Signature · 1 line
1.9.1
PATCH v7 61/87 configs: Use CONFIG_SPI_NOR_BAR
In reply to Jagan Teki- CONFIG_SPI_FLASH_BAR
+ CONFIG_SPI_NOR_BAR
--- configs/alt_defconfig | 2 +- configs/am437x_sk_evm_defconfig | 2 +- configs/am43xx_evm_defconfig | 2 +- configs/am57xx_evm_defconfig | 2 +- configs/bg0900_defconfig | 2 +- configs/cm_t43_defconfig | 2 +- configs/dra72_evm_defconfig | 2 +- configs/dra74_evm_defconfig | 2 +- configs/dra7xx_evm_defconfig | 2 +- configs/ds414_defconfig | 2 +- configs/gose_defconfig | 2 +- configs/koelsch_defconfig | 2 +- configs/lager_defconfig | 2 +- configs/maxbcm_defconfig | 2 +- configs/mx6sxsabreauto_defconfig | 2 +- configs/mx6sxsabresd_defconfig | 2 +- configs/porter_defconfig | 2 +- configs/silk_defconfig | 2 +- configs/stout_defconfig | 2 +- configs/zynq_zc702_defconfig | 2 +- configs/zynq_zc706_defconfig | 2 +- configs/zynq_zc770_xm010_defconfig | 2 +- configs/zynq_zc770_xm013_defconfig | 2 +- configs/zynq_zed_defconfig | 2 +- doc/SPI/README.ti_qspi_dra_test | 2 +- drivers/spi/fsl_qspi.c | 18 +++++++++--------- include/configs/T102xQDS.h | 2 +- include/configs/T102xRDB.h | 2 +- include/configs/T104xRDB.h | 2 +- include/configs/T208xQDS.h | 2 +- include/configs/T208xRDB.h | 2 +- include/configs/gw_ventana.h | 2 +- include/configs/km/kmp204x-common.h | 2 +- include/configs/ls2080ardb.h | 2 +- include/configs/mx6ul_14x14_evk.h | 2 +- include/configs/mx7dsabresd.h | 2 +- include/configs/socfpga_common.h | 4 ++-- include/linux/mtd/spi-nor.h | 2 +- 38 files changed, 47 insertions(+), 47 deletions(-)
configs/alt_defconfig +1 -1
@@ -19,6 +19,6 @@ CONFIG_TARGET_ALT=y CONFIG_SH_SDHI=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_OF_LIBFDT=y
configs/am437x_sk_evm_defconfig +1 -1
@@ -18,7 +18,7 @@ CONFIG_DM=y CONFIG_DM_MMC=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SYS_NS16550=y CONFIG_TI_QSPI=y
configs/am43xx_evm_defconfig +1 -1
@@ -8,7 +8,7 @@ CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SYS_NS16550=y CONFIG_TI_QSPI=y
configs/am57xx_evm_defconfig +1 -1
@@ -17,5 +17,5 @@ CONFIG_DM=y CONFIG_DM_MMC=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_SYS_NS16550=y
configs/bg0900_defconfig +1 -1
@@ -6,6 +6,6 @@ CONFIG_SPL=y CONFIG_CMD_GPIO=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_OF_LIBFDT=y
configs/cm_t43_defconfig +1 -1
@@ -15,7 +15,7 @@ CONFIG_OF_LIBFDT=y CONFIG_DM_SERIAL=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_SPI_FLASH_WINBOND=y CONFIG_SPI_FLASH_SST=y CONFIG_SPI_FLASH_STMICRO=y
configs/dra72_evm_defconfig +1 -1
@@ -18,7 +18,7 @@ CONFIG_OF_CONTROL=y CONFIG_DM=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_SYS_NS16550=y CONFIG_TI_QSPI=y
configs/dra74_evm_defconfig +1 -1
@@ -17,7 +17,7 @@ CONFIG_OF_CONTROL=y CONFIG_DM=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_SYS_NS16550=y CONFIG_TI_QSPI=y
configs/dra7xx_evm_defconfig +1 -1
@@ -11,7 +11,7 @@ CONFIG_CMD_GPIO=y # CONFIG_CMD_NFS is not set CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_SYS_NS16550=y CONFIG_TI_QSPI=y
configs/ds414_defconfig +1 -1
@@ -10,7 +10,7 @@ CONFIG_SPL=y CONFIG_SPL_OF_TRANSLATE=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_DEBUG_UART=y CONFIG_DEBUG_UART_BASE=0xd0012000
configs/gose_defconfig +1 -1
@@ -19,6 +19,6 @@ CONFIG_TARGET_GOSE=y CONFIG_SH_SDHI=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_OF_LIBFDT=y
configs/koelsch_defconfig +1 -1
@@ -19,6 +19,6 @@ CONFIG_TARGET_KOELSCH=y CONFIG_SH_SDHI=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_OF_LIBFDT=y
configs/lager_defconfig +1 -1
@@ -19,6 +19,6 @@ CONFIG_TARGET_LAGER=y CONFIG_SH_SDHI=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_OF_LIBFDT=y
configs/maxbcm_defconfig +1 -1
@@ -10,7 +10,7 @@ CONFIG_SPL=y CONFIG_SPL_OF_TRANSLATE=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_SPI_FLASH_STMICRO=y
configs/mx6sxsabreauto_defconfig +1 -1
@@ -8,5 +8,5 @@ CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_SPI_FLASH_STMICRO=y
configs/mx6sxsabresd_defconfig +1 -1
@@ -8,5 +8,5 @@ CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_OF_LIBFDT=y
configs/porter_defconfig +1 -1
@@ -19,6 +19,6 @@ CONFIG_TARGET_PORTER=y CONFIG_SH_SDHI=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_OF_LIBFDT=y
configs/silk_defconfig +1 -1
@@ -19,6 +19,6 @@ CONFIG_TARGET_SILK=y CONFIG_SH_SDHI=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_OF_LIBFDT=y
configs/stout_defconfig +1 -1
@@ -19,6 +19,6 @@ CONFIG_TARGET_STOUT=y CONFIG_SH_SDHI=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_OF_LIBFDT=y
configs/zynq_zc702_defconfig +1 -1
@@ -15,7 +15,7 @@ CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_ZYNQ_SDHCI=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_WINBOND=y
configs/zynq_zc706_defconfig +1 -1
@@ -16,7 +16,7 @@ CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_ZYNQ_SDHCI=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_WINBOND=y
configs/zynq_zc770_xm010_defconfig +1 -1
@@ -17,7 +17,7 @@ CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_ZYNQ_SDHCI=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_SST=y
configs/zynq_zc770_xm013_defconfig +1 -1
@@ -16,6 +16,6 @@ CONFIG_NET_RANDOM_ETHADDR=y CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_ZYNQ_GEM=y CONFIG_ZYNQ_QSPI=y
configs/zynq_zed_defconfig +1 -1
@@ -16,7 +16,7 @@ CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_ZYNQ_SDHCI=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_M25P80=y -CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_NOR_BAR=y CONFIG_SPI_FLASH_SPANSION=y CONFIG_SPI_FLASH_STMICRO=y CONFIG_SPI_FLASH_WINBOND=y
doc/SPI/README.ti_qspi_dra_test +1 -1
@@ -22,7 +22,7 @@ Commands to erase/write u-boot/mlo to flash device -------------------------------------------------- U-Boot# sf probe 0 SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiB, mapped at 5c000000 -SF: Warning - Only lower 16MiB accessible, Full access #define CONFIG_SPI_FLASH_BAR +SF: Warning - Only lower 16MiB accessible, Full access #define CONFIG_SPI_NOR_BAR U-Boot# sf erase 0 0x10000 SF: 65536 bytes @ 0x0 Erased: OK U-Boot# sf erase 0x20000 0x10000
drivers/spi/fsl_qspi.c +9 -9
@@ -38,7 +38,7 @@ DECLARE_GLOBAL_DATA_PTR;#define SEQID_PP 6#define SEQID_RDID 7#define SEQID_BE_4K 8 -#ifdef CONFIG_SPI_FLASH_BAR +#ifdef CONFIG_SPI_NOR_BAR #define SEQID_BRRD 9#define SEQID_BRWR 10#define SEQID_RDEAR 11
@@ -178,7 +178,7 @@ static void qspi_set_lut(struct fsl_qspi_priv *priv)/* Fast Read */ lut_base =SEQID_FAST_READ *4 ; -#ifdef CONFIG_SPI_FLASH_BAR +#ifdef CONFIG_SPI_NOR_BAR qspi_write32(priv->flags, ®s->lut[lut_base], OPRND0(QSPI_CMD_FAST_READ) | PAD0(LUT_PAD1) | INSTR0(LUT_CMD) | OPRND1(ADDR24BIT) |
@@ -214,7 +214,7 @@ static void qspi_set_lut(struct fsl_qspi_priv *priv)/* Erase a sector */ lut_base =SEQID_SE *4 ; -#ifdef CONFIG_SPI_FLASH_BAR +#ifdef CONFIG_SPI_NOR_BAR qspi_write32 (priv->flags, ®s->lut[lut_base],OPRND0 (QSPI_CMD_SE ) |PAD0 (LUT_PAD1 ) |INSTR0 (LUT_CMD ) |OPRND1 (ADDR24BIT ) |PAD1 (LUT_PAD1 ) |INSTR1 (LUT_ADDR ));
@@ -245,7 +245,7 @@ static void qspi_set_lut(struct fsl_qspi_priv *priv)/* Page Program */ lut_base =SEQID_PP *4 ; -#ifdef CONFIG_SPI_FLASH_BAR +#ifdef CONFIG_SPI_NOR_BAR qspi_write32 (priv->flags, ®s->lut[lut_base],OPRND0 (QSPI_CMD_PP ) |PAD0 (LUT_PAD1 ) |INSTR0 (LUT_CMD ) |OPRND1 (ADDR24BIT ) |PAD1 (LUT_PAD1 ) |INSTR1 (LUT_ADDR ));
@@ -291,7 +291,7 @@ static void qspi_set_lut(struct fsl_qspi_priv *priv)PAD0 (LUT_PAD1 ) |INSTR0 (LUT_CMD ) |OPRND1 (ADDR24BIT ) | PAD1(LUT_PAD1) | INSTR1(LUT_ADDR)); -#ifdef CONFIG_SPI_FLASH_BAR +#ifdef CONFIG_SPI_NOR_BAR /* * BRRD BRWR RDEAR WREAR are all supported, because it is hard to * dynamically check whether to set BRRD BRWR or RDEAR WREAR during
@@ -430,7 +430,7 @@ static void qspi_init_ahb_read(struct fsl_qspi_priv *priv) }#endif -#ifdef CONFIG_SPI_FLASH_BAR +#ifdef CONFIG_SPI_NOR_BAR /* Bank register read/write, EAR register read/write */ static void qspi_op_rdbank (struct fsl_qspi_priv *priv,u8 *rxbuf,u32 len) {
@@ -601,7 +601,7 @@ static void qspi_op_write(struct fsl_qspi_priv *priv, u8 *txbuf, u32 len)/* Default is page programming */ seqid =SEQID_PP ; -#ifdef CONFIG_SPI_FLASH_BAR +#ifdef CONFIG_SPI_NOR_BAR if (priv->cur_seqid ==QSPI_CMD_BRWR ) seqid =SEQID_BRWR ;else if (priv->cur_seqid ==QSPI_CMD_WREAR )
@@ -735,7 +735,7 @@ int qspi_xfer(struct fsl_qspi_priv *priv, unsigned int bitlen, wr_sfaddr =swab32 (txbuf) &OFFSET_BITS_MASK ; }else if ((priv->cur_seqid ==QSPI_CMD_BRWR ) || (priv->cur_seqid ==QSPI_CMD_WREAR )) { -#ifdef CONFIG_SPI_FLASH_BAR +#ifdef CONFIG_SPI_NOR_BAR wr_sfaddr =0 ;#endif }
@@ -752,7 +752,7 @@ int qspi_xfer(struct fsl_qspi_priv *priv, unsigned int bitlen,qspi_op_rdid (priv, din, bytes); else if (priv->cur_seqid == QSPI_CMD_RDSR) qspi_op_rdsr(priv, din, bytes); -#ifdef CONFIG_SPI_FLASH_BAR +#ifdef CONFIG_SPI_NOR_BAR else if ((priv->cur_seqid == QSPI_CMD_BRRD) || (priv->cur_seqid == QSPI_CMD_RDEAR)) { priv->sf_addr =0 ;
include/configs/T102xQDS.h +1 -1
@@ -575,7 +575,7 @@ unsigned long get_board_ddr_clk(void);#ifndef CONFIG_SPL_BUILD #endif #define CONFIG_CMD_SF -#define CONFIG_SPI_FLASH_BAR +#define CONFIG_SPI_NOR_BAR #define CONFIG_SF_DEFAULT_SPEED 10000000#define CONFIG_SF_DEFAULT_MODE 0
include/configs/T102xRDB.h +1 -1
@@ -565,7 +565,7 @@ unsigned long get_board_ddr_clk(void);#elif defined(CONFIG_T1023RDB )#endif #define CONFIG_CMD_SF -#define CONFIG_SPI_FLASH_BAR +#define CONFIG_SPI_NOR_BAR #define CONFIG_SF_DEFAULT_SPEED 10000000#define CONFIG_SF_DEFAULT_MODE 0
include/configs/T104xRDB.h +1 -1
@@ -529,7 +529,7 @@ $(SRCTREE)/board/freescale/t104xrdb/t1042d4_rcw.cfg/* * eSPI - Enhanced SPI */ -#define CONFIG_SPI_FLASH_BAR +#define CONFIG_SPI_NOR_BAR #define CONFIG_CMD_SF #define CONFIG_SF_DEFAULT_SPEED 10000000#define CONFIG_SF_DEFAULT_MODE 0
include/configs/T208xQDS.h +1 -1
@@ -546,7 +546,7 @@ unsigned long get_board_ddr_clk(void);#endif #define CONFIG_CMD_SF -#define CONFIG_SPI_FLASH_BAR +#define CONFIG_SPI_NOR_BAR #define CONFIG_SF_DEFAULT_SPEED 10000000#define CONFIG_SF_DEFAULT_MODE 0#endif
include/configs/T208xRDB.h +1 -1
@@ -496,7 +496,7 @@ unsigned long get_board_ddr_clk(void);* eSPI - Enhanced SPI */ #ifdef CONFIG_MTD_SPI_NOR -#define CONFIG_SPI_FLASH_BAR +#define CONFIG_SPI_NOR_BAR #define CONFIG_CMD_SF #define CONFIG_SF_DEFAULT_SPEED 10000000#define CONFIG_SF_DEFAULT_MODE 0
include/configs/gw_ventana.h +1 -1
@@ -68,7 +68,7 @@#define CONFIG_CMD_SF #ifdef CONFIG_CMD_SF #define CONFIG_MXC_SPI -#define CONFIG_SPI_FLASH_BAR +#define CONFIG_SPI_NOR_BAR #define CONFIG_SF_DEFAULT_BUS 0#define CONFIG_SF_DEFAULT_CS 0/* GPIO 3-19 (21248) */
include/configs/km/kmp204x-common.h +1 -1
@@ -287,7 +287,7 @@ int get_scl(void);/* * eSPI - Enhanced SPI */ -#define CONFIG_SPI_FLASH_BAR /* 4 byte-addressing */ +#define CONFIG_SPI_NOR_BAR /* 4 byte-addressing */ #define CONFIG_CMD_SF #define CONFIG_SF_DEFAULT_SPEED 20000000#define CONFIG_SF_DEFAULT_MODE 0
include/configs/ls2080ardb.h +1 -1
@@ -259,7 +259,7 @@ unsigned long get_board_sys_clk(void);#define CONFIG_CMD_SF #define CONFIG_MTD_SPI_NOR #define CONFIG_MTD_M25P80 -#define CONFIG_SPI_FLASH_BAR +#define CONFIG_SPI_NOR_BAR #endif /*
include/configs/mx6ul_14x14_evk.h +1 -1
@@ -199,7 +199,7 @@#define CONFIG_CMD_SF #define CONFIG_MTD_SPI_NOR #define CONFIG_MTD_M25P80 -#define CONFIG_SPI_FLASH_BAR +#define CONFIG_SPI_NOR_BAR #define CONFIG_SF_DEFAULT_BUS 0#define CONFIG_SF_DEFAULT_CS 0#define CONFIG_SF_DEFAULT_SPEED 40000000
include/configs/mx7dsabresd.h +1 -1
@@ -290,7 +290,7 @@#define CONFIG_MTD_SPI_NOR #define CONFIG_MTD_M25P80 #define CONFIG_SPI_FLASH_MACRONIX -#define CONFIG_SPI_FLASH_BAR +#define CONFIG_SPI_NOR_BAR #define CONFIG_SF_DEFAULT_BUS 0#define CONFIG_SF_DEFAULT_CS 0#define CONFIG_SF_DEFAULT_SPEED 40000000
include/configs/socfpga_common.h +2 -2
@@ -93,7 +93,7 @@#define CONFIG_CMD_SPI #define CONFIG_CMD_SF #define CONFIG_SF_DEFAULT_SPEED 30000000 -#define CONFIG_SPI_FLASH_BAR +#define CONFIG_SPI_NOR_BAR /* * The base address is configurable in QSys, each board must specify the * base address based on it's particular FPGA configuration. Please note
@@ -218,7 +218,7 @@ unsigned int cm_get_qspi_controller_clk_hz(void);#endif #define CONFIG_CQSPI_DECODER 0#define CONFIG_CMD_SF -#define CONFIG_SPI_FLASH_BAR +#define CONFIG_SPI_NOR_BAR /* * Designware SPI support
include/linux/mtd/spi-nor.h +1 -1
@@ -205,7 +205,7 @@ struct spi_nor {u8 read_opcode;u8 read_dummy;u8 program_opcode; -#ifdef CONFIG_SPI_FLASH_BAR +#ifdef CONFIG_SPI_NOR_BAR u8 bar_read_opcode;u8 bar_program_opcode;u8 bank_curr;
Signature · 1 line
1.9.1