diff options
Diffstat (limited to 'meta-openbmc-machines')
8 files changed, 108 insertions, 48 deletions
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/conf/machine/witherspoon.conf b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/conf/machine/witherspoon.conf index 0b1776222..1ccd1cf5a 100644 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/conf/machine/witherspoon.conf +++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/conf/machine/witherspoon.conf @@ -19,6 +19,9 @@ PHOSPHOR_MRW_REV = "6ca015dbd3e1e9d5206f9ec13ec9db2d8965e181" # Inhibit phosphor-hwmon-config-mrw VIRTUAL-RUNTIME_phosphor-hwmon-config_df-mrw = "" +# Pick up the Witherspoon-specific IPMI configuration +VIRTUAL-RUNTIME_ipmi-config = "witherspoon-ipmi-config" + # Inhibit phosphor-fan-presence-mrw-native PREFERRED_PROVIDER_virtual/phosphor-fan-presence-config_df-mrw = \ "phosphor-fan-presence-config-native" @@ -26,3 +29,5 @@ PREFERRED_PROVIDER_virtual/phosphor-fan-presence-config_df-mrw = \ # Inhibit phosphor-fan-control-fan-config-mrw-native PREFERRED_PROVIDER_virtual/phosphor-fan-control-fan-config_df-mrw = \ "phosphor-fan-control-fan-config-native" + +PREFERRED_RPROVIDER_virtual/phosphor-ipmi-config = "witherspoon-ipmi-config" diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host.bbappend b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host.bbappend index 27678bf88..748fa73f5 100644 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host.bbappend +++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host.bbappend @@ -1,49 +1,5 @@ FILESEXTRAPATHS_append_witherspoon := ":${THISDIR}/${PN}" -SRC_URI_append_witherspoon = " file://occ_sensors.hardcoded.yaml \ - file://dev_id.json \ - file://dcmi_sensors.json \ - file://power_reading.json \ - file://hwmon_sensors.hardcoded.yaml \ - file://cipher_list.json \ - " -inherit image_version - -# Calculate the auxiliary firmware revision to be updated in the dev_id.json -# file. It is calculated from the VERSION_ID field which currently has two -# formats. The revision field is 4 bytes, the first two bytes represent the -# count of commits from the tagging and next two bytes represent the version. -# Both fields are represented in BCD encoded format, so 9999 is the maximum -# value both fields can take. With the format "v2.1-216-ga78ace8", Petitboot -# would display the firmware revision as "Firmware version: 2.01.02160000", -# "0216" is count and the revision is "0000". With the format -# "ibm-v2.0-10-r41-0-gd0c319e" Petitboot would display the firmware revision -# as "Firmware version: 2.00.00100041", "0010" is count and the revision -# is "0041". - -python do_populate_aux_version() { - import json - import re - version_id = do_get_version(d) - - # count from the commit version - count = re.findall("-(\d{1,4})-", version_id) - - release = re.findall("-r(\d{1,4})", version_id) - if release: - auxVer = count[0] + "{0:0>4}".format(release[0]) - else: - auxVer = count[0] + "0000" - - # Update dev_id.json with the auxiliary firmware revision - workdir = d.getVar('WORKDIR', True) - file = os.path.join(workdir, 'dev_id.json') - - with open(file, "r+") as jsonFile: - data = json.load(jsonFile) - jsonFile.seek(0) - jsonFile.truncate() - data["aux"] = int(auxVer, 16) - json.dump(data, jsonFile) -} - -addtask populate_aux_version after do_configure before do_compile +SRC_URI_append_witherspoon = " \ + file://occ_sensors.hardcoded.yaml \ + file://hwmon_sensors.hardcoded.yaml \ + " diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config.bb b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config.bb new file mode 100644 index 000000000..8ab47c631 --- /dev/null +++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config.bb @@ -0,0 +1,82 @@ +SUMMARY = "Witherspoon IPMI daemon configuration" +PR = "r1" + +inherit obmc-phosphor-license +inherit allarch + +SRC_URI = " \ + file://cipher_list.json \ + file://dcmi_cap.json \ + file://dcmi_sensors.json \ + file://dev_id.json \ + file://power_reading.json \ + " + +FILES_${PN} = " \ + ${datadir}/ipmi-providers/cipher_list.json \ + ${datadir}/ipmi-providers/dcmi_cap.json \ + ${datadir}/ipmi-providers/dcmi_sensors.json \ + ${datadir}/ipmi-providers/dev_id.json \ + ${datadir}/ipmi-providers/power_reading.json \ + " + +do_fetch[noexec] = "1" +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +# Calculate the auxiliary firmware revision to be updated in the dev_id.json +# file. It is calculated from the VERSION_ID field which currently has two +# formats. The revision field is 4 bytes, the first two bytes represent the +# count of commits from the tagging and next two bytes represent the version. +# Both fields are represented in BCD encoded format, so 9999 is the maximum +# value both fields can take. With the format "v2.1-216-ga78ace8", Petitboot +# would display the firmware revision as "Firmware version: 2.01.02160000", +# "0216" is count and the revision is "0000". With the format +# "ibm-v2.0-10-r41-0-gd0c319e" Petitboot would display the firmware revision +# as "Firmware version: 2.00.00100041", "0010" is count and the revision +# is "0041". + +inherit image_version + +do_patch[depends] = "os-release:do_populate_sysroot" + +python do_patch() { + import json + import re + from shutil import copyfile + version_id = do_get_version(d) + + # count from the commit version + count = re.findall("-(\d{1,4})-", version_id) + + release = re.findall("-r(\d{1,4})", version_id) + if release: + auxVer = count[0] + "{0:0>4}".format(release[0]) + else: + auxVer = count[0] + "0000" + + workdir = d.getVar('WORKDIR', True) + file = os.path.join(workdir, 'dev_id.json') + + # Update dev_id.json with the auxiliary firmware revision + with open(file, "r+") as jsonFile: + data = json.load(jsonFile) + jsonFile.seek(0) + jsonFile.truncate() + data["aux"] = int(auxVer, 16) + json.dump(data, jsonFile) +} + +do_install() { + install -d ${D}${datadir}/ipmi-providers + install -m 0644 -D ${WORKDIR}/cipher_list.json \ + ${D}${datadir}/ipmi-providers/cipher_list.json + install -m 0644 -D ${WORKDIR}/dcmi_cap.json \ + ${D}${datadir}/ipmi-providers/dcmi_cap.json + install -m 0644 -D ${WORKDIR}/dcmi_sensors.json \ + ${D}${datadir}/ipmi-providers/dcmi_sensors.json + install -m 0644 -D ${WORKDIR}/dev_id.json \ + ${D}${datadir}/ipmi-providers/dev_id.json + install -m 0644 -D ${WORKDIR}/power_reading.json \ + ${D}${datadir}/ipmi-providers/power_reading.json +} diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host/cipher_list.json b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/cipher_list.json index 0f13b1e73..0f13b1e73 100644 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host/cipher_list.json +++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/cipher_list.json diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/dcmi_cap.json b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/dcmi_cap.json new file mode 100644 index 000000000..2d8832081 --- /dev/null +++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/dcmi_cap.json @@ -0,0 +1,17 @@ +{ + "PowerManagement": 1, + "OOBSecondaryLan": 0, + "SerialTMODE": 0, + "InBandSystemInterfaceChannel": 1, + "SELAutoRollOver": 1, + "FlushEntireSELUponRollOver": 0, + "RecordLevelSELFlushUponRollOver": 0, + "NumberOfSELEntries": 200, + "TempMonitoringSamplingFreq":0, + "PowerMgmtDeviceSlaveAddress": 0, + "BMCChannelNumber": 0, + "DeviceRivision": 0, + "MandatoryPrimaryLanOOBSupport": 1, + "OptionalSecondaryLanOOBSupport": 255, + "OptionalSerialOOBMTMODECapability": 255 +} diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host/dcmi_sensors.json b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/dcmi_sensors.json index 837071398..837071398 100644 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host/dcmi_sensors.json +++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/dcmi_sensors.json diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host/dev_id.json b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/dev_id.json index 6cd9a94b3..6cd9a94b3 100644 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host/dev_id.json +++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/dev_id.json diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host/power_reading.json b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/power_reading.json index 97e8f32b5..97e8f32b5 100644 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host/power_reading.json +++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/witherspoon-ipmi-config/power_reading.json |