I'm having a problem with my EN25F16 flashrom:
>flashrom.exe -p buspiratespi:dev=COM5 -c EN25F16 -V
flashrom v0.9.1-r905
SPI speed is 8MHz
Raw bitbang mode version 1
Raw SPI mode version 1
Calibrating delay loop... 682M loops per second, 100 myus = 0 us. OK.
Probing for Eon EN25F16, 2048 KB: RDID returned 0x1f 0xff 0xff. probe_spi_rdid_g
eneric: id1 0x1f, id2 0xffff
No EEPROM/flash device found.
If you know which flash chip you have, and if this version of flashrom
supports a similar flash chip, you can try to force read your chip. Run:
flashrom -f -r -c similar_supported_flash_chip filename
Note: flashrom can never write when the flash chip isn't found automatically.
Raw bitbang mode version 1
Bus Pirate shutdown completed.
As you can see, the Flash doesn't identify correctly, only the first byte is correct, the other bytes are all high (FF).
However, if i try to read the ID using the buspirate prompt, it identifies correctly!
READ: 0x1C 0x3F 0xFF 0xFF
Using the prompt the buspirate reads the second byte correctly.
Here is the full command sequence I used:
HiZ> m
1. HiZ
2. 1-WIRE
3. UART
4. I2C
5. SPI
6. 2WIRE
7. 3WIRE
8. KEYB
9. LCD
x. exit(without change)
(1)> 5
Set speed:
1. 30KHz
2. 125KHz
3. 250KHz
4. 1MHz
(1)> 4
Clock polarity:
1. Idle low *default
2. Idle high
(1)> 1
Output clock edge:
1. Idle to active
2. Active to idle *default
(2)> 1
Input sample phase:
1. Middle *default
2. End
(1)> 1
Select output type:
1. Open drain (H=Hi-Z, L=GND)
2. Normal (H=3.3V, L=GND)
(1)> 2
Ready.
SPI> W
POWER SUPPLIES ON
SPI> [0x9f r:4]
CS ENABLED
WRITE: 0x9F
READ: 0x1C 0x3F 0xFF 0xFF
CS DISABLED
SPI>
I also tried using flashrom at 1MHz like i did on the prompt but it still fialed to read the second byte.
My conclusion is that the flashrom program has to have some bug in it. Can you help me?