Wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
resources:tools-software:linux-software:fru_dump [04 Jan 2013 23:33] – Add engineerzone link Robin Getzresources:tools-software:linux-software:fru_dump [04 Feb 2022 18:12] (current) – Typo: fru_dump -> fru-dump Dragos Bogdan
Line 1: Line 1:
 ====== FMC FRU EEPROM Utility ====== ====== FMC FRU EEPROM Utility ======
  
-The [[http://www.vita.com/fmc.html|FMC specification]] includes a methodology where FMC mezzanine modules must provide hardware definition information that can be read by an external controller on the FMC Carrier platform (most of the time the FPGA on the carrier). This hardware definition is defined by FRU (Field Replaceable Unit) +The [[http://www.vita.com/fmc|FMC specification]] includes a methodology where FMC mezzanine modules must provide hardware definition information that can be read by an external controller on the FMC Carrier platform (most of the time the FPGA on the carrier). This hardware definition is defined by FRU (Field Replaceable Unit) 
-Information storage recorders, as defined in the [[http://download.intel.com/design/servers/ipmi/FRU1011.pdf|Intel Platform Management FRU Information Storage Definition V1.1]]+Information storage recorders, as defined in the [[https://www.intel.com/content/www/us/en/servers/ipmi/information-storage-definition.html|Intel Platform Management FRU Information Storage Definition V1.1]]
  
-The FRU Information is used to primarily to provide ‘inventory’ information about the boards that the FRU information device is located on. All FMC mezzanine modules include an EEPROM where this FRU Information, including the part number, version number, serial number can be read through software.+The FRU Information is used to primarily to provide ‘inventory’ information about the boards that the FRU information device is located on. All FMC mezzanine modules include an EEPROM where this FRU Information, including the part number, version number, serial number can be read through software. 
  
-There are some extensions, or FMC-specific MultiRecords, that the FMC specification includes to help define connector requirements, power requirements, and other I2C devices which may be on the FMC mezzanine module to help the carrier platform ensure it is compatible with the mezzanine modules before it applies power.+There are some extensions, or FMC-specific MultiRecords, that the FMC specification includes to help define connector requirements, power requirements, and other I2C devices which may be on the FMC mezzanine module to help the carrier platform ensure it is compatible with the mezzanine modules before it applies power. This means that if this EEPROM is blank, or has corrupt data in it, it could be that the carrier platform will not power the FMC slot at all.
  
 In order to better use this data, Analog Devices has written a small utility which dumps the FRU file which can be found on many systems. It also can change the serial number and date (since we use this for production test of ADI's FMC cards). In order to better use this data, Analog Devices has written a small utility which dumps the FRU file which can be found on many systems. It also can change the serial number and date (since we use this for production test of ADI's FMC cards).
Line 12: Line 12:
 <xterm> <xterm>
 **NAME** **NAME**
-       fru_dump - print and manipulate FRU file information+       fru-dump - print and manipulate FRU file information
  
 **SYNOPSIS** **SYNOPSIS**
-       fru_dump [-b] [-c] [-p] [-o OUTPUT_FILE] [-s SERIAL_NUMBER] [-d DATE] [-i ] INPUT_FILE+       fru-dump [-b] [-c] [-p] [-o OUTPUT_FILE] [-s SERIAL_NUMBER] [-d DATE] [-i ] INPUT_FILE
  
 **DESCRIPTION** **DESCRIPTION**
Line 27: Line 27:
     -c dump connector info     -c dump connector info
     -p dump power supply info     -p dump power supply info
 +    -2  dump I2C info
     -v verbose (show warnings)     -v verbose (show warnings)
   set info (modifies output file)   set info (modifies output file)
Line 33: Line 34:
     -d now      set the date to the current time     -d now      set the date to the current time
     -s <str> set serial number (string)     -s <str> set serial number (string)
 +    -t <str>    set tuning parameters 
 +    -6          force output to be in 6-bit ASCII
 </xterm> </xterm>
 +
 +===== Installing the FRUDump utility =====
 +
 +The source code for the FRUDump utility is found at [[https://github.com/analogdevicesinc/fru_tools|Github]]. 
  
 ===== Finding the eeprom ===== ===== Finding the eeprom =====
Line 54: Line 60:
 This specifies any shell prompt running on the target This specifies any shell prompt running on the target
 <xterm> <xterm>
-# **fru_dump -i /sys/bus/i2c/devices/0-0051/eeprom -b**+# **fru-dump -i /sys/bus/i2c/devices/0-0051/eeprom -b**
 read 256 bytes from /sys/bus/i2c/devices/0-0051/eeprom read 256 bytes from /sys/bus/i2c/devices/0-0051/eeprom
 Date of Man  : Tue Sep 18 16:30:00 2012 Date of Man  : Tue Sep 18 16:30:00 2012
Line 68: Line 74:
  
 <WRAP box bggreen fgblack> <WRAP box bggreen fgblack>
-This specifies any shell prompt running on the target>+This specifies any shell prompt running on the target
 <xterm> <xterm>
-# **fru_dump -i /sys/bus/i2c/devices/0-0051/eeprom -p**+# **fru-dump -i /sys/bus/i2c/devices/0-0051/eeprom -p**
 read 256 bytes from /sys/bus/i2c/devices/0-0051/eeprom read 256 bytes from /sys/bus/i2c/devices/0-0051/eeprom
 DC Load DC Load
Line 128: Line 134:
 This specifies any shell prompt running on the target This specifies any shell prompt running on the target
 <xterm> <xterm>
-# **fru_dump -i /sys/bus/i2c/devices/0-0051/eeprom -c**+# **fru-dump -i /sys/bus/i2c/devices/0-0051/eeprom -c**
 read 256 bytes from /sys/bus/i2c/devices/0-0051/eeprom read 256 bytes from /sys/bus/i2c/devices/0-0051/eeprom
 Single Width Card Single Width Card
Line 136: Line 142:
 P1 GBT Transceivers needed 0 P1 GBT Transceivers needed 0
 Max JTAG Clock 0 Max JTAG Clock 0
 +</xterm></WRAP>
 +
 +===== Set tuning parameters =====
 +
 +A tuning (or calibration) parameter for the related board can be written to the EEPROM as seen below. Usually this is integer or floating point values encoded as a raw hex string that is then decoded where it's used such as in IIO Oscilloscope or wherever the parameter needs to be set.
 +
 +<WRAP box bggreen fgblack>
 +This specifies any shell prompt running on the target
 +<xterm>
 +# **fru-dump -i /sys/bus/i2c/devices/0-0051/eeprom -o /sys/bus/i2c/devices/0-0051/eeprom -t 0b10db**
 +read 256 bytes from /sys/bus/i2c/devices/0-0051/eeprom
 +changing tuning parameter to 0b10db
 </xterm></WRAP> </xterm></WRAP>
  
Line 141: Line 159:
  
 For help and assistance with the tool, check out [[ez>community/linux-device-drivers/linux-software-drivers|the EngineerZone]]. For help and assistance with the tool, check out [[ez>community/linux-device-drivers/linux-software-drivers|the EngineerZone]].
- 
resources/tools-software/linux-software/fru_dump.1357338826.txt.gz · Last modified: 04 Jan 2013 23:33 (external edit)