Hi at ALL.
I recently worked on a Teclast X98 3G with a W25Q64FW on board, it's an 1.8V 64M-BIT serial flash memory with dual/quad SPI.
FLashrom supports this particular memory with BP4 too.
My problem is the 1.8V voltage level for SPI communication. I bought a level shifter on ebay to support this feature, but this module seems too much poor.
Indeed, his bandwidth should support 1MHz without problem, but I think it's based on a fake BSS138, so at the end I cannot run at 1MHz, if I don't fix LV=2.88V.
In this case the signal in output is 1.8V fixed, when it working, but all other signals reach 2.88V in stand by mode. It's so dangerous for a bus that works at 1.8V fixed a level of 2.88V!
It'd be much more easy if I could set up the "open drain" function of BP, "pullups on" and fix level voltage of signal with VPU=1.8V from the outside.
The inline command to start the pull-ups with flashrom is "pullups=on", but that's useless without a command to set up the "Open drain" mode! I don't know if there is a command like this.
Do you have any solutions?
Select output type:
1. Open drain (H=Hi-Z, L=GND)
2. Normal (H=3.3V, L=GND)
All right, people, good news! I made a patch for flashrom's buspirate driver. It works, but not all communication pins work at the same time.
If I select the configuration (through terminal or new flashrom commands implemented there're no difference) pullups=on power=off open-drain=on, set up VPU=1.8V, then the bus lines that haven't problems are CS and MISO.
If I set up pullups=off power=off open-drain=on and I insert 4 external pullup resistors on CLK CS MISO and MOSI, CLK CS MISO are OK and work at 1.8V, instead the MISO pin remains at 3.3V of signal amplitude (idem before).
- or the 74HC4066D is damaged
- or the beta firmware onboard has some bugs
The on board fimware version of my BP4 is the 6.2beat1. If you have any news about some problem with Hiz mode, please answer me asap.
[quote author="tayken"]Don't know how flashrom sets the pin, have to check out the source to see the commands sent to the BP. Using pullup resistors and high impedance output is a way but I don't know if 1.8 V will be enough to register as logic 1.[/quote]
[quote author="biosflasher"]Activate pullups (only for the current run):
flashrom -p buspirate_spi:pullups=on <other arguments>
That said, I don't know if you'll get reliable readings at such low voltage levels.
Please note that using flashrom 0.9.7 (recently released) and Bus Pirate firmware 6.2 (or later) is recommended for optimal performance and for the pullup feature.[/quote]tayken biosflasher
, you may be interested to my patch. Do you have an answer to my problem?
At the end I wrote successfully the eeprom on my Teclast X98 3G. The patch I made for flashrom works properly. I untested completely the open drain command for the problem on 74HC4066D... but I want to change the chip in the next future to be sure even about this fact!
All information about right method to write the W25Q64FW on Teclast mainboard will be reported on my blog (creativityslashdesign.tk (http://http://creativityslashdesign.tk/)) asap.
Thank for your attention :D
Good job cosmok82. I was not following the forum for a while so I missed these posts.
I don't use flashrom for anything (yet) but some people do. So it may be good to zip the patch files and upload them here. Or you can contact the flashrom guys directly so that they can include your changes. When you have your blog post up, please put a link here too. :)
As you wish :D
Unbrick a Teclast X98 BIOS with Bus Pirate 4 and Flashrom (http://http://goo.gl/LqkBQq)
Download our APP to keep in touch with everything we are doing!