diff options
Diffstat (limited to 'meta-openbmc-machines')
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')}" |