inspur: fp5280g2: Add fp5280g2 psu fw update function

Add phosphor-psu-software-manager and use inspur specific binary tool
to update fp5280g2's psu firmware.

(From meta-inspur rev: 38802b27a5b96f2d406f17805e77971fc76e46ec)

Signed-off-by: Chicago Duan <duanzhijia01@inspur.com>
Change-Id: I366453eda485e6f96cbb6ef8672ea4011abf463e
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
index 9f8035b..1fa652d 100644
--- a/meta-inspur/meta-fp5280g2/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
@@ -1,2 +1,2 @@
 RDEPENDS_${PN}-inventory_append_fp5280g2 = " openpower-fru-vpd openpower-occ-control phosphor-cooling-type virtual/obmc-gpio-presence"
-RDEPENDS_${PN}-extras_append_fp5280g2 = " phosphor-power phosphor-power-systemd-links phosphor-webui"
+RDEPENDS_${PN}-extras_append_fp5280g2 = " phosphor-fp5280g2-psu-update phosphor-psu-software-manager phosphor-power phosphor-power-systemd-links phosphor-webui"
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/power/phosphor-fp5280g2-psu-update.bb b/meta-inspur/meta-fp5280g2/recipes-phosphor/power/phosphor-fp5280g2-psu-update.bb
new file mode 100644
index 0000000..3cc6386
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/power/phosphor-fp5280g2-psu-update.bb
@@ -0,0 +1,20 @@
+HOMEPAGE = "https://github.com/inspur-bmc/fp5280g2-psu-update-tool"
+
+SRC_URI = "git://github.com/inspur-bmc/fp5280g2-psu-update-tool"
+
+SRCREV = "d9cc0d32197163197c41dc1c5e4613edd7ebacf1"
+
+SUMMARY = "Phosphor FP5280G2 PSU Update Tool"
+PR = "r1"
+PV = "1.0+git${SRCPV}"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+S = "${WORKDIR}/git/"
+do_install() {
+        install -d ${D}${bindir}
+        install -m 0755 ${S}/fp5280g2-psu-update ${D}${bindir}/fp5280g2-psu-update
+}
+
+INSANE_SKIP_${PN} = "ldflags"
+
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/power/phosphor-psu-software-manager/psu-update@.service b/meta-inspur/meta-fp5280g2/recipes-phosphor/power/phosphor-psu-software-manager/psu-update@.service
new file mode 100644
index 0000000..86d784e
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/power/phosphor-psu-software-manager/psu-update@.service
@@ -0,0 +1,17 @@
+# This service shall be started with two arguments:
+#  * The PSU inventory DBus object
+#  * The path of the PSU images
+# E.g.
+#  "psu-update@-xyz-openbmc_project-inventory-system-chassis-motherboard-powersupply0\x20-tmp-image-abcdefg.service"
+# expands to
+#  /usr/bin/fp5280g2-psu-update /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0 /tmp/image/abcdefg
+
+[Unit]
+Description=Update PSU %I
+
+[Service]
+Type=oneshot
+RemainAfterExit=no
+Environment="ARGS=%I"
+ExecStart=/usr/bin/fp5280g2-psu-update $ARGS
+SyslogIdentifier=fp5280g2-psu-update
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/power/phosphor-psu-software-manager_%.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/power/phosphor-psu-software-manager_%.bbappend
new file mode 100644
index 0000000..6d4804d
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/power/phosphor-psu-software-manager_%.bbappend
@@ -0,0 +1,2 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+