From 5500d05b0e7e15b4698cf61815f230db1d4ed720 Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Sat, 5 Aug 2023 09:21:19 -0500 Subject: meta-facebook: generate ipmb config Rather than having each system provide a (possibly empty) IPMB config, generate the `ipmb_channels.json` in the Yocto recipe. Signed-off-by: Patrick Williams Change-Id: Iab42f4aa7c3c91f610d99c3742aada82aa5b9138 --- .../ipmi/phosphor-ipmi-ipmb_%.bbappend | 1 + .../ipmi/phosphor-ipmi-ipmb_%.bbappend | 7 ++++ .../ipmi/phosphor-ipmi-ipmb_%.bbappend | 4 +++ .../ipmi/phosphor-ipmi-ipmb_%.bbappend | 7 ++++ .../bletchley/ipmb-channels.json | 11 ------ .../greatlakes/ipmb-channels.json | 39 ---------------------- .../tiogapass/ipmb-channels.json | 16 --------- .../yosemitev2/ipmb-channels.json | 39 ---------------------- .../ipmi/phosphor-ipmi-ipmb_%.bbappend | 29 ++++++++++++++-- 9 files changed, 45 insertions(+), 108 deletions(-) create mode 100644 meta-facebook/meta-bletchley/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend create mode 100644 meta-facebook/meta-greatlakes/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend create mode 100644 meta-facebook/meta-tiogapass/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend create mode 100644 meta-facebook/meta-yosemitev2/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend delete mode 100644 meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/bletchley/ipmb-channels.json delete mode 100644 meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/greatlakes/ipmb-channels.json delete mode 100644 meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/tiogapass/ipmb-channels.json delete mode 100755 meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/yosemitev2/ipmb-channels.json (limited to 'meta-facebook') diff --git a/meta-facebook/meta-bletchley/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend b/meta-facebook/meta-bletchley/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend new file mode 100644 index 0000000000..ae8a15d650 --- /dev/null +++ b/meta-facebook/meta-bletchley/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend @@ -0,0 +1 @@ +IPMB_CHANNELS:bletchley = "/dev/ipmb-13" diff --git a/meta-facebook/meta-greatlakes/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend b/meta-facebook/meta-greatlakes/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend new file mode 100644 index 0000000000..93147e49b3 --- /dev/null +++ b/meta-facebook/meta-greatlakes/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend @@ -0,0 +1,7 @@ +IPMB_CHANNELS:greatlakes = "\ + /dev/ipmb-0 \ + /dev/ipmb-1 \ + /dev/ipmb-2 \ + /dev/ipmb-3 \ + /dev/ipmb-9 \ + " diff --git a/meta-facebook/meta-tiogapass/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend b/meta-facebook/meta-tiogapass/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend new file mode 100644 index 0000000000..b97913bfaa --- /dev/null +++ b/meta-facebook/meta-tiogapass/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend @@ -0,0 +1,4 @@ +IPMB_CHANNELS:tiogapass = "\ + /dev/ipmb-4 \ + /dev/ipmb-9 \ + " diff --git a/meta-facebook/meta-yosemitev2/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend b/meta-facebook/meta-yosemitev2/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend new file mode 100644 index 0000000000..efd3aa2131 --- /dev/null +++ b/meta-facebook/meta-yosemitev2/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend @@ -0,0 +1,7 @@ +IPMB_CHANNELS:yosemitev2 = "\ + /dev/ipmb-1 \ + /dev/ipmb-3 \ + /dev/ipmb-5 \ + /dev/ipmb-7 \ + /dev/ipmb-13 \ + " diff --git a/meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/bletchley/ipmb-channels.json b/meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/bletchley/ipmb-channels.json deleted file mode 100644 index 441e867aac..0000000000 --- a/meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/bletchley/ipmb-channels.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "channels": [ - { - "type": "ipmb", - "slave-path": "/dev/ipmb-13", - "bmc-addr": 32, - "remote-addr": 64, - "devIndex": 0 - } - ] -} diff --git a/meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/greatlakes/ipmb-channels.json b/meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/greatlakes/ipmb-channels.json deleted file mode 100644 index 4452203f42..0000000000 --- a/meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/greatlakes/ipmb-channels.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "channels": [ - { - "type": "ipmb", - "slave-path": "/dev/ipmb-0", - "bmc-addr": 32, - "remote-addr": 64, - "devIndex": 0 - }, - { - "type": "ipmb", - "slave-path": "/dev/ipmb-1", - "bmc-addr": 32, - "remote-addr": 64, - "devIndex": 1 - }, - { - "type": "ipmb", - "slave-path": "/dev/ipmb-2", - "bmc-addr": 32, - "remote-addr": 64, - "devIndex": 2 - }, - { - "type": "ipmb", - "slave-path": "/dev/ipmb-3", - "bmc-addr": 32, - "remote-addr": 64, - "devIndex": 3 - }, - { - "type": "ipmb", - "slave-path": "/dev/ipmb-9", - "bmc-addr": 32, - "remote-addr": 64, - "devIndex": 4 - } - ] -} diff --git a/meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/tiogapass/ipmb-channels.json b/meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/tiogapass/ipmb-channels.json deleted file mode 100644 index 690f9e733b..0000000000 --- a/meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/tiogapass/ipmb-channels.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "channels": [ - { - "type": "me", - "slave-path": "/dev/ipmb-4", - "bmc-addr": 32, - "remote-addr": 44 - }, - { - "type": "ipmb", - "slave-path": "/dev/ipmb-9", - "bmc-addr": 32, - "remote-addr": 96 - } - ] -} diff --git a/meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/yosemitev2/ipmb-channels.json b/meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/yosemitev2/ipmb-channels.json deleted file mode 100755 index 43276132b2..0000000000 --- a/meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/yosemitev2/ipmb-channels.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "channels": [ - { - "type": "ipmb", - "slave-path": "/dev/ipmb-1", - "bmc-addr": 32, - "remote-addr": 64, - "devIndex": 0 - }, - { - "type": "ipmb", - "slave-path": "/dev/ipmb-3", - "bmc-addr": 32, - "remote-addr": 64, - "devIndex": 1 - }, - { - "type": "ipmb", - "slave-path": "/dev/ipmb-5", - "bmc-addr": 32, - "remote-addr": 64, - "devIndex": 2 - }, - { - "type": "ipmb", - "slave-path": "/dev/ipmb-7", - "bmc-addr": 32, - "remote-addr": 64, - "devIndex": 3 - }, - { - "type": "ipmb", - "slave-path": "/dev/ipmb-13", - "bmc-addr": 32, - "remote-addr": 64, - "devIndex": 4 - } - ] -} diff --git a/meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend b/meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend index 44eefb099b..824718f9ac 100644 --- a/meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend +++ b/meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend @@ -1,8 +1,31 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}/${MACHINE}:" -SRC_URI:append = " file://ipmb-channels.json" +IPMB_CHANNELS ?= "" + +python do_ipmb_channels() { + import json + channels = [] + + for channel in d.getVar('IPMB_CHANNELS').split(): + channels.append({ + "type": "ipmb", + "slave-path": channel, + "bmc-addr": 32, + "remote-addr": 64, + "devIndex": len(channels) + }) + + data = { "channels" : channels } + + path = os.path.join(d.getVar('D') + d.getVar('datadir'), + 'ipmbbridge', 'ipmb-channels.json') + + with open(path, 'w') as f: + json.dump(data, f, indent=4) +} +do_ipmb_channels[vardeps] += "IPMB_CHANNELS" +addtask ipmb_channels after do_install before do_package do_install:append() { - install -m 0644 -D ${WORKDIR}/ipmb-channels.json \ - ${D}${datadir}/ipmbbridge + install -d ${D}${datadir}/ipmbbridge } -- cgit v1.2.3