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

Add support for the Microchip PICkit2 as an SPI programmer

This patch was inspired by the code in AVRDude (open source Atmel AVR
programmer) to support the PICkit2 written by Doug Brown [1]. The
Dediprog code in flashrom was used as the template for this code with
some reference to the ft2232 code as well.

[1] - https://github.com/steve-m/avrdude/blob/master/pickit2.c

Corresponding to flashrom svn r1881.

Signed-off-by: Justin Chevrier <jchevrier@gmail.com>
Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
This commit is contained in:
Justin Chevrier
2015-02-08 21:58:10 +00:00
committed by Stefan Tauner
parent 5673450316
commit 66e554bc88
5 changed files with 582 additions and 4 deletions

View File

@ -229,6 +229,8 @@ bitbanging adapter)
.sp
.BR "* mstarddc_spi" " (for SPI flash ROMs accessible through DDC in MSTAR-equipped displays)"
.sp
.BR "* pickit2_spi" " (for SPI flash ROMs accessible via Microchip PICkit2)"
.sp
Some programmers have optional or mandatory parameters which are described
in detail in the
.B PROGRAMMER-SPECIFIC INFORMATION
@ -736,6 +738,34 @@ More information about the Bus Pirate pull-up resistors and their purpose is ava
.BR "http://dangerousprototypes.com/docs/Practical_guide_to_Bus_Pirate_pull-up_resistors " .
Only the external supply voltage (Vpu) is supported as of this writing.
.SS
.BR "pickit2_spi " programmer
An optional
.B voltage
parameter specifies the voltage the PICkit2 should use. The default unit is Volt if no unit is specified.
You can use
.BR mV ", " millivolt ", " V " or " Volt
as unit specifier. Syntax is
.sp
.B " flashrom \-p pickit2_spi:voltage=value"
.sp
where
.B value
can be
.BR 0V ", " 1.8V ", " 2.5V ", " 3.5V
or the equivalent in mV.
.sp
An optional
.B spispeed
parameter specifies the frequency of the SPI bus. Syntax is
.sp
.B " flashrom \-p pickit2_spi:spispeed=frequency"
.sp
where
.B frequency
can be
.BR 250k ", " 333k ", " 500k " or " 1M "
(in Hz). The default is a frequency of 1 MHz.
.SS
.BR "dediprog " programmer
An optional
.B voltage
@ -992,7 +1022,7 @@ needs TCP access to the network or userspace access to a serial port.
.B buspirate_spi
needs userspace access to a serial port.
.sp
.BR dediprog ", " ft2232_spi " and " usbblaster_spi
.BR dediprog ", " ft2232_spi " and " usbblaster_spi and " pickit2_spi
need access to the USB device via libusb.
.sp
.B dummy
@ -1002,7 +1032,7 @@ needs no access permissions at all.
.BR gfxnvidia ", " drkaiser ", " satasii ", " satamv ", " atahpt" and " atavia
have to be run as superuser/root, and need additional raw access permission.
.sp
.BR serprog ", " buspirate_spi ", " dediprog ", " usbblaster_spi " and " ft2232_spi
.BR serprog ", " buspirate_spi ", " dediprog ", " usbblaster_spi " and " ft2232_spi and " pickit2_spi
can be run as normal user on most operating systems if appropriate device
permissions are set.
.sp