
From: Jagan Teki jagan@amarulasolutions.com
Updated spi_flash_info table in sync with Linux, and removed legacy and unsupported code.
Changes for v6: - Fix few comments from Simon - Rebase to master
Changes for v5: - Add dataflash fixes in this series - Rebase to master
Changes for v4: - Rebase to master
Changes for v3: - New patches - Fix checkpatch.pl - Fix BIT positions in spi.h - Fix ti_qspi.c mode - Fix commit Nit: s/becuase/because
Changes for v2: - New patches.
Testing: $ git clone git://git.denx.de/u-boot-spi.git $ cd u-boot-spi $ git checkout -b next origin/next
buildman: -------- $ ./tools/buildman/buildman -b next -c 21 -se boards.cfg is up to date. Nothing to do. Summary of 21 commits for 1219 boards (12 threads, 1 job per thread) 01: sf: Adopt flash table INFO macro from Linux blackfin: + cm-bf561 blackstamp bf527-ezkit-v2 cm-bf527 bf506f-ezkit ip04 bf527-sdp bf527-ad7160-eval bf609-ezkit tcm-bf518 bf527-ezkit bf533-ezkit ibf-dsp561 bf537-minotaur bf537-pnav bf537-srv1 cm-bf548 bf548-ezkit bf525-ucr2 blackvme pr1 bf518f-ezbrd bf526-ezbrd br4 x86: + galileo conga-qeval20-qa3-e3845-internal-uart coreboot-x86 qemu-x86_efi_payload32 conga-qeval20-qa3-e3845 bayleybay theadorable-x86-dfi-bt700 qemu-x86_efi_payload64 minnowmax dfi-bt700-q7x-151 efi-x86 som-db5800-som-6867 +/bin/sh: 1: bfin-uclinux-ldr: not found +make[1]: *** [u-boot.ldr] Error 127 +make: *** [sub-make] Error 2 +make[1]: bfin-uclinux-ldr: Command not found +/bin/sh: 1: iasl: not found +mv: cannot stat '../board/intel/galileo/dsdt.hex': No such file or directory +make[2]: *** [board/intel/galileo/dsdt.c] Error 1 +make[1]: *** [board/intel/galileo] Error 2 +cc1: error: -mcpu=bf506-0.0 is not valid +cc1: error: unrecognized command line option '-mcpu=bf506-0.0' +make[2]: *** [u-boot.cfg] Error 1 +make[1]: *** No rule to make target `include/config/auto.conf', needed by `include/config/uboot.release'. Stop. +cc1: error: -mcpu=bf609-0.0 is not valid +cc1: error: unrecognized command line option '-mcpu=bf609-0.0' +mv: cannot stat '../board/congatec/conga-qeval20-qa3-e3845/dsdt.hex': No such file or directory +make[2]: *** [board/congatec/conga-qeval20-qa3-e3845/dsdt.c] Error 1 +make[1]: *** [board/congatec/conga-qeval20-qa3-e3845] Error 2 + static u32 write_smbios_table_wrapper(u32 addr) + ^ +mv: cannot stat '../board/dfi/dfi-bt700/dsdt.hex': No such file or directory +make[2]: *** [board/dfi/dfi-bt700/dsdt.c] Error 1 +make[1]: *** [board/dfi/dfi-bt700] Error 2 +mv: cannot stat '../board/intel/bayleybay/dsdt.hex': No such file or directory +make[2]: *** [board/intel/bayleybay/dsdt.c] Error 1 +make[1]: *** [board/intel/bayleybay] Error 2 +../arch/x86/lib/efi/crt0-efi-x86_64.S: Assembler messages: +../arch/x86/lib/efi/crt0-efi-x86_64.S:16: Error: bad register name `%rsp' +../arch/x86/lib/efi/crt0-efi-x86_64.S:17: Error: bad register name `%rcx' +../arch/x86/lib/efi/crt0-efi-x86_64.S:18: Error: bad register name `%rdx' +../arch/x86/lib/efi/crt0-efi-x86_64.S:21: Error: bad register name `%rip)' +../arch/x86/lib/efi/crt0-efi-x86_64.S:22: Error: bad register name `%rip)' +../arch/x86/lib/efi/crt0-efi-x86_64.S:24: Error: bad register name `%rcx' +../arch/x86/lib/efi/crt0-efi-x86_64.S:25: Error: bad register name `%rdx' +../arch/x86/lib/efi/crt0-efi-x86_64.S:26: Error: bad register name `%rcx' +../arch/x86/lib/efi/crt0-efi-x86_64.S:27: Error: bad register name `%rdx' +../arch/x86/lib/efi/crt0-efi-x86_64.S:30: Error: bad register name `%rdi' +../arch/x86/lib/efi/crt0-efi-x86_64.S:31: Error: bad register name `%rsi' +../arch/x86/lib/efi/crt0-efi-x86_64.S:34: Error: bad register name `%rsp' +../arch/x86/lib/efi/crt0-efi-x86_64.S:47: Warning: setting incorrect section attributes for .reloc +make[3]: *** [arch/x86/lib/efi/crt0-efi-x86_64.o] Error 1 +make[2]: *** [arch/x86/lib/efi] Error 2 +make[1]: *** [arch/x86/lib] Error 2 +mv: cannot stat '../board/intel/minnowmax/dsdt.hex': No such file or directory +make[2]: *** [board/intel/minnowmax/dsdt.c] Error 1 +make[1]: *** [board/intel/minnowmax] Error 2 +mv: cannot stat '../board/advantech/som-db5800-som-6867/dsdt.hex': No such file or directory +make[2]: *** [board/advantech/som-db5800-som-6867/dsdt.c] Error 1 +make[1]: *** [board/advantech/som-db5800-som-6867] Error 2 w+../drivers/usb/musb/musb_hcd.c: In function 'config_hub_port': w+../drivers/usb/musb/musb_hcd.c:405:5: warning: variable 'hub' set but not used [-Wunused-but-set-variable] w+../drivers/usb/musb/musb_core.c: In function 'musb_configure_ep': w+../drivers/usb/musb/musb_core.c:71:6: warning: variable 'idx' set but not used [-Wunused-but-set-variable] w+../arch/x86/lib/tables.c:15:12: warning: 'write_smbios_table_wrapper' defined but not used [-Wunused-function] w+../board/bf533-ezkit/flash.c: In function 'read_data': w+../board/bf533-ezkit/flash.c:241:6: warning: variable 'iShift' set but not used [-Wunused-but-set-variable] w+../drivers/net/ax88180.c: In function 'ax88180_mac_reset': w+../drivers/net/ax88180.c:132:16: warning: variable 'tmpval' set but not used [-Wunused-but-set-variable] w+../drivers/net/ax88180.c: In function 'ax88180_recv': w+../drivers/net/ax88180.c:577:17: warning: variable 'tmp_regval' set but not used [-Wunused-but-set-variable] 02: sf: Simplify lock ops detection code 03: sf: sandbox: Use JEDEC_MFR|ID in id exctract 04: sf: Cleanup spi_flash_info{} 05: sf: nr_sectors -> n_sectors 06: sf: Add SPI_FLASH_MAX_ID_LEN 07: sf: Increase max id length by 1 byte 08: sf: Add INFO6 flash_info macro 09: sf: params: Add S25FS256S_64K spi flash support 10: sf: Remove legacy idcode detection code 11: sf: Remove non-meaningful comments 12: sf: Rename sf_params.c to spi_flash_ids.c 13: sf: ids: Use small letter's with flash name 14: sf: ids: Use small letter in ext_jedec 15: sf: Rename few local functions 16: spi: Remove dual flash options/flags 17: sf: dataflash: Remove unneeded spi data 18: sf: dataflash: Move flash id detection into jedec_probe 19: sf: dataflash: Fix add_dataflash return logic 20: sf: dataflash: Minor cleanups 21: sf: Fix s25fs512s id param table
$ ./tools/buildman/buildman -b next -c 21 -sS boards.cfg is up to date. Nothing to do. Summary of 21 commits for 1219 boards (12 threads, 1 job per thread) 01: sf: Adopt flash table INFO macro from Linux blackfin: + cm-bf561 blackstamp bf527-ezkit-v2 cm-bf527 bf506f-ezkit ip04 bf527-sdp bf527-ad7160-eval bf609-ezkit tcm-bf518 bf527-ezkit bf533-ezkit ibf-dsp561 bf537-minotaur bf537-pnav bf537-srv1 cm-bf548 bf548-ezkit bf525-ucr2 blackvme pr1 bf518f-ezbrd bf526-ezbrd br4 x86: + galileo conga-qeval20-qa3-e3845-internal-uart coreboot-x86 qemu-x86_efi_payload32 conga-qeval20-qa3-e3845 bayleybay theadorable-x86-dfi-bt700 qemu-x86_efi_payload64 minnowmax dfi-bt700-q7x-151 efi-x86 som-db5800-som-6867 02: sf: Simplify lock ops detection code avr32: (for 4/4 boards) all -2.0 text -2.0 powerpc: (for 415/415 boards) all +0.0 rodata +0.0 arm: (for 560/560 boards) all -1.6 bss -0.6 spl/u-boot-spl:all -0.2 spl/u-boot-spl:text -0.2 text -1.1 03: sf: sandbox: Use JEDEC_MFR|ID in id exctract 04: sf: Cleanup spi_flash_info{} powerpc: (for 415/415 boards) all -0.0 rodata -0.0 05: sf: nr_sectors -> n_sectors powerpc: (for 415/415 boards) all +0.0 rodata +0.0 06: sf: Add SPI_FLASH_MAX_ID_LEN 07: sf: Increase max id length by 1 byte m68k: (for 48/48 boards) all +12.1 data +12.1 powerpc: (for 415/415 boards) all -0.0 rodata -0.0 08: sf: Add INFO6 flash_info macro powerpc: (for 415/415 boards) all +0.0 rodata +0.0 09: sf: params: Add S25FS256S_64K spi flash support blackfin: (for 33/35 boards) all +2.4 rodata +2.4 aarch64: (for 61/61 boards) all +16.1 rodata +10.6 text +5.5 powerpc: (for 415/415 boards) all +14.3 data +8.2 rodata +4.8 spl/u-boot-spl:all +1.6 spl/u-boot-spl:data +1.4 spl/u-boot-spl:text +0.2 text +1.4 sandbox: (for 3/3 boards) all +48.0 rodata +48.0 mips: (for 35/35 boards) all +4.6 bss +0.5 data +2.1 rodata +1.4 text +0.7 arm: (for 560/560 boards) all +2.2 bss -0.2 rodata +2.0 spl/u-boot-spl:all +1.4 spl/u-boot-spl:rodata +1.4 text +0.4 10: sf: Remove legacy idcode detection code blackfin: (for 33/35 boards) all -16.2 text -16.2 aarch64: (for 61/61 boards) all -66.5 text -66.5 powerpc: (for 415/415 boards) all -115.6 spl/u-boot-spl:all -13.1 spl/u-boot-spl:text -13.1 text -115.6 sandbox: (for 3/3 boards) all -304.0 text -304.0 mips: (for 35/35 boards) all -34.4 bss -0.5 text -33.9 arm: (for 560/560 boards) all -12.7 bss +0.1 spl/u-boot-spl:all -8.9 spl/u-boot-spl:text -8.9 text -12.7 11: sf: Remove non-meaningful comments 12: sf: Rename sf_params.c to spi_flash_ids.c 13: sf: ids: Use small letter's with flash name blackfin: (for 33/35 boards) all +0.1 rodata +0.1 aarch64: (for 61/61 boards) all +0.1 rodata +0.1 powerpc: (for 415/415 boards) all -0.1 rodata -0.1 mips: (for 35/35 boards) all -5.7 bss +0.5 rodata -6.2 arm: (for 560/560 boards) bss -0.0 rodata +0.0 14: sf: ids: Use small letter in ext_jedec 15: sf: Rename few local functions 16: spi: Remove dual flash options/flags blackfin: (for 33/35 boards) all -0.6 text -0.6 x86: (for 9/18 boards) all -2.2 bss +1.3 text -3.6 aarch64: (for 61/61 boards) all -2.4 text -2.4 avr32: (for 4/4 boards) all -4.0 text -4.0 m68k: (for 48/48 boards) all -3.2 text -3.2 powerpc: (for 415/415 boards) all -2.3 spl/u-boot-spl:all -0.2 spl/u-boot-spl:text -0.2 text -2.3 mips: (for 35/35 boards) all -0.3 text -0.3 arm: (for 560/560 boards) all -0.8 bss +0.4 rodata -0.0 spl/u-boot-spl:all -0.3 spl/u-boot-spl:text -0.3 text -1.2 17: sf: dataflash: Remove unneeded spi data mips: (for 35/35 boards) all -2.4 text -2.4 arm: (for 560/560 boards) all -0.4 bss -0.4 rodata +0.0 text -0.1 18: sf: dataflash: Move flash id detection into jedec_probe mips: (for 35/35 boards) all -1.8 bss -0.5 text -1.4 arm: (for 560/560 boards) bss +0.1 text -0.1 19: sf: dataflash: Fix add_dataflash return logic mips: (for 35/35 boards) all +12.8 bss +0.3 data +0.3 text +12.1 arm: (for 560/560 boards) bss -0.1 text +0.1 20: sf: dataflash: Minor cleanups mips: (for 35/35 boards) all -6.6 bss -0.5 rodata -3.1 text -3.1 arm: (for 560/560 boards) all -0.0 bss +0.2 rodata -0.1 text -0.1 21: sf: Fix s25fs512s id param table
Jagan Teki (21): sf: Adopt flash table INFO macro from Linux sf: Simplify lock ops detection code sf: sandbox: Use JEDEC_MFR|ID in id exctract sf: Cleanup spi_flash_info{} sf: nr_sectors -> n_sectors sf: Add SPI_FLASH_MAX_ID_LEN sf: Increase max id length by 1 byte sf: Add INFO6 flash_info macro sf: params: Add S25FS256S_64K spi flash support sf: Remove legacy idcode detection code sf: Remove non-meaningful comments sf: Rename sf_params.c to spi_flash_ids.c sf: ids: Use small letter's with flash name sf: ids: Use small letter in ext_jedec sf: Rename few local functions spi: Remove dual flash options/flags sf: dataflash: Remove unneeded spi data sf: dataflash: Move flash id detection into jedec_probe sf: dataflash: Fix add_dataflash return logic sf: dataflash: Minor cleanups sf: Fix s25fs512s id param table
doc/device-tree-bindings/mtd/spi/spi-flash.txt | 2 +- drivers/mtd/spi/Makefile | 2 +- drivers/mtd/spi/sandbox.c | 11 +- drivers/mtd/spi/sf.c | 4 - drivers/mtd/spi/sf_dataflash.c | 178 +++++++++---------- drivers/mtd/spi/sf_internal.h | 55 +++--- drivers/mtd/spi/sf_params.c | 149 ---------------- drivers/mtd/spi/spi_flash.c | 228 ++++++++----------------- drivers/mtd/spi/spi_flash_ids.c | 180 +++++++++++++++++++ include/linux/err.h | 5 + include/spi.h | 6 - 11 files changed, 373 insertions(+), 447 deletions(-) delete mode 100644 drivers/mtd/spi/sf_params.c create mode 100644 drivers/mtd/spi/spi_flash_ids.c