commit | 2f793048e555c880122d5193e4644a21e6cb37f8 | [log] [tgz] |
---|---|---|
author | Alpana Kumari <alpankum@in.ibm.com> | Tue Aug 18 05:51:03 2020 -0500 |
committer | Santosh Puranik <santosh.puranik@in.ibm.com> | Fri Jan 08 10:34:59 2021 +0000 |
tree | 271b5e47e4e1b9031f06a803de4b6da8bba9a56a | |
parent | 8589375ff66d10295d609cca53cdf2f9f12a5472 [diff] |
Enable pre and post actions This commit enables the VPD parser to take certain pre and post collection actions. -- Set a GPIO in order to enable hardware paths (such as I2C) -- Bind device drivers to the I2C device so as to generate a udev event. -- Set a GPIO as a post action on failure to collect VPD. Pre-actions are taken when collecting system VPD. Post actions can be taken either after a failure to bind drivers or after failing to collect/parse VPD. Change-Id: I26754000a72db53f00a5afc4925de27e3f7c3ba8 Signed-off-by: Alpana Kumari <alpankum@in.ibm.com>
#Overview 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.