diff options
author | Patrick Rudolph <patrick.rudolph@9elements.com> | 2023-05-08 09:36:57 +0300 |
---|---|---|
committer | Naresh Solanki <naresh.solanki@9elements.com> | 2023-08-03 20:10:40 +0300 |
commit | 2ca66a74ee4874e121ac398fe83759df73e48065 (patch) | |
tree | 87a82e405f9423f96cfbfe8504a9119b7ebe5040 | |
parent | 54c79d0cd3b0722d83e9be18cb4904154d8a175f (diff) | |
download | openbmc-2ca66a74ee4874e121ac398fe83759df73e48065.tar.xz |
meta-ibm/genesis3: Assign MAC from board EEPROM
Add phosphor-ipmi-fru and ipmi-fru-properties configurations
to parse the MAC address from board IPMI EEPROM.
Add config for phosphor-network to sync MAC to u-boot env.
Change-Id: I76c294f8822da11da2fedef5fdd842ce6d10efd0
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
7 files changed, 107 insertions, 0 deletions
diff --git a/meta-ibm/meta-genesis3/recipes-phosphor/configuration/genesis3-yaml-config.bb b/meta-ibm/meta-genesis3/recipes-phosphor/configuration/genesis3-yaml-config.bb new file mode 100644 index 0000000000..aa14e8c4f5 --- /dev/null +++ b/meta-ibm/meta-genesis3/recipes-phosphor/configuration/genesis3-yaml-config.bb @@ -0,0 +1,27 @@ +SUMMARY = "YAML configuration for IBM Genesis3" +PR = "r1" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +inherit allarch + +SRC_URI:genesis3 = " \ + file://genesis3-ipmi-fru.yaml \ + file://genesis3-ipmi-fru-properties.yaml \ + " + +S = "${WORKDIR}" + +do_install:genesis3() { + install -m 0644 -D genesis3-ipmi-fru.yaml \ + ${D}${datadir}/${BPN}/ipmi-fru-read.yaml + install -m 0644 -D genesis3-ipmi-fru-properties.yaml \ + ${D}${datadir}/${BPN}/ipmi-extra-properties.yaml +} + +FILES:${PN}-dev = " \ + ${datadir}/${BPN}/ipmi-fru-read.yaml \ + ${datadir}/${BPN}/ipmi-extra-properties.yaml \ + " + +ALLOW_EMPTY:${PN} = "1" diff --git a/meta-ibm/meta-genesis3/recipes-phosphor/configuration/genesis3-yaml-config/genesis3-ipmi-fru-properties.yaml b/meta-ibm/meta-genesis3/recipes-phosphor/configuration/genesis3-yaml-config/genesis3-ipmi-fru-properties.yaml new file mode 100644 index 0000000000..38ced0829f --- /dev/null +++ b/meta-ibm/meta-genesis3/recipes-phosphor/configuration/genesis3-yaml-config/genesis3-ipmi-fru-properties.yaml @@ -0,0 +1,15 @@ +/system/chassis/motherboard/bmc/ethernet0: + xyz.openbmc_project.Inventory.Decorator.Replaceable: + FieldReplaceable: 'false' + xyz.openbmc_project.Inventory.Decorator.Cacheable: + Cached: 'true' + xyz.openbmc_project.Inventory.Item: + Present: 'true' + +/system/chassis/motherboard/bmc/ethernet1: + xyz.openbmc_project.Inventory.Decorator.Replaceable: + FieldReplaceable: 'false' + xyz.openbmc_project.Inventory.Decorator.Cacheable: + Cached: 'true' + xyz.openbmc_project.Inventory.Item: + Present: 'true' diff --git a/meta-ibm/meta-genesis3/recipes-phosphor/configuration/genesis3-yaml-config/genesis3-ipmi-fru.yaml b/meta-ibm/meta-genesis3/recipes-phosphor/configuration/genesis3-yaml-config/genesis3-ipmi-fru.yaml new file mode 100644 index 0000000000..a48757cc5c --- /dev/null +++ b/meta-ibm/meta-genesis3/recipes-phosphor/configuration/genesis3-yaml-config/genesis3-ipmi-fru.yaml @@ -0,0 +1,20 @@ +0: + /system/chassis/motherboard/bmc/ethernet0: + entityID: 6 + entityInstance: 1 + interfaces: + xyz.openbmc_project.Inventory.Item.NetworkInterface: + MACAddress: + IPMIFruProperty: Custom Field 2 + IPMIFruSection: Board + xyz.openbmc_project.Inventory.Item.Ethernet: + /system/chassis/motherboard/bmc/ethernet1: + entityID: 6 + entityInstance: 2 + interfaces: + xyz.openbmc_project.Inventory.Item.NetworkInterface: + MACAddress: + IPMIFruProperty: Custom Field 3 + IPMIFruSection: Board + xyz.openbmc_project.Inventory.Item.Ethernet: + diff --git a/meta-ibm/meta-genesis3/recipes-phosphor/ipmi/phosphor-ipmi-fru/obmc/eeproms/system/chassis/motherboard b/meta-ibm/meta-genesis3/recipes-phosphor/ipmi/phosphor-ipmi-fru/obmc/eeproms/system/chassis/motherboard new file mode 100644 index 0000000000..56f1df6e5c --- /dev/null +++ b/meta-ibm/meta-genesis3/recipes-phosphor/ipmi/phosphor-ipmi-fru/obmc/eeproms/system/chassis/motherboard @@ -0,0 +1,2 @@ +SYSFS_PATH=/sys/bus/i2c/devices/25-0051/eeprom +FRUID=0 diff --git a/meta-ibm/meta-genesis3/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend b/meta-ibm/meta-genesis3/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend new file mode 100644 index 0000000000..f04dd846ee --- /dev/null +++ b/meta-ibm/meta-genesis3/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend @@ -0,0 +1,27 @@ +inherit obmc-phosphor-systemd + +FILESEXTRAPATHS:prepend:genesis3 := "${THISDIR}/${PN}:" + +DEPENDS:append:genesis3 = " genesis3-yaml-config" + +EXTRA_OECONF:genesis3 = " \ + YAML_GEN=${STAGING_DIR_HOST}${datadir}/genesis3-yaml-config/ipmi-fru-read.yaml \ + PROP_YAML=${STAGING_DIR_HOST}${datadir}/genesis3-yaml-config/ipmi-extra-properties.yaml \ + " + +EEPROM_NAMES = "motherboard" + +EEPROMFMT = "system/chassis/{0}" +EEPROM_ESCAPEDFMT = "system-chassis-{0}" +EEPROMS = "${@compose_list(d, 'EEPROMFMT', 'EEPROM_NAMES')}" +EEPROMS_ESCAPED = "${@compose_list(d, 'EEPROM_ESCAPEDFMT', 'EEPROM_NAMES')}" + +ENVFMT = "obmc/eeproms/{0}" +SYSTEMD_ENVIRONMENT_FILE:${PN}:append:genesis3 := " ${@compose_list(d, 'ENVFMT', 'EEPROMS')}" + +TMPL = "obmc-read-eeprom@.service" +TGT = "${SYSTEMD_DEFAULT_TARGET}" +INSTFMT = "obmc-read-eeprom@{0}.service" +FMT = "../${TMPL}:${TGT}.wants/${INSTFMT}" + +SYSTEMD_LINK:${PN}:append:genesis3 := " ${@compose_list(d, 'FMT', 'EEPROMS_ESCAPED')}" diff --git a/meta-ibm/meta-genesis3/recipes-phosphor/network/phosphor-network/config.json b/meta-ibm/meta-genesis3/recipes-phosphor/network/phosphor-network/config.json new file mode 100644 index 0000000000..cd28c113d8 --- /dev/null +++ b/meta-ibm/meta-genesis3/recipes-phosphor/network/phosphor-network/config.json @@ -0,0 +1,4 @@ +{ + "eth0":"ethernet0", + "eth1":"ethernet1" +} diff --git a/meta-ibm/meta-genesis3/recipes-phosphor/network/phosphor-network_%.bbappend b/meta-ibm/meta-genesis3/recipes-phosphor/network/phosphor-network_%.bbappend new file mode 100644 index 0000000000..b91e82f911 --- /dev/null +++ b/meta-ibm/meta-genesis3/recipes-phosphor/network/phosphor-network_%.bbappend @@ -0,0 +1,12 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +PACKAGECONFIG:append = " sync-mac" +SRC_URI += " \ + file://config.json \ + " +FILES:${PN} += "${datadir}/network/*.json" + +do_install:append() { + install -d ${D}${datadir}/network/ + install -m 0644 ${WORKDIR}/config.json ${D}${datadir}/network/ +} |