On 10.08.2009 15:44, Stefan Reinauer wrote:
On 8/10/09 3:36 PM, Carl-Daniel Hailfinger wrote:
Use the correct reset sequence for 82802AB.
Were you able to test this? It seems the chip was tested as PREW before, so it seems the driver might have been ok as is..?
Well, the reset sequence before ID reading was correct, so ID always worked. But the reset sequence after ID reading was a copy-paste leftover from probe_jedec and didn't have any effect. I dug up flash_and_burn from the freebios-v1 tree and found out that 82802ab.c was indeed a copy of jedec.c with lots of experimental unannotated #if 0 and #if 1. About the wait_82802ab change: Before the patch, wait_82802ab entered read status mode, switched to ID mode, then tried an incorrect and unsupported JEDEC command to exit ID mode. Nobody ever saw that this failed because all subsequent function calls had the correct reset sequence at the beginning. With the patch, wait_82802ab enters read status mode, then switches back to read mode with the official reset command.
I hope the explanation above clears it up. If you want, I can insert the text above into the changelog upon commit.