1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-26 22:52:34 +02:00

doc: Add doc for buspirate programmer

Doc migrated from the wiki page:
https://wiki.flashrom.org/Bus_Pirate

Change-Id: I5a57f08ea3fce0c78d73aa61b85ff7b0cff450b8
Signed-off-by: Anastasia Klimchuk <aklm@flashrom.org>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/83471
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: David Reguera Garcia (Dreg) <regueragarciadavid@gmail.com>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
Anastasia Klimchuk 2024-07-15 22:12:13 +10:00
parent d611c31447
commit d99afdc026
5 changed files with 79 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View File

@ -0,0 +1,78 @@
==========
Bus Pirate
==========
The `Bus Pirate <http://dangerousprototypes.com/docs/Bus_Pirate>`_ is an open source design
for a multi-purpose chip-level serial protocol transceiver and debugger.
flashrom supports the Bus Pirate for `SPI programming <http://dangerousprototypes.com/docs/SPI>`_.
It also has `SPI sniffing <http://dangerousprototypes.com/docs/Bus_Pirate_binary_SPI_sniffer_utility>`_
functionality, which may come in useful for analysing chip or programmer behaviour.
They are available for around US$30 from various sources.
Connections
===========
The table below shows how a typical SPI flash chip (sitting in the center of the table)
needs to be connected (NB: not all flash chips feature all of the pins below, but in general
you should always connect all input pins of ICs to some defined potential (usually GND or VCC),
ideally with a pull-up/down resistor in between). Most SPI flash chips require a 3.3V supply voltage,
but there exist some models that use e.g. 1.8V. Make sure the device in question is compatible
before connecting any wires.
*NB: Some rather rare SPI flash chips (e.g. Atmel AT45DB series) have a completely different layout, please beware.*
+----------------------+------------+------+---------------------------------+------+------------+-----------------------------+
| Description | Bus Pirate | Dir. | Flash chip | Dir. | Bus Pirate | Description |
+======================+============+======+===+===========+=============+===+======+============+=============================+
| (not) Chip Select | CS | → | 1 | /CS | VCC | 8 | ← | +3.3v | Supply |
+----------------------+------------+------+---+-----------+-------------+---+------+------------+-----------------------------+
| Master In, Slave Out | MISO | ← | 2 | DO (IO1) | /HOLD (IO3) | 7 | ← | +3.3v | (not) hold (see datasheets) |
+----------------------+------------+------+---+-----------+-------------+---+------+------------+-----------------------------+
| (not) Write Protect | +3.3v | → | 3 | /WP (IO2) | CLK | 6 | ← | CLK | The SPI clock |
+----------------------+------------+------+---+-----------+-------------+---+------+------------+-----------------------------+
| Ground | GND | → | 4 | GND | DI (IO0) | 5 | ← | MOSI | Master Out, Slave In |
+----------------------+------------+------+---+-----------+-------------+---+------+------------+-----------------------------+
Usage
=========
::
$ flashrom -p buspirate_spi:dev=/dev/device,spispeed=frequency
Example::
$ flashrom -p buspirate_spi:dev=/dev/ttyUSB0,spispeed=1M
Troubleshooting
===============
In case of problems probing the chip with flashrom - especially when connecting chips
still soldered in a system - please take a look at the doc :doc:`/user_docs/in_system`. In-system programming is often possible
**only as long as no other devices on the SPI bus are trying to access the device**.
Speedup
=========
A beta firmware build exists, to speed up the buspirate.
`See this post on dangerousprototypes.com <http://dangerousprototypes.com/forum/viewtopic.php?f=40&t=3864&start=15#p41505>`_
See also: http://dangerousprototypes.com/docs/Bus_Pirate#Firmware_upgrades
Images
==========
Bus Pirate v3, front.
.. image:: Buspirate_v3_front.jpg
Bus Pirate v3, back.
.. image:: Buspirate_v3_back.jpg
Recovering a bricked Lycom PE-115 88SE8123 PCIe to SATA adapter using flashrom and a Bus Pirate - power to the
PE-115 is supplied by a PC. The test probes of the bus pirate are attached directly to the SOIC Atmel AT26F004 SPI flash chip.
The other test clip is connected to GND on another device for convenience (easier than getting yet another clip onto a SOIC device).
.. image:: Lycom-pe115-flashrom-buspirate-2.jpg

View File

@ -15,5 +15,6 @@ Patches to add/update documentation, or migrate docs from `old wiki website <htt
.. toctree::
:maxdepth: 1
buspirate
dummyflasher
serprog/index