[U-Boot] [PATCH v6 00/76] mtd: Add SPI-NOR core support
Jagan Teki
jteki at openedev.com
Sun Feb 14 21:46:32 CET 2016
Compared to previous patch series this series adds spi-nor
core with spi-nor controller drivers are of "mtd uclass"
This is whole series for all spi-nor related changes, and while
series tested on spansion spi-nor chip.
Know issue:
- arch/x86/lib/mrccache.c uses dm_spi_flash_ops, this need to fix.
Why this framework:
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 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 origin/spi-nor
Jagan Teki (76):
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: spi_spl_load: Use mtd_info
mtd: spi-nor: Add flash vendor Kconfig entries
arm: zynq: Kconfig: Select MTD uclass
arm: zynq: Kconfig: Drop DM_SPI_FLASH
defconfigs: zynq_microzed: Drop CONFIG_SPI_FLASH
defconfig: zynq_microzed: Enable CONFIG_MTD_M25P80
defconfig: zynq_microzed: Enable CONFIG_MTD_SPI_NOR
spl: Add CONFIG_SPL_SPI_NOR_SUPPORT
configs: zynq: Use CONFIG_SPL_SPI_NOR_SUPPORT
configs: zynq: Use CONFIG_SPL_MTD_SUPPORT
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: Add SPI_NOR_SANBOX
sandbox: kconfig: Drop DM_SPI_FLASH
sandbox: kconfig: Select MTD uclass
defconfigs: sandbox: Enable SPI-NOR
mtd: sandbox: Use CONFIG_MTD_SPI_NOR
defconfigs: sandbox: Enable SPI_NOR_SANDBOX
spi_flash: Use spi_flash_t
mtd: spi-nor: Add CONFIG_SPI_NOR_MISC
config: Enable SPI-NOR framework
spi-nor: Use CONFIG_MTD_SPI_NOR
configs: Use CONFIG_MTD_SPI_NOR
configs: Use CONFIG_SPI_NOR_BAR
configs: spi-nor: Add new flash vendor configs
configs: Use CONFIG_SPI_NOR_MISC
spi: Drop mode_rx
spi: Drop SPI_RX_FAST
configs: Enable MTD uclass in missing configs
configs: Drop CONFIG_SPI_FLASH_MTD
uclass: Replace UCLASS_SPI_FLASH with UCLASS_MTD
uclass: Drop UCLASS_SPI_FLASH
configs: Use CONFIG_SPL_SPI_NOR_SUPPORT
configs: Enable CONFIG_SPL_MTD_SUPPORT
sf: Drop entire spi-flash framework
MAINTAINERS: Add myself as SPI NOR maintainer
configs: CONFIG_MTD_SPI_NOR_USE_4K_SECTORS
MAINTAINERS | 11 +-
Makefile | 2 +-
arch/Kconfig | 4 +-
arch/arm/Kconfig | 10 +-
arch/arm/mach-rockchip/Kconfig | 2 +-
arch/arm/mach-rockchip/rk3288-board-spl.c | 2 +-
arch/arm/mach-tegra/Kconfig | 2 +-
arch/x86/lib/mrccache.c | 3 +-
board/Arcturus/ucp1020/cmd_arc.c | 2 +-
board/Synology/common/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/chromebook_link_defconfig | 9 +-
configs/chromebox_panther_defconfig | 9 +-
configs/clearfog_defconfig | 3 +-
configs/cm_fx6_defconfig | 17 +-
.../controlcenterd_36BIT_SDCARD_DEVELOP_defconfig | 5 +-
configs/controlcenterd_36BIT_SDCARD_defconfig | 5 +-
configs/coreboot-x86_defconfig | 9 +-
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 | 7 +-
configs/dra7xx_evm_qspiboot_defconfig | 5 +-
configs/dra7xx_evm_uart3_defconfig | 5 +-
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/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/lager_defconfig | 7 +-
configs/ls1021aqds_qspi_defconfig | 7 +-
configs/ls1021atwr_qspi_defconfig | 8 +-
configs/ls1021atwr_sdcard_qspi_defconfig | 7 +-
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 | 5 +-
configs/lsxhl_defconfig | 5 +-
configs/m28evk_defconfig | 5 +-
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/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_sockit_defconfig | 9 +-
configs/socfpga_socrates_defconfig | 7 +-
configs/socfpga_sr1500_defconfig | 5 +-
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 | 5 +-
configs/venice2_defconfig | 5 +-
configs/vf610twr_defconfig | 3 +-
configs/vf610twr_nand_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 | 5 +-
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 | 125 +++
drivers/mtd/spi-nor/Makefile | 20 +
drivers/mtd/{spi => spi-nor}/fsl_espi_spl.c | 6 +-
drivers/mtd/spi-nor/m25p80.c | 332 ++++++
.../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 | 52 +
drivers/mtd/spi-nor/spi-nor.c | 1141 +++++++++++++++++++
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 | 181 ---
drivers/mtd/spi/spi_flash.c | 1185 --------------------
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 | 24 +
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 | 10 +-
include/configs/chromebook_jerry.h | 5 +-
include/configs/clearfog.h | 5 +-
include/configs/cm_fx6.h | 3 +-
include/configs/cm_t43.h | 9 +-
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 | 8 +-
include/configs/ls1043aqds.h | 2 +-
include/configs/ls2080aqds.h | 3 +-
include/configs/ls2080ardb.h | 5 +-
include/configs/lsxl.h | 2 +-
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 | 4 +-
include/configs/rk3288_common.h | 2 +-
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/zynq-common.h | 6 +-
include/dm/uclass-id.h | 1 -
include/linux/err.h | 5 +
include/linux/mtd/spi-nor.h | 253 +++++
include/spi.h | 33 +-
include/spi_flash.h | 233 +---
566 files changed, 4437 insertions(+), 3863 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 (97%)
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