meta-quanta: olympus-nuvoton: add Hotswap Power Cycle Service

Add a hotswap power cycle service for oem google sys
command, "Delay hard reset".

Tested by:
Setting 5 secs delay for delay hard reset:
ipmitool raw 0x2e 0x32 0x79 0x2b 0x00 0x03 0x05 0x00 0x00 0x00
79 2b 00 03

Signed-off-by: Stanley Chu <yschu@nuvoton.com>
Change-Id: I6aab6a975a515897aafeca2e88e56d2b340e5a10
diff --git a/meta-olympus-nuvoton/recipes-olympus-nuvoton/hotswap-power-cycle/adm1278-hotswap-power-cycle.bb b/meta-olympus-nuvoton/recipes-olympus-nuvoton/hotswap-power-cycle/adm1278-hotswap-power-cycle.bb
new file mode 100644
index 0000000..1a20bee
--- /dev/null
+++ b/meta-olympus-nuvoton/recipes-olympus-nuvoton/hotswap-power-cycle/adm1278-hotswap-power-cycle.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Power Cycle by Hotswap Controller"
+DESCRIPTION = "Power Cycle by Hotswap Controller Daemon"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit systemd
+
+DEPENDS += "systemd"
+RDEPENDS_${PN} += "bash"
+
+SRC_URI = " file://hotswap-power-cycle.service"
+
+do_install() {
+    install -d ${D}${systemd_system_unitdir}
+    install -m 0644 ${WORKDIR}/hotswap-power-cycle.service ${D}${systemd_system_unitdir}
+}
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "hotswap-power-cycle.service"
+
diff --git a/meta-olympus-nuvoton/recipes-olympus-nuvoton/hotswap-power-cycle/files/hotswap-power-cycle.service b/meta-olympus-nuvoton/recipes-olympus-nuvoton/hotswap-power-cycle/files/hotswap-power-cycle.service
new file mode 100644
index 0000000..ccddfba
--- /dev/null
+++ b/meta-olympus-nuvoton/recipes-olympus-nuvoton/hotswap-power-cycle/files/hotswap-power-cycle.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Power Cycle by Hotswap Controller
+
+[Service]
+EnvironmentFile=/run/psu_timedelay
+ExecStartPre=sleep $PSU_HARDRESET_DELAY
+ExecStart= i2cset -f -y 8 0x11 0xd9
+Restart=no
+Type=oneshot
+RemainAfterExit=true
+StandardOutput=syslog
+
+[Install]
+WantedBy=gbmc-psu-hardreset.target