commit | 636391010b138d25165a35a0db31ab4fddd53f78 | [log] [tgz] |
---|---|---|
author | GiridhariKrishnan <giridharikrishnan@gmail.com> | Thu Mar 02 05:55:47 2023 -0600 |
committer | priyanga24 <priyanga24@in.ibm.com> | Fri Apr 21 12:04:17 2023 +0000 |
tree | befb4b7c966e07cab2a2c12835f24944e1b93127 | |
parent | f457a3ef9b58a824f0608c16fe5bdb445ee24ef0 [diff] |
vpd-tool:UTF-8 encoding support on hardware read Keyword values when in unreadable format may need to be converted to Hex. This code converts data from HW to readable format. Test: root@bonn003:~# tmp/vpd-tool -r -H -O "/sys/bus/i2c/drivers/at24/8-0050/eeprom" -R VINI -K SN { "/sys/bus/i2c/drivers/at24/8-0050/eeprom": { "SN": "YF30UF31C007" } } root@bonn003:~# tmp/vpd-tool -r -H -O "/sys/bus/i2c/drivers/at24/8-0050/eeprom" -R VINI -K HW { "/sys/bus/i2c/drivers/at24/8-0050/eeprom": { "HW": "0x8001" } } Change-Id: I28d9189d95202a565bcba81299f2e548cb4cb83a Signed-off-by: Giridhari Krishna <giridharikrishnan@gmail.com>
This repository hosts code for OpenPower and IBM IPZ format VPD parsers. Both OpenPower VPD and IPZ VPD formats are structured binaries that consist of records and keywords. A record is a collection of multiple keywords. More information about the format can be found here.
The repository consists of two distinct applications, which are:
This is a build-time YAML driven application that parses the OpenPower VPD format and uses the YAML configuration (see extra-properties-example.yaml and writefru.yaml) to determine:
The application instance must be passed in the file path to the VPD (this can, for example, be a sysfs path exposed by the EEPROM device driver) and also the D-Bus object path(s) that EEPROM data needs to be published under.
This parser is can be built by passing in the --enable-ibm-parser
configure option. This parser differs from the OpenPower VPD parser in the following ways:
#
and are > 255 bytes in length).Making the application runtime JSON driven allows us to support multiple systems (with different FRU configurations) to be supported in a single code image as well as making the application more flexible for future improvements.