Add recipe for phosphor-ipmi-kcs

This recipe adds a target and support for building phosphor kcs bridge
daemon.  The phosphor KCS bridge daemon is very similar to the block
transfer bridge daemon, in that it is capable of briging requests from
the KCS driver into dbus, and return the appropriate responses.
Keyboard Controller Style interfaces are commonly on server platforms
for BMC communication to a host system.

This also includes a modification from Benjamin Fair
<benjaminfair@google.com> that allows selecting the kcs device at
compile time, sourced from here:
https://gerrit.openbmc-project.xyz/#/c/11476/

Change-Id: I05eea9f12e2460e2514f657aeb1d055d0e48851f
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
diff --git a/common/recipes-phosphor/ipmi/phosphor-ipmi-kcs/org.openbmc.HostIpmi.service b/common/recipes-phosphor/ipmi/phosphor-ipmi-kcs/org.openbmc.HostIpmi.service
new file mode 100644
index 0000000..1f0da75
--- /dev/null
+++ b/common/recipes-phosphor/ipmi/phosphor-ipmi-kcs/org.openbmc.HostIpmi.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Phosphor IPMI KCS DBus Bridge
+After=phosphor-ipmi-host.service
+
+[Service]
+Restart=always
+ExecStart={sbindir}/kcsbridged --d="/dev/{KCS_DEVICE}"
+Type=dbus
+BusName={BUSNAME}
+
+[Install]
+WantedBy={SYSTEMD_DEFAULT_TARGET}
diff --git a/common/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb b/common/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb
new file mode 100644
index 0000000..9f25c0b
--- /dev/null
+++ b/common/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Phosphor OpenBMC KCS to DBUS"
+DESCRIPTION = "Phosphor OpenBMC KCS to DBUS."
+PR = "r1"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b1beb00e508e89da1ed2a541934f28c0"
+
+inherit autotools pkgconfig
+inherit obmc-phosphor-dbus-service
+
+PV = "1.0+git${SRCPV}"
+
+KCS_DEVICE ?= "ipmi-kcs3"
+
+DBUS_SERVICE_${PN} = "org.openbmc.HostIpmi.service"
+SYSTEMD_SUBSTITUTIONS += "KCS_DEVICE:${KCS_DEVICE}:${DBUS_SERVICE_${PN}}"
+
+PROVIDES += "virtual/obmc-host-ipmi-hw"
+RPROVIDES_${PN} += "virtual-obmc-host-ipmi-hw"
+RRECOMMENDS_${PN} += "phosphor-ipmi-host"
+
+DEPENDS += " \
+        autoconf-archive-native \
+        systemd \
+        "
+RDEPENDS_${PN} += "libsystemd"
+
+S = "${WORKDIR}/git"
+SRC_URI = "git://github.com/openbmc/kcsbridge.git;protocol=https"
+SRCREV = "a1c50751b57a73ee38469c03960831ace72bc860"
+
+# This is how linux-libc-headers says to include custom uapi headers
+CFLAGS_append = " -I ${STAGING_KERNEL_DIR}/include/uapi"
+do_configure[depends] += "virtual/kernel:do_shared_workdir"