summaryrefslogtreecommitdiffstats
path: root/meta-phosphor/recipes-phosphor/mboxd
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2018-08-31 06:25:51 -0400
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2018-09-06 07:44:12 -0400
commitff075f6ee795a590b244d70a90cc312ba1f2d83d (patch)
treea617790bdbfdeef960665ba0242e1f0c93e5301a /meta-phosphor/recipes-phosphor/mboxd
parent3e4da38c127bb7e7641adc2fc41f4c33744cb918 (diff)
downloadtalos-openbmc-ff075f6ee795a590b244d70a90cc312ba1f2d83d.tar.gz
talos-openbmc-ff075f6ee795a590b244d70a90cc312ba1f2d83d.zip
meta-phosphor: Move layer content from common/
Adopt a more conventional directory hierarchy. meta-phosphor is still a _long_ way from suitable for hosting on yoctoproject.org but things like this don't help. (From meta-phosphor rev: 471cfcefa74b8c7ceb704cb670e6d915cf27c63b) Change-Id: I3f106b2f6cdc6cec734be28a6090800546f362eb Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-phosphor/recipes-phosphor/mboxd')
-rw-r--r--meta-phosphor/recipes-phosphor/mboxd/files/99-aspeed-lpc-ctrl.rules1
-rw-r--r--meta-phosphor/recipes-phosphor/mboxd/files/99-aspeed-mbox.rules1
-rw-r--r--meta-phosphor/recipes-phosphor/mboxd/files/aspeed-lpc-ctrl-h.patch39
-rw-r--r--meta-phosphor/recipes-phosphor/mboxd/mboxd.bb51
-rw-r--r--meta-phosphor/recipes-phosphor/mboxd/mboxd/mboxd-reload@.service16
-rw-r--r--meta-phosphor/recipes-phosphor/mboxd/mboxd/mboxd.service15
6 files changed, 123 insertions, 0 deletions
diff --git a/meta-phosphor/recipes-phosphor/mboxd/files/99-aspeed-lpc-ctrl.rules b/meta-phosphor/recipes-phosphor/mboxd/files/99-aspeed-lpc-ctrl.rules
new file mode 100644
index 000000000..9cf2fbad1
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/mboxd/files/99-aspeed-lpc-ctrl.rules
@@ -0,0 +1 @@
+SUBSYSTEM=="misc", KERNEL=="aspeed-lpc-ctrl", TAG+="systemd"
diff --git a/meta-phosphor/recipes-phosphor/mboxd/files/99-aspeed-mbox.rules b/meta-phosphor/recipes-phosphor/mboxd/files/99-aspeed-mbox.rules
new file mode 100644
index 000000000..12e90d86c
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/mboxd/files/99-aspeed-mbox.rules
@@ -0,0 +1 @@
+SUBSYSTEM=="misc", KERNEL=="aspeed-mbox", TAG+="systemd"
diff --git a/meta-phosphor/recipes-phosphor/mboxd/files/aspeed-lpc-ctrl-h.patch b/meta-phosphor/recipes-phosphor/mboxd/files/aspeed-lpc-ctrl-h.patch
new file mode 100644
index 000000000..122594e9f
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/mboxd/files/aspeed-lpc-ctrl-h.patch
@@ -0,0 +1,39 @@
+--- /dev/null 2017-01-17 09:45:47.987442339 +1030
++++ include/linux/aspeed-lpc-ctrl.h 2017-01-17 11:12:17.711635876 +1030
+@@ -0,0 +1,36 @@
++/*
++ * Copyright 2017 IBM Corp.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version
++ * 2 of the License, or (at your option) any later version.
++ */
++
++#ifndef _LINUX_ASPEED_LPC_CTRL_H
++#define _LINUX_ASPEED_LPC_CTRL_H
++
++#include <linux/ioctl.h>
++
++/* Window types */
++#define ASPEED_LPC_CTRL_WINDOW_FLASH 1
++#define ASPEED_LPC_CTRL_WINDOW_MEMORY 2
++
++struct aspeed_lpc_ctrl_mapping {
++ __u8 window_type;
++ __u8 window_id;
++ __u16 flags;
++ __u32 addr;
++ __u32 offset;
++ __u32 size;
++};
++
++#define __ASPEED_LPC_CTRL_IOCTL_MAGIC 0xb2
++
++#define ASPEED_LPC_CTRL_IOCTL_GET_SIZE _IOWR(__ASPEED_LPC_CTRL_IOCTL_MAGIC, \
++ 0x00, struct aspeed_lpc_ctrl_mapping)
++
++#define ASPEED_LPC_CTRL_IOCTL_MAP _IOW(__ASPEED_LPC_CTRL_IOCTL_MAGIC, \
++ 0x01, struct aspeed_lpc_ctrl_mapping)
++
++#endif /* _LINUX_ASPEED_LPC_CTRL_H */
diff --git a/meta-phosphor/recipes-phosphor/mboxd/mboxd.bb b/meta-phosphor/recipes-phosphor/mboxd/mboxd.bb
new file mode 100644
index 000000000..03428b7a8
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/mboxd/mboxd.bb
@@ -0,0 +1,51 @@
+SUMMARY = "Phosphor OpenBMC MBOX Daemon"
+DESCRIPTION = "Phosphor OpenBMC MBOX Daemon"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+
+inherit autotools pkgconfig
+inherit obmc-phosphor-systemd
+
+DEPENDS += "autoconf-archive-native"
+DEPENDS += "systemd"
+DEPENDS += "phosphor-logging"
+RDEPENDS_${PN} += "libsystemd"
+
+S = "${WORKDIR}/git"
+
+SRC_URI += "git://github.com/openbmc/phosphor-mboxd.git"
+
+SRC_URI += "file://99-aspeed-mbox.rules"
+SRC_URI += "file://99-aspeed-lpc-ctrl.rules"
+SRC_URI += "file://aspeed-lpc-ctrl-h.patch"
+
+SRCREV="acdbdd141ece313f259ad6231e132f0a4bc3e062"
+
+PROVIDES += "mboxctl"
+
+MBOXD_FLASH_SIZE ??= "32M"
+SYSTEMD_SUBSTITUTIONS += "FLASH_SIZE:${MBOXD_FLASH_SIZE}:${PN}.service"
+
+# Hacks because ${STAGING_KERNEL_DIR} points to the kernel source tree, not the
+# installed, pre-processed headers. Requires the aspeed-lpc-ctrl-h patch above.
+CFLAGS_append = " -I include"
+
+do_install_append() {
+ install -d ${D}/lib/udev/rules.d
+ install -m 0644 ${WORKDIR}/99-aspeed-mbox.rules ${D}/lib/udev/rules.d
+ install -m 0644 ${WORKDIR}/99-aspeed-lpc-ctrl.rules ${D}/lib/udev/rules.d
+}
+
+TMPL = "mboxd-reload@.service"
+TGTFMT = "obmc-chassis-poweron@{0}.target"
+INSTFMT = "mboxd-reload@{0}.service"
+FMT = "../${TMPL}:${TGTFMT}.wants/${INSTFMT}"
+
+SYSTEMD_SERVICE_${PN} += "mboxd.service"
+SYSTEMD_SERVICE_${PN} += "mboxd-reload@.service"
+SYSTEMD_LINK_${PN} += "${@compose_list(d, 'FMT', 'OBMC_CHASSIS_INSTANCES')}"
+
+# Enable virtual-pnor by DISTRO_FEATURE openpower-ubi-fs.
+PACKAGECONFIG_append_df-openpower-ubi-fs = "virtual-pnor"
+PACKAGECONFIG[virtual-pnor] = "--enable-virtual-pnor,--disable-virtual-pnor"
diff --git a/meta-phosphor/recipes-phosphor/mboxd/mboxd/mboxd-reload@.service b/meta-phosphor/recipes-phosphor/mboxd/mboxd/mboxd-reload@.service
new file mode 100644
index 000000000..be02c7a2c
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/mboxd/mboxd/mboxd-reload@.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Reload mboxd during power on
+Wants=obmc-power-start-pre@%i.target
+Before=obmc-power-start-pre@%i.target
+Wants=mapper-wait@-org-openbmc-mboxd.service
+After=mapper-wait@-org-openbmc-mboxd.service
+Conflicts=obmc-chassis-poweroff@%i.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/bin/env mboxctl --reset
+SyslogIdentifier=mboxctl
+
+[Install]
+WantedBy=obmc-chassis-poweron@%i.target
diff --git a/meta-phosphor/recipes-phosphor/mboxd/mboxd/mboxd.service b/meta-phosphor/recipes-phosphor/mboxd/mboxd/mboxd.service
new file mode 100644
index 000000000..35081d85a
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/mboxd/mboxd/mboxd.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Phosphor MBOX Daemon
+BindsTo=dev-aspeed\x2dlpc\x2dctrl.device
+After=dev-aspeed\x2dlpc\x2dctrl.device
+BindsTo=dev-aspeed\x2dmbox.device
+After=dev-aspeed\x2dmbox.device
+
+
+[Service]
+Restart=always
+ExecStart=/usr/bin/env mboxd --flash {FLASH_SIZE} --window-size 1M
+SyslogIdentifier=mboxd
+
+[Install]
+WantedBy={SYSTEMD_DEFAULT_TARGET}
OpenPOWER on IntegriCloud