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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot