[U-Boot] [PATCH v7 00/87] mtd: Add SPI-NOR core support

Jagan Teki jteki at openedev.com
Tue Mar 22 08:37:19 CET 2016


Some 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
-------------------------------

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: spi-nor core
drivers/mtd/spi-nor/m25p80.c: mtd uclass driver
which is an interface layer b/w spi-nor core drivers/spi
drivers/mtd/spi-nor/fsl_qspi.c: spi-nor controller driver(mtd uclass)

Changes for v7:
- Rebase to latest
- Fixed git bisectable issues, with buildman.
- Fixed spi-nor compilation issues
- newly designed changes.

Changes for v6:
- Fixed git bisectable issues, with buildman.
- Fixed spi-nor compilation issues
- newly designed changes.

Changes for v5:
- newly designed changes

Testing:
$ git clone git://git.denx.de/u-boot-spi.git
$ cd u-boot-spi
$ git checkout -b spi-nor-test origin/spi-nor-test

Alison Wang (1):
  defconfig: ls1021atwr_sdcard_qspi: Enable CONFIG_MTD

Jagan Teki (86):
  mtd: Add m25p80 driver
  mtd: Add Kconfig entry for MTD_M25P80
  mtd: Add SPI-NOR core support
  doc: device-tree-bindings: jedec,spi-nor
  mtd: spi-nor: Add Kconfig entry for MTD_SPI_NOR
  mtd: spi-nor: Add kconfig for MTD_SPI_NOR_USE_4K_SECTORS
  mtd: spi-nor: Add MTD support
  mtd: spi-nor: Add spi_nor support in m25p80
  mtd: spi-nor: Add dm spi-nor probing
  mtd: spi-nor: Add spi_flash_probe for mtd-dm-spi-nor
  mtd: spi-nor: Add spi_flash_free for mtd-dm-spi-nor
  mtd: spi-nor: m25p80: Add spi_nor support for non-dm
  sf: Rename erase_size to erasesize
  sf: Use erasesize instead of sector_size
  sf: Use uint64_t for flash->size
  spi_flash: Use mtd_info operation for SPI-NOR
  spi_flash: Use spi_flash_t instead of struct spi_flash
  mtd: spi-nor: Move spi_read_then_write to spi layer
  spi: Rename spi_read_then_write to spi_write_then_read
  mtd: spi-nor: Rename SPI_FLASH_BAR to SPI_NOR_BAR
  mtd: spi-nor: Add Kconfig entry for SPI_NOR_BAR
  mtd: spi-nor: Copy spl files from drivers/mtd/spi
  mtd: spi-nor: spl: Follow ascending order of include headers
  mtd: spi-nor: fsl_espi_spl: Use mtd_info
  mtd: spi-nor: fsl_espi_spl: Use writebufsize instead of page_size
  mtd: spi-nor: spi_spl_load: Use mtd_info
  spl: Add CONFIG_SPL_SPI_NOR_SUPPORT
  mtd: spi-nor: Add flash vendor Kconfig entries
  arm: zynq: Kconfig: Select MTD uclass
  arm: zynq: Kconfig: Drop DM_SPI_FLASH
  mtd: spi-nor: Copy sf_dataflash
  mtd: dataflash: Remove unneeded spi data
  mtd: dataflash: Move flash id detection into jedec_probe
  mtd: dataflash: Fix add_dataflash return logic
  mtd: dataflash: Add UCLASS_MTD support
  mtd: dataflash: Use spi_write_then_read
  mtd: dataflash: Drop sf_internal.h
  mtd: dataflash: Minor cleanups
  mtd: Rename sf_dataflash.c to mtd_dataflash.c
  mtd: spi-nor: Add Kconfig entry for mtd_dataflash
  mtd: dataflash: Add MTD_DATAFLASH_WRITE_VERIFY
  mtd: spi-nor: Add kconfig MTD_DATAFLASH_WRITE_VERIFY
  configs: ls1021aqds: Drop DM_SPI_FLASH and DATAFLASH
  defconfig: ls1021aqds_qspi: Enable SPI-NOR
  defconfig: ls1021aqds_qspi: Enable CONFIG_MTD_DATAFLASH
  mtd: spi-nor: Copy sandbox
  mtd: spi-nor: sandbox: Use spi-nor header
  mtd: spi-nor: sandbox: Fix ID exctract from spi_nor_info
  mtd: spi-nor: Add SPI_NOR_SANDBOX
  test/dm: Makefile: Use CONFIG_DM_MTD_SPI_NOR
  test/dm: spi: Use CONFIG_DM_MTD_SPI_NOR
  configs: sandbox: Enable SPI-NOR sandbox driver
  test/dm: spi: Use m25p80 as driver name
  dts: sandbox: Use jedec,spi-nor compatible string
  x86: Drop using spi_flash_dm_ops
  spi_flash: Use spi_flash_t
  defconfig: zynq_zc770_xm013: Enable ZYNQ_QSPI
  configs: Drop CONFIG_SPI_FLASH_MTD
  config: Enable SPI-NOR framework
  spi-nor: Use CONFIG_MTD_SPI_NOR
  configs: Use CONFIG_SPI_NOR_BAR
  configs: spi-nor: Add new flash vendor configs
  mtd: spi-nor: Add CONFIG_SPI_NOR_MISC
  configs: Use CONFIG_SPI_NOR_MISC
  powerpc/mpc85xx: Use spi.h instead of spi_flash.h
  sf: Drop entire spi-flash framework
  uclass: Drop UCLASS_SPI_FLASH
  spi: Drop mode_rx
  spi: Drop SPI_RX_FAST
  MAINTAINERS: Add myself as SPI NOR maintainer
  configs: CONFIG_MTD_SPI_NOR_USE_4K_SECTORS
  dts: spi-nor: Use jedec,spi-nor compatible string
  dts: spi-nor: Use spi-nor as node name
  mtd: spi-nor: Add erase ops
  mtd: spi-nor: Not required to memset dummy byte
  mtd: spi-nor: Move opcode handling in m25p80
  mtd: spi-nor: Rename spi_nor_addr to m25p_addr2cmd
  mtd: spi-nor: Add addr_width
  mtd: spi-nor: Add m25p_cmdsz
  mtd: spi-nor: read_dummy refers to dummy cycles not bytes
  mtd: spi-nor: Use to instead of offset in write
  mtd: spi-nor: offset with addr
  mtd: m25p80: Rename cmd with opcode
  armv8/ls1043a: move CONFIG_MTD to defconfig
  defconfig: ls1021aqds_sdcard_qspi: Enable MTD
  defconfig: ls1021aqds_sdcard_qspi: Enable MTD_DATAFLASH

 MAINTAINERS                                        |   11 +-
 Makefile                                           |    2 +-
 arch/Kconfig                                       |    4 +-
 arch/arm/Kconfig                                   |   13 +-
 arch/arm/dts/am437x-sk-evm.dts                     |    2 +-
 arch/arm/dts/armada-388-clearfog.dts               |    2 +-
 arch/arm/dts/armada-388-gp.dts                     |    2 +-
 arch/arm/dts/armada-xp-gp.dts                      |    2 +-
 arch/arm/dts/armada-xp-maxbcm.dts                  |    2 +-
 arch/arm/dts/armada-xp-synology-ds414.dts          |    2 +-
 arch/arm/dts/armada-xp-theadorable.dts             |    2 +-
 arch/arm/dts/dra7-evm.dts                          |    2 +-
 arch/arm/dts/dra72-evm.dts                         |    2 +-
 arch/arm/dts/exynos5250-snow.dts                   |    2 +-
 arch/arm/dts/exynos5250-spring.dts                 |    2 +-
 arch/arm/dts/exynos5420-peach-pit.dts              |    2 +-
 arch/arm/dts/fsl-ls1043a-qds.dtsi                  |    8 +-
 arch/arm/dts/fsl-ls1043a-rdb.dts                   |    2 +-
 arch/arm/dts/fsl-ls2080a-qds.dts                   |    6 +-
 arch/arm/dts/fsl-ls2080a-rdb.dts                   |    2 +-
 arch/arm/dts/ls1021a-qds.dtsi                      |    2 +-
 arch/arm/dts/ls1021a-twr.dtsi                      |    4 +-
 arch/arm/dts/rk3288-veyron.dtsi                    |    2 +-
 arch/arm/dts/socfpga_cyclone5_sockit.dts           |    2 +-
 arch/arm/dts/socfpga_cyclone5_sr1500.dts           |    2 +-
 arch/arm/dts/stv0991.dts                           |    2 +-
 arch/arm/dts/tegra30-beaver.dts                    |    2 +-
 arch/arm/dts/zynq-zc770-xm010.dts                  |    2 +-
 arch/arm/mach-rockchip/Kconfig                     |    2 +-
 arch/arm/mach-rockchip/rk3288-board-spl.c          |    2 +-
 arch/arm/mach-tegra/Kconfig                        |    2 +-
 arch/sandbox/dts/test.dts                          |    2 +-
 arch/x86/dts/bayleybay.dts                         |    4 +-
 arch/x86/dts/broadwell_som-6896.dts                |    4 +-
 arch/x86/dts/chromebook_link.dts                   |    4 +-
 arch/x86/dts/chromebox_panther.dts                 |    4 +-
 arch/x86/dts/cougarcanyon2.dts                     |    4 +-
 arch/x86/dts/crownbay.dts                          |    4 +-
 arch/x86/dts/galileo.dts                           |    4 +-
 arch/x86/dts/minnowmax.dts                         |    4 +-
 arch/x86/lib/mrccache.c                            |    9 +-
 board/Arcturus/ucp1020/cmd_arc.c                   |    2 +-
 board/Arcturus/ucp1020/ucp1020.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                  |    4 +-
 board/davinci/ea20/ea20.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 +-
 cmd/sf.c                                           |   38 +-
 common/env_sf.c                                    |    6 +-
 common/splash_source.c                             |    4 +-
 configs/B4420QDS_NAND_defconfig                    |    5 +-
 configs/B4420QDS_SPIFLASH_defconfig                |    5 +-
 configs/B4420QDS_defconfig                         |    5 +-
 configs/B4860QDS_NAND_defconfig                    |    5 +-
 configs/B4860QDS_SECURE_BOOT_defconfig             |    5 +-
 configs/B4860QDS_SPIFLASH_defconfig                |    5 +-
 configs/B4860QDS_SRIO_PCIE_BOOT_defconfig          |    5 +-
 configs/B4860QDS_defconfig                         |    5 +-
 configs/BSC9131RDB_NAND_SYSCLK100_defconfig        |    5 +-
 configs/BSC9131RDB_NAND_defconfig                  |    5 +-
 configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig    |    5 +-
 configs/BSC9131RDB_SPIFLASH_defconfig              |    5 +-
 configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig |    5 +-
 configs/BSC9132QDS_NAND_DDRCLK100_defconfig        |    5 +-
 configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig |    5 +-
 configs/BSC9132QDS_NAND_DDRCLK133_defconfig        |    5 +-
 configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig  |    5 +-
 configs/BSC9132QDS_NOR_DDRCLK100_defconfig         |    5 +-
 configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig  |    5 +-
 configs/BSC9132QDS_NOR_DDRCLK133_defconfig         |    5 +-
 .../BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig   |    5 +-
 configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig      |    5 +-
 .../BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig   |    5 +-
 configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig      |    5 +-
 .../BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig |    5 +-
 configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig    |    5 +-
 .../BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig |    5 +-
 configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig    |    5 +-
 configs/C29XPCIE_NAND_defconfig                    |    7 +-
 configs/C29XPCIE_NOR_SECBOOT_defconfig             |    7 +-
 configs/C29XPCIE_SPIFLASH_SECBOOT_defconfig        |    7 +-
 configs/C29XPCIE_SPIFLASH_defconfig                |    7 +-
 configs/C29XPCIE_defconfig                         |    7 +-
 configs/M52277EVB_defconfig                        |    5 +-
 configs/M52277EVB_stmicro_defconfig                |    5 +-
 configs/M54418TWR_defconfig                        |    5 +-
 configs/M54418TWR_nand_mii_defconfig               |    5 +-
 configs/M54418TWR_nand_rmii_defconfig              |    5 +-
 configs/M54418TWR_nand_rmii_lowfreq_defconfig      |    5 +-
 configs/M54418TWR_serial_mii_defconfig             |    5 +-
 configs/M54418TWR_serial_rmii_defconfig            |    5 +-
 configs/M54451EVB_defconfig                        |    5 +-
 configs/M54451EVB_stmicro_defconfig                |    5 +-
 configs/M54455EVB_a66_defconfig                    |    5 +-
 configs/M54455EVB_defconfig                        |    5 +-
 configs/M54455EVB_i66_defconfig                    |    5 +-
 configs/M54455EVB_intel_defconfig                  |    5 +-
 configs/M54455EVB_stm33_defconfig                  |    5 +-
 configs/MPC8536DS_36BIT_defconfig                  |    5 +-
 configs/MPC8536DS_SDCARD_defconfig                 |    5 +-
 configs/MPC8536DS_SPIFLASH_defconfig               |    5 +-
 configs/MPC8536DS_defconfig                        |    5 +-
 configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig   |    5 +-
 configs/P1010RDB-PA_36BIT_NAND_defconfig           |    5 +-
 configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig    |    5 +-
 configs/P1010RDB-PA_36BIT_NOR_defconfig            |    5 +-
 configs/P1010RDB-PA_36BIT_SDCARD_defconfig         |    5 +-
 .../P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig   |    5 +-
 configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig       |    5 +-
 configs/P1010RDB-PA_NAND_SECBOOT_defconfig         |    5 +-
 configs/P1010RDB-PA_NAND_defconfig                 |    5 +-
 configs/P1010RDB-PA_NOR_SECBOOT_defconfig          |    5 +-
 configs/P1010RDB-PA_NOR_defconfig                  |    5 +-
 configs/P1010RDB-PA_SDCARD_defconfig               |    5 +-
 configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig     |    5 +-
 configs/P1010RDB-PA_SPIFLASH_defconfig             |    5 +-
 configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig   |    5 +-
 configs/P1010RDB-PB_36BIT_NAND_defconfig           |    5 +-
 configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig    |    5 +-
 configs/P1010RDB-PB_36BIT_NOR_defconfig            |    5 +-
 configs/P1010RDB-PB_36BIT_SDCARD_defconfig         |    5 +-
 .../P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig   |    5 +-
 configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig       |    5 +-
 configs/P1010RDB-PB_NAND_SECBOOT_defconfig         |    5 +-
 configs/P1010RDB-PB_NAND_defconfig                 |    5 +-
 configs/P1010RDB-PB_NOR_SECBOOT_defconfig          |    5 +-
 configs/P1010RDB-PB_NOR_defconfig                  |    5 +-
 configs/P1010RDB-PB_SDCARD_defconfig               |    5 +-
 configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig     |    5 +-
 configs/P1010RDB-PB_SPIFLASH_defconfig             |    5 +-
 configs/P1020RDB-PC_36BIT_NAND_defconfig           |    5 +-
 configs/P1020RDB-PC_36BIT_SDCARD_defconfig         |    5 +-
 configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig       |    5 +-
 configs/P1020RDB-PC_36BIT_defconfig                |    5 +-
 configs/P1020RDB-PC_NAND_defconfig                 |    5 +-
 configs/P1020RDB-PC_SDCARD_defconfig               |    5 +-
 configs/P1020RDB-PC_SPIFLASH_defconfig             |    5 +-
 configs/P1020RDB-PC_defconfig                      |    5 +-
 configs/P1020RDB-PD_NAND_defconfig                 |    5 +-
 configs/P1020RDB-PD_SDCARD_defconfig               |    5 +-
 configs/P1020RDB-PD_SPIFLASH_defconfig             |    5 +-
 configs/P1020RDB-PD_defconfig                      |    5 +-
 configs/P1021RDB-PC_36BIT_NAND_defconfig           |    5 +-
 configs/P1021RDB-PC_36BIT_SDCARD_defconfig         |    5 +-
 configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig       |    5 +-
 configs/P1021RDB-PC_36BIT_defconfig                |    5 +-
 configs/P1021RDB-PC_NAND_defconfig                 |    5 +-
 configs/P1021RDB-PC_SDCARD_defconfig               |    5 +-
 configs/P1021RDB-PC_SPIFLASH_defconfig             |    5 +-
 configs/P1021RDB-PC_defconfig                      |    5 +-
 configs/P1022DS_36BIT_NAND_defconfig               |    5 +-
 configs/P1022DS_36BIT_SDCARD_defconfig             |    5 +-
 configs/P1022DS_36BIT_SPIFLASH_defconfig           |    5 +-
 configs/P1022DS_36BIT_defconfig                    |    5 +-
 configs/P1022DS_NAND_defconfig                     |    5 +-
 configs/P1022DS_SDCARD_defconfig                   |    5 +-
 configs/P1022DS_SPIFLASH_defconfig                 |    5 +-
 configs/P1022DS_defconfig                          |    5 +-
 configs/P1024RDB_36BIT_defconfig                   |    5 +-
 configs/P1024RDB_NAND_defconfig                    |    5 +-
 configs/P1024RDB_SDCARD_defconfig                  |    5 +-
 configs/P1024RDB_SPIFLASH_defconfig                |    5 +-
 configs/P1024RDB_defconfig                         |    5 +-
 configs/P1025RDB_36BIT_defconfig                   |    5 +-
 configs/P1025RDB_NAND_defconfig                    |    5 +-
 configs/P1025RDB_SDCARD_defconfig                  |    5 +-
 configs/P1025RDB_SPIFLASH_defconfig                |    5 +-
 configs/P1025RDB_defconfig                         |    5 +-
 configs/P2020RDB-PC_36BIT_NAND_defconfig           |    5 +-
 configs/P2020RDB-PC_36BIT_SDCARD_defconfig         |    5 +-
 configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig       |    5 +-
 configs/P2020RDB-PC_36BIT_defconfig                |    5 +-
 configs/P2020RDB-PC_NAND_defconfig                 |    5 +-
 configs/P2020RDB-PC_SDCARD_defconfig               |    5 +-
 configs/P2020RDB-PC_SPIFLASH_defconfig             |    5 +-
 configs/P2020RDB-PC_defconfig                      |    5 +-
 configs/P2041RDB_NAND_defconfig                    |    5 +-
 configs/P2041RDB_SDCARD_defconfig                  |    5 +-
 configs/P2041RDB_SECURE_BOOT_defconfig             |    5 +-
 configs/P2041RDB_SPIFLASH_defconfig                |    5 +-
 configs/P2041RDB_SRIO_PCIE_BOOT_defconfig          |    5 +-
 configs/P2041RDB_defconfig                         |    5 +-
 configs/P3041DS_NAND_SECURE_BOOT_defconfig         |    5 +-
 configs/P3041DS_NAND_defconfig                     |    5 +-
 configs/P3041DS_SDCARD_defconfig                   |    5 +-
 configs/P3041DS_SECURE_BOOT_defconfig              |    5 +-
 configs/P3041DS_SPIFLASH_defconfig                 |    5 +-
 configs/P3041DS_SRIO_PCIE_BOOT_defconfig           |    5 +-
 configs/P3041DS_defconfig                          |    5 +-
 configs/P4080DS_SDCARD_defconfig                   |    5 +-
 configs/P4080DS_SECURE_BOOT_defconfig              |    5 +-
 configs/P4080DS_SPIFLASH_defconfig                 |    5 +-
 configs/P4080DS_SRIO_PCIE_BOOT_defconfig           |    5 +-
 configs/P4080DS_defconfig                          |    5 +-
 configs/P5020DS_NAND_SECURE_BOOT_defconfig         |    5 +-
 configs/P5020DS_NAND_defconfig                     |    5 +-
 configs/P5020DS_SDCARD_defconfig                   |    5 +-
 configs/P5020DS_SECURE_BOOT_defconfig              |    5 +-
 configs/P5020DS_SPIFLASH_defconfig                 |    5 +-
 configs/P5020DS_SRIO_PCIE_BOOT_defconfig           |    5 +-
 configs/P5020DS_defconfig                          |    5 +-
 configs/P5040DS_NAND_SECURE_BOOT_defconfig         |    5 +-
 configs/P5040DS_NAND_defconfig                     |    5 +-
 configs/P5040DS_SDCARD_defconfig                   |    5 +-
 configs/P5040DS_SECURE_BOOT_defconfig              |    5 +-
 configs/P5040DS_SPIFLASH_defconfig                 |    5 +-
 configs/P5040DS_defconfig                          |    5 +-
 configs/T1023RDB_NAND_defconfig                    |    5 +-
 configs/T1023RDB_SDCARD_defconfig                  |    5 +-
 configs/T1023RDB_SECURE_BOOT_defconfig             |    5 +-
 configs/T1023RDB_SPIFLASH_defconfig                |    5 +-
 configs/T1023RDB_defconfig                         |    5 +-
 configs/T1024QDS_DDR4_SECURE_BOOT_defconfig        |    9 +-
 configs/T1024QDS_DDR4_defconfig                    |    9 +-
 configs/T1024QDS_NAND_defconfig                    |    9 +-
 configs/T1024QDS_SDCARD_defconfig                  |    9 +-
 configs/T1024QDS_SECURE_BOOT_defconfig             |    9 +-
 configs/T1024QDS_SPIFLASH_defconfig                |    9 +-
 configs/T1024QDS_defconfig                         |    9 +-
 configs/T1024RDB_NAND_defconfig                    |    5 +-
 configs/T1024RDB_SDCARD_defconfig                  |    5 +-
 configs/T1024RDB_SECURE_BOOT_defconfig             |    5 +-
 configs/T1024RDB_SPIFLASH_defconfig                |    5 +-
 configs/T1024RDB_defconfig                         |    5 +-
 configs/T1040D4RDB_NAND_defconfig                  |    5 +-
 configs/T1040D4RDB_SDCARD_defconfig                |    5 +-
 configs/T1040D4RDB_SECURE_BOOT_defconfig           |    5 +-
 configs/T1040D4RDB_SPIFLASH_defconfig              |    5 +-
 configs/T1040D4RDB_defconfig                       |    5 +-
 configs/T1040QDS_DDR4_defconfig                    |    9 +-
 configs/T1040QDS_SECURE_BOOT_defconfig             |    9 +-
 configs/T1040QDS_defconfig                         |    9 +-
 configs/T1040RDB_NAND_defconfig                    |    5 +-
 configs/T1040RDB_SDCARD_defconfig                  |    5 +-
 configs/T1040RDB_SECURE_BOOT_defconfig             |    5 +-
 configs/T1040RDB_SPIFLASH_defconfig                |    5 +-
 configs/T1040RDB_defconfig                         |    5 +-
 configs/T1042D4RDB_NAND_defconfig                  |    5 +-
 configs/T1042D4RDB_SDCARD_defconfig                |    5 +-
 configs/T1042D4RDB_SECURE_BOOT_defconfig           |    5 +-
 configs/T1042D4RDB_SPIFLASH_defconfig              |    5 +-
 configs/T1042D4RDB_defconfig                       |    5 +-
 configs/T1042RDB_PI_NAND_defconfig                 |    5 +-
 configs/T1042RDB_PI_SDCARD_defconfig               |    5 +-
 configs/T1042RDB_PI_SPIFLASH_defconfig             |    5 +-
 configs/T1042RDB_PI_defconfig                      |    5 +-
 configs/T1042RDB_SECURE_BOOT_defconfig             |    5 +-
 configs/T1042RDB_defconfig                         |    5 +-
 configs/T2080QDS_NAND_defconfig                    |    9 +-
 configs/T2080QDS_SDCARD_defconfig                  |    9 +-
 configs/T2080QDS_SECURE_BOOT_defconfig             |    9 +-
 configs/T2080QDS_SPIFLASH_defconfig                |    9 +-
 configs/T2080QDS_SRIO_PCIE_BOOT_defconfig          |    9 +-
 configs/T2080QDS_defconfig                         |    9 +-
 configs/T2080RDB_NAND_defconfig                    |    5 +-
 configs/T2080RDB_SDCARD_defconfig                  |    5 +-
 configs/T2080RDB_SECURE_BOOT_defconfig             |    5 +-
 configs/T2080RDB_SPIFLASH_defconfig                |    5 +-
 configs/T2080RDB_SRIO_PCIE_BOOT_defconfig          |    5 +-
 configs/T2080RDB_defconfig                         |    5 +-
 configs/T2081QDS_NAND_defconfig                    |    9 +-
 configs/T2081QDS_SDCARD_defconfig                  |    9 +-
 configs/T2081QDS_SPIFLASH_defconfig                |    9 +-
 configs/T2081QDS_SRIO_PCIE_BOOT_defconfig          |    9 +-
 configs/T2081QDS_defconfig                         |    9 +-
 configs/T4160QDS_NAND_defconfig                    |    5 +-
 configs/T4160QDS_SDCARD_defconfig                  |    5 +-
 configs/T4160QDS_SECURE_BOOT_defconfig             |    5 +-
 configs/T4160QDS_defconfig                         |    5 +-
 configs/T4160RDB_defconfig                         |    5 +-
 configs/T4240QDS_NAND_defconfig                    |    5 +-
 configs/T4240QDS_SDCARD_defconfig                  |    5 +-
 configs/T4240QDS_SECURE_BOOT_defconfig             |    5 +-
 configs/T4240QDS_SRIO_PCIE_BOOT_defconfig          |    5 +-
 configs/T4240QDS_defconfig                         |    5 +-
 configs/T4240RDB_SDCARD_defconfig                  |    5 +-
 configs/T4240RDB_defconfig                         |    5 +-
 configs/UCP1020_SPIFLASH_defconfig                 |    9 +-
 configs/UCP1020_defconfig                          |    9 +-
 configs/alt_defconfig                              |    7 +-
 configs/am335x_boneblack_defconfig                 |    5 +-
 configs/am335x_boneblack_vboot_defconfig           |    5 +-
 configs/am335x_evm_defconfig                       |    5 +-
 configs/am335x_evm_nor_defconfig                   |    5 +-
 configs/am335x_evm_norboot_defconfig               |    5 +-
 configs/am335x_evm_spiboot_defconfig               |    5 +-
 configs/am335x_evm_usbspl_defconfig                |    5 +-
 configs/am335x_gp_evm_defconfig                    |    5 +-
 configs/am437x_gp_evm_defconfig                    |    5 +-
 configs/am437x_sk_evm_defconfig                    |    9 +-
 configs/am43xx_evm_defconfig                       |    7 +-
 configs/am43xx_evm_ethboot_defconfig               |    5 +-
 configs/am43xx_evm_qspiboot_defconfig              |    5 +-
 configs/am43xx_evm_usbhost_boot_defconfig          |    5 +-
 configs/am57xx_evm_defconfig                       |    5 +-
 configs/aristainetos2_defconfig                    |    5 +-
 configs/aristainetos2b_defconfig                   |    5 +-
 configs/aristainetos_defconfig                     |    5 +-
 configs/at91sam9n12ek_mmc_defconfig                |    5 +-
 configs/at91sam9n12ek_nandflash_defconfig          |    5 +-
 configs/at91sam9n12ek_spiflash_defconfig           |    5 +-
 configs/at91sam9x5ek_dataflash_defconfig           |    5 +-
 configs/at91sam9x5ek_mmc_defconfig                 |    5 +-
 configs/at91sam9x5ek_nandflash_defconfig           |    5 +-
 configs/at91sam9x5ek_spiflash_defconfig            |    5 +-
 configs/atngw100_defconfig                         |    5 +-
 configs/atngw100mkii_defconfig                     |    5 +-
 configs/axm_defconfig                              |    5 +-
 configs/bayleybay_defconfig                        |    9 +-
 configs/beaver_defconfig                           |    5 +-
 configs/bf518f-ezbrd_defconfig                     |    7 +-
 configs/bf525-ucr2_defconfig                       |    5 +-
 configs/bf526-ezbrd_defconfig                      |    5 +-
 configs/bf527-ad7160-eval_defconfig                |    5 +-
 configs/bf527-ezkit-v2_defconfig                   |    5 +-
 configs/bf527-ezkit_defconfig                      |    5 +-
 configs/bf527-sdp_defconfig                        |   16 +-
 configs/bf537-minotaur_defconfig                   |    5 +-
 configs/bf537-pnav_defconfig                       |    5 +-
 configs/bf537-srv1_defconfig                       |    5 +-
 configs/bf537-stamp_defconfig                      |   16 +-
 configs/bf548-ezkit_defconfig                      |    5 +-
 configs/bf561-acvilon_defconfig                    |    5 +-
 configs/bf609-ezkit_defconfig                      |   16 +-
 configs/bg0900_defconfig                           |    7 +-
 configs/birdland_bav335a_defconfig                 |    5 +-
 configs/birdland_bav335b_defconfig                 |    5 +-
 configs/blackstamp_defconfig                       |    5 +-
 configs/blackvme_defconfig                         |    5 +-
 configs/br4_defconfig                              |    5 +-
 configs/cardhu_defconfig                           |    5 +-
 configs/cgtqmx6eval_defconfig                      |    2 +
 configs/chromebook_jerry_defconfig                 |    2 +
 configs/chromebook_link_defconfig                  |    9 +-
 configs/chromebook_samus_defconfig                 |    9 +-
 configs/chromebox_panther_defconfig                |    9 +-
 configs/clearfog_defconfig                         |    3 +-
 configs/cm_fx6_defconfig                           |   17 +-
 configs/cm_t43_defconfig                           |   20 +-
 configs/conga-qeval20-qa3-e3845_defconfig          |   11 +-
 .../controlcenterd_36BIT_SDCARD_DEVELOP_defconfig  |    5 +-
 configs/controlcenterd_36BIT_SDCARD_defconfig      |    5 +-
 configs/coreboot-x86_defconfig                     |    9 +-
 configs/cougarcanyon2_defconfig                    |    5 +-
 configs/crownbay_defconfig                         |   11 +-
 configs/d2net_v2_defconfig                         |    5 +-
 configs/da850_am18xxevm_defconfig                  |    7 +-
 configs/da850evm_defconfig                         |    7 +-
 configs/da850evm_direct_nor_defconfig              |    7 +-
 configs/dalmore_defconfig                          |    5 +-
 configs/db-88f6820-gp_defconfig                    |    7 +-
 configs/db-mv784mp-gp_defconfig                    |    7 +-
 configs/dra72_evm_defconfig                        |    9 +-
 configs/dra74_evm_defconfig                        |    9 +-
 configs/dra7xx_evm_defconfig                       |    8 +-
 configs/dra7xx_evm_qspiboot_defconfig              |    6 +-
 configs/dra7xx_evm_uart3_defconfig                 |    6 +-
 configs/draco_defconfig                            |    5 +-
 configs/dreamplug_defconfig                        |    5 +-
 configs/ds414_defconfig                            |    7 +-
 configs/e2220-1170_defconfig                       |    5 +-
 configs/ea20_defconfig                             |    5 +-
 configs/ethernut5_defconfig                        |    5 +-
 configs/firefly-rk3288_defconfig                   |    2 +
 configs/galileo_defconfig                          |    9 +-
 configs/gose_defconfig                             |    7 +-
 configs/gplugd_defconfig                           |    7 +-
 configs/inetspace_v2_defconfig                     |    5 +-
 configs/ip04_defconfig                             |    7 +-
 configs/jetson-tk1_defconfig                       |    5 +-
 configs/k2e_evm_defconfig                          |    5 +-
 configs/k2g_evm_defconfig                          |    5 +-
 configs/k2hk_evm_defconfig                         |    5 +-
 configs/k2l_evm_defconfig                          |    5 +-
 configs/km_kirkwood_128m16_defconfig               |    5 +-
 configs/km_kirkwood_defconfig                      |    5 +-
 configs/km_kirkwood_pci_defconfig                  |    5 +-
 configs/kmcoge4_defconfig                          |    7 +-
 configs/kmcoge5un_defconfig                        |    5 +-
 configs/kmlion1_defconfig                          |    7 +-
 configs/kmnusa_defconfig                           |    5 +-
 configs/kmsugp1_defconfig                          |    5 +-
 configs/kmsuv31_defconfig                          |    5 +-
 configs/koelsch_defconfig                          |    7 +-
 configs/kylin-rk3036_defconfig                     |    2 +
 configs/lager_defconfig                            |    7 +-
 configs/legoev3_defconfig                          |    5 +-
 configs/ls1021aqds_qspi_defconfig                  |    7 +-
 configs/ls1021aqds_sdcard_qspi_defconfig           |    7 +-
 configs/ls1021atwr_qspi_defconfig                  |    8 +-
 configs/ls1021atwr_sdcard_qspi_defconfig           |    8 +-
 configs/ls1043aqds_defconfig                       |    4 +-
 configs/ls1043aqds_lpuart_defconfig                |    4 +-
 configs/ls1043aqds_nand_defconfig                  |    4 +-
 configs/ls1043aqds_nor_ddr3_defconfig              |    4 +-
 configs/ls1043aqds_qspi_defconfig                  |    4 +-
 configs/ls1043aqds_sdcard_ifc_defconfig            |    4 +-
 configs/ls1043aqds_sdcard_qspi_defconfig           |    4 +-
 configs/ls1043ardb_SECURE_BOOT_defconfig           |    4 +-
 configs/ls1043ardb_defconfig                       |    4 +-
 configs/ls1043ardb_nand_defconfig                  |    4 +-
 configs/ls1043ardb_sdcard_defconfig                |    4 +-
 configs/ls2080aqds_defconfig                       |    2 +-
 configs/ls2080ardb_defconfig                       |    2 +-
 configs/ls2085aqds_defconfig                       |    2 +-
 configs/ls2085ardb_defconfig                       |    2 +-
 configs/lschlv2_defconfig                          |    5 +-
 configs/lsxhl_defconfig                            |    5 +-
 configs/m28evk_defconfig                           |    5 +-
 configs/ma5d4evk_defconfig                         |    3 +-
 configs/marsboard_defconfig                        |    5 +-
 configs/maxbcm_defconfig                           |   11 +-
 configs/mgcoge3un_defconfig                        |    5 +-
 configs/minnowmax_defconfig                        |   11 +-
 configs/mx28evk_auart_console_defconfig            |    5 +-
 configs/mx28evk_defconfig                          |    5 +-
 configs/mx28evk_nand_defconfig                     |    5 +-
 configs/mx28evk_spi_defconfig                      |    5 +-
 configs/mx6dlsabreauto_defconfig                   |    5 +-
 configs/mx6dlsabresd_defconfig                     |    5 +-
 configs/mx6qpsabreauto_defconfig                   |    5 +-
 configs/mx6qsabreauto_defconfig                    |    5 +-
 configs/mx6qsabrelite_defconfig                    |    5 +-
 configs/mx6qsabresd_defconfig                      |    5 +-
 configs/mx6sabresd_spl_defconfig                   |    5 +-
 configs/mx6slevk_defconfig                         |    5 +-
 configs/mx6slevk_spinor_defconfig                  |    5 +-
 configs/mx6slevk_spl_defconfig                     |    5 +-
 configs/mx6sxsabreauto_defconfig                   |    7 +-
 configs/mx6sxsabresd_defconfig                     |    5 +-
 configs/mx6sxsabresd_spl_defconfig                 |    3 +-
 configs/net2big_v2_defconfig                       |    5 +-
 configs/netspace_lite_v2_defconfig                 |    5 +-
 configs/netspace_max_v2_defconfig                  |    5 +-
 configs/netspace_mini_v2_defconfig                 |    5 +-
 configs/netspace_v2_defconfig                      |    5 +-
 configs/nitrogen6dl2g_defconfig                    |    5 +-
 configs/nitrogen6dl_defconfig                      |    5 +-
 configs/nitrogen6q2g_defconfig                     |    5 +-
 configs/nitrogen6q_defconfig                       |    5 +-
 configs/nitrogen6s1g_defconfig                     |    5 +-
 configs/nitrogen6s_defconfig                       |    5 +-
 configs/nyan-big_defconfig                         |    5 +-
 configs/omapl138_lcdk_defconfig                    |    7 +-
 configs/ot1200_defconfig                           |   11 +-
 configs/ot1200_spl_defconfig                       |   11 +-
 configs/p2371-0000_defconfig                       |    5 +-
 configs/p2371-2180_defconfig                       |    5 +-
 configs/p2571_defconfig                            |    5 +-
 configs/pcm051_rev1_defconfig                      |    5 +-
 configs/pcm051_rev3_defconfig                      |    5 +-
 configs/peach-pi_defconfig                         |    7 +-
 configs/peach-pit_defconfig                        |    7 +-
 configs/porter_defconfig                           |    7 +-
 configs/portl2_defconfig                           |    5 +-
 configs/pr1_defconfig                              |    5 +-
 configs/pxm2_defconfig                             |    5 +-
 configs/qemu-x86_defconfig                         |    9 +-
 configs/rastaban_defconfig                         |    5 +-
 configs/riotboard_defconfig                        |    5 +-
 configs/rock2_defconfig                            |    2 +
 configs/rut_defconfig                              |    5 +-
 configs/sama5d2_xplained_mmc_defconfig             |    3 +-
 configs/sama5d2_xplained_spiflash_defconfig        |    3 +-
 configs/sama5d3xek_mmc_defconfig                   |    5 +-
 configs/sama5d3xek_nandflash_defconfig             |    5 +-
 configs/sama5d3xek_spiflash_defconfig              |    5 +-
 configs/sama5d4_xplained_mmc_defconfig             |    5 +-
 configs/sama5d4_xplained_nandflash_defconfig       |    5 +-
 configs/sama5d4_xplained_spiflash_defconfig        |    5 +-
 configs/sama5d4ek_mmc_defconfig                    |    5 +-
 configs/sama5d4ek_nandflash_defconfig              |    5 +-
 configs/sama5d4ek_spiflash_defconfig               |    5 +-
 configs/sandbox_defconfig                          |   19 +-
 configs/sh7752evb_defconfig                        |    7 +-
 configs/sh7753evb_defconfig                        |    7 +-
 configs/sh7757lcr_defconfig                        |    5 +-
 configs/silk_defconfig                             |    7 +-
 configs/smdk5250_defconfig                         |    7 +-
 configs/smdk5420_defconfig                         |    7 +-
 configs/snow_defconfig                             |    7 +-
 configs/socfpga_arria5_defconfig                   |    9 +-
 configs/socfpga_cyclone5_defconfig                 |    9 +-
 configs/socfpga_de0_nano_soc_defconfig             |    3 +
 configs/socfpga_mcvevk_defconfig                   |    2 +
 configs/socfpga_sockit_defconfig                   |    9 +-
 configs/socfpga_socrates_defconfig                 |    7 +-
 configs/socfpga_sr1500_defconfig                   |    7 +-
 configs/spring_defconfig                           |    7 +-
 configs/stout_defconfig                            |    7 +-
 configs/stv0991_defconfig                          |    4 +-
 configs/taurus_defconfig                           |    5 +-
 configs/tec-ng_defconfig                           |    5 +-
 configs/theadorable_debug_defconfig                |    7 +-
 configs/theadorable_defconfig                      |    7 +-
 configs/thuban_defconfig                           |    5 +-
 configs/tqma6q_mba6_mmc_defconfig                  |    5 +-
 configs/tqma6q_mba6_spi_defconfig                  |    5 +-
 configs/tqma6s_mba6_mmc_defconfig                  |    5 +-
 configs/tqma6s_mba6_spi_defconfig                  |    5 +-
 configs/trimslice_defconfig                        |    5 +-
 configs/tseries_spi_defconfig                      |    7 +-
 configs/venice2_defconfig                          |    5 +-
 configs/vf610twr_defconfig                         |    3 +-
 configs/vf610twr_nand_defconfig                    |    3 +-
 configs/vinco_defconfig                            |    3 +-
 configs/zynq_microzed_defconfig                    |    9 +-
 configs/zynq_zc702_defconfig                       |   11 +-
 configs/zynq_zc706_defconfig                       |   11 +-
 configs/zynq_zc770_xm010_defconfig                 |   13 +-
 configs/zynq_zc770_xm013_defconfig                 |    6 +-
 configs/zynq_zed_defconfig                         |   11 +-
 configs/zynq_zybo_defconfig                        |    5 +-
 doc/SPI/README.ti_qspi_dra_test                    |    2 +-
 doc/device-tree-bindings/mtd/jedec,spi-nor.txt     |   78 ++
 doc/mtd/spi-nor.txt                                |   81 ++
 drivers/Makefile                                   |    2 +-
 drivers/dfu/dfu_sf.c                               |   12 +-
 drivers/mtd/Kconfig                                |    2 +-
 drivers/mtd/spi-nor/Kconfig                        |  127 +++
 drivers/mtd/spi-nor/Makefile                       |   20 +
 drivers/mtd/{spi => spi-nor}/fsl_espi_spl.c        |   12 +-
 drivers/mtd/spi-nor/m25p80.c                       |  401 +++++++
 .../sf_dataflash.c => spi-nor/mtd_dataflash.c}     |  429 ++++---
 drivers/mtd/{spi => spi-nor}/sandbox.c             |   51 +-
 drivers/mtd/spi-nor/spi-nor-ids.c                  |  283 +++++
 drivers/mtd/spi-nor/spi-nor-probe.c                |   58 +
 drivers/mtd/spi-nor/spi-nor.c                      | 1095 ++++++++++++++++++
 drivers/mtd/{spi => spi-nor}/spi_spl_load.c        |    7 +-
 drivers/mtd/spi/Kconfig                            |  131 ---
 drivers/mtd/spi/Makefile                           |   18 -
 drivers/mtd/spi/sf-uclass.c                        |  103 --
 drivers/mtd/spi/sf.c                               |   58 -
 drivers/mtd/spi/sf_internal.h                      |  243 ----
 drivers/mtd/spi/sf_mtd.c                           |  104 --
 drivers/mtd/spi/sf_params.c                        |  146 ---
 drivers/mtd/spi/sf_probe.c                         |  179 ---
 drivers/mtd/spi/spi_flash.c                        | 1194 --------------------
 drivers/net/fm/fm.c                                |    2 +-
 drivers/net/phy/cortina.c                          |    2 +-
 drivers/spi/fsl_qspi.c                             |   18 +-
 drivers/spi/ich.c                                  |    6 +-
 drivers/spi/spi-uclass.c                           |   35 +-
 drivers/spi/spi.c                                  |   30 +
 drivers/spi/ti_qspi.c                              |    6 +-
 examples/standalone/Makefile                       |    2 +-
 include/configs/MPC8536DS.h                        |    2 +-
 include/configs/P1010RDB.h                         |    3 +-
 include/configs/P1022DS.h                          |    3 +-
 include/configs/T102xQDS.h                         |    5 +-
 include/configs/T102xRDB.h                         |    5 +-
 include/configs/T104xRDB.h                         |    5 +-
 include/configs/T208xQDS.h                         |    7 +-
 include/configs/T208xRDB.h                         |    7 +-
 include/configs/UCP1020.h                          |    4 +-
 include/configs/am335x_evm.h                       |    3 +-
 include/configs/am43xx_evm.h                       |    2 +-
 include/configs/aristainetos-common.h              |    1 -
 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                      |    8 +-
 include/configs/chromebook_jerry.h                 |    5 +-
 include/configs/clearfog.h                         |    5 +-
 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                       |   13 +-
 include/configs/km/kmp204x-common.h                |    2 +-
 include/configs/ls1021aqds.h                       |    2 -
 include/configs/ls1021atwr.h                       |    1 -
 include/configs/ls1043a_common.h                   |    7 +-
 include/configs/ls1043aqds.h                       |    2 +-
 include/configs/ls2080aqds.h                       |    3 +-
 include/configs/ls2080ardb.h                       |    5 +-
 include/configs/lsxl.h                             |    2 +-
 include/configs/ma5d4evk.h                         |    3 +-
 include/configs/maxbcm.h                           |    3 +-
 include/configs/mx6ul_14x14_evk.h                  |    7 +-
 include/configs/mx7dsabresd.h                      |    7 +-
 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                    |    3 +-
 include/configs/rk3288_common.h                    |    1 -
 include/configs/sama5d2_xplained.h                 |    5 +-
 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                   |    8 +-
 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/vinco.h                            |    2 +-
 include/configs/zynq-common.h                      |    5 +-
 include/dfu.h                                      |    2 +-
 include/dm/uclass-id.h                             |    1 -
 include/linux/err.h                                |    5 +
 include/linux/mtd/spi-nor.h                        |  257 +++++
 include/spi.h                                      |   33 +-
 include/spi_flash.h                                |  230 +---
 test/dm/Makefile                                   |    2 +-
 test/dm/spi.c                                      |    8 +-
 620 files changed, 4604 insertions(+), 3955 deletions(-)
 create mode 100644 doc/device-tree-bindings/mtd/jedec,spi-nor.txt
 create mode 100644 doc/mtd/spi-nor.txt
 create mode 100644 drivers/mtd/spi-nor/Kconfig
 create mode 100644 drivers/mtd/spi-nor/Makefile
 rename drivers/mtd/{spi => spi-nor}/fsl_espi_spl.c (92%)
 create mode 100644 drivers/mtd/spi-nor/m25p80.c
 rename drivers/mtd/{spi/sf_dataflash.c => spi-nor/mtd_dataflash.c} (61%)
 rename drivers/mtd/{spi => spi-nor}/sandbox.c (95%)
 create mode 100644 drivers/mtd/spi-nor/spi-nor-ids.c
 create mode 100644 drivers/mtd/spi-nor/spi-nor-probe.c
 create mode 100644 drivers/mtd/spi-nor/spi-nor.c
 rename drivers/mtd/{spi => spi-nor}/spi_spl_load.c (94%)
 delete mode 100644 drivers/mtd/spi/Kconfig
 delete mode 100644 drivers/mtd/spi/Makefile
 delete mode 100644 drivers/mtd/spi/sf-uclass.c
 delete mode 100644 drivers/mtd/spi/sf.c
 delete mode 100644 drivers/mtd/spi/sf_internal.h
 delete mode 100644 drivers/mtd/spi/sf_mtd.c
 delete mode 100644 drivers/mtd/spi/sf_params.c
 delete mode 100644 drivers/mtd/spi/sf_probe.c
 delete mode 100644 drivers/mtd/spi/spi_flash.c
 create mode 100644 include/linux/mtd/spi-nor.h

-- 
1.9.1




More information about the U-Boot mailing list