meta-ampere: configure presence interfaces

Add CPU and Power Supply presence interfaces using
phosphor-multi-gpip-presence.

Tested:
1. Check if CPU_x dbus exists
 $ busctl get-property xyz.openbmc_project.Inventory.Manager \
          /xyz/openbmc_project/inventory/system/chassis/motherboard/CPU_2 \
          xyz.openbmc_project.Inventory.Item PrettyName`
 s "CPU_2"
2. Check if sensors that are required with CPURequired are reported
 $ ipmitool sdr list

Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: I7ce9819f39f8a2afb386fa6b00421f1ead935189
diff --git a/meta-ampere/meta-common/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-ampere/meta-common/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
index e81e3bf..5f6294b 100644
--- a/meta-ampere/meta-common/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
+++ b/meta-ampere/meta-common/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
@@ -3,6 +3,7 @@
                                 phosphor-virtual-sensor \
                                 phosphor-misc-usb-ctrl \
                                 phosphor-gpio-monitor-monitor \
+                                phosphor-gpio-monitor-presence \
                                 phosphor-skeleton-control-power \
                                 phosphor-hostlogger \
                                 phosphor-sel-logger \
diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/phosphor-gpio-monitor/phosphor-multi-gpio-presence.json b/meta-ampere/meta-jade/recipes-phosphor/gpio/phosphor-gpio-monitor/phosphor-multi-gpio-presence.json
new file mode 100644
index 0000000..e48a988
--- /dev/null
+++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/phosphor-gpio-monitor/phosphor-multi-gpio-presence.json
@@ -0,0 +1,26 @@
+[
+    {
+        "Name": "CPU_1",
+        "LineName": "presence-cpu0",
+        "ActiveLow": true,
+        "Inventory": "/system/chassis/motherboard/CPU_1"
+    },
+    {
+        "Name": "CPU_2",
+        "LineName": "presence-cpu1",
+        "ActiveLow": true,
+        "Inventory": "/system/chassis/motherboard/CPU_2"
+    },
+    {
+        "Name": "PSU0",
+        "LineName": "presence-ps0",
+        "ActiveLow": true,
+        "Inventory": "/system/powersupply/PowerSupply0"
+    },
+    {
+        "Name": "CPU1",
+        "LineName": "presence-ps1",
+        "ActiveLow": true,
+        "Inventory": "/system/powersupply/PowerSupply1"
+    }
+]
diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend b/meta-ampere/meta-jade/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
index db903fa..705a223 100644
--- a/meta-ampere/meta-jade/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
+++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
@@ -8,6 +8,7 @@
 
 SRC_URI += " \
             file://phosphor-multi-gpio-monitor.json \
+            file://phosphor-multi-gpio-presence.json \
             file://ampere_scp_failover.sh \
             file://ampere_psu_reset_hotswap.sh \
            "
@@ -23,9 +24,14 @@
                         /usr/sbin/ampere_psu_reset_hotswap.sh \
                        "
 
+FILES:${PN}-presence += " \
+                         ${datadir}/${PN}/phosphor-multi-gpio-presence.json \
+                        "
+
 do_install:append() {
     install -d ${D}${sbindir}
     install -m 0644 ${WORKDIR}/phosphor-multi-gpio-monitor.json ${D}${datadir}/${PN}/
+    install -m 0644 ${WORKDIR}/phosphor-multi-gpio-presence.json ${D}${datadir}/${PN}/
     install -m 0755 ${WORKDIR}/ampere_scp_failover.sh ${D}${sbindir}/
     install -m 0755 ${WORKDIR}/ampere_psu_reset_hotswap.sh ${D}${sbindir}/
 }
diff --git a/meta-ampere/meta-mitchell/recipes-phosphor/gpio/phosphor-gpio-monitor/phosphor-multi-gpio-presence.json b/meta-ampere/meta-mitchell/recipes-phosphor/gpio/phosphor-gpio-monitor/phosphor-multi-gpio-presence.json
new file mode 100644
index 0000000..e48a988
--- /dev/null
+++ b/meta-ampere/meta-mitchell/recipes-phosphor/gpio/phosphor-gpio-monitor/phosphor-multi-gpio-presence.json
@@ -0,0 +1,26 @@
+[
+    {
+        "Name": "CPU_1",
+        "LineName": "presence-cpu0",
+        "ActiveLow": true,
+        "Inventory": "/system/chassis/motherboard/CPU_1"
+    },
+    {
+        "Name": "CPU_2",
+        "LineName": "presence-cpu1",
+        "ActiveLow": true,
+        "Inventory": "/system/chassis/motherboard/CPU_2"
+    },
+    {
+        "Name": "PSU0",
+        "LineName": "presence-ps0",
+        "ActiveLow": true,
+        "Inventory": "/system/powersupply/PowerSupply0"
+    },
+    {
+        "Name": "CPU1",
+        "LineName": "presence-ps1",
+        "ActiveLow": true,
+        "Inventory": "/system/powersupply/PowerSupply1"
+    }
+]
diff --git a/meta-ampere/meta-mitchell/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend b/meta-ampere/meta-mitchell/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
index 32ce4b9..50586a0 100644
--- a/meta-ampere/meta-mitchell/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
+++ b/meta-ampere/meta-mitchell/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend
@@ -4,6 +4,7 @@
 
 SRC_URI += " \
             file://phosphor-multi-gpio-monitor.json \
+            file://phosphor-multi-gpio-presence.json \
            "
 
 SYSTEMD_SERVICE:${PN}-monitor += " \
@@ -14,8 +15,12 @@
 FILES:${PN}-monitor += " \
                         ${datadir}/${PN}/phosphor-multi-gpio-monitor.json \
                        "
+FILES:${PN}-presence += " \
+                        ${datadir}/${PN}/phosphor-multi-gpio-presence.json \
+                       "
 
 do_install:append() {
     install -d ${D}${bindir}
     install -m 0644 ${WORKDIR}/phosphor-multi-gpio-monitor.json ${D}${datadir}/${PN}/
+    install -m 0644 ${WORKDIR}/phosphor-multi-gpio-presence.json ${D}${datadir}/${PN}/
 }