blob: 5bf23d1f8a1d45e94bb25ff5b33798f8275aaf2c [file] [log] [blame]
Patrick Williams0fdaf0b2023-08-06 18:49:47 -05001FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
Vijay Khemkad2a6c6a2019-07-01 15:36:57 -07002
Patrick Williams5500d052023-08-05 09:21:19 -05003IPMB_CHANNELS ?= ""
Potin Lai18258f02023-12-29 00:33:33 +08004IPMB_REMOTE_ADDR ?= ""
Patrick Williams5500d052023-08-05 09:21:19 -05005
6python do_ipmb_channels() {
7 import json
8 channels = []
Potin Lai18258f02023-12-29 00:33:33 +08009 ipmb_channel = d.getVar('IPMB_CHANNELS').split()
10 ipmb_remote_addr = d.getVar('IPMB_REMOTE_ADDR').split()
Patrick Williams5500d052023-08-05 09:21:19 -050011
Potin Lai18258f02023-12-29 00:33:33 +080012 for i in range(len(ipmb_channel)):
Patrick Williams5500d052023-08-05 09:21:19 -050013 channels.append({
14 "type": "ipmb",
Potin Lai18258f02023-12-29 00:33:33 +080015 "slave-path": ipmb_channel[i],
Patrick Williams5500d052023-08-05 09:21:19 -050016 "bmc-addr": 32,
Potin Lai2c35d0d2024-01-05 15:46:23 +080017 "remote-addr": int(ipmb_remote_addr[i]) if i < len(ipmb_remote_addr) else 64,
Potin Lai18258f02023-12-29 00:33:33 +080018 "devIndex": i
Patrick Williams5500d052023-08-05 09:21:19 -050019 })
20
21 data = { "channels" : channels }
22
23 path = os.path.join(d.getVar('D') + d.getVar('datadir'),
24 'ipmbbridge', 'ipmb-channels.json')
25
26 with open(path, 'w') as f:
27 json.dump(data, f, indent=4)
28}
29do_ipmb_channels[vardeps] += "IPMB_CHANNELS"
30addtask ipmb_channels after do_install before do_package
Vijay Khemkad2a6c6a2019-07-01 15:36:57 -070031
Patrick Williams6f746642021-08-06 07:40:55 -050032do_install:append() {
Patrick Williams5500d052023-08-05 09:21:19 -050033 install -d ${D}${datadir}/ipmbbridge
Vijay Khemkad2a6c6a2019-07-01 15:36:57 -070034}