summaryrefslogtreecommitdiff
path: root/meta-ibm
diff options
context:
space:
mode:
authorPatrick Rudolph <patrick.rudolph@9elements.com>2023-05-03 12:14:33 +0300
committerPatrick Rudolph <patrick.rudolph@9elements.com>2023-12-15 15:09:26 +0300
commit4ea7393642ac8d60b9476e65e78680199bd27786 (patch)
tree7b5c3c28fa08dbdd9dc2696f6ae0be6d55ad64c1 /meta-ibm
parent0bb38d152cd28e699f21cf6d240f1f9ba886be5e (diff)
downloadopenbmc-4ea7393642ac8d60b9476e65e78680199bd27786.tar.xz
meta-ibm/sbp1: Handle presence GPIOs
Mark static inventory items that only have a presence GPIO, but no FRU EEPROM as present using phosphor-gpio-monitor. This will be used by other OpenBMC systems to determine the presence of FRU devices and to run additional services. Tested: Inventory on SBP1 is properly updated according to GPIOs. Change-Id: I7f83bf82625a86c23fd0781ebe2d415cf486dadb Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Diffstat (limited to 'meta-ibm')
-rw-r--r--meta-ibm/meta-sbp1/recipes-phosphor/gpio/phosphor-gpio-monitor/dependencies.conf103
-rw-r--r--meta-ibm/meta-sbp1/recipes-phosphor/gpio/phosphor-gpio-monitor/phosphor-multi-gpio-presence.json102
-rw-r--r--meta-ibm/meta-sbp1/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend19
-rw-r--r--meta-ibm/meta-sbp1/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend2
4 files changed, 226 insertions, 0 deletions
diff --git a/meta-ibm/meta-sbp1/recipes-phosphor/gpio/phosphor-gpio-monitor/dependencies.conf b/meta-ibm/meta-sbp1/recipes-phosphor/gpio/phosphor-gpio-monitor/dependencies.conf
new file mode 100644
index 0000000000..7b0a05b5b8
--- /dev/null
+++ b/meta-ibm/meta-sbp1/recipes-phosphor/gpio/phosphor-gpio-monitor/dependencies.conf
@@ -0,0 +1,103 @@
+[Unit]
+After=xyz.openbmc_project.Inventory.Manager.service
+Wants=xyz.openbmc_project.Inventory.Manager.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c0a1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c0a2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c0b1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c0b2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c0c1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c0c2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c0d1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c0d2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c0e1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c0e2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c0f1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c0f2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c0g1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c0g2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c0h1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c0h2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c1a1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c1a2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c1b1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c1b2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c1c1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c1c2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c1d1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c1d2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c1e1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c1e2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c1f1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c1f2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c1g1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c1g2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c1h1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c1h2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c2a1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c2a2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c2b1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c2b2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c2c1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c2c2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c2d1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c2d2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c2e1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c2e2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c2f1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c2f2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c2g1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c2g2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c2h1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c2h2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c3a1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c3a2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c3b1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c3b2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c3c1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c3c2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c3d1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c3d2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c3e1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c3e2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c3f1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c3f2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c3g1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c3g2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c3h1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c3h2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd01.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd02.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd03.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd04.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd05.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd06.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd07.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd08.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd09.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd10.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd11.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd12.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd13.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd14.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd15.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd16.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd17.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd18.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd19.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd20.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd21.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd22.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd23.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd24.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd25.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd26.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd27.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd28.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd29.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd30.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd31.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-rssd32.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-cpu0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-cpu1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-cpu2.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-cpu3.service
diff --git a/meta-ibm/meta-sbp1/recipes-phosphor/gpio/phosphor-gpio-monitor/phosphor-multi-gpio-presence.json b/meta-ibm/meta-sbp1/recipes-phosphor/gpio/phosphor-gpio-monitor/phosphor-multi-gpio-presence.json
new file mode 100644
index 0000000000..81d58a7e33
--- /dev/null
+++ b/meta-ibm/meta-sbp1/recipes-phosphor/gpio/phosphor-gpio-monitor/phosphor-multi-gpio-presence.json
@@ -0,0 +1,102 @@
+[
+{ "Name": "DIMM_C0A1", "LineName": "PLUG_DETECT_DIMM_C0A1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c0a1" },
+{ "Name": "DIMM_C0A2", "LineName": "PLUG_DETECT_DIMM_C0A2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c0a2" },
+{ "Name": "DIMM_C0B1", "LineName": "PLUG_DETECT_DIMM_C0B1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c0b1" },
+{ "Name": "DIMM_C0B2", "LineName": "PLUG_DETECT_DIMM_C0B2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c0b2" },
+{ "Name": "DIMM_C0C1", "LineName": "PLUG_DETECT_DIMM_C0C1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c0c1" },
+{ "Name": "DIMM_C0C2", "LineName": "PLUG_DETECT_DIMM_C0C2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c0c2" },
+{ "Name": "DIMM_C0D1", "LineName": "PLUG_DETECT_DIMM_C0D1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c0d1" },
+{ "Name": "DIMM_C0D2", "LineName": "PLUG_DETECT_DIMM_C0D2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c0d2" },
+{ "Name": "DIMM_C0E1", "LineName": "PLUG_DETECT_DIMM_C0E1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c0e1" },
+{ "Name": "DIMM_C0E2", "LineName": "PLUG_DETECT_DIMM_C0E2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c0e2" },
+{ "Name": "DIMM_C0F1", "LineName": "PLUG_DETECT_DIMM_C0F1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c0f1" },
+{ "Name": "DIMM_C0F2", "LineName": "PLUG_DETECT_DIMM_C0F2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c0f2" },
+{ "Name": "DIMM_C0G1", "LineName": "PLUG_DETECT_DIMM_C0G1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c0g1" },
+{ "Name": "DIMM_C0G2", "LineName": "PLUG_DETECT_DIMM_C0G2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c0g2" },
+{ "Name": "DIMM_C0H1", "LineName": "PLUG_DETECT_DIMM_C0H1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c0h1" },
+{ "Name": "DIMM_C0H2", "LineName": "PLUG_DETECT_DIMM_C0H2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c0h2" },
+{ "Name": "DIMM_C1A1", "LineName": "PLUG_DETECT_DIMM_C1A1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c1a1" },
+{ "Name": "DIMM_C1A2", "LineName": "PLUG_DETECT_DIMM_C1A2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c1a2" },
+{ "Name": "DIMM_C1B1", "LineName": "PLUG_DETECT_DIMM_C1B1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c1b1" },
+{ "Name": "DIMM_C1B2", "LineName": "PLUG_DETECT_DIMM_C1B2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c1b2" },
+{ "Name": "DIMM_C1C1", "LineName": "PLUG_DETECT_DIMM_C1C1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c1c1" },
+{ "Name": "DIMM_C1C2", "LineName": "PLUG_DETECT_DIMM_C1C2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c1c2" },
+{ "Name": "DIMM_C1D1", "LineName": "PLUG_DETECT_DIMM_C1D1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c1d1" },
+{ "Name": "DIMM_C1D2", "LineName": "PLUG_DETECT_DIMM_C1D2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c1d2" },
+{ "Name": "DIMM_C1E1", "LineName": "PLUG_DETECT_DIMM_C1E1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c1e1" },
+{ "Name": "DIMM_C1E2", "LineName": "PLUG_DETECT_DIMM_C1E2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c1e2" },
+{ "Name": "DIMM_C1F1", "LineName": "PLUG_DETECT_DIMM_C1F1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c1f1" },
+{ "Name": "DIMM_C1F2", "LineName": "PLUG_DETECT_DIMM_C1F2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c1f2" },
+{ "Name": "DIMM_C1G1", "LineName": "PLUG_DETECT_DIMM_C1G1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c1g1" },
+{ "Name": "DIMM_C1G2", "LineName": "PLUG_DETECT_DIMM_C1G2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c1g2" },
+{ "Name": "DIMM_C1H1", "LineName": "PLUG_DETECT_DIMM_C1H1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c1h1" },
+{ "Name": "DIMM_C1H2", "LineName": "PLUG_DETECT_DIMM_C1H2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c1h2" },
+{ "Name": "DIMM_C2A1", "LineName": "PLUG_DETECT_DIMM_C2A1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c2a1" },
+{ "Name": "DIMM_C2A2", "LineName": "PLUG_DETECT_DIMM_C2A2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c2a2" },
+{ "Name": "DIMM_C2B1", "LineName": "PLUG_DETECT_DIMM_C2B1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c2b1" },
+{ "Name": "DIMM_C2B2", "LineName": "PLUG_DETECT_DIMM_C2B2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c2b2" },
+{ "Name": "DIMM_C2C1", "LineName": "PLUG_DETECT_DIMM_C2C1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c2c1" },
+{ "Name": "DIMM_C2C2", "LineName": "PLUG_DETECT_DIMM_C2C2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c2c2" },
+{ "Name": "DIMM_C2D1", "LineName": "PLUG_DETECT_DIMM_C2D1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c2d1" },
+{ "Name": "DIMM_C2D2", "LineName": "PLUG_DETECT_DIMM_C2D2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c2d2" },
+{ "Name": "DIMM_C2E1", "LineName": "PLUG_DETECT_DIMM_C2E1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c2e1" },
+{ "Name": "DIMM_C2E2", "LineName": "PLUG_DETECT_DIMM_C2E2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c2e2" },
+{ "Name": "DIMM_C2F1", "LineName": "PLUG_DETECT_DIMM_C2F1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c2f1" },
+{ "Name": "DIMM_C2F2", "LineName": "PLUG_DETECT_DIMM_C2F2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c2f2" },
+{ "Name": "DIMM_C2G1", "LineName": "PLUG_DETECT_DIMM_C2G1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c2g1" },
+{ "Name": "DIMM_C2G2", "LineName": "PLUG_DETECT_DIMM_C2G2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c2g2" },
+{ "Name": "DIMM_C2H1", "LineName": "PLUG_DETECT_DIMM_C2H1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c2h1" },
+{ "Name": "DIMM_C2H2", "LineName": "PLUG_DETECT_DIMM_C2H2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c2h2" },
+{ "Name": "DIMM_C3A1", "LineName": "PLUG_DETECT_DIMM_C3A1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c3a1" },
+{ "Name": "DIMM_C3A2", "LineName": "PLUG_DETECT_DIMM_C3A2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c3a2" },
+{ "Name": "DIMM_C3B1", "LineName": "PLUG_DETECT_DIMM_C3B1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c3b1" },
+{ "Name": "DIMM_C3B2", "LineName": "PLUG_DETECT_DIMM_C3B2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c3b2" },
+{ "Name": "DIMM_C3C1", "LineName": "PLUG_DETECT_DIMM_C3C1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c3c1" },
+{ "Name": "DIMM_C3C2", "LineName": "PLUG_DETECT_DIMM_C3C2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c3c2" },
+{ "Name": "DIMM_C3D1", "LineName": "PLUG_DETECT_DIMM_C3D1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c3d1" },
+{ "Name": "DIMM_C3D2", "LineName": "PLUG_DETECT_DIMM_C3D2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c3d2" },
+{ "Name": "DIMM_C3E1", "LineName": "PLUG_DETECT_DIMM_C3E1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c3e1" },
+{ "Name": "DIMM_C3E2", "LineName": "PLUG_DETECT_DIMM_C3E2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c3e2" },
+{ "Name": "DIMM_C3F1", "LineName": "PLUG_DETECT_DIMM_C3F1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c3f1" },
+{ "Name": "DIMM_C3F2", "LineName": "PLUG_DETECT_DIMM_C3F2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c3f2" },
+{ "Name": "DIMM_C3G1", "LineName": "PLUG_DETECT_DIMM_C3G1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c3g1" },
+{ "Name": "DIMM_C3G2", "LineName": "PLUG_DETECT_DIMM_C3G2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c3g2" },
+{ "Name": "DIMM_C3H1", "LineName": "PLUG_DETECT_DIMM_C3H1", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c3h1" },
+{ "Name": "DIMM_C3H2", "LineName": "PLUG_DETECT_DIMM_C3H2", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/dimm_c3h2" },
+{ "Name": "RSSD01", "LineName": "RSSD01_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd01" },
+{ "Name": "RSSD02", "LineName": "RSSD02_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd02" },
+{ "Name": "RSSD03", "LineName": "RSSD03_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd03" },
+{ "Name": "RSSD04", "LineName": "RSSD04_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd04" },
+{ "Name": "RSSD05", "LineName": "RSSD05_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd05" },
+{ "Name": "RSSD06", "LineName": "RSSD06_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd06" },
+{ "Name": "RSSD07", "LineName": "RSSD07_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd07" },
+{ "Name": "RSSD08", "LineName": "RSSD08_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd08" },
+{ "Name": "RSSD09", "LineName": "RSSD09_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd09" },
+{ "Name": "RSSD10", "LineName": "RSSD10_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd10" },
+{ "Name": "RSSD11", "LineName": "RSSD11_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd11" },
+{ "Name": "RSSD12", "LineName": "RSSD12_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd12" },
+{ "Name": "RSSD13", "LineName": "RSSD13_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd13" },
+{ "Name": "RSSD14", "LineName": "RSSD14_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd14" },
+{ "Name": "RSSD15", "LineName": "RSSD15_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd15" },
+{ "Name": "RSSD16", "LineName": "RSSD16_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd16" },
+{ "Name": "RSSD17", "LineName": "RSSD17_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd17" },
+{ "Name": "RSSD18", "LineName": "RSSD18_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd18" },
+{ "Name": "RSSD19", "LineName": "RSSD19_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd19" },
+{ "Name": "RSSD20", "LineName": "RSSD20_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd20" },
+{ "Name": "RSSD21", "LineName": "RSSD21_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd21" },
+{ "Name": "RSSD22", "LineName": "RSSD22_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd22" },
+{ "Name": "RSSD23", "LineName": "RSSD23_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd23" },
+{ "Name": "RSSD24", "LineName": "RSSD24_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd24" },
+{ "Name": "RSSD25", "LineName": "RSSD25_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd25" },
+{ "Name": "RSSD26", "LineName": "RSSD26_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd26" },
+{ "Name": "RSSD27", "LineName": "RSSD27_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd27" },
+{ "Name": "RSSD28", "LineName": "RSSD28_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd28" },
+{ "Name": "RSSD29", "LineName": "RSSD29_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd29" },
+{ "Name": "RSSD30", "LineName": "RSSD30_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd30" },
+{ "Name": "RSSD31", "LineName": "RSSD31_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd31" },
+{ "Name": "RSSD32", "LineName": "RSSD32_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd32" },
+{ "Name": "CPU0", "LineName": "FM_CPU0_SKTOCC_N", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/cpu0" },
+{ "Name": "CPU1", "LineName": "FM_CPU1_SKTOCC_N", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/cpu1" },
+{ "Name": "CPU2", "LineName": "FM_CPU2_SKTOCC_N", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/cpu2" },
+{ "Name": "CPU3", "LineName": "FM_CPU3_SKTOCC_N", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/cpu3" }
+]
diff --git a/meta-ibm/meta-sbp1/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend b/meta-ibm/meta-sbp1/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
new file mode 100644
index 0000000000..400f9df09c
--- /dev/null
+++ b/meta-ibm/meta-sbp1/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
@@ -0,0 +1,19 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+inherit systemd
+inherit obmc-phosphor-systemd
+
+SRC_URI += " \
+ file://phosphor-multi-gpio-presence.json \
+ file://dependencies.conf \
+ "
+
+FILES:${PN}-presence += " ${datadir}/${PN}/phosphor-multi-gpio-presence.json \
+ ${systemd_system_unitdir}/phosphor-multi-gpio-presence.service.d/dependencies.conf \
+ "
+
+do_install:append() {
+ rm -f ${D}${datadir}/${PN}/phosphor-multi-gpio-presence.json
+ install -m 0644 ${WORKDIR}/phosphor-multi-gpio-presence.json ${D}${datadir}/${PN}/
+ install -d ${D}${systemd_system_unitdir}/phosphor-multi-gpio-presence.service.d/
+ install -m 644 -D ${WORKDIR}/dependencies.conf ${D}${systemd_system_unitdir}/phosphor-multi-gpio-presence.service.d/dependencies.conf
+}
diff --git a/meta-ibm/meta-sbp1/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend b/meta-ibm/meta-sbp1/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend
index 28e459ca31..bd9ca1f803 100644
--- a/meta-ibm/meta-sbp1/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend
+++ b/meta-ibm/meta-sbp1/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend
@@ -1 +1,3 @@
DEPENDS:append = " static-inventory"
+DEPENDS:append = " phosphor-gpio-monitor"
+RDEPENDS:${PN} += "phosphor-gpio-monitor-presence"