summaryrefslogtreecommitdiff
path: root/meta-facebook
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2023-08-05 17:21:19 +0300
committerPatrick Williams <patrick@stwcx.xyz>2023-08-07 00:14:31 +0300
commit5500d05b0e7e15b4698cf61815f230db1d4ed720 (patch)
tree1841bb19f0498e558cafb3cb7a302d43a74d7ab2 /meta-facebook
parent796196a605a2179023b397a276f90c735a371e0d (diff)
downloadopenbmc-5500d05b0e7e15b4698cf61815f230db1d4ed720.tar.xz
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 <patrick@stwcx.xyz> Change-Id: Iab42f4aa7c3c91f610d99c3742aada82aa5b9138
Diffstat (limited to 'meta-facebook')
-rw-r--r--meta-facebook/meta-bletchley/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend1
-rw-r--r--meta-facebook/meta-greatlakes/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend7
-rw-r--r--meta-facebook/meta-tiogapass/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend4
-rw-r--r--meta-facebook/meta-yosemitev2/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend7
-rw-r--r--meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/bletchley/ipmb-channels.json11
-rw-r--r--meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/greatlakes/ipmb-channels.json39
-rw-r--r--meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/tiogapass/ipmb-channels.json16
-rwxr-xr-xmeta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/yosemitev2/ipmb-channels.json39
-rw-r--r--meta-facebook/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend29
9 files changed, 45 insertions, 108 deletions
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
}