mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-27 23:22:37 +02:00
buspirate: Add psus option
This change adds a 'psus=<on|off>' option, to control the external Vcc state of the bus pirate, allowing hardware where the SPI flash chip is powered by the 3V3/5V lines directly. Change-Id: I8a7d4b40c0f7f04f6976f6757f05b61f2c9958f9 Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au> Reviewed-on: https://review.coreboot.org/c/flashrom/+/54887 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
This commit is contained in:
parent
bc31bd027d
commit
f9f9c9d2c6
@ -326,6 +326,7 @@ static int buspirate_spi_init(void)
|
|||||||
int serialspeed_index = -1;
|
int serialspeed_index = -1;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
int pullup = 0;
|
int pullup = 0;
|
||||||
|
int psu = 0;
|
||||||
unsigned char *bp_commbuf;
|
unsigned char *bp_commbuf;
|
||||||
int bp_commbufsize;
|
int bp_commbufsize;
|
||||||
|
|
||||||
@ -377,6 +378,17 @@ static int buspirate_spi_init(void)
|
|||||||
}
|
}
|
||||||
free(tmp);
|
free(tmp);
|
||||||
|
|
||||||
|
tmp = extract_programmer_param("psus");
|
||||||
|
if (tmp) {
|
||||||
|
if (strcasecmp("on", tmp) == 0)
|
||||||
|
psu = 1;
|
||||||
|
else if (strcasecmp("off", tmp) == 0)
|
||||||
|
; // ignore
|
||||||
|
else
|
||||||
|
msg_perr("Invalid psus state, not enabling.\n");
|
||||||
|
}
|
||||||
|
free(tmp);
|
||||||
|
|
||||||
/* Default buffer size is 19: 16 bytes data, 3 bytes control. */
|
/* Default buffer size is 19: 16 bytes data, 3 bytes control. */
|
||||||
#define DEFAULT_BUFSIZE (16 + 3)
|
#define DEFAULT_BUFSIZE (16 + 3)
|
||||||
bp_commbuf = malloc(DEFAULT_BUFSIZE);
|
bp_commbuf = malloc(DEFAULT_BUFSIZE);
|
||||||
@ -638,6 +650,10 @@ static int buspirate_spi_init(void)
|
|||||||
bp_commbuf[0] |= (1 << 2);
|
bp_commbuf[0] |= (1 << 2);
|
||||||
msg_pdbg("Enabling pull-up resistors.\n");
|
msg_pdbg("Enabling pull-up resistors.\n");
|
||||||
}
|
}
|
||||||
|
if (psu == 1) {
|
||||||
|
bp_commbuf[0] |= (1 << 3);
|
||||||
|
msg_pdbg("Enabling PSUs.\n");
|
||||||
|
}
|
||||||
ret = buspirate_sendrecv(bp_commbuf, 1, 1);
|
ret = buspirate_sendrecv(bp_commbuf, 1, 1);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
ret = 1;
|
ret = 1;
|
||||||
|
@ -952,7 +952,21 @@ can be
|
|||||||
More information about the Bus Pirate pull-up resistors and their purpose is available
|
More information about the Bus Pirate pull-up resistors and their purpose is available
|
||||||
.URLB "http://dangerousprototypes.com/docs/Practical_guide_to_Bus_Pirate_pull-up_resistors" \
|
.URLB "http://dangerousprototypes.com/docs/Practical_guide_to_Bus_Pirate_pull-up_resistors" \
|
||||||
"in a guide by dangerousprototypes" .
|
"in a guide by dangerousprototypes" .
|
||||||
Only the external supply voltage (Vpu) is supported as of this writing.
|
.sp
|
||||||
|
The state of the Bus Pirate power supply pins is controllable through an optional
|
||||||
|
.B psus
|
||||||
|
parameter. Syntax is
|
||||||
|
.sp
|
||||||
|
.B " flashrom -p buspirate_spi:psus=state"
|
||||||
|
.sp
|
||||||
|
where
|
||||||
|
.B state
|
||||||
|
can be
|
||||||
|
.BR on " or " off .
|
||||||
|
This allows the bus pirate to power the ROM chip directly. This may also be used to provide the
|
||||||
|
required pullup voltage (when using the
|
||||||
|
.B pullups
|
||||||
|
option), by connecting the Bus Pirate's Vpu input to the appropriate Vcc pin.
|
||||||
.SS
|
.SS
|
||||||
.BR "pickit2_spi " programmer
|
.BR "pickit2_spi " programmer
|
||||||
.IP
|
.IP
|
||||||
|
Loading…
x
Reference in New Issue
Block a user