diff options
author | Lei YU <mine260309@gmail.com> | 2016-12-22 16:15:03 +0800 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2017-01-11 21:37:46 +0000 |
commit | fdc0491d6e3775e89d1cc7e1ef57182f854f840d (patch) | |
tree | 7d529ed75d58e0c7e337c06cc1de9f0da6947b81 /meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes-phosphor | |
parent | 1d27150396622d6add98811999559ed0341c5b2b (diff) | |
download | talos-openbmc-fdc0491d6e3775e89d1cc7e1ef57182f854f840d.tar.gz talos-openbmc-fdc0491d6e3775e89d1cc7e1ef57182f854f840d.zip |
meta-romulus: Add CPLD workaround
Romulus power on scripts requires a workaround to trigger CPLD to give
pgood signal after vcs_workaround.
Add this as cpld_trigger service that runs after vcs_workaround and
before obmc-host-start-pre.
Change-Id: I0723bad38a5832f0bb2a8776129885308a8e644a
Signed-off-by: Lei YU <mine260309@gmail.com>
Diffstat (limited to 'meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes-phosphor')
3 files changed, 47 insertions, 0 deletions
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes-phosphor/chassis/cpld-trigger.bb b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes-phosphor/chassis/cpld-trigger.bb new file mode 100644 index 000000000..4fb9e2090 --- /dev/null +++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes-phosphor/chassis/cpld-trigger.bb @@ -0,0 +1,28 @@ +SUMMARY = "Romulus CPLD Trigger" +DESCRIPTION = "Romulus power on workaround to trigger CPLD to continue power sequence" +PR = "r0" + +inherit obmc-phosphor-systemd +inherit obmc-phosphor-license + +RDEPENDS_${PN} += "obmc-pydevtools" + +PROVIDES += 'virtual/p9-vcs-workaround' +RPROVIDES_${PN} += 'virtual-p9-vcs-workaround' + +S = "${WORKDIR}" +SRC_URI += "file://cpld_trigger.sh" + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${WORKDIR}/cpld_trigger.sh ${D}${bindir}/cpld_trigger.sh +} + +TMPL = "cpld_trigger@.service" +INSTFMT = "cpld_trigger@{0}.service" +TGTFMT = "obmc-chassis-start@{0}.target" +FMT = "../${TMPL}:${TGTFMT}.wants/${INSTFMT}" + +SYSTEMD_SERVICE_${PN} += "${TMPL}" +SYSTEMD_LINK_${PN} += "${@compose_list(d, 'FMT', 'OBMC_CHASSIS_INSTANCES')}" + diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes-phosphor/chassis/cpld-trigger/cpld_trigger.sh b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes-phosphor/chassis/cpld-trigger/cpld_trigger.sh new file mode 100644 index 000000000..9c7bf9a84 --- /dev/null +++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes-phosphor/chassis/cpld-trigger/cpld_trigger.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +# Trigger CPLD to give pgood signal +gpioutil -p S7 -d out -v 0 diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes-phosphor/chassis/cpld-trigger/cpld_trigger@.service b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes-phosphor/chassis/cpld-trigger/cpld_trigger@.service new file mode 100644 index 000000000..e96141891 --- /dev/null +++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes-phosphor/chassis/cpld-trigger/cpld_trigger@.service @@ -0,0 +1,15 @@ +[Unit] +Description=Trigger CPLD to give pgood +Wants=vcs_workaround@%i.service +After=vcs_workaround@%i.service +Wants=obmc-host-start-pre@%i.target +Before=obmc-host-start-pre@%i.target +Conflicts=obmc-chassis-stop@%i.target + +[Service] +ExecStart={bindir}/cpld_trigger.sh +Type=oneshot +RemainAfterExit=yes + +[Install] +WantedBy=obmc-chassis-start@%i.target |