Support checking host status via GPIO pins

Currently, openBmc supports checking host status via ipmi and PLDM
method. However, not all of platforms support IPMI and PLDM. Some
platforms, like Ampere Mt.Jade checks input GPIO to detect Host
firmware boot status. This commit supports Dbus method to check host
status via GPIO pins, it checks the value of "host0-ready/-n" pin to
detect HOST is ready or not.

Tested:
	1. Update GPIO pin to detect host0 ready to "host0-ready"
           in the device tree.
        2. Enable host-gpios option and add executable and service
           files to openBmc software then flash to the board.
        3. In the BMC console, check host-gpio-condition via command
           "busctl tree xyz.openbmc_project.State.HostCondition.Gpio"
           Result as below:
           `-/xyz
  	      `-/xyz/openbmc_project
    		 `-/xyz/openbmc_project/Gpios
      		    `-/xyz/openbmc_project/Gpios/host0
        4. Turn on/off the HOST0 then check the host status via
           command
           "busctl get-property \
           xyz.openbmc_project.State.HostCondition.Gpio \
           /xyz/openbmc_project/Gpios/host0 \
           xyz.openbmc_project.Condition.HostFirmware \
           CurrentFirmwareCondition"
           Result as below:
           "xyz.openbmc_project.Condition.HostFirmware.\
           FirmwareCondition.<Running/Off>"

Signed-off-by: Thang Tran <thuutran@amperecomputing.com>
Change-Id: I20e38e76c5b70119f0c86e5b497d47453d7c5a6c
diff --git a/host_condition_gpio/phosphor-host-condition-gpio@.service b/host_condition_gpio/phosphor-host-condition-gpio@.service
new file mode 100644
index 0000000..fa70e3e
--- /dev/null
+++ b/host_condition_gpio/phosphor-host-condition-gpio@.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Phosphor host condition gpios check for HOST %i
+
+[Service]
+Restart=always
+ExecStart=/usr/bin/phosphor-host-condition-gpio %i
+Type=dbus
+BusName=xyz.openbmc_project.State.HostCondition.Gpio
+
+[Install]
+WantedBy=multi-user.target