summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGunnar Mills <gmills@us.ibm.com>2017-07-10 23:49:43 +0300
committerPatrick Williams <patrick@stwcx.xyz>2017-08-01 00:23:30 +0300
commitb163e9b2dc076a58c78782f990aef455cf22dee5 (patch)
treec779cdebef014df0bd8e70ca334de91c14fff3e6
parent57f1ad3c6c54a80576d18149c09a2a7e0cbae928 (diff)
downloadopenbmc-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>
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog.bb2
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor.bbappend14
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc/gpio/phosphor-power-supply-0.conf4
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc/gpio/phosphor-power-supply-1.conf4
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend2
-rw-r--r--meta-phosphor/common/recipes-phosphor/gpio/phosphor-gpio-monitor.bb38
-rw-r--r--meta-phosphor/common/recipes-phosphor/gpio/phosphor-gpio-monitor/phosphor-gpio-presence@.service12
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}