Everest:Missing EXP_PRSNT GPIO pin for PCIe cards
In everest VPD JSON, "presence" section with expander presence gpio
pin information is missing for PCIe cards. Due to which during FRU
VPD collection, I2C line for PCIe card VPD is enabled without
checking if IBM specific PCIe card is actually present on the system.
This check is required for PCIe cards because the PCIe slot accepts
both IBM specific cards and any industry standard cards. So during VPD
collection before enabling the I2C line of PCIe card VPD, it's
recommended to check if IBM standard PCIe card is present on
IBM system.
Test:
'''
busctl call com.ibm.VPD.Manager /com/ibm/VPD/Manager com.ibm.VPD.Manager
CollectFRUVPD o "/xyz/openbmc_project/inventory/system/chassis/motherboard
/pcieslot2/pcie_card2"
Oct 16 13:10:40 ever6bmc vpd-manager[1929]: Setting GPIO: presence-cable-card2 to 1
Oct 16 13:10:40 ever6bmc vpd-manager[1929]: Executing driver binding
for chip address - 17-0060
Oct 16 13:10:40 ever6bmc kernel: at24 17-0050: 8192 byte 24c64 EEPROM,
writable, 1 bytes/write
Oct 16 13:10:40 ever6bmc kernel: leds-pca955x 17-0060: leds-pca955x:
Using pca9551 8-bit LED driver at slave address 0x60
Oct 16 13:10:40 ever6bmc kernel: leds-pca955x 17-0060: gpios 1040...1047
Oct 16 13:10:40 ever6bmc systemd[1]: Started IPZ format VPD Parser service for
FRU sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a280.i2c-bus/i2c-4
/i2c-17/17-0050/17-005060.
'''
Change-Id: I92e795e3996cfa0cc7acc04605c59a550755ef85
Signed-off-by: Priyanga Ramasamy <priyanga24@in.ibm.com>
diff --git a/config/ibm/50003000.json b/config/ibm/50003000.json
index d8f798f..29f9503 100644
--- a/config/ibm/50003000.json
+++ b/config/ibm/50003000.json
@@ -2542,6 +2542,11 @@
"concurrentlyMaintainable": true,
"devAddress": "16-0052",
"pcaChipAddress": "16-0062",
+ "presence": {
+ "pin": "expander-cable-card1",
+ "value": 0,
+ "gpioI2CAddress": "4-0065"
+ },
"preAction": {
"pin": "presence-cable-card1",
"value": 1,
@@ -2610,6 +2615,11 @@
"busType": "i2c",
"driverType": "at24",
"concurrentlyMaintainable": true,
+ "presence": {
+ "pin": "expander-cable-card2",
+ "value": 0,
+ "gpioI2CAddress": "4-0065"
+ },
"preAction": {
"pin": "presence-cable-card2",
"value": 1,
@@ -2678,6 +2688,11 @@
"busType": "i2c",
"driverType": "at24",
"concurrentlyMaintainable": true,
+ "presence": {
+ "pin": "expander-cable-card3",
+ "value": 0,
+ "gpioI2CAddress": "4-0065"
+ },
"preAction": {
"pin": "presence-cable-card3",
"value": 1,
@@ -2746,6 +2761,11 @@
"busType": "i2c",
"driverType": "at24",
"concurrentlyMaintainable": true,
+ "presence": {
+ "pin": "expander-cable-card4",
+ "value": 0,
+ "gpioI2CAddress": "4-0065"
+ },
"preAction": {
"pin": "presence-cable-card4",
"value": 1,
@@ -2814,6 +2834,11 @@
"busType": "i2c",
"driverType": "at24",
"concurrentlyMaintainable": true,
+ "presence": {
+ "pin": "expander-cable-card5",
+ "value": 0,
+ "gpioI2CAddress": "4-0065"
+ },
"preAction": {
"pin": "presence-cable-card5",
"value": 1,
@@ -2882,6 +2907,11 @@
"busType": "i2c",
"driverType": "at24",
"concurrentlyMaintainable": true,
+ "presence": {
+ "pin": "expander-cable-card6",
+ "value": 0,
+ "gpioI2CAddress": "5-0066"
+ },
"preAction": {
"pin": "presence-cable-card6",
"value": 1,
@@ -2919,6 +2949,11 @@
"busType": "i2c",
"driverType": "at24",
"concurrentlyMaintainable": true,
+ "presence": {
+ "pin": "expander-cable-card7",
+ "value": 0,
+ "gpioI2CAddress": "5-0066"
+ },
"preAction": {
"pin": "presence-cable-card7",
"value": 1,
@@ -2987,6 +3022,11 @@
"busType": "i2c",
"driverType": "at24",
"concurrentlyMaintainable": true,
+ "presence": {
+ "pin": "expander-cable-card8",
+ "value": 0,
+ "gpioI2CAddress": "5-0066"
+ },
"preAction": {
"pin": "presence-cable-card8",
"value": 1,
@@ -3055,6 +3095,11 @@
"busType": "i2c",
"driverType": "at24",
"concurrentlyMaintainable": true,
+ "presence": {
+ "pin": "expander-cable-card9",
+ "value": 0,
+ "gpioI2CAddress": "5-0066"
+ },
"preAction": {
"pin": "presence-cable-card9",
"value": 1,
@@ -3092,6 +3137,11 @@
"busType": "i2c",
"driverType": "at24",
"concurrentlyMaintainable": true,
+ "presence": {
+ "pin": "expander-cable-card10",
+ "value": 0,
+ "gpioI2CAddress": "5-0066"
+ },
"preAction": {
"pin": "presence-cable-card10",
"value": 1,
@@ -3160,6 +3210,11 @@
"busType": "i2c",
"driverType": "at24",
"concurrentlyMaintainable": true,
+ "presence": {
+ "pin": "expander-cable-card11",
+ "value": 0,
+ "gpioI2CAddress": "5-0066"
+ },
"preAction": {
"pin": "presence-cable-card11",
"value": 1,