meta-phosphor: Add host UART over VGA packages

This makes the host UART output over VGA feature a part of meta-phosphor
instead of duplicating it under each machine. Based on witherspoon
commits by Jeremy.

Change-Id: I2cbc47ee06647739eba0c0527fe01b52a0512a27
Signed-off-by: Joel Stanley <joel@jms.id.au>
diff --git a/common/recipes-phosphor/video/fbterm/fb.modes b/common/recipes-phosphor/video/fbterm/fb.modes
new file mode 100644
index 0000000..dfc51fe
--- /dev/null
+++ b/common/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/common/recipes-phosphor/video/fbterm/fbterm b/common/recipes-phosphor/video/fbterm/fbterm
new file mode 100644
index 0000000..0cf29d4
--- /dev/null
+++ b/common/recipes-phosphor/video/fbterm/fbterm
@@ -0,0 +1 @@
+FB_MODE=800x600-60
diff --git a/common/recipes-phosphor/video/fbterm/fbterm.service b/common/recipes-phosphor/video/fbterm/fbterm.service
new file mode 100644
index 0000000..2b18c91
--- /dev/null
+++ b/common/recipes-phosphor/video/fbterm/fbterm.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=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/common/recipes-phosphor/video/fbterm_git.bb b/common/recipes-phosphor/video/fbterm_git.bb
new file mode 100644
index 0000000..0c171dd
--- /dev/null
+++ b/common/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"
diff --git a/common/recipes-phosphor/video/liberation-fonts_2.00.1.bbappend b/common/recipes-phosphor/video/liberation-fonts_2.00.1.bbappend
new file mode 100644
index 0000000..5283a78
--- /dev/null
+++ b/common/recipes-phosphor/video/liberation-fonts_2.00.1.bbappend
@@ -0,0 +1,9 @@
+
+do_install () {
+	install -d ${D}${datadir}/fonts/ttf/
+	for i in LiberationMono-Regular.ttf; do
+		install -m 0644 $i ${D}${prefix}/share/fonts/ttf/${i}
+	done
+	install -d ${D}${sysconfdir}/fonts/conf.d/
+	install -m 0644 ${WORKDIR}/30-liberation-aliases.conf ${D}${sysconfdir}/fonts/conf.d/
+}
diff --git a/common/recipes-phosphor/video/uart-render-controller/uart-render-controller.service b/common/recipes-phosphor/video/uart-render-controller/uart-render-controller.service
new file mode 100644
index 0000000..3fd688f
--- /dev/null
+++ b/common/recipes-phosphor/video/uart-render-controller/uart-render-controller.service
@@ -0,0 +1,14 @@
+
+[Unit]
+Description=UART render controller
+Requires=xyz.openbmc_project.State.Host.service
+After=xyz.openbmc_project.State.Host.service
+
+[Service]
+ExecStart=/usr/sbin/obmc-uart-render-controller \
+	  /sys/devices/platform/ahb/ahb:apb/1e6e2000.syscon/1e6e2000.syscon:scratch/vga0 \
+	  /sys/devices/platform/ahb/ahb:apb/1e6e2000.syscon/1e6e2000.syscon:scratch/dac_mux \
+	  fbterm.service
+
+[Install]
+WantedBy=obmc-standby.target
diff --git a/common/recipes-phosphor/video/uart-render-controller_git.bb b/common/recipes-phosphor/video/uart-render-controller_git.bb
new file mode 100644
index 0000000..c8780a4
--- /dev/null
+++ b/common/recipes-phosphor/video/uart-render-controller_git.bb
@@ -0,0 +1,30 @@
+HOMEPAGE = "https://github.com/jk-ozlabs/uart-render-controller"
+LICENSE = "GPLv2+"
+
+SRC_URI += "git://github.com/jk-ozlabs/uart-render-controller;branch=master"
+SRC_URI += "file://uart-render-controller.service"
+
+PR = "r1"
+
+LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
+
+inherit autotools
+inherit pkgconfig
+inherit systemd
+
+DEPENDS += "autoconf-archive-native"
+DEPENDS += "systemd"
+RDEPENDS_${PN} += "libsystemd"
+RDEPENDS_${PN} += "fbterm"
+
+SRCREV = "14decab20f621c050760e5f3310f5a960cf21211"
+PV = "0.1+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+SYSTEMD_SERVICE_${PN} += "uart-render-controller.service"
+
+do_install_append() {
+    install -d ${D}${systemd_system_unitdir}
+    install -m 0644 ${WORKDIR}/uart-render-controller.service ${D}${systemd_system_unitdir}/
+}