mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-27 15:12:36 +02:00
Revert "ft2232_spi.c: Rename cs_bits to pinlvl"
This reverts commit 180079632b15758ca0bbbe5782611bd4573e11d8. The renaming only seemed to match the code because of earlier introduced regressions (see following reverts). For proper support of the `gpiol` feature, we'd likely need both a `cs_bits` and a `pinlvl` variable. Change-Id: Ifa5b2259ccf49ddf729d01176bacd94a95c39925 Signed-off-by: Nico Huber <nico.h@gmx.de> Reviewed-on: https://review.coreboot.org/c/flashrom/+/55691 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
This commit is contained in:
parent
821c334da2
commit
98bcd6d103
28
ft2232_spi.c
28
ft2232_spi.c
@ -86,7 +86,7 @@ static const struct dev_entry devs_ft2232spi[] = {
|
|||||||
#define BITMODE_BITBANG_NORMAL 1
|
#define BITMODE_BITBANG_NORMAL 1
|
||||||
#define BITMODE_BITBANG_SPI 2
|
#define BITMODE_BITBANG_SPI 2
|
||||||
|
|
||||||
/* The variables pinlvl and pindir store the values for the "set data bits low byte" MPSSE command that
|
/* The variables cs_bits and pindir store the values for the "set data bits low byte" MPSSE command that
|
||||||
* sets the initial state and the direction of the I/O pins. The pin offsets are as follows:
|
* sets the initial state and the direction of the I/O pins. The pin offsets are as follows:
|
||||||
* TCK/SK is bit 0.
|
* TCK/SK is bit 0.
|
||||||
* TDI/DO is bit 1.
|
* TDI/DO is bit 1.
|
||||||
@ -105,7 +105,7 @@ static const struct dev_entry devs_ft2232spi[] = {
|
|||||||
* dir: 0x0b CS=output, DI=input, DO=output, SK=output
|
* dir: 0x0b CS=output, DI=input, DO=output, SK=output
|
||||||
*/
|
*/
|
||||||
struct ft2232_data {
|
struct ft2232_data {
|
||||||
uint8_t pinlvl;
|
uint8_t cs_bits;
|
||||||
uint8_t pindir;
|
uint8_t pindir;
|
||||||
struct ftdi_context ftdic_context;
|
struct ftdi_context ftdic_context;
|
||||||
};
|
};
|
||||||
@ -226,7 +226,7 @@ static int ft2232_spi_send_multicommand(const struct flashctx *flash, struct spi
|
|||||||
|
|
||||||
msg_pspew("Assert CS#\n");
|
msg_pspew("Assert CS#\n");
|
||||||
buf[i++] = SET_BITS_LOW;
|
buf[i++] = SET_BITS_LOW;
|
||||||
buf[i++] = ~ 0x08 & spi_data->pinlvl; /* assert CS (3rd) bit only */
|
buf[i++] = ~ 0x08 & spi_data->cs_bits; /* assert CS (3rd) bit only */
|
||||||
buf[i++] = spi_data->pindir;
|
buf[i++] = spi_data->pindir;
|
||||||
|
|
||||||
/* WREN, OP(PROGRAM, ERASE), ADDR, DATA */
|
/* WREN, OP(PROGRAM, ERASE), ADDR, DATA */
|
||||||
@ -248,7 +248,7 @@ static int ft2232_spi_send_multicommand(const struct flashctx *flash, struct spi
|
|||||||
/* Add final de-assert CS# */
|
/* Add final de-assert CS# */
|
||||||
msg_pspew("De-assert CS#\n");
|
msg_pspew("De-assert CS#\n");
|
||||||
buf[i++] = SET_BITS_LOW;
|
buf[i++] = SET_BITS_LOW;
|
||||||
buf[i++] = spi_data->pinlvl;
|
buf[i++] = spi_data->cs_bits;
|
||||||
buf[i++] = spi_data->pindir;
|
buf[i++] = spi_data->pindir;
|
||||||
|
|
||||||
/* continue if there is no read-cmd and further cmds exist */
|
/* continue if there is no read-cmd and further cmds exist */
|
||||||
@ -316,7 +316,7 @@ static int ft2232_spi_init(void)
|
|||||||
char *arg;
|
char *arg;
|
||||||
double mpsse_clk;
|
double mpsse_clk;
|
||||||
|
|
||||||
uint8_t pinlvl = 0x08;
|
uint8_t cs_bits = 0x08;
|
||||||
uint8_t pindir = 0x0b;
|
uint8_t pindir = 0x0b;
|
||||||
struct ftdi_context ftdic;
|
struct ftdi_context ftdic;
|
||||||
struct ft2232_data *spi_data;
|
struct ft2232_data *spi_data;
|
||||||
@ -338,7 +338,7 @@ static int ft2232_spi_init(void)
|
|||||||
/* JTAGkey(2) needs to enable its output via Bit4 / GPIOL0
|
/* JTAGkey(2) needs to enable its output via Bit4 / GPIOL0
|
||||||
* value: 0x18 OE=high, CS=high, DI=low, DO=low, SK=low
|
* value: 0x18 OE=high, CS=high, DI=low, DO=low, SK=low
|
||||||
* dir: 0x1b OE=output, CS=output, DI=input, DO=output, SK=output */
|
* dir: 0x1b OE=output, CS=output, DI=input, DO=output, SK=output */
|
||||||
pinlvl = 0x18;
|
cs_bits = 0x18;
|
||||||
pindir = 0x1b;
|
pindir = 0x1b;
|
||||||
} else if (!strcasecmp(arg, "picotap")) {
|
} else if (!strcasecmp(arg, "picotap")) {
|
||||||
ft2232_vid = GOEPEL_VID;
|
ft2232_vid = GOEPEL_VID;
|
||||||
@ -356,7 +356,7 @@ static int ft2232_spi_init(void)
|
|||||||
/* In its default configuration it is a jtagkey clone */
|
/* In its default configuration it is a jtagkey clone */
|
||||||
ft2232_type = FTDI_FT2232H_PID;
|
ft2232_type = FTDI_FT2232H_PID;
|
||||||
channel_count = 2;
|
channel_count = 2;
|
||||||
pinlvl = 0x18;
|
cs_bits = 0x18;
|
||||||
pindir = 0x1b;
|
pindir = 0x1b;
|
||||||
} else if (!strcasecmp(arg, "openmoko")) {
|
} else if (!strcasecmp(arg, "openmoko")) {
|
||||||
ft2232_vid = FIC_VID;
|
ft2232_vid = FIC_VID;
|
||||||
@ -369,7 +369,7 @@ static int ft2232_spi_init(void)
|
|||||||
/* arm-usb-ocd(-h) has an output buffer that needs to be enabled by pulling ADBUS4 low.
|
/* arm-usb-ocd(-h) has an output buffer that needs to be enabled by pulling ADBUS4 low.
|
||||||
* value: 0x08 #OE=low, CS=high, DI=low, DO=low, SK=low
|
* value: 0x08 #OE=low, CS=high, DI=low, DO=low, SK=low
|
||||||
* dir: 0x1b #OE=output, CS=output, DI=input, DO=output, SK=output */
|
* dir: 0x1b #OE=output, CS=output, DI=input, DO=output, SK=output */
|
||||||
pinlvl = 0x08;
|
cs_bits = 0x08;
|
||||||
pindir = 0x1b;
|
pindir = 0x1b;
|
||||||
} else if (!strcasecmp(arg, "arm-usb-tiny")) {
|
} else if (!strcasecmp(arg, "arm-usb-tiny")) {
|
||||||
ft2232_vid = OLIMEX_VID;
|
ft2232_vid = OLIMEX_VID;
|
||||||
@ -380,7 +380,7 @@ static int ft2232_spi_init(void)
|
|||||||
ft2232_type = OLIMEX_ARM_OCD_H_PID;
|
ft2232_type = OLIMEX_ARM_OCD_H_PID;
|
||||||
channel_count = 2;
|
channel_count = 2;
|
||||||
/* See arm-usb-ocd */
|
/* See arm-usb-ocd */
|
||||||
pinlvl = 0x08;
|
cs_bits = 0x08;
|
||||||
pindir = 0x1b;
|
pindir = 0x1b;
|
||||||
} else if (!strcasecmp(arg, "arm-usb-tiny-h")) {
|
} else if (!strcasecmp(arg, "arm-usb-tiny-h")) {
|
||||||
ft2232_vid = OLIMEX_VID;
|
ft2232_vid = OLIMEX_VID;
|
||||||
@ -473,7 +473,7 @@ static int ft2232_spi_init(void)
|
|||||||
return -2;
|
return -2;
|
||||||
} else {
|
} else {
|
||||||
unsigned int pin = temp + 4;
|
unsigned int pin = temp + 4;
|
||||||
pinlvl |= 1 << pin;
|
cs_bits |= 1 << pin;
|
||||||
pindir |= 1 << pin;
|
pindir |= 1 << pin;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -490,11 +490,11 @@ static int ft2232_spi_init(void)
|
|||||||
unsigned int pin = i + 4;
|
unsigned int pin = i + 4;
|
||||||
switch (toupper(arg[i])) {
|
switch (toupper(arg[i])) {
|
||||||
case 'H':
|
case 'H':
|
||||||
pinlvl |= 1 << pin;
|
cs_bits |= 1 << pin;
|
||||||
pindir |= 1 << pin;
|
pindir |= 1 << pin;
|
||||||
break;
|
break;
|
||||||
case 'L':
|
case 'L':
|
||||||
pinlvl &= ~(1 << pin);
|
cs_bits &= ~(1 << pin);
|
||||||
pindir |= 1 << pin;
|
pindir |= 1 << pin;
|
||||||
break;
|
break;
|
||||||
case 'Z':
|
case 'Z':
|
||||||
@ -600,7 +600,7 @@ static int ft2232_spi_init(void)
|
|||||||
|
|
||||||
msg_pdbg("Set data bits\n");
|
msg_pdbg("Set data bits\n");
|
||||||
buf[0] = SET_BITS_LOW;
|
buf[0] = SET_BITS_LOW;
|
||||||
buf[1] = pinlvl;
|
buf[1] = cs_bits;
|
||||||
buf[2] = pindir;
|
buf[2] = pindir;
|
||||||
if (send_buf(&ftdic, buf, 3)) {
|
if (send_buf(&ftdic, buf, 3)) {
|
||||||
ret = -8;
|
ret = -8;
|
||||||
@ -612,7 +612,7 @@ static int ft2232_spi_init(void)
|
|||||||
msg_perr("Unable to allocate space for SPI master data\n");
|
msg_perr("Unable to allocate space for SPI master data\n");
|
||||||
return SPI_GENERIC_ERROR;
|
return SPI_GENERIC_ERROR;
|
||||||
}
|
}
|
||||||
spi_data->pinlvl = pinlvl;
|
spi_data->cs_bits = cs_bits;
|
||||||
spi_data->pindir = pindir;
|
spi_data->pindir = pindir;
|
||||||
spi_data->ftdic_context = ftdic;
|
spi_data->ftdic_context = ftdic;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user