summaryrefslogtreecommitdiff
path: root/meta-ibm
diff options
context:
space:
mode:
authorPatrick Rudolph <patrick.rudolph@9elements.com>2023-05-08 09:36:57 +0300
committerNaresh Solanki <naresh.solanki@9elements.com>2023-08-03 20:10:40 +0300
commit2ca66a74ee4874e121ac398fe83759df73e48065 (patch)
tree87a82e405f9423f96cfbfe8504a9119b7ebe5040 /meta-ibm
parent54c79d0cd3b0722d83e9be18cb4904154d8a175f (diff)
downloadopenbmc-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>
Diffstat (limited to 'meta-ibm')
-rw-r--r--meta-ibm/meta-genesis3/recipes-phosphor/configuration/genesis3-yaml-config.bb27
-rw-r--r--meta-ibm/meta-genesis3/recipes-phosphor/configuration/genesis3-yaml-config/genesis3-ipmi-fru-properties.yaml15
-rw-r--r--meta-ibm/meta-genesis3/recipes-phosphor/configuration/genesis3-yaml-config/genesis3-ipmi-fru.yaml20
-rw-r--r--meta-ibm/meta-genesis3/recipes-phosphor/ipmi/phosphor-ipmi-fru/obmc/eeproms/system/chassis/motherboard2
-rw-r--r--meta-ibm/meta-genesis3/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend27
-rw-r--r--meta-ibm/meta-genesis3/recipes-phosphor/network/phosphor-network/config.json4
-rw-r--r--meta-ibm/meta-genesis3/recipes-phosphor/network/phosphor-network_%.bbappend12
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/
+}