| commit | e3fed7018cfc7bb02170c8ba0f404b19dabf65cd | [log] [tgz] |
|---|---|---|
| author | Priyanga Ramasamy <priyanga24@in.ibm.com> | Tue Jan 11 01:05:32 2022 -0600 |
| committer | Santosh Puranik <santosh.puranik@in.ibm.com> | Tue Feb 01 13:49:28 2022 +0000 |
| tree | b0ee3218cc7066c2c83156062f94d22233d4c6b1 | |
| parent | ab1e22c36f1e775f70b97873f5b5f538a1fddf8f [diff] |
Set one time properties for non primeable frus
This commit enables vpd-parser to populate one time properties
like "OperationalStatus" and "Enabled" for non primeable frus.
Tested on rainier:
cablecard/cxp_ports are non primeable frus.
Modified inventory json for this testing:
Since am not finding a system with ibm-cablecards, edited vpd_inventory.json
by including cablecard vpd's CCIN in cablecard ccin list to populate cxp_ports.
====> root@rain100bmc:/tmp# busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_top
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
com.ibm.ipzvpd.Location interface - - -
.LocationCode property s "U78DA.ND0.WZS004A-P0-C10-T0" emits-change writable
org.freedesktop.DBus.Introspectable interface - - -
.Introspect method - s -
org.freedesktop.DBus.Peer interface - - -
.GetMachineId method - s -
.Ping method - - -
org.freedesktop.DBus.Properties interface - - -
.Get method ss v -
.GetAll method s a{sv} -
.Set method ssv - -
.PropertiesChanged signal sa{sv}as - -
xyz.openbmc_project.Association.Definitions interface - - -
.Associations property a(sss) 2 "fault_led_group" "fault_inventory_ob… emits-change writable
xyz.openbmc_project.Inventory.Decorator.LocationCode interface - - -
.LocationCode property s "U78DA.ND0.WZS004A-P0-C10-T0" emits-change writable
xyz.openbmc_project.Inventory.Item.Connector interface - - -
root@rain100bmc:/tmp#
====> root@rain100bmc:/tmp# ./ibm-read-vpd --file /sys/bus/i2c/drivers/at24/11-0050/eeprom
====> root@rain100bmc:/tmp# busctl introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot10/pcie_card10/cxp_top
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
com.ibm.ipzvpd.Location interface - - -
.LocationCode property s "U78DA.ND0.WZS004A-P0-C10-T0" emits-change writable
org.freedesktop.DBus.Introspectable interface - - -
.Introspect method - s -
org.freedesktop.DBus.Peer interface - - -
.GetMachineId method - s -
.Ping method - - -
org.freedesktop.DBus.Properties interface - - -
.Get method ss v -
.GetAll method s a{sv} -
.Set method ssv - -
.PropertiesChanged signal sa{sv}as - -
xyz.openbmc_project.Association.Definitions interface - - -
.Associations property a(sss) 2 "fault_led_group" "fault_inventory_ob… emits-change writable
xyz.openbmc_project.Inventory.Decorator.LocationCode interface - - -
.LocationCode property s "U78DA.ND0.WZS004A-P0-C10-T0" emits-change writable
xyz.openbmc_project.Inventory.Item.Connector interface - - -
xyz.openbmc_project.Object.Enable interface - - -
.Enabled property b false emits-change writable
xyz.openbmc_project.State.Decorator.OperationalStatus interface - - -
.Functional property b true emits-change writable
root@rain100bmc:/tmp#
Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com>
Change-Id: I16e4af25f7427812054871e524e51829713c0012
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.