diff options
author | Gunnar Mills <gmills@us.ibm.com> | 2017-07-10 23:49:43 +0300 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2017-08-01 00:23:30 +0300 |
commit | b163e9b2dc076a58c78782f990aef455cf22dee5 (patch) | |
tree | c779cdebef014df0bd8e70ca334de91c14fff3e6 | |
parent | 57f1ad3c6c54a80576d18149c09a2a7e0cbae928 (diff) | |
download | openbmc-b163e9b2dc076a58c78782f990aef455cf22dee5.tar.xz |
Add GPIO Presence
Add the GPIO Presence service file and needed Witherspoon
conf files for power supply GPIO presence detection.
Resolves openbmc/openbmc#1329
Change-Id: Ie8d5e3e6c2bda1c85fd10a4cffacfdd7ce9840ae
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
7 files changed, 69 insertions, 7 deletions
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog.bb b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog.bb index 1fdca1787..c09b9df24 100644 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog.bb +++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog.bb @@ -4,7 +4,7 @@ PR = "r1" inherit obmc-phosphor-license inherit obmc-phosphor-systemd -RDEPENDS_${PN} += "phosphor-gpio-monitor" +RDEPENDS_${PN} += "virtual/obmc-gpio-monitor" RDEPENDS_${PN} += "busybox" RESET_SERVICE = "witherspoon-reset-fan-watchdog.service" diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor.bbappend b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor.bbappend new file mode 100644 index 000000000..9d1ca6601 --- /dev/null +++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor.bbappend @@ -0,0 +1,14 @@ +FILESEXTRAPATHS_append := "${THISDIR}/${PN}:" + +OBMC_POWERSUPPLY_INSTANCES = "0 1" + +TMPL_POWERSUPPLY = "phosphor-gpio-presence@.service" +INSTFMT_POWERSUPPLY = "phosphor-gpio-presence@{0}.service" +POWERSUPPLY_TGT = "${SYSTEMD_DEFAULT_TARGET}" +FMT_POWERSUPPLY = "../${TMPL_POWERSUPPLY}:${POWERSUPPLY_TGT}.requires/${INSTFMT_POWERSUPPLY}" + +SYSTEMD_LINK_${PN}-presence += "${@compose_list(d, 'FMT_POWERSUPPLY', 'OBMC_POWERSUPPLY_INSTANCES')}" + +POWERSUPPLY_ENV_FMT = "obmc/gpio/phosphor-power-supply-{0}.conf" + +SYSTEMD_ENVIRONMENT_FILE_${PN}-presence += "${@compose_list(d, 'POWERSUPPLY_ENV_FMT', 'OBMC_POWERSUPPLY_INSTANCES')}" diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc/gpio/phosphor-power-supply-0.conf b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc/gpio/phosphor-power-supply-0.conf new file mode 100644 index 000000000..124864192 --- /dev/null +++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc/gpio/phosphor-power-supply-0.conf @@ -0,0 +1,4 @@ +INVENTORY=/system/chassis/power_supply0 +PATH=/dev/input/by-path/platform-gpio-keys-event +KEY=127 +NAME=power_supply0 diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc/gpio/phosphor-power-supply-1.conf b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc/gpio/phosphor-power-supply-1.conf new file mode 100644 index 000000000..512905b9b --- /dev/null +++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc/gpio/phosphor-power-supply-1.conf @@ -0,0 +1,4 @@ +INVENTORY=/system/chassis/power_supply1 +PATH=/dev/input/by-path/platform-gpio-keys-event +KEY=104 +NAME=power_supply1 diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend index db27edc74..f2756d0f0 100644 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend +++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend @@ -1,2 +1,2 @@ -RDEPENDS_${PN}-inventory += "openpower-fru-vpd openpower-occ-control phosphor-cooling-type" +RDEPENDS_${PN}-inventory += "openpower-fru-vpd openpower-occ-control phosphor-cooling-type virtual/obmc-gpio-presence" RDEPENDS_${PN}-fan-control += "witherspoon-fan-watchdog" diff --git a/meta-phosphor/common/recipes-phosphor/gpio/phosphor-gpio-monitor.bb b/meta-phosphor/common/recipes-phosphor/gpio/phosphor-gpio-monitor.bb index 70f01dde0..6fc12ef91 100644 --- a/meta-phosphor/common/recipes-phosphor/gpio/phosphor-gpio-monitor.bb +++ b/meta-phosphor/common/recipes-phosphor/gpio/phosphor-gpio-monitor.bb @@ -8,19 +8,47 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" inherit autotools pkgconfig inherit obmc-phosphor-dbus-service -RPROVIDES_${PN} += "virtual/obmc-gpio-monitor" +GPIO_PACKAGES = " \ + ${PN}-monitor \ + ${PN}-presence \ +" + +PACKAGES += "${GPIO_PACKAGES}" +PACKAGES_remove = "${PN}" +RDEPENDS_${PN}-dev = "${GPIO_PACKAGES}" +RDEPENDS_${PN}-staticdev = "${GPIO_PACKAGES}" +SYSTEMD_PACKAGES = "${GPIO_PACKAGES}" + +RPROVIDES_${PN}-monitor += "virtual/obmc-gpio-monitor" +RPROVIDES_${PN}-presence += "virtual/obmc-gpio-presence" + PROVIDES += "virtual/obmc-gpio-monitor" +PROVIDES += "virtual/obmc-gpio-presence" DEPENDS += "autoconf-archive-native" DEPENDS += "sdbusplus sdbusplus-native" DEPENDS += "phosphor-dbus-interfaces" DEPENDS += "libevdev" DEPENDS += "phosphor-logging" -RDEPENDS_${PN} += "libsystemd" -RDEPENDS_${PN} += "libevdev" -RDEPENDS_${PN} += "phosphor-logging" -SYSTEMD_SERVICE_${PN} += "phosphor-gpio-monitor@.service" +RDEPENDS_${PN}-monitor += " \ + libsystemd \ + libevdev \ + phosphor-logging \ +" +RDEPENDS_${PN}-presence += " \ + libsystemd \ + libevdev \ + phosphor-logging \ + sdbusplus \ +" + +SYSTEMD_SERVICE_${PN}-monitor += "phosphor-gpio-monitor@.service" +SYSTEMD_SERVICE_${PN}-presence += "phosphor-gpio-presence@.service" + +FILES_${PN}-monitor += "${sbindir}/phosphor-gpio-monitor" +FILES_${PN}-monitor += "${sbindir}/phosphor-gpio-util" +FILES_${PN}-presence += "${sbindir}/phosphor-gpio-presence" SRC_URI += "git://github.com/openbmc/phosphor-gpio-monitor" SRCREV = "5d89f18a92ceeead129729811208ee13a9daf721" diff --git a/meta-phosphor/common/recipes-phosphor/gpio/phosphor-gpio-monitor/phosphor-gpio-presence@.service b/meta-phosphor/common/recipes-phosphor/gpio/phosphor-gpio-monitor/phosphor-gpio-presence@.service new file mode 100644 index 000000000..7872ce69f --- /dev/null +++ b/meta-phosphor/common/recipes-phosphor/gpio/phosphor-gpio-monitor/phosphor-gpio-presence@.service @@ -0,0 +1,12 @@ +[Unit] +Description=Phosphor GPIO %I Presence +Wants=mapper-wait@-xyz-openbmc_project-inventory.service +After=mapper-wait@-xyz-openbmc_project-inventory.service +ConditionPathExists={envfiledir}/obmc/gpio/phosphor-power-supply-%i.conf + +[Service] +EnvironmentFile={envfiledir}/obmc/gpio/phosphor-power-supply-%i.conf +ExecStart={sbindir}/phosphor-gpio-presence --path=${{PATH}} --inventory=${{INVENTORY}} --key=${{KEY}} --name=${{NAME}} + +[Install] +RequiredBy={SYSTEMD_DEFAULT_TARGET} |