+that came before the trigger (but the hardware delivers this data to sigrok
+nonetheless).
+.TP
+.BR "\-P, \-\-protocol\-decoders " <list>
+This option allows the user to specify a comma-separated list of protocol
+decoders to be used in this session. The decoders are specified by their
+ID, as shown in the
+.B \-\-version
+output.
+.sp
+Example:
+.sp
+ $
+.B "sigrok\-cli \-i <file.sr> \-P i2c"
+.sp
+Each protocol decoder can optionally be followed by a colon-separated list
+of options, where each option takes the form
+.BR "key=value" .
+.sp
+Example:
+.sp
+ $
+.B "sigrok\-cli \-i <file.sr> \-P uart:baudrate=115200:parity=odd"
+.sp
+The list of supported options depends entirely on the protocol decoder. Every
+protocol decoder has different options it supports.
+.sp
+Any "options" specified for a protocol decoder which are not actually
+supported options, will be interpreted as being probe name/number assignments.
+.sp
+Example:
+.sp
+ $
+.B "sigrok\-cli \-i <file.sr>"
+.br
+.B " \-P spi:wordsize=9:miso=1:mosi=5:sck=3:cs=0"
+.sp
+In this example,
+.B wordsize
+is an option supported by the
+.B spi
+protocol decoder. Additionally, the user tells sigrok to decode the SPI
+protocol using probe 1 as MISO signal for SPI, probe 5 as MOSI, probe 3
+as SCK, and probe 0 as CS# signal.
+.TP
+.BR "\-S, \-\-protocol\-decoder\-stack " <stack>
+This option allows the user to specify a protocol decoder stack, i.e.
+the way in which one protocol decoder's output gets piped into another
+protocol decoder. If not specified, the stack will be set up in the same
+order in which the protocol decoders were given with the
+.B \-\-protocol-decoders
+option.
+.sp
+The decoders are specified by their ID, as shown in the
+.B \-\-version
+output. In addition to the
+.B \-S
+option, all protocol decoders that are used in a stack, must also be specified
+(together with their options, if any) using the
+.B \-A
+parameter.
+.sp
+Example:
+.sp
+ $
+.B "sigrok\-cli \-i <file.sr> \-A i2c:sda=4:scl=7,rtc8564"
+.br
+.B " \-S i2c,rtc8564"
+.sp
+In this example, the
+.B \-S
+option specifies that the output of the
+.BR i2c " decoder"
+is piped into the
+.BR rtc8564 " decoder,"
+i.e., the
+.BR rtc8564 " decoder"
+is stacked on top of the
+.BR i2c " decoder."
+.sp
+The respective protocol decoder options and probe name/number assignments
+must be given using the
+.B \-P
+option (you cannot specify them in the
+.B \-S
+option).
+.TP
+.BR "\-A, \-\-protocol\-decoder\-annotations " <annotations>
+By default, only the stack's topmost protocol decoder's annotation output is
+shown. With this option another decoder's annotation can be selected for
+display, by specifying its ID:
+.sp
+ $
+.B "sigrok\-cli \-i <file.sr> \-P i2c,i2cfilter,edid -A i2c"
+.sp
+If a protocol decoder has multiple annotation formats, you can also specify
+which of them to show by specifying its short description like this:
+.sp
+ $
+.B "sigrok\-cli \-i <file.sr> \-P i2c,i2cfilter,edid"
+.br
+.B " \-A i2c=rawhex"
+.sp
+You can also select multiple protocol decoders, with an optional selected
+annotation format each, by separating them with commas:
+.sp
+ $
+.B "sigrok\-cli \-i <file.sr> \-P i2c,i2cfilter,edid"
+.br
+.B " \-A i2c=rawhex,edid"
+.TP
+.BR "\-l, \-\-loglevel " <level>
+Set the libsigrok and libsigrokdecode loglevel. At the moment \fBsigrok-cli\fP
+doesn't support setting the two loglevels independently. The higher the
+number, the more debug output will be printed. Valid loglevels are:
+.sp
+\fB0\fP None
+.br
+\fB1\fP Error
+.br
+\fB2\fP Warnings
+.br
+\fB3\fP Informational
+.br
+\fB4\fP Debug
+.br
+\fB5\fP Spew
+.TP
+.B "\-\-show"
+.br
+Show information about the selected option. For example, to see options for a
+connected fx2lafw device:
+.sp
+ $
+.B "sigrok\-cli \-\-driver fx2lafw \-\-show
+.sp
+In order to properly get device options for your hardware, some drivers might
+need a serial port specified:
+.sp
+ $
+.B "sigrok\-cli \-\-driver ols:conn=/dev/ttyACM0 \-\-show
+.sp
+To view the documentation for a protocol decoder:
+.sp
+ $
+.B "sigrok\-cli \-\-protocol-decoders i2c \-\-show
+.TP
+.B "\-\-scan"
+Scan for devices that can be detected automatically.
+.sp
+Example:
+.sp
+ $
+.B "sigrok\-cli \-\-scan
+.br
+ The following devices were found:
+.br
+ Demo device with 8 probes: 0 1 2 3 4 5 6 7
+.br
+ ChronoVu LA8 with 8 probes: 0 1 2 3 4 5 6 7
+.br
+ ALSA: HDA ATI SB ALC270 Analog with 2 probes: Ch_0 Ch_1
+.br
+ Saleae Logic with 8 probes: 0 1 2 3 4 5 6 7
+.sp
+However, not all devices are auto-detectable (e.g. serial port based ones).
+For those you'll have to provide a \fBconn\fP option, see above.
+.sp
+ $
+.B "sigrok\-cli \-\-driver digitek-dt4000zc:conn=/dev/ttyUSB0 \-\-scan
+.br
+ The following devices were found:
+.br
+ Digitek DT4000ZC with 1 probe: P1