1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-07-02 22:43:17 +02:00

Add initial J-Link SPI programmer

Tested with SEGGER J-Link EDU, Flasher ARM and flash chip W25Q16.V.

Change-Id: Ie03a054a75457ec9e1cab36ea124bb53b10e8d7e
Signed-off-by: Marc Schink <flashrom-dev@marcschink.de>
Reviewed-on: https://review.coreboot.org/c/28087
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
This commit is contained in:
Marc Schink
2016-03-17 16:23:03 +01:00
committed by Nico Huber
parent 9cecc7e25d
commit 3578ec6a3d
6 changed files with 592 additions and 1 deletions

View File

@ -331,6 +331,8 @@ bitbanging adapter)
.sp
.BR "* digilent_spi" " (for SPI flash ROMs attached to iCEblink40 development boards)"
.sp
.BR "* jlink_spi" " (for SPI flash ROMs attached to SEGGER J-Link and compatible devices)"
.sp
Some programmers have optional or mandatory parameters which are described
in detail in the
.B PROGRAMMER-SPECIFIC INFORMATION
@ -1131,6 +1133,60 @@ can be
(in Hz). The default is a frequency of 4 MHz.
.sp
.SS
.BR "jlink_spi " programmer
.IP
This module supports SEGGER J-Link and compatible devices.
The \fBMOSI\fP signal of the flash chip must be attached to \fBTDI\fP pin of
the programmer, \fBMISO\fP to \fBTDO\fP and \fBSCK\fP to \fBTCK\fP.
The chip select (\fBCS\fP) signal of the flash chip can be attached to
different pins of the programmer which can be selected with the
.sp
.B " flashrom \-p jlink_spi:cs=pin"
.sp
syntax where \fBpin\fP can be either \fBTRST\fP or \fBRESET\fP.
The default pin for chip select is \fBRESET\fP.
Note that, when using \fBRESET\fP, it is normal that the indicator LED blinks
orange or red.
.br
Additionally, the \fBVTref\fP pin of the programmer must be attached to the
logic level of the flash chip.
The programmer measures the voltage on this pin and generates the reference
voltage for its input comparators and adapts its output voltages to it.
.sp
Pinout for devices with 20-pin JTAG connector:
.sp
+-------+
| 1 2 | 1: VTref 2:
| 3 4 | 3: TRST 4: GND
| 5 6 | 5: TDI 6: GND
+-+ 7 8 | 7: 8: GND
| 9 10 | 9: TCK 10: GND
| 11 12 | 11: 12: GND
+-+ 13 14 | 13: TDO 14:
| 15 16 | 15: RESET 16:
| 17 18 | 17: 18:
| 19 20 | 19: PWR_5V 20:
+-------+
.sp
If there is more than one compatible device connected, you can select which one
should be used by specifying its serial number with the
.sp
.B " flashrom \-p jlink_spi:serial=number"
.sp
syntax where
.B number
is the serial number of the device (which can be found for example in the
output of lsusb -v).
.sp
The SPI speed can be selected by using the
.sp
.B " flashrom \-p jlink_spi:spispeed=frequency"
.sp
syntax where \fBfrequency\fP is the SPI clock frequency in kHz.
The maximum speed depends on the device in use.
.SS
.SH EXAMPLES
To back up and update your BIOS, run
.sp