summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVishwanatha Subbanna <vishwa@linux.vnet.ibm.com>2017-08-09 15:00:34 +0530
committerPatrick Williams <patrick@stwcx.xyz>2017-08-17 19:23:22 +0000
commitfcf50768ea59b11c8fbd31172856bead4f8ae76e (patch)
treefc5cd9d73ca274d6916f5ad6966c9dcc0ee469ec
parente7a3420da3ae834bb169387b36e201563095df0e (diff)
downloadtalos-openbmc-fcf50768ea59b11c8fbd31172856bead4f8ae76e.tar.gz
talos-openbmc-fcf50768ea59b11c8fbd31172856bead4f8ae76e.zip
Generate OCC Sensor mapping during build time
Change-Id: Ieb0ba06bc8875af382b1f8e9ed38ec36eeaece48 Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
-rw-r--r--meta-openbmc-machines/meta-openpower/classes/openpower-occ-control.bbclass1
-rw-r--r--meta-openbmc-machines/meta-openpower/common/recipes-phosphor/occ/openpower-occ-control-config-example-native.bb18
-rw-r--r--meta-openbmc-machines/meta-openpower/common/recipes-phosphor/occ/openpower-occ-control-config-mrw-native.bb19
-rw-r--r--meta-openbmc-machines/meta-openpower/common/recipes-phosphor/occ/openpower-occ-control.bb2
-rw-r--r--meta-openbmc-machines/meta-openpower/conf/machine/include/openpower.inc8
5 files changed, 48 insertions, 0 deletions
diff --git a/meta-openbmc-machines/meta-openpower/classes/openpower-occ-control.bbclass b/meta-openbmc-machines/meta-openpower/classes/openpower-occ-control.bbclass
new file mode 100644
index 000000000..4294e937e
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/classes/openpower-occ-control.bbclass
@@ -0,0 +1 @@
+YAML_DEST="${D}${datadir}/openpower-occ-control"
diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/occ/openpower-occ-control-config-example-native.bb b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/occ/openpower-occ-control-config-example-native.bb
new file mode 100644
index 000000000..842d53ec0
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/occ/openpower-occ-control-config-example-native.bb
@@ -0,0 +1,18 @@
+SUMMARY = "OpenPower OCC Control with example occ sensor IDs"
+PR = "r1"
+
+inherit native
+inherit obmc-phosphor-utils
+require openpower-occ-control.inc
+inherit openpower-occ-control
+
+PROVIDES += "virtual/openpower-occ-control-config-native"
+
+S = "${WORKDIR}/git"
+
+# Copies example occ sensor ID yaml file
+do_install() {
+ SRC=${S}
+ install -d ${YAML_DEST}/
+ install -D ${SRC}/example/occ_sensor.yaml ${YAML_DEST}/occ_sensor.yaml
+}
diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/occ/openpower-occ-control-config-mrw-native.bb b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/occ/openpower-occ-control-config-mrw-native.bb
new file mode 100644
index 000000000..aa831a58a
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/occ/openpower-occ-control-config-mrw-native.bb
@@ -0,0 +1,19 @@
+SUMMARY = "OpenPower OCC Control with MRW generated sensor IDs"
+PR = "r1"
+
+inherit native
+inherit obmc-phosphor-utils
+inherit obmc-phosphor-license
+inherit openpower-occ-control
+
+PROVIDES += "virtual/openpower-occ-control-config-native"
+DEPENDS += "mrw-native mrw-perl-tools-native"
+
+# Generate a YAML files based on MRW input
+do_install_append() {
+ install -d ${YAML_DEST}/
+ ${STAGING_BINDIR_NATIVE}/perl-native/perl \
+ ${STAGING_BINDIR_NATIVE}/gen_occ_map.pl \
+ -i ${STAGING_DATADIR_NATIVE}/obmc-mrw/${MACHINE}.xml \
+ -o ${YAML_DEST}/occ_sensor.yaml
+}
diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/occ/openpower-occ-control.bb b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/occ/openpower-occ-control.bb
index e1823fe7b..390ea720a 100644
--- a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/occ/openpower-occ-control.bb
+++ b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/occ/openpower-occ-control.bb
@@ -12,6 +12,7 @@ require ${PN}.inc
DBUS_SERVICE_${PN} += "org.open_power.OCC.Control.service"
+DEPENDS += "virtual/${PN}-config-native"
DEPENDS += " \
sdbusplus \
sdbusplus-native \
@@ -29,6 +30,7 @@ RDEPENDS_${PN} += " \
phosphor-dbus-interfaces \
"
+EXTRA_OECONF = "YAML_PATH=${STAGING_DATADIR_NATIVE}/${PN}"
EXTRA_OECONF_append = "${@bb.utils.contains('OBMC_MACHINE_FEATURES', 'i2c-occ', ' --enable-i2c-occ', '', d)}"
S = "${WORKDIR}/git"
diff --git a/meta-openbmc-machines/meta-openpower/conf/machine/include/openpower.inc b/meta-openbmc-machines/meta-openpower/conf/machine/include/openpower.inc
index 984a3777b..cc9202742 100644
--- a/meta-openbmc-machines/meta-openpower/conf/machine/include/openpower.inc
+++ b/meta-openbmc-machines/meta-openpower/conf/machine/include/openpower.inc
@@ -24,3 +24,11 @@ PREFERRED_PROVIDER_virtual/openpower-fru-inventory ?= \
"${@cf_enabled(d, 'obmc-mrw', 'openpower-fru-inventory-mrw-native', 'openpower-fru-inventory-example-native')}"
PREFERRED_PROVIDER_virtual/openpower-fru-properties ?= \
"${@cf_enabled(d, 'obmc-mrw', 'openpower-fru-properties-mrw-native', 'openpower-fru-properties-example-native')}"
+
+# The openpower-occ-control application is data-driven and requires an input
+# yaml of OCC instance numbers to sensor IDs.
+# This virtual is a native recipe that provides that mapping by installing
+# configuration files in the format and native sysroot location expected by
+# the openpower-occ-control build process in the native sysroot.
+PREFERRED_PROVIDER_virtual/openpower-occ-control-config-native ?= \
+ "${@cf_enabled(d, 'obmc-mrw', 'openpower-occ-control-config-mrw-native', 'openpower-occ-control-config-example-native')}"
OpenPOWER on IntegriCloud