openpower/witherspoon: add fbterm package for UART rendering

This change adds a definition for fbterm, customised for rendering UART
data to a local framebuffer device.

fbterm upstream isn't very active - last release was in 2008. So, use a
newer git tree, which includes a couple of fixes and customisations for
our usage in uart rendering.

Change-Id: Ib19e879283548dbe403401b6fecfaaeb8cf74c1c
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
diff --git a/meta-witherspoon/recipes-phosphor/video/fbterm/fb.modes b/meta-witherspoon/recipes-phosphor/video/fbterm/fb.modes
new file mode 100644
index 0000000..dfc51fe
--- /dev/null
+++ b/meta-witherspoon/recipes-phosphor/video/fbterm/fb.modes
@@ -0,0 +1,7 @@
+mode "800x600-60"
+    # D: 40.00 MHz, H: 37.879 kHz, V: 60.32 Hz
+    geometry 800 600 800 600 32
+    timings 0 88 40 23 1 128 4
+    hsync high
+    vsync high
+endmode
diff --git a/meta-witherspoon/recipes-phosphor/video/fbterm/fbterm b/meta-witherspoon/recipes-phosphor/video/fbterm/fbterm
new file mode 100644
index 0000000..0cf29d4
--- /dev/null
+++ b/meta-witherspoon/recipes-phosphor/video/fbterm/fbterm
@@ -0,0 +1 @@
+FB_MODE=800x600-60
diff --git a/meta-witherspoon/recipes-phosphor/video/fbterm/fbterm.service b/meta-witherspoon/recipes-phosphor/video/fbterm/fbterm.service
new file mode 100644
index 0000000..7b68344
--- /dev/null
+++ b/meta-witherspoon/recipes-phosphor/video/fbterm/fbterm.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=Witherspoon UART renderer
+Requires=obmc-console@ttyVUART0.service
+
+[Service]
+EnvironmentFile={envfiledir}/fbterm
+ExecStartPre=/usr/sbin/fbset $FB_MODE
+ExecStart=/usr/bin/fbterm --write-only obmc-console-client
diff --git a/meta-witherspoon/recipes-phosphor/video/fbterm_git.bb b/meta-witherspoon/recipes-phosphor/video/fbterm_git.bb
new file mode 100644
index 0000000..0c171dd
--- /dev/null
+++ b/meta-witherspoon/recipes-phosphor/video/fbterm_git.bb
@@ -0,0 +1,29 @@
+HOMEPAGE = "https://github.com/jk-ozlabs/fbterm"
+LICENSE = "GPLv2+"
+
+SRC_URI += "git://github.com/jk-ozlabs/fbterm.git;nobranch=1"
+SRC_URI += "file://fb.modes"
+PR = "r1"
+
+LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=d8e20eece214df8ef953ed5857862150"
+
+DEPENDS += "freetype"
+DEPENDS += "fontconfig"
+
+inherit autotools
+inherit pkgconfig
+inherit obmc-phosphor-systemd
+
+SRCREV = "c15430560aeb82a27358cc320af4a29e1296e6c1"
+PV = "1.7+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+    oe_runmake 'DESTDIR=${D}' install-exec
+    install -d ${D}${sysconfdir}/
+    install -m 0644 ${WORKDIR}/fb.modes ${D}${sysconfdir}/
+}
+
+SYSTEMD_SERVICE_${PN} += "fbterm.service"
+SYSTEMD_ENVIRONMENT_FILE_${PN} += "fbterm"