blob: 9fcb1ad3464a165e690791b65691a829d6d4f306 [file] [log] [blame]
.\" Load the www device when using groff; provide a fallback for groff's MTO macro that formats email addresses.
.ie \n[.g] \
. mso www.tmac
.el \{
. de MTO
\\$2 \(la\\$1 \(ra\\$3 \
. .
.\}
.\" Create wrappers for .MTO and .URL that print only text on systems w/o groff or if not outputting to a HTML
.\" device. To that end we need to distinguish HTML output on groff from other configurations first.
.nr groffhtml 0
.if \n[.g] \
. if "\*[.T]"html" \
. nr groffhtml 1
.\" For code reuse it would be nice to have a single wrapper that gets its target macro as parameter.
.\" However, this did not work out with NetBSD's and OpenBSD's groff...
.de URLB
. ie (\n[groffhtml]==1) \{\
. URL \\$@
. \}
. el \{\
. ie "\\$2"" \{\
. BR "\\$1" "\\$3"
. \}
. el \{\
. RB "\\$2 \(la" "\\$1" "\(ra\\$3"
. \}
. \}
..
.de MTOB
. ie (\n[groffhtml]==1) \{\
. MTO \\$@
. \}
. el \{\
. ie "\\$2"" \{\
. BR "\\$1" "\\$3"
. \}
. el \{\
. RB "\\$2 \(la" "\\$1" "\(ra\\$3"
. \}
. \}
..
.TH FLASHPROG-CONFIG 8 "@MAN_DATE@" "flashprog-config-@VERSION@" "@MAN_DATE@"
.SH NAME
flashprog-config \- read and write status and configuration registers of flash chips
.SH SYNOPSIS
.I flashprog config \fR[\fIget\fR] <options> <setting>
.br
.I flashprog config \ set \ \fR<options> [\fB\-\-temporary\fR] <setting> <value>
.sp
Where generic <options> are:
.RS 4
\fB\-p\fR <programmername>[:<parameters>] [\fB\-c\fR <chipname>]
.br
[\fB\-V\fR[\fBV\fR[\fBV\fR]]] [\fB-o\fR <logfile>] [\fB\-h\fR]
.RE
.SH DESCRIPTION
.B flashprog-config
is a utility for reading and writing status and configuration register
bits of flash chips. Currently, it supports only SPI NOR chips.
.SH OPERATIONS
You can specify one of
.BR get " or " set ", "
or no operation which defaults to reading a setting.
.PP
.BR get " <setting>"
.RS 4
Read and print the value of the given setting. See
.BR SETTINGS " below."
.RE
.PP
.BR set " [" \-\-temporary "] <setting> <value>"
.RS 4
Write the given value to the setting. See
.BR SETTINGS " and " VALUES " below."
.sp
When the
.B \-\-temporary
option is provided, flashprog will attempt to write a temporary
value that is not stored to flash. This requires special support
by the flash chip for a volatile write status register command.
The new value will be lost upon reset of the flash chip. Hence,
it is futile to use this with external programmers that toggle
power to the flash chip (e.g. Dediprog).
.RE
.SH SETTINGS
.PP
.B qe, quad-enable
.RS 4
SPI NOR flash chips often support muxing some of their pins (usually
/WP and /HOLD) with additional i/o lines. This enables them to transfer
four bits at once when the
.B quad-enable
bit is set.
.RE
.SH VALUES
.PP
.BR false ", " true
.RS 4
The values
.BR false " and " true
will be converted to
.BR 0 " and " 1
respectively.
.RE
.PP
.RB "natural numbers: " 0 ", " 1 ", ..."
.RS 4
When natural numbers are given, the least-significant bits of their
binary representation will be written to a setting.
.RE
.SH OPTIONS
All operations require the
.B -p/--programmer
option to be used (please see
.MR flashprog 8
for more information on programmer support and parameters).
.PP
.BR \-p ", " \-\-programmer " <name>[" : "<parameter>[" , "<parameter>]...]"
.RS 4
Specify the programmer device. This is mandatory for all operations.
Please see the
.MR flashprog 8
manual for a list of currently supported programmers and their parameters.
.RE
.PP
.BR \-c ", " \-\-chip " <chipname>"
.RS 4
Probe only for the specified flash ROM chip. This option takes the chip name as
printed by
.B "flashprog \-L"
without the vendor name as parameter. Please note that the chip name is
case sensitive.
.RE
.PP
.BR \-V ", " \-\-verbose
.RS 4
More verbose output. This option can be supplied multiple times
(max. 3 times, i.e.
.BR \-VVV )
for even more debug output.
.RE
.PP
.BR \-o ", " \-\-output " <logfile>"
.RS 4
Save the full debug log to
.BR <logfile> .
If the file already exists, it will be overwritten. This is the recommended
way to gather logs from flashprog because they will be verbose even if the
on-screen messages are not verbose and don't require output redirection.
.RE
.PP
.BR \-h ", " \-\-help
.RS 4
Show a help text and exit.
.RE
.PP
.BR \-\-temporary
.RS 4
Try to use a volatile write status register command. See
.BR set " under " OPERATIONS " above."
.RE
.SH EXAMPLES
To read the
.B quad-enable
setting of the internal BIOS flash:
.sp
.RS 2
.B flashprog config -p internal quad-enable
.sp
.RE
or
.sp
.RS 2
.B flashprog config get -p internal quad-enable
.sp
.RE
To temporarily set the
.B quad-enable
bit of a chip connected to an FT4222H:
.sp
.RS 2
.B flashprog config set -p ft4222_spi --temporary quad-enable 1
.RE
.SH EXIT STATUS
flashprog exits with 0 on success, 1 on most failures but with 3 if a call to mmap() fails.
.SH REQUIREMENTS
flashprog needs different access permissions for different programmers.
See this section in the
.MR flashprog 8
manual for details.
.SH BUGS
You can report bugs, ask us questions or send success reports
via our communication channels listed here:
.URLB "https://www.flashprog.org/Contact" "" .
.sp
.SH LICENSE
.B flashprog
is covered by the GNU General Public License (GPL), version 2. Some files are
additionally available under any later version of the GPL.
.SH COPYRIGHT
.br
Please see the individual files.
.PP
This manual page was written by Nico Huber and is derived from the
.MR flashprog 8
manual. It is licensed under the terms of the GNU GPL (version 2 or later).
.SH SEE ALSO
.MR flashprog 8