Below are the formats for a few useful IPMI commands for the AMC13 as provided by Jes Tikalsky (jtikalsky@hep.wisc.edu) with the University of Wisconsin group.

For a more in depth look at the Status and Control Registers for the MMC FPGA SPI Interface, see the Wisconsin official MMC documentation

Contents
SPI Read
SPI Write
Read SPI Status
Write SPI Control
Get Non-Volatile Area Info
Read Non-Volatile Memory

SPI Read

Below are the relevant bytes for a raw IPMI SPI "read data" command
NetFN   0x32
CMD     0x34
Params  PortID (0-3)
        Address LS Byte
        Address MS byte
        Count (I recommend <20)

SPI Write

Below are the relevant bytes for a raw IPMI SPI "write data" command
NetFN   0x32
CMD     0x33
Params  PortID (0-3)
        Address LS Byte
        Address MS byte
        Count (I recommend <20)
        Byte 1
        ...
        Byte n

Read SPI Status

Below are the relevant bytes for raw IPMI SPI "read status register" command
NetFN   0x32
CMD     0x31
Params  1: Port ID (0-3)
Return  1: bit 7: HF1
           bit 6: HF2
           bit 5: CFGRDY
           bit 4: REQCFG
           bit 3-0: reserved

Write SPI Control

Below are the relevant bytes for a raw IPMI SPI "write control register" command. For the purposes of the AMC13, we really only care about the CFGRDY bit
NetFN   0x32
CMD     0x32
Params  1: Port ID (0-3)
        2: bit 7: select UHF for update
           bit 6: select LHF for update
           bit 5: select CFGRDY for update
           bit 4-2: 0
           bit 1: SET selected flags
           bit 0: CLEAR selected flags

Get Non-Volatile Area Info

Below are the relevant bytes for a raw IPMI SPI "read NV area info" command
Get Nonvolatile Area Info (Partial):
NetFN    0x32
CMD      0x40
Params   1: 0
Return   1: 0
         ...
         15: FPGA Config Area LS Byte
         16: FPGA Config Area MS Byte
         17: FPGA Config Area Size (32 byte units)

Read Non-Volatile Memory

Below are the relevant bytes for a raw IPMI SPI "read NV memory" command
Raw Nonvolatile Read:
NetFN    0x32
CMD      0x42
Params   1: Offset LS
         2: Offset MS
         3: Length (<=20)
Return   $Data

-- DavidZou - 30 May 2013

Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r2 - 31 May 2013 - CharlieHill
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback