
On Tuesday 22 March 2016 01:17 PM, Jagan Teki wrote:
On Tuesday 22 March 2016 01:07 PM, Jagan Teki wrote:
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
Tested in hardware and sandbox [1]
Tested-by: Jagan Teki jteki@openedev.com
Here is buildman logs:
$> ./tools/buildman/buildman -b master -c 87 -s boards.cfg is up to date. Nothing to do. Summary of 87 commits for 1107 boards (32 threads, 1 job per thread) 01: mtd: Add m25p80 driver m68k: + M5329AFEE M5249EVB M5208EVBE astro_mcf5373l M54455EVB_intel M5282EVB M54455EVB_i66 M54455EVB_a66 M5253DEMO M54455EVB_stm33 M54455EVB M5272C3 M5329BFEE cobra5272 M5275EVB M5253EVBE M5235EVB_Flash32 M5373EVB M5235EVB 02: mtd: Add Kconfig entry for MTD_M25P80 03: mtd: Add SPI-NOR core support 04: doc: device-tree-bindings: jedec,spi-nor 05: mtd: spi-nor: Add Kconfig entry for MTD_SPI_NOR 06: mtd: spi-nor: Add kconfig for MTD_SPI_NOR_USE_4K_SECTORS 07: mtd: spi-nor: Add MTD support 08: mtd: spi-nor: Add spi_nor support in m25p80 09: mtd: spi-nor: Add dm spi-nor probing 10: mtd: spi-nor: Add spi_flash_probe for mtd-dm-spi-nor 11: mtd: spi-nor: Add spi_flash_free for mtd-dm-spi-nor 12: mtd: spi-nor: m25p80: Add spi_nor support for non-dm 13: sf: Rename erase_size to erasesize 14: sf: Use erasesize instead of sector_size 15: sf: Use uint64_t for flash->size 16: spi_flash: Use mtd_info operation for SPI-NOR 17: spi_flash: Use spi_flash_t instead of struct spi_flash 18: mtd: spi-nor: Move spi_read_then_write to spi layer 19: spi: Rename spi_read_then_write to spi_write_then_read 20: mtd: spi-nor: Rename SPI_FLASH_BAR to SPI_NOR_BAR 21: mtd: spi-nor: Add Kconfig entry for SPI_NOR_BAR 22: mtd: spi-nor: Copy spl files from drivers/mtd/spi 23: mtd: spi-nor: spl: Follow ascending order of include headers 24: mtd: spi-nor: fsl_espi_spl: Use mtd_info 25: mtd: spi-nor: fsl_espi_spl: Use writebufsize instead of page_size 26: mtd: spi-nor: spi_spl_load: Use mtd_info 27: spl: Add CONFIG_SPL_SPI_NOR_SUPPORT 28: mtd: spi-nor: Add flash vendor Kconfig entries 29: arm: zynq: Kconfig: Select MTD uclass 30: arm: zynq: Kconfig: Drop DM_SPI_FLASH 31: mtd: spi-nor: Copy sf_dataflash 32: mtd: dataflash: Remove unneeded spi data 33: mtd: dataflash: Move flash id detection into jedec_probe 34: mtd: dataflash: Fix add_dataflash return logic 35: mtd: dataflash: Add UCLASS_MTD support 36: mtd: dataflash: Use spi_write_then_read 37: mtd: dataflash: Drop sf_internal.h 38: mtd: dataflash: Minor cleanups 39: mtd: Rename sf_dataflash.c to mtd_dataflash.c 40: mtd: spi-nor: Add Kconfig entry for mtd_dataflash 41: mtd: dataflash: Add MTD_DATAFLASH_WRITE_VERIFY 42: mtd: spi-nor: Add kconfig MTD_DATAFLASH_WRITE_VERIFY 43: configs: ls1021aqds: Drop DM_SPI_FLASH and DATAFLASH 44: defconfig: ls1021aqds_qspi: Enable SPI-NOR 45: defconfig: ls1021aqds_qspi: Enable CONFIG_MTD_DATAFLASH 46: mtd: spi-nor: Copy sandbox 47: mtd: spi-nor: sandbox: Use spi-nor header 48: mtd: spi-nor: sandbox: Fix ID exctract from spi_nor_info 49: mtd: spi-nor: Add SPI_NOR_SANDBOX 50: test/dm: Makefile: Use CONFIG_DM_MTD_SPI_NOR 51: test/dm: spi: Use CONFIG_DM_MTD_SPI_NOR 52: configs: sandbox: Enable SPI-NOR sandbox driver 53: test/dm: spi: Use m25p80 as driver name 54: dts: sandbox: Use jedec,spi-nor compatible string 55: x86: Drop using spi_flash_dm_ops 56: spi_flash: Use spi_flash_t 57: defconfig: zynq_zc770_xm013: Enable ZYNQ_QSPI 58: configs: Drop CONFIG_SPI_FLASH_MTD 59: config: Enable SPI-NOR framework arm: + dra72_evm nyan-big venice2 chromebook_jerry axm trimslice jetson-tk1 tec-ng beaver dalmore dra74_evm cardhu taurus 60: spi-nor: Use CONFIG_MTD_SPI_NOR 61: configs: Use CONFIG_SPI_NOR_BAR 62: configs: spi-nor: Add new flash vendor configs 63: mtd: spi-nor: Add CONFIG_SPI_NOR_MISC 64: configs: Use CONFIG_SPI_NOR_MISC 65: powerpc/mpc85xx: Use spi.h instead of spi_flash.h 66: sf: Drop entire spi-flash framework arm: + kylin-rk3036 rock2 evb-rk3036 firefly-rk3288 67: uclass: Drop UCLASS_SPI_FLASH 68: spi: Drop mode_rx 69: spi: Drop SPI_RX_FAST 70: MAINTAINERS: Add myself as SPI NOR maintainer 71: configs: CONFIG_MTD_SPI_NOR_USE_4K_SECTORS 72: dts: spi-nor: Use jedec,spi-nor compatible string 73: dts: spi-nor: Use spi-nor as node name 74: mtd: spi-nor: Add erase ops 75: mtd: spi-nor: Not required to memset dummy byte 76: mtd: spi-nor: Move opcode handling in m25p80 77: mtd: spi-nor: Rename spi_nor_addr to m25p_addr2cmd 78: mtd: spi-nor: Add addr_width 79: mtd: spi-nor: Add m25p_cmdsz 80: mtd: spi-nor: read_dummy refers to dummy cycles not bytes 81: mtd: spi-nor: Use to instead of offset in write 82: mtd: spi-nor: offset with addr 83: mtd: m25p80: Rename cmd with opcode 84: armv8/ls1043a: move CONFIG_MTD to defconfig 85: defconfig: ls1021atwr_sdcard_qspi: Enable CONFIG_MTD 86: defconfig: ls1021aqds_sdcard_qspi: Enable MTD 87: defconfig: ls1021aqds_sdcard_qspi: Enable MTD_DATAFLASH
Issues: ------- 1) undefined reference to `__aeabi_ldivmod'
59: config: Enable SPI-NOR framework arm: + nyan-big +drivers/mtd/spi-nor/built-in.o: In function `spi_nor_write': +build/../drivers/mtd/spi-nor/spi-nor.c:585: undefined reference to `__aeabi_ldivmod' +arm-unknown-linux-gnueabi-ld.bfd: BFD (GNU Binutils) 2.24 assertion fail /home/tony/buildall/src/binutils/bfd/elf32-arm.c:7696 +arm-unknown-linux-gnueabi-ld.bfd: error: required section '.rel.plt' not found in the linker script +arm-unknown-linux-gnueabi-ld.bfd: final link failed: Invalid operation +make[1]: *** [u-boot] Error 1 +make: *** [sub-make] Error 2
2) Build issues on dra72_evm, dra74_evm
3) SPL image too big
59: config: Enable SPI-NOR framework arm: + axm +arm-unknown-linux-gnueabi-ld.bfd: SPL image too big +arm-unknown-linux-gnueabi-ld.bfd: SPL image BSS too big +make[2]: *** [spl/u-boot-spl] Error 1 +make[1]: *** [spl/u-boot-spl] Error 2 +make: *** [sub-make] Error 2 60: spi-nor: Use CONFIG_MTD_SPI_NOR
Image size: ----------- $> ./tools/buildman/buildman -b master -c 87 -sS boards.cfg is up to date. Nothing to do. Summary of 87 commits for 1107 boards (32 threads, 1 job per thread) 01: mtd: Add m25p80 driver m68k: + M5329AFEE M5249EVB M5208EVBE astro_mcf5373l M54455EVB_intel M5282EVB M54455EVB_i66 M54455EVB_a66 M5253DEMO M54455EVB_stm33 M54455EVB M5272C3 M5329BFEE cobra5272 M5275EVB M5253EVBE M5235EVB_Flash32 M5373EVB M5235EVB 02: mtd: Add Kconfig entry for MTD_M25P80 03: mtd: Add SPI-NOR core support aarch64: (for 33/33 boards) bss +0.2 data -0.2 arm: (for 500/500 boards) all +0.3 bss +0.3 data -0.0 spl/u-boot-spl:all +0.0 spl/u-boot-spl:bss +0.0 04: doc: device-tree-bindings: jedec,spi-nor 05: mtd: spi-nor: Add Kconfig entry for MTD_SPI_NOR 06: mtd: spi-nor: Add kconfig for MTD_SPI_NOR_USE_4K_SECTORS 07: mtd: spi-nor: Add MTD support 08: mtd: spi-nor: Add spi_nor support in m25p80 09: mtd: spi-nor: Add dm spi-nor probing aarch64: (for 33/33 boards) all -1.9 bss -1.9 10: mtd: spi-nor: Add spi_flash_probe for mtd-dm-spi-nor 11: mtd: spi-nor: Add spi_flash_free for mtd-dm-spi-nor 12: mtd: spi-nor: m25p80: Add spi_nor support for non-dm 13: sf: Rename erase_size to erasesize 14: sf: Use erasesize instead of sector_size x86: (for 12/12 boards) all +1.7 bss +7.3 text -5.7 aarch64: (for 33/33 boards) all -4.6 text -4.6 sandbox: (for 1/1 boards) all -16.0 text -16.0 m68k: (for 29/48 boards) all -1.9 text -1.9 powerpc: (for 412/412 boards) all -4.0 spl/u-boot-spl:all -0.3 spl/u-boot-spl:text -0.3 text -4.0 arm: (for 500/500 boards) all -2.0 bss +0.1 data +0.1 spl/u-boot-spl:all -0.6 spl/u-boot-spl:text -0.6 text -2.2 15: sf: Use uint64_t for flash->size x86: (for 12/12 boards) all +1.4 bss -86.3 rodata +1.8 text +85.9 aarch64: (for 33/33 boards) all +14.5 rodata +1.2 text +13.3 sandbox: (for 1/1 boards) all +144.0 text +144.0 m68k: (for 29/48 boards) all +24.8 rodata +0.7 text +24.1 powerpc: (for 412/412 boards) all +48.6 rodata +1.1 spl/u-boot-spl:all +4.0 spl/u-boot-spl:text +4.0 text +47.6 arm: (for 500/500 boards) all +45.5 bss +0.0 data +7.4 rodata +0.7 spl/u-boot-spl:all +13.7 spl/u-boot-spl:text +13.7 text +37.4 16: spi_flash: Use mtd_info operation for SPI-NOR aarch64: (for 33/33 boards) all +1.9 bss +1.9 arm: (for 500/500 boards) all +0.3 bss +0.3 data -0.0 17: spi_flash: Use spi_flash_t instead of struct spi_flash arm: (for 500/500 boards) all -0.2 bss -0.2 18: mtd: spi-nor: Move spi_read_then_write to spi layer x86: (for 12/12 boards) all +9.0 text +9.0 sandbox: (for 1/1 boards) all +184.0 text +184.0 m68k: (for 29/48 boards) all +3.3 text +3.3 powerpc: (for 412/412 boards) all +4.3 spl/u-boot-spl:all +0.5 spl/u-boot-spl:text +0.5 text +4.3 sparc: (for 5/5 boards) all +92.8 text +92.8 microblaze: (for 1/1 boards) all +128.0 bss -64.0 text +192.0 mips: (for 25/25 boards) all +5.6 bss +1.1 data +4.5 arm: (for 500/500 boards) all +1.9 bss -0.1 spl/u-boot-spl:all +0.4 spl/u-boot-spl:text +0.4 text +2.0 19: spi: Rename spi_read_then_write to spi_write_then_read 20: mtd: spi-nor: Rename SPI_FLASH_BAR to SPI_NOR_BAR 21: mtd: spi-nor: Add Kconfig entry for SPI_NOR_BAR 22: mtd: spi-nor: Copy spl files from drivers/mtd/spi 23: mtd: spi-nor: spl: Follow ascending order of include headers 24: mtd: spi-nor: fsl_espi_spl: Use mtd_info 25: mtd: spi-nor: fsl_espi_spl: Use writebufsize instead of page_size 26: mtd: spi-nor: spi_spl_load: Use mtd_info 27: spl: Add CONFIG_SPL_SPI_NOR_SUPPORT 28: mtd: spi-nor: Add flash vendor Kconfig entries 29: arm: zynq: Kconfig: Select MTD uclass arm: (for 500/500 boards) all +1.5 bss -0.2 data +1.5 rodata +0.1 text +0.2 30: arm: zynq: Kconfig: Drop DM_SPI_FLASH arm: (for 500/500 boards) all -18.8 bss +0.1 data -2.4 rodata -3.0 spl/u-boot-spl:all -7.7 spl/u-boot-spl:data -1.7 spl/u-boot-spl:rodata -1.3 spl/u-boot-spl:text -4.7 text -13.6 31: mtd: spi-nor: Copy sf_dataflash 32: mtd: dataflash: Remove unneeded spi data 33: mtd: dataflash: Move flash id detection into jedec_probe 34: mtd: dataflash: Fix add_dataflash return logic 35: mtd: dataflash: Add UCLASS_MTD support 36: mtd: dataflash: Use spi_write_then_read 37: mtd: dataflash: Drop sf_internal.h 38: mtd: dataflash: Minor cleanups 39: mtd: Rename sf_dataflash.c to mtd_dataflash.c 40: mtd: spi-nor: Add Kconfig entry for mtd_dataflash 41: mtd: dataflash: Add MTD_DATAFLASH_WRITE_VERIFY 42: mtd: spi-nor: Add kconfig MTD_DATAFLASH_WRITE_VERIFY 43: configs: ls1021aqds: Drop DM_SPI_FLASH and DATAFLASH arm: (for 500/500 boards) all -22.5 bss -0.1 data -7.4 rodata -2.2 text -12.8 44: defconfig: ls1021aqds_qspi: Enable SPI-NOR 45: defconfig: ls1021aqds_qspi: Enable CONFIG_MTD_DATAFLASH 46: mtd: spi-nor: Copy sandbox 47: mtd: spi-nor: sandbox: Use spi-nor header 48: mtd: spi-nor: sandbox: Fix ID exctract from spi_nor_info 49: mtd: spi-nor: Add SPI_NOR_SANDBOX 50: test/dm: Makefile: Use CONFIG_DM_MTD_SPI_NOR sandbox: (for 1/1 boards) all -368.0 data -24.0 rodata -208.0 text -136.0 51: test/dm: spi: Use CONFIG_DM_MTD_SPI_NOR sandbox: (for 1/1 boards) all -32.0 text -32.0 52: configs: sandbox: Enable SPI-NOR sandbox driver sandbox: (for 1/1 boards) all +4984.0 data +24.0 rodata +4096.0 text +864.0 arm: (for 500/500 boards) all +0.1 bss +0.1 53: test/dm: spi: Use m25p80 as driver name sandbox: (for 1/1 boards) all -16.0 rodata -16.0 54: dts: sandbox: Use jedec,spi-nor compatible string 55: x86: Drop using spi_flash_dm_ops x86: (for 12/12 boards) all +5.0 bss -1.7 text +6.7 arm: (for 500/500 boards) all -0.1 rodata -0.1 56: spi_flash: Use spi_flash_t arm: (for 500/500 boards) all +0.1 rodata +0.1 57: defconfig: zynq_zc770_xm013: Enable ZYNQ_QSPI 58: configs: Drop CONFIG_SPI_FLASH_MTD arm: (for 500/500 boards) all -9.6 bss -3.5 rodata -0.1 text -6.0 59: config: Enable SPI-NOR framework arm: + dra72_evm nyan-big venice2 chromebook_jerry axm trimslice jetson-tk1 tec-ng beaver dalmore dra74_evm cardhu taurus x86: (for 12/12 boards) all +4490.9 bss +266.0 data +0.7 rodata +1322.8 text +2901.4 aarch64: (for 33/33 boards) all +703.2 bss +256.2 data -52.8 rodata +207.4 spl/u-boot-spl:all -0.5 spl/u-boot-spl:bss -0.5 text +292.4 powerpc: (for 412/412 boards) all -706.5 bss +5.0 data +58.4 rodata -119.7 spl/u-boot-spl:all +385.7 spl/u-boot-spl:bss +31.1 spl/u-boot-spl:data +136.4 spl/u-boot-spl:text +218.2 text -650.2 arm: (for 491/500 boards) all +542.9 bss +34.1 data -6.3 rodata +188.6 spl/u-boot-spl:all +481.9 spl/u-boot-spl:bss +48.0 spl/u-boot-spl:data +2.0 spl/u-boot-spl:rodata +194.4 spl/u-boot-spl:text +237.5 text +326.4 60: spi-nor: Use CONFIG_MTD_SPI_NOR arm: (for 491/500 boards) all +0.0 bss -0.1 rodata +0.1 spl/u-boot-spl:all +0.2 spl/u-boot-spl:rodata +0.2 text +0.0 61: configs: Use CONFIG_SPI_NOR_BAR aarch64: (for 33/33 boards) all +11.3 rodata -5.4 text +16.7 powerpc: (for 412/412 boards) all -6.6 rodata +4.7 spl/u-boot-spl:all +4.6 spl/u-boot-spl:data -2.2 spl/u-boot-spl:text +6.8 text -11.4 arm: (for 491/500 boards) all -0.2 bss +0.0 rodata -2.0 spl/u-boot-spl:all +0.3 spl/u-boot-spl:rodata -1.3 spl/u-boot-spl:text +1.5 text +1.7 62: configs: spi-nor: Add new flash vendor configs aarch64: (for 33/33 boards) all -1562.4 rodata -522.8 text -1039.5 arm: (for 491/500 boards) all -3.5 bss -0.1 rodata -3.0 spl/u-boot-spl:all +1.9 spl/u-boot-spl:rodata -1.5 spl/u-boot-spl:text +3.3 text -0.4 63: mtd: spi-nor: Add CONFIG_SPI_NOR_MISC x86: (for 12/12 boards) all -1502.1 bss -666.7 rodata -698.8 text -136.7 aarch64: (for 33/33 boards) all -265.5 rodata -178.2 text -87.3 sandbox: (for 1/1 boards) all -2176.0 rodata -2176.0 powerpc: (for 412/412 boards) all -43.9 data -31.2 rodata -8.7 spl/u-boot-spl:all -43.9 spl/u-boot-spl:data -40.0 spl/u-boot-spl:text -3.9 text -3.9 arm: (for 491/500 boards) all -110.1 bss +1.8 rodata -93.8 spl/u-boot-spl:all -74.3 spl/u-boot-spl:rodata -74.3 text -18.2 64: configs: Use CONFIG_SPI_NOR_MISC aarch64: (for 33/33 boards) all -86.3 rodata -54.3 text -32.0 arm: (for 491/500 boards) all +33.0 bss -0.1 rodata +27.8 spl/u-boot-spl:all +28.4 spl/u-boot-spl:rodata +28.4 text +5.3 65: powerpc/mpc85xx: Use spi.h instead of spi_flash.h 66: sf: Drop entire spi-flash framework arm: + kylin-rk3036 rock2 evb-rk3036 firefly-rk3288 x86: (for 12/12 boards) all +15.8 text +15.8 aarch64: (for 33/33 boards) all +4948.0 bss +341.3 rodata +1894.5 text +2712.2 m68k: (for 29/48 boards) all +1595.9 bss +176.6 data +339.0 rodata +109.1 text +971.2 powerpc: (for 412/412 boards) all +1383.5 bss +75.8 data +145.7 rodata -31.2 text +1193.1 arm: (for 487/500 boards) all +823.7 bss +68.9 data -0.9 rodata +166.8 text +588.9 67: uclass: Drop UCLASS_SPI_FLASH aarch64: (for 33/33 boards) all -0.5 bss -0.5 arm: (for 487/500 boards) all +0.3 bss +0.3 68: spi: Drop mode_rx x86: (for 12/12 boards) all +7.0 bss +20.3 text -13.3 aarch64: (for 33/33 boards) all -7.3 text -7.3 sandbox: (for 1/1 boards) all -16.0 text -16.0 m68k: (for 29/48 boards) all -2.9 text -2.9 powerpc: (for 412/412 boards) all +8.3 spl/u-boot-spl:all +1.1 spl/u-boot-spl:text +1.1 text +8.3 arm: (for 487/500 boards) all -0.1 bss -0.8 data +0.1 rodata -0.0 spl/u-boot-spl:all +0.0 spl/u-boot-spl:text +0.0 text +0.6 69: spi: Drop SPI_RX_FAST arm: (for 487/500 boards) all -0.0 bss +0.0 rodata -0.1 70: MAINTAINERS: Add myself as SPI NOR maintainer arm: (for 487/500 boards) all +0.0 bss -0.0 rodata +0.1 71: configs: CONFIG_MTD_SPI_NOR_USE_4K_SECTORS 72: dts: spi-nor: Use jedec,spi-nor compatible string 73: dts: spi-nor: Use spi-nor as node name 74: mtd: spi-nor: Add erase ops x86: (for 12/12 boards) all +340.3 bss +254.0 text +86.3 aarch64: (for 33/33 boards) all +81.0 text +81.0 sandbox: (for 1/1 boards) all +176.0 text +176.0 m68k: (for 29/48 boards) all +38.2 data +1.4 text +36.8 powerpc: (for 412/412 boards) all +60.1 spl/u-boot-spl:all +8.8 spl/u-boot-spl:text +8.8 text +60.1 arm: (for 487/500 boards) all +42.7 bss -0.2 data +7.5 spl/u-boot-spl:all +9.0 spl/u-boot-spl:text +9.0 text +35.4 75: mtd: spi-nor: Not required to memset dummy byte x86: (for 12/12 boards) all -329.7 bss -289.3 text -40.3 aarch64: (for 33/33 boards) all -21.1 text -21.1 sandbox: (for 1/1 boards) all -72.0 text -72.0 m68k: (for 29/48 boards) all -13.5 text -13.5 powerpc: (for 412/412 boards) all -21.0 spl/u-boot-spl:all -3.1 spl/u-boot-spl:text -3.1 text -21.0 arm: (for 487/500 boards) all -23.2 bss +1.8 data -8.0 spl/u-boot-spl:all -4.8 spl/u-boot-spl:text -4.8 text -17.0 76: mtd: spi-nor: Move opcode handling in m25p80 x86: (for 12/12 boards) all -3.3 bss +58.7 text -62.0 aarch64: (for 33/33 boards) all -31.0 text -31.0 sandbox: (for 1/1 boards) all +40.0 text +40.0 m68k: (for 29/48 boards) all +13.5 text +13.5 powerpc: (for 412/412 boards) all -11.4 spl/u-boot-spl:all -1.5 spl/u-boot-spl:text -1.5 text -11.4 arm: (for 487/500 boards) all -13.0 bss -1.6 data +0.4 spl/u-boot-spl:all -2.7 spl/u-boot-spl:text -2.7 text -11.7 77: mtd: spi-nor: Rename spi_nor_addr to m25p_addr2cmd 78: mtd: spi-nor: Add addr_width x86: (for 12/12 boards) all +340.7 bss +258.0 text +82.7 aarch64: (for 33/33 boards) all +65.0 text +65.0 sandbox: (for 1/1 boards) all +104.0 text +104.0 m68k: (for 29/48 boards) all +24.3 data +0.3 text +24.0 powerpc: (for 412/412 boards) all +40.1 spl/u-boot-spl:all +5.8 spl/u-boot-spl:text +5.8 text +40.1 arm: (for 487/500 boards) all +34.2 bss +0.9 data +7.7 spl/u-boot-spl:all +7.0 spl/u-boot-spl:text +7.0 text +25.6 79: mtd: spi-nor: Add m25p_cmdsz x86: (for 12/12 boards) all -4.3 bss -22.7 text +18.3 aarch64: (for 33/33 boards) all +11.9 text +11.9 sandbox: (for 1/1 boards) all +16.0 text +16.0 m68k: (for 29/48 boards) all +6.1 text +6.1 powerpc: (for 412/412 boards) all +6.7 spl/u-boot-spl:all +1.0 spl/u-boot-spl:text +1.0 text +6.7 arm: (for 487/500 boards) all +3.4 bss -0.8 data -0.1 rodata -0.0 spl/u-boot-spl:all +1.1 spl/u-boot-spl:text +1.1 text +4.3 80: mtd: spi-nor: read_dummy refers to dummy cycles not bytes x86: (for 12/12 boards) all +2.3 bss -18.0 text +20.3 aarch64: (for 33/33 boards) all +1.9 text +1.9 sandbox: (for 1/1 boards) all +24.0 text +24.0 m68k: (for 29/48 boards) all +4.3 text +4.3 powerpc: (for 412/412 boards) all +1.7 spl/u-boot-spl:all +0.3 spl/u-boot-spl:text +0.3 text +1.7 arm: (for 487/500 boards) all +1.6 bss +0.2 data -0.0 rodata +0.0 spl/u-boot-spl:all +0.4 spl/u-boot-spl:text +0.4 text +1.4 81: mtd: spi-nor: Use to instead of offset in write 82: mtd: spi-nor: offset with addr 83: mtd: m25p80: Rename cmd with opcode 84: armv8/ls1043a: move CONFIG_MTD to defconfig aarch64: (for 33/33 boards) all -54.2 bss -0.5 data -44.4 rodata -1.3 spl/u-boot-spl:all +0.5 spl/u-boot-spl:bss +0.5 text -8.0 85: defconfig: ls1021atwr_sdcard_qspi: Enable CONFIG_MTD 86: defconfig: ls1021aqds_sdcard_qspi: Enable MTD 87: defconfig: ls1021aqds_sdcard_qspi: Enable MTD_DATAFLASH
thanks!