summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Rudolph <patrick.rudolph@9elements.com>2023-10-19 10:40:02 +0300
committerPatrick Rudolph <patrick.rudolph@9elements.com>2023-11-06 12:33:22 +0300
commit5fdaadeae7f7292fd377893abeaef36f891e2468 (patch)
treec4f897d99b45c6af7593f9b633128cad4d2fcb49
parent597d091d0a816ec6636e58a3bbd2a8d611b684d6 (diff)
downloadopenbmc-5fdaadeae7f7292fd377893abeaef36f891e2468.tar.xz
meta-ibm: genesis3: 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: The inventory on Genesis3 is properly updated. Change-Id: Id3927e7d01d1150da53294fa78cef5d6c10880ba Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
-rw-r--r--meta-ibm/meta-genesis3/recipes-phosphor/gpio/phosphor-gpio-monitor/dependencies.conf87
-rw-r--r--meta-ibm/meta-genesis3/recipes-phosphor/gpio/phosphor-gpio-monitor/phosphor-multi-gpio-presence.json86
-rw-r--r--meta-ibm/meta-genesis3/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend17
-rw-r--r--meta-ibm/meta-genesis3/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend2
4 files changed, 192 insertions, 0 deletions
diff --git a/meta-ibm/meta-genesis3/recipes-phosphor/gpio/phosphor-gpio-monitor/dependencies.conf b/meta-ibm/meta-genesis3/recipes-phosphor/gpio/phosphor-gpio-monitor/dependencies.conf
new file mode 100644
index 0000000000..6c2a9d8708
--- /dev/null
+++ b/meta-ibm/meta-genesis3/recipes-phosphor/gpio/phosphor-gpio-monitor/dependencies.conf
@@ -0,0 +1,87 @@
+[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_a0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_a1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_b0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_b1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_c1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_d0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_d1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_e0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_e1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_f0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_f1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_g0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_g1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_h0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_h1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_j0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_j1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_k0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_k1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_l0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_l1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_m0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_m1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_n0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_n1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_p0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_p1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_q0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_q1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_r0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_r1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_s0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_s1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_t0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_t1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_u0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_u1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_v0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_v1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_w0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_w1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_x0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_x1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_y0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_y1.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_z0.service
+Wants=mapper-wait@-xyz-openbmc_project-inventory-system-chassis-motherboard-dimm_z1.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-genesis3/recipes-phosphor/gpio/phosphor-gpio-monitor/phosphor-multi-gpio-presence.json b/meta-ibm/meta-genesis3/recipes-phosphor/gpio/phosphor-gpio-monitor/phosphor-multi-gpio-presence.json
new file mode 100644
index 0000000000..1d0e95f5af
--- /dev/null
+++ b/meta-ibm/meta-genesis3/recipes-phosphor/gpio/phosphor-gpio-monitor/phosphor-multi-gpio-presence.json
@@ -0,0 +1,86 @@
+[
+{ "Name": "PLUG_DETECT_DIMM_A0", "LineName": "PLUG_DETECT_DIMM_A0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_a0" },
+{ "Name": "PLUG_DETECT_DIMM_A1", "LineName": "PLUG_DETECT_DIMM_A1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_a1" },
+{ "Name": "PLUG_DETECT_DIMM_B0", "LineName": "PLUG_DETECT_DIMM_B0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_b0" },
+{ "Name": "PLUG_DETECT_DIMM_B1", "LineName": "PLUG_DETECT_DIMM_B1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_b1" },
+{ "Name": "PLUG_DETECT_DIMM_C0", "LineName": "PLUG_DETECT_DIMM_C0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_c0" },
+{ "Name": "PLUG_DETECT_DIMM_C1", "LineName": "PLUG_DETECT_DIMM_C1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_c1" },
+{ "Name": "PLUG_DETECT_DIMM_D0", "LineName": "PLUG_DETECT_DIMM_D0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_d0" },
+{ "Name": "PLUG_DETECT_DIMM_D1", "LineName": "PLUG_DETECT_DIMM_D1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_d1" },
+{ "Name": "PLUG_DETECT_DIMM_E0", "LineName": "PLUG_DETECT_DIMM_E0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_e0" },
+{ "Name": "PLUG_DETECT_DIMM_E1", "LineName": "PLUG_DETECT_DIMM_E1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_e1" },
+{ "Name": "PLUG_DETECT_DIMM_F0", "LineName": "PLUG_DETECT_DIMM_F0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_f0" },
+{ "Name": "PLUG_DETECT_DIMM_F1", "LineName": "PLUG_DETECT_DIMM_F1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_f1" },
+{ "Name": "PLUG_DETECT_DIMM_G0", "LineName": "PLUG_DETECT_DIMM_G0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_g0" },
+{ "Name": "PLUG_DETECT_DIMM_G1", "LineName": "PLUG_DETECT_DIMM_G1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_g1" },
+{ "Name": "PLUG_DETECT_DIMM_H0", "LineName": "PLUG_DETECT_DIMM_H0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_h0" },
+{ "Name": "PLUG_DETECT_DIMM_H1", "LineName": "PLUG_DETECT_DIMM_H1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_h1" },
+{ "Name": "PLUG_DETECT_DIMM_J0", "LineName": "PLUG_DETECT_DIMM_J0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_j0" },
+{ "Name": "PLUG_DETECT_DIMM_J1", "LineName": "PLUG_DETECT_DIMM_J1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_j1" },
+{ "Name": "PLUG_DETECT_DIMM_K0", "LineName": "PLUG_DETECT_DIMM_K0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_k0" },
+{ "Name": "PLUG_DETECT_DIMM_K1", "LineName": "PLUG_DETECT_DIMM_K1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_k1" },
+{ "Name": "PLUG_DETECT_DIMM_L0", "LineName": "PLUG_DETECT_DIMM_L0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_l0" },
+{ "Name": "PLUG_DETECT_DIMM_L1", "LineName": "PLUG_DETECT_DIMM_L1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_l1" },
+{ "Name": "PLUG_DETECT_DIMM_M0", "LineName": "PLUG_DETECT_DIMM_M0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_m0" },
+{ "Name": "PLUG_DETECT_DIMM_M1", "LineName": "PLUG_DETECT_DIMM_M1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_m1" },
+{ "Name": "PLUG_DETECT_DIMM_N0", "LineName": "PLUG_DETECT_DIMM_N0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_n0" },
+{ "Name": "PLUG_DETECT_DIMM_N1", "LineName": "PLUG_DETECT_DIMM_N1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_n1" },
+{ "Name": "PLUG_DETECT_DIMM_P0", "LineName": "PLUG_DETECT_DIMM_P0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_p0" },
+{ "Name": "PLUG_DETECT_DIMM_P1", "LineName": "PLUG_DETECT_DIMM_P1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_p1" },
+{ "Name": "PLUG_DETECT_DIMM_Q0", "LineName": "PLUG_DETECT_DIMM_Q0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_q0" },
+{ "Name": "PLUG_DETECT_DIMM_Q1", "LineName": "PLUG_DETECT_DIMM_Q1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_q1" },
+{ "Name": "PLUG_DETECT_DIMM_R0", "LineName": "PLUG_DETECT_DIMM_R0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_r0" },
+{ "Name": "PLUG_DETECT_DIMM_R1", "LineName": "PLUG_DETECT_DIMM_R1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_r1" },
+{ "Name": "PLUG_DETECT_DIMM_S0", "LineName": "PLUG_DETECT_DIMM_S0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_s0" },
+{ "Name": "PLUG_DETECT_DIMM_S1", "LineName": "PLUG_DETECT_DIMM_S1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_s1" },
+{ "Name": "PLUG_DETECT_DIMM_T0", "LineName": "PLUG_DETECT_DIMM_T0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_t0" },
+{ "Name": "PLUG_DETECT_DIMM_T1", "LineName": "PLUG_DETECT_DIMM_T1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_t1" },
+{ "Name": "PLUG_DETECT_DIMM_U0", "LineName": "PLUG_DETECT_DIMM_U0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_u0" },
+{ "Name": "PLUG_DETECT_DIMM_U1", "LineName": "PLUG_DETECT_DIMM_U1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_u1" },
+{ "Name": "PLUG_DETECT_DIMM_V0", "LineName": "PLUG_DETECT_DIMM_V0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_v0" },
+{ "Name": "PLUG_DETECT_DIMM_V1", "LineName": "PLUG_DETECT_DIMM_V1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_v1" },
+{ "Name": "PLUG_DETECT_DIMM_W0", "LineName": "PLUG_DETECT_DIMM_W0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_w0" },
+{ "Name": "PLUG_DETECT_DIMM_W1", "LineName": "PLUG_DETECT_DIMM_W1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_w1" },
+{ "Name": "PLUG_DETECT_DIMM_X0", "LineName": "PLUG_DETECT_DIMM_X0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_x0" },
+{ "Name": "PLUG_DETECT_DIMM_X1", "LineName": "PLUG_DETECT_DIMM_X1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_x1" },
+{ "Name": "PLUG_DETECT_DIMM_Y0", "LineName": "PLUG_DETECT_DIMM_Y0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_y0" },
+{ "Name": "PLUG_DETECT_DIMM_Y1", "LineName": "PLUG_DETECT_DIMM_Y1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_y1" },
+{ "Name": "PLUG_DETECT_DIMM_Z0", "LineName": "PLUG_DETECT_DIMM_Z0", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_z0" },
+{ "Name": "PLUG_DETECT_DIMM_Z1", "LineName": "PLUG_DETECT_DIMM_Z1", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/dimm_z1" },
+{ "Name": "RSSD01_PRESENT_N", "LineName": "RSSD01_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd01" },
+{ "Name": "RSSD02_PRESENT_N", "LineName": "RSSD02_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd02" },
+{ "Name": "RSSD03_PRESENT_N", "LineName": "RSSD03_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd03" },
+{ "Name": "RSSD04_PRESENT_N", "LineName": "RSSD04_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd04" },
+{ "Name": "RSSD05_PRESENT_N", "LineName": "RSSD05_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd05" },
+{ "Name": "RSSD06_PRESENT_N", "LineName": "RSSD06_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd06" },
+{ "Name": "RSSD07_PRESENT_N", "LineName": "RSSD07_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd07" },
+{ "Name": "RSSD08_PRESENT_N", "LineName": "RSSD08_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd08" },
+{ "Name": "RSSD09_PRESENT_N", "LineName": "RSSD09_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd09" },
+{ "Name": "RSSD10_PRESENT_N", "LineName": "RSSD10_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd10" },
+{ "Name": "RSSD11_PRESENT_N", "LineName": "RSSD11_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd11" },
+{ "Name": "RSSD12_PRESENT_N", "LineName": "RSSD12_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd12" },
+{ "Name": "RSSD13_PRESENT_N", "LineName": "RSSD13_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd13" },
+{ "Name": "RSSD14_PRESENT_N", "LineName": "RSSD14_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd14" },
+{ "Name": "RSSD15_PRESENT_N", "LineName": "RSSD15_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd15" },
+{ "Name": "RSSD16_PRESENT_N", "LineName": "RSSD16_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd16" },
+{ "Name": "RSSD17_PRESENT_N", "LineName": "RSSD17_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd17" },
+{ "Name": "RSSD18_PRESENT_N", "LineName": "RSSD18_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd18" },
+{ "Name": "RSSD19_PRESENT_N", "LineName": "RSSD19_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd19" },
+{ "Name": "RSSD20_PRESENT_N", "LineName": "RSSD20_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd20" },
+{ "Name": "RSSD21_PRESENT_N", "LineName": "RSSD21_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd21" },
+{ "Name": "RSSD22_PRESENT_N", "LineName": "RSSD22_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd22" },
+{ "Name": "RSSD23_PRESENT_N", "LineName": "RSSD23_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd23" },
+{ "Name": "RSSD24_PRESENT_N", "LineName": "RSSD24_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd24" },
+{ "Name": "RSSD25_PRESENT_N", "LineName": "RSSD25_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd25" },
+{ "Name": "RSSD26_PRESENT_N", "LineName": "RSSD26_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd26" },
+{ "Name": "RSSD27_PRESENT_N", "LineName": "RSSD27_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd27" },
+{ "Name": "RSSD28_PRESENT_N", "LineName": "RSSD28_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd28" },
+{ "Name": "RSSD29_PRESENT_N", "LineName": "RSSD29_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd29" },
+{ "Name": "RSSD30_PRESENT_N", "LineName": "RSSD30_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd30" },
+{ "Name": "RSSD31_PRESENT_N", "LineName": "RSSD31_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd31" },
+{ "Name": "RSSD32_PRESENT_N", "LineName": "RSSD32_PRESENT_N", "ActiveLow": true, "Bias": "PULL_UP", "Inventory": "/system/chassis/motherboard/rssd32" },
+{ "Name": "FM_CPU0_SKTOCC_N", "LineName": "FM_CPU0_SKTOCC_N", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/cpu0" },
+{ "Name": "FM_CPU1_SKTOCC_N", "LineName": "FM_CPU1_SKTOCC_N", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/cpu1" },
+{ "Name": "FM_CPU2_SKTOCC_N", "LineName": "FM_CPU2_SKTOCC_N", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/cpu2" },
+{ "Name": "FM_CPU3_SKTOCC_N", "LineName": "FM_CPU3_SKTOCC_N", "ActiveLow": true, "Bias": "DISABLE", "Inventory": "/system/chassis/motherboard/cpu3" }
+]
diff --git a/meta-ibm/meta-genesis3/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend b/meta-ibm/meta-genesis3/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
new file mode 100644
index 0000000000..04c26721cf
--- /dev/null
+++ b/meta-ibm/meta-genesis3/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
@@ -0,0 +1,17 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+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}/phosphor-gpio-monitor/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-genesis3/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend b/meta-ibm/meta-genesis3/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend
index 28e459ca31..bd9ca1f803 100644
--- a/meta-ibm/meta-genesis3/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend
+++ b/meta-ibm/meta-genesis3/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"