summaryrefslogtreecommitdiff
path: root/meta-fii
diff options
context:
space:
mode:
authorGrant Williams <grant.williams@fii-na.com>2022-04-29 22:56:02 +0300
committerVivekanand Veeracholan <vveerach@google.com>2022-09-21 04:17:17 +0300
commit59d2f61eb93221b8151036192dc8b65b1df79a4a (patch)
tree593e1e9b53d4b896116c8a0b6e63260c38ca76a1 /meta-fii
parentbcccb4af1393a25bf02bf2753e233e7016e5138d (diff)
downloadopenbmc-59d2f61eb93221b8151036192dc8b65b1df79a4a.tar.xz
meta-fii: meta-mori: add phosphor console package
Add phosphor console mori_uart_mux_ctrl script,obmc-console service files, and .conf files - Added console feature for host & mpro - Added mori_uart_mux_ctrl.sh to set gpio S0_UART0_BMC_SEL and S0_UART1_BMC_SEL allowing routing between host & mpro consoles to bmc - Added host_console_uart_configuration.service so that it runs before obmc-console. Set it to require multi-user.target, which is also required by obmc-console. Signed-off-by: Grant Williams <grant.williams@fii-na.com> Change-Id: I5d7002c20c5d1b87fa5c78e69b0885fc635c6145
Diffstat (limited to 'meta-fii')
-rw-r--r--meta-fii/meta-mori/recipes-mori/mori-sys-utility/mori-boot/init_once.sh6
-rw-r--r--meta-fii/meta-mori/recipes-phosphor/console/obmc-console/host_console_uart_config.service10
-rw-r--r--meta-fii/meta-mori/recipes-phosphor/console/obmc-console/mori_uart_mux_ctrl.sh8
-rw-r--r--meta-fii/meta-mori/recipes-phosphor/console/obmc-console/obmc-console@.service17
-rw-r--r--meta-fii/meta-mori/recipes-phosphor/console/obmc-console/server.ttyS1.conf3
-rw-r--r--meta-fii/meta-mori/recipes-phosphor/console/obmc-console/server.ttyS3.conf4
-rw-r--r--meta-fii/meta-mori/recipes-phosphor/console/obmc-console_%.bbappend30
-rw-r--r--meta-fii/meta-mori/recipes-phosphor/image/obmc-phosphor-image.bbappend3
8 files changed, 75 insertions, 6 deletions
diff --git a/meta-fii/meta-mori/recipes-mori/mori-sys-utility/mori-boot/init_once.sh b/meta-fii/meta-mori/recipes-mori/mori-sys-utility/mori-boot/init_once.sh
index 1c59aa00f6..79c84d2638 100644
--- a/meta-fii/meta-mori/recipes-mori/mori-sys-utility/mori-boot/init_once.sh
+++ b/meta-fii/meta-mori/recipes-mori/mori-sys-utility/mori-boot/init_once.sh
@@ -12,12 +12,6 @@ function set_mux_default(){
set_gpio_ctrl CPU_EEPROM_SEL 1
# BMC_CPU_PMBUS_SEL
set_gpio_ctrl CPU_VRD_SEL 1
-
- # CPU Host UART Mux
- set_gpio_ctrl S0_UART0_BMC_SEL 0
- # SCP Host UART Mux
- set_gpio_ctrl S0_UART1_BMC_SEL 0
-
# LED control
# LED_BMC_LIVE
set_gpio_ctrl LED_BMC_ALIVE 1
diff --git a/meta-fii/meta-mori/recipes-phosphor/console/obmc-console/host_console_uart_config.service b/meta-fii/meta-mori/recipes-phosphor/console/obmc-console/host_console_uart_config.service
new file mode 100644
index 0000000000..8b5cbeafd4
--- /dev/null
+++ b/meta-fii/meta-mori/recipes-phosphor/console/obmc-console/host_console_uart_config.service
@@ -0,0 +1,10 @@
+[Unit]
+Description = UART Activation Sequence
+Before=host-powerctrl.service
+
+[Service]
+ExecStart=/usr/libexec/obmc-console/mori_uart_mux_ctrl.sh
+Type=oneshot
+
+[Install]
+RequiredBy=multi-user.target
diff --git a/meta-fii/meta-mori/recipes-phosphor/console/obmc-console/mori_uart_mux_ctrl.sh b/meta-fii/meta-mori/recipes-phosphor/console/obmc-console/mori_uart_mux_ctrl.sh
new file mode 100644
index 0000000000..e1f090ad4c
--- /dev/null
+++ b/meta-fii/meta-mori/recipes-phosphor/console/obmc-console/mori_uart_mux_ctrl.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+# Provide source directive to shellcheck.
+# shellcheck source=meta-fii/meta-mori/recipes-mori/mori-fw-utility/mori-fw/mori-lib.sh
+source /usr/libexec/mori-fw/mori-lib.sh
+
+set_gpio_ctrl S0_UART0_BMC_SEL 1
+set_gpio_ctrl S0_UART1_BMC_SEL 1
+echo "UART initialization complete"
diff --git a/meta-fii/meta-mori/recipes-phosphor/console/obmc-console/obmc-console@.service b/meta-fii/meta-mori/recipes-phosphor/console/obmc-console/obmc-console@.service
new file mode 100644
index 0000000000..3ce7942b58
--- /dev/null
+++ b/meta-fii/meta-mori/recipes-phosphor/console/obmc-console/obmc-console@.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=Phosphor Console Muxer listening on device /dev/%I
+BindsTo=dev-%i.device
+After=dev-%i.device
+StartLimitBurst=3
+StartLimitIntervalSec=300
+
+[Service]
+ExecStart=/usr/sbin/obmc-console-server --config /etc/obmc-console/server.%i.conf %i
+SyslogIdentifier=obmc-console-server
+Restart=always
+RestartSec=10
+TimeoutStartSec=60
+TimeoutStopSec=60
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-fii/meta-mori/recipes-phosphor/console/obmc-console/server.ttyS1.conf b/meta-fii/meta-mori/recipes-phosphor/console/obmc-console/server.ttyS1.conf
new file mode 100644
index 0000000000..e93f0781d8
--- /dev/null
+++ b/meta-fii/meta-mori/recipes-phosphor/console/obmc-console/server.ttyS1.conf
@@ -0,0 +1,3 @@
+baud = 115200
+logfile = /var/log/obmc-console-cpu.log
+logsize = 1M
diff --git a/meta-fii/meta-mori/recipes-phosphor/console/obmc-console/server.ttyS3.conf b/meta-fii/meta-mori/recipes-phosphor/console/obmc-console/server.ttyS3.conf
new file mode 100644
index 0000000000..ae469bbb27
--- /dev/null
+++ b/meta-fii/meta-mori/recipes-phosphor/console/obmc-console/server.ttyS3.conf
@@ -0,0 +1,4 @@
+baud = 115200
+socket-id = ttyS3
+logfile = /var/log/obmc-console-mpro.log
+logsize = 1M
diff --git a/meta-fii/meta-mori/recipes-phosphor/console/obmc-console_%.bbappend b/meta-fii/meta-mori/recipes-phosphor/console/obmc-console_%.bbappend
new file mode 100644
index 0000000000..90b21cd5f3
--- /dev/null
+++ b/meta-fii/meta-mori/recipes-phosphor/console/obmc-console_%.bbappend
@@ -0,0 +1,30 @@
+FILESEXTRAPATHS:prepend:mori := "${THISDIR}/${PN}:"
+RDEPENDS:${PN}:append:mori = " bash"
+
+OBMC_CONSOLE_TTYS:mori = "ttyS1 ttyS3"
+
+SRC_URI:append:mori = " file://${BPN}@.service \
+ file://host_console_uart_config.service \
+ file://mori_uart_mux_ctrl.sh \
+ file://server.ttyS1.conf \
+ file://server.ttyS3.conf \
+ "
+
+SYSTEMD_SERVICE:${PN}:append:mori = " \
+ ${BPN}@.service \
+ host_console_uart_config.service \
+ "
+
+do_install:append:mori() {
+ install -d ${D}${libexecdir}/${PN}
+ install -m 0755 ${WORKDIR}/mori_uart_mux_ctrl.sh ${D}${libexecdir}/${PN}/mori_uart_mux_ctrl.sh
+ install -m 0644 ${WORKDIR}/host_console_uart_config.service ${D}${systemd_unitdir}/system
+ # Overwrite base package's obmc-console@.service with our own
+ install -m 0644 ${WORKDIR}/${BPN}@.service ${D}${systemd_unitdir}/system/${BPN}@.service
+}
+
+pkg_postinst:${PN}:append:mori () {
+ systemctl --root=$D enable obmc-console@ttyS1.service
+ systemctl --root=$D enable obmc-console@ttyS3.service
+}
+
diff --git a/meta-fii/meta-mori/recipes-phosphor/image/obmc-phosphor-image.bbappend b/meta-fii/meta-mori/recipes-phosphor/image/obmc-phosphor-image.bbappend
index fe6678493c..7fe06dc877 100644
--- a/meta-fii/meta-mori/recipes-phosphor/image/obmc-phosphor-image.bbappend
+++ b/meta-fii/meta-mori/recipes-phosphor/image/obmc-phosphor-image.bbappend
@@ -25,6 +25,9 @@ OBMC_IMAGE_EXTRA_INSTALL:append:mori = " bmcweb"
OBMC_IMAGE_EXTRA_INSTALL:append:mori = " phosphor-certificate-manager"
OBMC_IMAGE_EXTRA_INSTALL:append:mori = " phosphor-user-manager"
+# Required for the front port. Part of obmc-console
+OBMC_IMAGE_EXTRA_INSTALL:append:mori = " obmc-console"
+
# Required from packagegroup-mori-apps
OBMC_IMAGE_EXTRA_INSTALL:append:mori = " obmc-phosphor-buttons-signals"
OBMC_IMAGE_EXTRA_INSTALL:append:mori = " obmc-phosphor-buttons-handler"