mirror of
https://review.coreboot.org/flashrom.git
synced 2025-10-27 19:32:11 +01:00
nv_sma_spi: Add Nvidia SMA Programmer
Add initial support for System Management Agent (SMA) programmer. SMA is a SOC which is working as a side band management on Nvidia server board. One of its functionality is to flash firmware to other components. Test: 1. Build flashrom with this change. 2. Run operation: erase, write, read 3. All operations completed with expected performance. NV_SMA_SPI has been tested with the following SPI flash models: w25r128jw w25r64jv w25q16v Change-Id: I6b2522788db3dcee2b30faff29f605cede8c0eaf Co-Developed-by: Gilbert Chen <gilbertc@nvidia.com> Co-Developed-by: Willie Thai <wthai@nvidia.com> Signed-off-by: Willie Thai <wthai@nvidia.com> Signed-off-by: Gilbert Chen <gilbertc@nvidia.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/88816 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Peter Marheine <pmarheine@chromium.org> Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
This commit is contained in:
committed by
Anastasia Klimchuk
parent
c54d068418
commit
db43ab2989
@@ -357,6 +357,7 @@ All operations involving any chip access (probe/read/write/...) require the ``-p
|
||||
* ``dirtyjtag_spi`` (for SPI flash ROMs attached to DirtyJTAG-compatible devices)
|
||||
* ``asm106x`` (for SPI flash ROMs attached to asm106x PCI SATA controllers)
|
||||
* ``spidriver`` (for SPI flash ROMs attached to an Excamera Labs SPIDriver)
|
||||
* ``nv_sma_spi`` (for SPI flash ROMs attached to an Nvidia System Management Agent)
|
||||
|
||||
Some programmers have optional or mandatory parameters which are described in detail in the
|
||||
**PROGRAMMER-SPECIFIC INFORMATION** section. Support for some programmers can be disabled at compile time.
|
||||
@@ -1460,6 +1461,24 @@ Syntax is::
|
||||
|
||||
where ``state`` can be ``high`` or ``low``. The default ``state`` is ``high``.
|
||||
|
||||
nv_sma_spi programmer
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The Optional ``cs`` parameter can be used to switch which chip select number is used. This allows connecting multiple
|
||||
chips at once and selecting which one to flash.::
|
||||
|
||||
flashrom -p nv_sma_spi:cs=0
|
||||
|
||||
The optional ``bus`` and ``devnum`` parameters indicate which Nvidia System Management Agent is selected when multiple
|
||||
SMAs are present. Both parameters must be specified simultaneously.::
|
||||
|
||||
flashrom -p nv_sma_spi:bus=0,devnum=1
|
||||
|
||||
The optional ``spispeed`` parameter sets the target frequency in Hz. The Nvidia System Management Agent selects the closest
|
||||
supported frequency based on its capabilities. If the spispeed is not provided, the device default frequncy is used. An example
|
||||
to set target frequency at 15MHz.::
|
||||
|
||||
flashrom -p nv_sma_spi:spispeed=15000000
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
@@ -1547,7 +1566,7 @@ REQUIREMENTS
|
||||
|
||||
* need access to the respective USB device via libusb API version 1.0
|
||||
|
||||
* ch341a_spi, dediprog
|
||||
* ch341a_spi, dediprog, nv_sma_spi
|
||||
|
||||
* need access to the respective USB device via libusb API version 1.0
|
||||
|
||||
|
||||
Reference in New Issue
Block a user