Dear Tom, Stfan, Aaron, In message <20130405162807.GH32357@bill-the-cat> you wrote: > > > please pull the updated cfi-flash repository with the build warning fix: ... > > aaron.willi...@caviumnetworks.com (1): > > mtd: cfi_flash: Fix CFI flash driver for 8-bit bus support
Hereby I ask to revert the "mtd: cfi_flash: Fix CFI flash driver for 8-bit bus support" patch,. i. e. Commit 239cb9d. It breaks the CFI driver on a board here. The board has two banks of AMD NOR flash, mapped at F800.0000 and FC00.0000, resp. With current code, the flash is not detected. Here is the debug log: flash detect cfi fwc addr f8000000 cmd f0 f0 8bit x 8 bit fwc addr f8000000 cmd ff ff 8bit x 8 bit fwc addr f80000aa cmd 98 98 8bit x 8 bit is= cmd 51(Q) addr f8000020 is= 31 51 fwc addr f8000000 cmd f0 f0 8bit x 8 bit fwc addr f8000000 cmd ff ff 8bit x 8 bit fwc addr f8000555 cmd 98 98 8bit x 8 bit is= cmd 51(Q) addr f8000020 is= 31 51 fwc addr f8000000 cmd f0 f0f0 16bit x 8 bit fwc addr f8000000 cmd ff ffff 16bit x 8 bit fwc addr f8000154 cmd 98 9898 16bit x 8 bit is= cmd 51(Q) addr f8000040 is= 0051 5151 fwc addr f8000000 cmd f0 f0f0 16bit x 8 bit fwc addr f8000000 cmd ff ffff 16bit x 8 bit fwc addr f8000aaa cmd 98 9898 16bit x 8 bit is= cmd 51(Q) addr f8000040 is= 0000 5151 fwc addr f8000000 cmd f0 00f0 16bit x 16 bit fwc addr f8000000 cmd ff 00ff 16bit x 16 bit fwc addr f80000aa cmd 98 0098 16bit x 16 bit is= cmd 51(Q) addr f8000020 is= 3137 0051 fwc addr f8000000 cmd f0 00f0 16bit x 16 bit fwc addr f8000000 cmd ff 00ff 16bit x 16 bit fwc addr f8000554 cmd 98 0098 16bit x 16 bit is= cmd 51(Q) addr f8000020 is= 0000 0051 fwc addr f8000000 cmd f0 f0f0f0f0 32bit x 8 bit fwc addr f8000000 cmd ff ffffffff 32bit x 8 bit fwc addr f80002a8 cmd 98 98989898 32bit x 8 bit is= cmd 51(Q) addr f8000080 is= 00000004 51515151 fwc addr f8000000 cmd f0 f0f0f0f0 32bit x 8 bit fwc addr f8000000 cmd ff ffffffff 32bit x 8 bit fwc addr f8001550 cmd 98 98989898 32bit x 8 bit is= cmd 51(Q) addr f8000080 is= 00000004 51515151 fwc addr f8000000 cmd f0 00f000f0 32bit x 16 bit fwc addr f8000000 cmd ff 00ff00ff 32bit x 16 bit fwc addr f8000150 cmd 98 00980098 32bit x 16 bit is= cmd 51(Q) addr f8000040 is= 00000000 00510051 fwc addr f8000000 cmd f0 00f000f0 32bit x 16 bit fwc addr f8000000 cmd ff 00ff00ff 32bit x 16 bit fwc addr f8000aa8 cmd 98 00980098 32bit x 16 bit is= cmd 51(Q) addr f8000040 is= 00000000 00510051 fwc addr f8000000 cmd f0 000000f0 32bit x 32 bit fwc addr f8000000 cmd ff 000000ff 32bit x 32 bit fwc addr f80000a8 cmd 98 00000098 32bit x 32 bit is= cmd 51(Q) addr f8000020 is= 31373a33 00000051 fwc addr f8000000 cmd f0 000000f0 32bit x 32 bit fwc addr f8000000 cmd ff 000000ff 32bit x 32 bit fwc addr f8000550 cmd 98 00000098 32bit x 32 bit is= cmd 51(Q) addr f8000020 is= 31373a33 00000051 fwrite addr f8000000 cmd f0 f0f0f0f0f0f0f0f0 64 bit x 8 bit fwrite addr f8000000 cmd ff ffffffffffffffff 64 bit x 8 bit fwrite addr f8000500 cmd 98 9898989898989898 64 bit x 8 bit is= cmd 51(Q) addr f8000100 is= ffffffffffffffff 5151515151515151 fwrite addr f8000000 cmd f0 f0f0f0f0f0f0f0f0 64 bit x 8 bit fwrite addr f8000000 cmd ff ffffffffffffffff 64 bit x 8 bit fwrite addr f8002a80 cmd 98 9898989898989898 64 bit x 8 bit is= cmd 51(Q) addr f8000100 is= ffffffffffffffff 5151515151515151 fwrite addr f8000000 cmd f0 00f000f000f000f0 64 bit x 16 bit fwrite addr f8000000 cmd ff 00ff00ff00ff00ff 64 bit x 16 bit fwrite addr f8000280 cmd 98 0098009800980098 64 bit x 16 bit is= cmd 51(Q) addr f8000080 is= 00000004ffffffff 0051005100510051 fwrite addr f8000000 cmd f0 00f000f000f000f0 64 bit x 16 bit fwrite addr f8000000 cmd ff 00ff00ff00ff00ff 64 bit x 16 bit fwrite addr f8001500 cmd 98 0098009800980098 64 bit x 16 bit is= cmd 51(Q) addr f8000080 is= 00000004ffffffff 0051005100510051 fwrite addr f8000000 cmd f0 000000f0000000f0 64 bit x 32 bit fwrite addr f8000000 cmd ff 000000ff000000ff 64 bit x 32 bit fwrite addr f8000100 cmd 98 0000009800000098 64 bit x 32 bit is= cmd 51(Q) addr f8000000 is= 27051956552d426f 0000005100000051 fwrite addr f8000000 cmd f0 000000f0000000f0 64 bit x 32 bit fwrite addr f8000000 cmd ff 000000ff000000ff 64 bit x 32 bit fwrite addr f8000a80 cmd 98 0000009800000098 64 bit x 32 bit is= cmd 51(Q) addr f8000000 is= 27051956552d426f 0000005100000051 fwrite addr f8000000 cmd f0 00000000000000f0 64 bit x 64 bit fwrite addr f8000000 cmd ff 00000000000000ff 64 bit x 64 bit fwrite addr f8000080 cmd 98 0000000000000098 64 bit x 64 bit is= cmd 51(Q) addr f8000000 is= 27051956552d426f 0000000000000051 fwrite addr f8000000 cmd f0 00000000000000f0 64 bit x 64 bit fwrite addr f8000000 cmd ff 00000000000000ff 64 bit x 64 bit fwrite addr f8000500 cmd 98 0000000000000098 64 bit x 64 bit is= cmd 51(Q) addr f8000000 is= 27051956552d426f 0000000000000051 not found flash detect cfi fwc addr fc000000 cmd f0 f0 8bit x 8 bit fwc addr fc000000 cmd ff ff 8bit x 8 bit fwc addr fc0000aa cmd 98 98 8bit x 8 bit is= cmd 51(Q) addr fc000020 is= 31 51 fwc addr fc000000 cmd f0 f0 8bit x 8 bit fwc addr fc000000 cmd ff ff 8bit x 8 bit fwc addr fc000555 cmd 98 98 8bit x 8 bit is= cmd 51(Q) addr fc000020 is= 31 51 fwc addr fc000000 cmd f0 f0f0 16bit x 8 bit fwc addr fc000000 cmd ff ffff 16bit x 8 bit fwc addr fc000154 cmd 98 9898 16bit x 8 bit is= cmd 51(Q) addr fc000040 is= 0051 5151 fwc addr fc000000 cmd f0 f0f0 16bit x 8 bit fwc addr fc000000 cmd ff ffff 16bit x 8 bit fwc addr fc000aaa cmd 98 9898 16bit x 8 bit is= cmd 51(Q) addr fc000040 is= 0000 5151 fwc addr fc000000 cmd f0 00f0 16bit x 16 bit fwc addr fc000000 cmd ff 00ff 16bit x 16 bit fwc addr fc0000aa cmd 98 0098 16bit x 16 bit is= cmd 51(Q) addr fc000020 is= 3137 0051 fwc addr fc000000 cmd f0 00f0 16bit x 16 bit fwc addr fc000000 cmd ff 00ff 16bit x 16 bit fwc addr fc000554 cmd 98 0098 16bit x 16 bit is= cmd 51(Q) addr fc000020 is= 0000 0051 fwc addr fc000000 cmd f0 f0f0f0f0 32bit x 8 bit fwc addr fc000000 cmd ff ffffffff 32bit x 8 bit fwc addr fc0002a8 cmd 98 98989898 32bit x 8 bit is= cmd 51(Q) addr fc000080 is= 00000000 51515151 fwc addr fc000000 cmd f0 f0f0f0f0 32bit x 8 bit fwc addr fc000000 cmd ff ffffffff 32bit x 8 bit fwc addr fc001550 cmd 98 98989898 32bit x 8 bit is= cmd 51(Q) addr fc000080 is= 00000000 51515151 fwc addr fc000000 cmd f0 00f000f0 32bit x 16 bit fwc addr fc000000 cmd ff 00ff00ff 32bit x 16 bit fwc addr fc000150 cmd 98 00980098 32bit x 16 bit is= cmd 51(Q) addr fc000040 is= 00000000 00510051 fwc addr fc000000 cmd f0 00f000f0 32bit x 16 bit fwc addr fc000000 cmd ff 00ff00ff 32bit x 16 bit fwc addr fc000aa8 cmd 98 00980098 32bit x 16 bit is= cmd 51(Q) addr fc000040 is= 00000000 00510051 fwc addr fc000000 cmd f0 000000f0 32bit x 32 bit fwc addr fc000000 cmd ff 000000ff 32bit x 32 bit fwc addr fc0000a8 cmd 98 00000098 32bit x 32 bit is= cmd 51(Q) addr fc000020 is= 31373a33 00000051 fwc addr fc000000 cmd f0 000000f0 32bit x 32 bit fwc addr fc000000 cmd ff 000000ff 32bit x 32 bit fwc addr fc000550 cmd 98 00000098 32bit x 32 bit is= cmd 51(Q) addr fc000020 is= 31373a33 00000051 fwrite addr fc000000 cmd f0 f0f0f0f0f0f0f0f0 64 bit x 8 bit fwrite addr fc000000 cmd ff ffffffffffffffff 64 bit x 8 bit fwrite addr fc000500 cmd 98 9898989898989898 64 bit x 8 bit is= cmd 51(Q) addr fc000100 is= 380000003c20ffff 5151515151515151 fwrite addr fc000000 cmd f0 f0f0f0f0f0f0f0f0 64 bit x 8 bit fwrite addr fc000000 cmd ff ffffffffffffffff 64 bit x 8 bit fwrite addr fc002a80 cmd 98 9898989898989898 64 bit x 8 bit is= cmd 51(Q) addr fc000100 is= 380000003c20ffff 5151515151515151 fwrite addr fc000000 cmd f0 00f000f000f000f0 64 bit x 16 bit fwrite addr fc000000 cmd ff 00ff00ff00ff00ff 64 bit x 16 bit fwrite addr fc000280 cmd 98 0098009800980098 64 bit x 16 bit is= cmd 51(Q) addr fc000080 is= 0000000000000000 0051005100510051 fwrite addr fc000000 cmd f0 00f000f000f000f0 64 bit x 16 bit fwrite addr fc000000 cmd ff 00ff00ff00ff00ff 64 bit x 16 bit fwrite addr fc001500 cmd 98 0098009800980098 64 bit x 16 bit is= cmd 51(Q) addr fc000080 is= 0000000000000000 0051005100510051 fwrite addr fc000000 cmd f0 000000f0000000f0 64 bit x 32 bit fwrite addr fc000000 cmd ff 000000ff000000ff 64 bit x 32 bit fwrite addr fc000100 cmd 98 0000009800000098 64 bit x 32 bit is= cmd 51(Q) addr fc000000 is= 27051956552d426f 0000005100000051 fwrite addr fc000000 cmd f0 000000f0000000f0 64 bit x 32 bit fwrite addr fc000000 cmd ff 000000ff000000ff 64 bit x 32 bit fwrite addr fc000a80 cmd 98 0000009800000098 64 bit x 32 bit is= cmd 51(Q) addr fc000000 is= 27051956552d426f 0000005100000051 fwrite addr fc000000 cmd f0 00000000000000f0 64 bit x 64 bit fwrite addr fc000000 cmd ff 00000000000000ff 64 bit x 64 bit fwrite addr fc000080 cmd 98 0000000000000098 64 bit x 64 bit is= cmd 51(Q) addr fc000000 is= 27051956552d426f 0000000000000051 fwrite addr fc000000 cmd f0 00000000000000f0 64 bit x 64 bit fwrite addr fc000000 cmd ff 00000000000000ff 64 bit x 64 bit fwrite addr fc000500 cmd 98 0000000000000098 64 bit x 64 bit is= cmd 51(Q) addr fc000000 is= 27051956552d426f 0000000000000051 not found ## cfi_flash.c[2460] ## cfi_flash.c[2462] *** failed *** ### ERROR ### Please RESET the board ### After reverting the commit (and no other changes), I get: ... I2C: ready DRAM: 128 MiB Flash: 128 MiB L2: 256 KB enabled ... and "flinfo" reports: => fli Bank # 1: CFI conformant flash (32 x 16) Size: 64 MB in 512 Sectors AMD Standard command set, Manufacturer ID: 0x01, Device ID: 0x227E1201 Erase timeout: 16384 ms, write timeout: 1 ms Buffer write timeout: 5 ms, buffer size: 32 bytes Sector Start Addresses: F8000000 F8020000 E F8040000 E F8060000 E F8080000 E F80A0000 E F80C0000 E F80E0000 E F8100000 E F8120000 E ... Bank # 2: CFI conformant flash (32 x 16) Size: 64 MB in 512 Sectors AMD Standard command set, Manufacturer ID: 0x01, Device ID: 0x227E1201 Erase timeout: 16384 ms, write timeout: 1 ms Buffer write timeout: 5 ms, buffer size: 32 bytes Sector Start Addresses: FC000000 FC020000 FC040000 E FC060000 E FC080000 E FC0A0000 E FC0C0000 E FC0E0000 E FC100000 E FC120000 E FC140000 E FC160000 E FC180000 E FC1A0000 E FC1C0000 E FC1E0000 E FC200000 E FC220000 E FC240000 E FC260000 E ... I think for the release it is best to revert the patch, to have working, stable code again, and then analyze the cause of the prolem and develop a fix. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de Lispers are among the best grads of the Sweep-It-Under-Someone- Else's-Carpet School of Simulated Simplicity. [Was that sufficiently incendiary? :-)] - Larry Wall in <1992jan10.201804.11...@netlabs.com _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot