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>
Original-Reviewed-on: https://review.coreboot.org/c/flashrom/+/57810
Original-Reviewed-by: Nico Huber <nico.h@gmx.de>
diff --git a/flashrom.8.tmpl b/flashrom.8.tmpl
index 9f4493c..cb56939 100644
--- a/flashrom.8.tmpl
+++ b/flashrom.8.tmpl
@@ -814,12 +814,42 @@
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