FT2232SPI Programmer: Difference between revisions

From flashrom
Jump to navigation Jump to search
(Replaced content with "{{#externalredirect: https://www.flashrom.org/supported_hw/supported_prog/ft2232_spi.html }}")
Tag: Replaced
 
(46 intermediate revisions by 7 users not shown)
Line 1: Line 1:
Recent versions of [[flashrom]] support the '''-p ft2232spi''' option which allows you to use a '''FTDI FT2232H/FT4232H''' based device as external SPI programmer.
{{#externalredirect: https://www.flashrom.org/supported_hw/supported_prog/ft2232_spi.html }}
 
This is made possible by using [http://www.intra2net.com/en/developer/libftdi/ libftdi]. flashrom autodetects the presence of libftdi headers and enables FT2232H/FT4232H support if they are available.
 
= DLP Design DLP-USB1232H =
 
The [http://www.dlpdesign.com/usb/usb1232h.shtml DLP Design DLP-USB1232H] ([http://www.dlpdesign.com/usb1232h-ds-v10.pdf datasheet]) can be used with flashrom for programming SPI chips.
 
Where to buy: [http://digikey.com/scripts/dksus.dll?Detail&name=813-1026-ND Digikey], [http://de.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMt/5FJRvmqHBjWi/VTYGDW6 Mouser], [http://www.saelig.com/product/UB068.htm Saelig]
 
== Setup ==
 
[[File:Dlp usb1232h spi programmer.jpg|300px|right|thumb|DLP-USB1232H based SPI programmer schematics]]
 
In order to use the DLP-USB1232H device as SPI programmer you have to setup a small circuit (e.g. on a breadboard). See the schematics for details (you can also [http://www.coreboot.org/images/2/26/Dlp_usb1232h_spi_programmer.pdf download the schematics as PDF] for easier printing).
 
* You must connect/shorten '''pins 8 and 9''', which configures the device to be powered by USB. Without this connection it will not be powered, and thus not be detected by your OS (e.g. it will not appear in the '''lsusb''' output).
* You need a 3.3V voltage regulator to convert the 5V from USB to 3.3V, so you can power the 3.3V SPI BIOS chip.
** You can probably use pretty much any 3.3V voltage regulator, e.g. '''LD33V''' or '''LD1117xx'''. For usage on a breadboard the TO-220 packaging is probably most useful.
** You have to connect two capacitors (e.g. 100nF and 10uF as per datasheets, but using two 10uF capacitors, or even two 47uF capacitors also works in practice) as shown in the schematics, otherwise the voltage regulator will not work correctly and reliably.
* Connect the following pins from the DLP-USB1232H to the SPI BIOS chip:
** '''18 (SK)''' to '''SCLK'''
** '''16 (DO)''' to '''SI'''
** '''2 (DI)''' to '''SO'''
** '''5 (CS)''' to '''CS#'''
** The '''WP# and HOLD#''' pins should be tied to '''VCC'''! If you leave them unconnected you'll likely experience strange issues.
** All '''GND''' pins should be connected together ('''pins 1 and 10''' on the DLP-USB1232H, '''pin 8''' on the SPI chip, '''pin 1''' on the voltage regulator).
 
You have to invoke flashrom with the following parameters:
 
$ '''flashrom -p ft2232spi:ft2232_type=2232:port=A'''
 
== Photos ==
 
<gallery>
File:Dlp usb1232h side.jpg
File:Dlp usb1232h bottom.jpg
File:Via epia m700 bios.jpg
File:Via epia m700 programer.jpg
File:Ft2232spi programer.jpg
File:Dlp usb1232h spi programmer breadboard 1.jpg
File:Dlp usb1232h spi programmer breadboard 2.jpg
</gallery>
 
= FTDI FT2232H Mini-Module =
 
The [http://www.ftdichip.com/Products/EvaluationKits/FT2232H_MiniModule.htm FTDI FT2232H Mini-Module Evaluation Kit] ([http://www.ftdichip.com/Documents/DataSheets/DS_FT2232H_V205.pdf datasheet]) can be used with flashrom for programming SPI chips.
 
Where to buy: [http://apple.clickandbuild.com/cnb/shop/ftdichip?op=catalogue-products-null&prodCategoryID=74&title=FT2232H+Modules FTDI]
 
= FTDI FT4232H Mini-Module =
 
The [http://www.ftdichip.com/Products/EvaluationKits/FT4232H_MiniModule.htm FTDI FT4232H Mini-Module Evaluation Kit] ([http://www.ftdichip.com/Documents/DataSheets/DS_FT4232H_V205.pdf datasheet]) can be used with flashrom for programming SPI chips.
 
Where to buy: [http://apple.clickandbuild.com/cnb/shop/ftdichip?op=catalogue-products-null&prodCategoryID=75&title=FT4232H+Module FTDI]

Latest revision as of 20:18, 25 September 2024