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

ft2232_spi: reintroduce generic GPIOL control

This reintroduces a reworked version of the GPIOL pin control first
introduced in commit 3207844 (CB:49637), which was reverted in commit
6518cf3 (CB:55692) due to breakage.

This change introduces a new argument `gpiolX` to allow use of the four
GPIOL pins either as generic gpios or as additional CS# signal(s). `X`
specifies the GPIOL pin (0-3) to be set to one of [HLC] with the
following meaning:

 * H - set the pin as output high
 * L - set the pin as output low
 * C - use the pin as additional CS# signal

The third value, `C`, aims to replace the parameter `csgpiol`, that is
now marked as deprecated and can be removed at some point in the future.
`gpiol` and `csgpiol` are mutually exclusive and use of both results in
an error.

Multiple pins may be set by specifying the parameter multiple times.

Documentation was updated/added accordingly.

Test: All pin levels/modes have been verified to behave correctly with a
      logic analyzer.

Change-Id: I3989f0f9596c090de52dca67183b1363dae59d3a
Signed-off-by: Alan Green <avg@google.com>
Signed-off-by: Michael Niewöhner <foss@mniewoehner.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/57810
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
This commit is contained in:
Michael Niewöhner
2021-09-21 20:15:32 +02:00
committed by Nico Huber
parent 106f097ef6
commit 7b9c74f496
2 changed files with 109 additions and 9 deletions

View File

@ -883,12 +883,42 @@ parameter with the
syntax.
.sp
Using the parameter
.B csgpiol
.B csgpiol (DEPRECATED - use gpiol instead)
an additional CS# pin can be chosen, where the value can be a number between 0 and 3, denoting GPIOL0-GPIOL3
correspondingly. Example:
.sp
.B " flashrom \-p ft2232_spi:csgpiol=3"
.sp
The parameter
.B gpiolX=[HLC]
allows use of the GPIOL pins either as generic gpios with a fixed value during flashing or as addtional CS#
signal, where
.B X
can be a number between 0 and 3, denoting GPIOL0-GPIOL3 correspondingly. The parameter may be specified
multiple times, one time per GPIOL pin.
Valid values are
.B H
,
.B L
and
.B C
:
.br
.B " H "
- Set GPIOL output high
.br
.B " L "
- Set GPIOL output low
.br
.B " C "
- Use GPIOL as additional CS# output
.sp
.B Example:
.sp
.B " flashrom \-p ft2232_spi:gpiol0=H"
.sp
.B Note
that not all GPIOL pins are freely usable with all programmers as some have special functionality.
.SS
.BR "serprog " programmer
.IP