meta-fii/meta-kudo: Customize chassis power cycle action

Instead of a host or chassis restart for a Chassis PowerCycle,
have both the BMC and host perform a hard reset. This requires
changes to phosphor-state-manager to add the handling of
xyz.openbmc_project.State.Chassis.Transition.PowerCycle. Currently,
there is handling for On and Off, but not PowerCycle.

Signed-off-by: Charles Boyer <Charles.Boyer@fii-usa.com>
Change-Id: I3d934c47a68899b2fd8fcba966f8d92c97554a77
diff --git a/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl.bb b/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl.bb
index 77ad9d5..327053c 100644
--- a/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl.bb
+++ b/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl.bb
@@ -14,6 +14,7 @@
           file://ampere_power_util.sh \
           file://ampere-chassis-poweroff.service \
           file://ampere-chassis-poweron.service \
+          file://ampere-chassis-powercycle.service \
           file://ampere-host-shutdown-ack.service \
           file://ampere-host-force-reset.service \
           file://ampere-host-power-cycle.service \
@@ -28,6 +29,7 @@
         ampere-host-reset.service \
         ampere-chassis-poweroff.service \
         ampere-chassis-poweron.service \
+        ampere-chassis-powercycle.service \
         ampere-host-shutdown-ack.service \
         ampere-host-force-reset.service \
         ampere-host-power-cycle.service \
@@ -68,6 +70,11 @@
 CHASSIS_POWEROFF_FMT = "../${CHASSIS_POWEROFF_SVC}:${CHASSIS_POWEROFF_TGTFMT}.requires/${CHASSIS_POWEROFF_SVC}"
 SYSTEMD_LINK:${PN} += "${@compose_list_zip(d, 'CHASSIS_POWEROFF_FMT', 'OBMC_CHASSIS_INSTANCES')}"
 
+CHASSIS_POWERCYCLE_SVC = "ampere-chassis-powercycle.service"
+CHASSIS_POWERCYCLE_TGTFMT = "obmc-chassis-powercycle@{0}.target"
+CHASSIS_POWERCYCLE_FMT = "../${CHASSIS_POWERCYCLE_SVC}:${CHASSIS_POWERCYCLE_TGTFMT}.requires/${CHASSIS_POWERCYCLE_SVC}"
+SYSTEMD_LINK_${PN} += "${@compose_list_zip(d, 'CHASSIS_POWERCYCLE_FMT', 'OBMC_CHASSIS_INSTANCES')}"
+
 TMPL = "phosphor-gpio-monitor@.service"
 INSTFMT = "phosphor-gpio-monitor@{0}.service"
 TGT = "multi-user.target"