+Any "options" specified for a protocol decoder which are not actually
+supported options, will be interpreted as being channel name/number assignments.
+.sp
+Example:
+.sp
+ $
+.B "sigrok\-cli \-i <file.sr>"
+.br
+.B " \-P spi:wordsize=9:miso=1:mosi=5:clk=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 channel 1 as MISO signal for SPI, channel 5 as MOSI, channel 3
+as CLK, and channel 0 as CS# signal.
+.sp
+Notice that the
+.B sigrok\-cli
+application does not support "name matching". Instead it's assumed that the
+traces in the input stream match the order of the decoder's input signals,
+or that users explicitly specify the input channel to decoder signal mapping.
+.br
+.sp
+When multiple decoders are specified in the same
+.BR -P
+option, they will be stacked on top of each other in the specified order.
+.sp
+Example:
+.sp
+ $
+.B "sigrok\-cli \-i <file.sr> \-P i2c,eeprom24xx"
+.br
+ $
+.B "sigrok\-cli \-i <file.sr> \-P uart:baudrate=31250,midi"
+.sp
+When multiple
+.BR -P
+options are specified, each of them creates one decoder stack, which
+executes in parallel to other decoder stacks.
+.sp
+Example:
+.sp
+ $
+.B "sigrok\-cli \-i <file.sr> \-P uart:tx=D0:rx=D1 \-P timing:data=D2"
+.sp
+.TP
+.BR "\-A, \-\-protocol\-decoder\-annotations " <annotations>
+By default, all annotation output of all protocol decoders is
+shown. With this option a specific decoder's annotations can be selected for
+display, by specifying the decoder ID:
+.sp
+ $
+.B "sigrok\-cli \-i <file.sr> \-P i2c,i2cfilter,edid \-A i2c"
+.sp
+If a protocol decoder has multiple annotation classes, you can also specify
+which one 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=data\-read"
+.sp
+Select multiple annotation classes by separating them with a colon:
+.sp
+ $
+.B "sigrok\-cli \-i <file.sr> \-P i2c,i2cfilter,edid"
+.br
+.B " \-A i2c=data\-read:data\-write"
+.sp
+Annotation row names will resolve to their respective list of classes.
+Row and class names can be used in combination. When names are ambiguous
+then class names take precedence.
+.sp
+ $
+.B "sigrok\-cli \-i <file.sr> \-P i2c"
+.br
+.B " \-A i2c=addr\-data:warnings"
+.sp
+You can also select multiple protocol decoders, with optionally selected
+annotation classes each, by separating them with commas:
+.sp
+ $
+.B "sigrok\-cli \-i <file.sr> \-P i2c,i2cfilter,edid"
+.br
+.B " \-A i2c=data\-read:data\-write,edid"
+.TP
+.BR "\-M, \-\-protocol\-decoder\-meta " <pdname>
+When given, show protocol decoder meta output instead of annotations.
+The argument is the name of the decoder whose meta output to show.
+.sp
+ $
+.B "sigrok\-cli \-i <file.sr> \-M i2c"
+.sp
+Not every decoder generates meta output.
+.TP
+.BR "\-B, \-\-protocol\-decoder\-binary " <binaryspec>
+When given, decoder "raw" data of various kinds is written to stdout instead
+of annotations (this could be raw binary UART/SPI bytes, or WAV files, PCAP
+files, PNG files, or anything else; this is entirely dependent on the
+decoder and what kinds of binary output make sense for that decoder).
+.sp
+No other information is printed to stdout, so this is
+suitable for piping into other programs or saving to a file.
+.sp
+Protocol decoders that support binary output publish a list of binary
+classes, for example the UART decoder might have "TX" and "RX". To
+select TX for output, the argument to this option would be:
+.sp
+ $
+.B "sigrok\-cli \-i <file.sr> \-B uart=tx"
+.br
+.sp
+If only the protocol decoder is specified, without binary class, all classes
+are written to stdout:
+.sp
+ $
+.B "sigrok\-cli \-i <file.sr> \-B uart"
+.sp
+(this is only useful in rare cases, generally you would specify a certain
+binary class you're interested in)
+.sp
+Not every decoder generates binary output.
+.TP
+.BR "\-\-protocol\-decoder\-samplenum
+When given, decoder annotations will include sample numbers, too.
+This allows consumers to receive machine readable timing information.
+.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: