Initial commit

This commit is contained in:
Your Name
2026-04-23 17:07:55 +08:00
commit b7e39e063b
16725 changed files with 1625565 additions and 0 deletions
@@ -0,0 +1,33 @@
SUMMARY = "Romulus AVSBus control"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-systemd
RDEPENDS:${PN} += "i2c-tools bash"
S = "${WORKDIR}"
SRC_URI += "file://avsbus-enable.sh \
file://avsbus-disable.sh"
do_install() {
install -d ${D}${bindir}
install -m 0755 ${WORKDIR}/avsbus-disable.sh \
${D}${bindir}/avsbus-disable.sh
install -m 0755 ${WORKDIR}/avsbus-enable.sh \
${D}${bindir}/avsbus-enable.sh
}
TMPL_EN= "avsbus-enable@.service"
TMPL_DIS= "avsbus-disable@.service"
INSTFMT_EN= "avsbus-enable@{0}.service"
INSTFMT_DIS= "avsbus-disable@{0}.service"
TGTFMT = "obmc-chassis-poweron@{0}.target"
FMT_EN = "../${TMPL_EN}:${TGTFMT}.requires/${INSTFMT_EN}"
FMT_DIS = "../${TMPL_DIS}:${TGTFMT}.requires/${INSTFMT_DIS}"
SYSTEMD_SERVICE:${PN} += "${TMPL_EN}"
SYSTEMD_LINK:${PN} += "${@compose_list(d, 'FMT_EN', 'OBMC_CHASSIS_INSTANCES')}"
SYSTEMD_SERVICE:${PN} += "${TMPL_DIS}"
SYSTEMD_LINK:${PN} += "${@compose_list(d, 'FMT_DIS', 'OBMC_CHASSIS_INSTANCES')}"
@@ -0,0 +1,16 @@
#!/bin/sh
i2cset -y 4 0x70 0x00 0x00 b # VDD 0 - PAGE set
i2cset -y 4 0x70 0x01 0x80 b # VDD 0
i2cset -y 4 0x70 0x00 0x01 b # VCS 0 - PAGE set
i2cset -y 4 0x70 0x01 0x80 b # VCS 0
i2cset -y 4 0x70 0x00 0x00 b # VCS 0 - PAGE reset
i2cset -y 4 0x73 0x00 0x00 b # VDN 0 - PAGE set
i2cset -y 4 0x73 0x01 0x80 b # VDN 0
i2cset -y 5 0x70 0x00 0x00 b # VDD 1 - PAGE set
i2cset -y 5 0x70 0x01 0x80 b # VDD 1
i2cset -y 5 0x70 0x00 0x01 b # VCS 1 - PAGE set
i2cset -y 5 0x70 0x01 0x80 b # VCS 1
i2cset -y 5 0x70 0x00 0x00 b # VCS 1 - PAGE reset
i2cset -y 5 0x73 0x00 0x00 b # VDN 1 - PAGE set
i2cset -y 5 0x73 0x01 0x80 b # VDN 1
@@ -0,0 +1,15 @@
[Unit]
Description=Disable the AVS bus on the VRMs
Wants=obmc-power-start@.service
After=obmc-power-start@.service
Before=vrm-control@%i.service
Conflicts=obmc-chassis-poweroff@%i.target
ConditionPathExists=!/run/openbmc/chassis@%i-on
[Service]
ExecStart=/usr/bin/avsbus-disable.sh
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=obmc-chassis-poweron@%i.target
@@ -0,0 +1,16 @@
#!/bin/sh
i2cset -y 4 0x70 0x00 0x00 b # VDD 0 - PAGE set
i2cset -y 4 0x70 0x01 0xB0 b # VDD 0
i2cset -y 4 0x70 0x00 0x01 b # VCS 0 - PAGE set
i2cset -y 4 0x70 0x01 0xB0 b # VCS 0
i2cset -y 4 0x70 0x00 0x00 b # VCS 0 - PAGE reset
i2cset -y 4 0x73 0x00 0x00 b # VDN 0 - PAGE set
i2cset -y 4 0x73 0x01 0xB0 b # VDN 0
i2cset -y 5 0x70 0x00 0x00 b # VDD 1 - PAGE set
i2cset -y 5 0x70 0x01 0xB0 b # VDD 1
i2cset -y 5 0x70 0x00 0x01 b # VCS 1 - PAGE set
i2cset -y 5 0x70 0x01 0xB0 b # VCS 1
i2cset -y 5 0x70 0x00 0x00 b # VCS 1 - PAGE reset
i2cset -y 5 0x73 0x00 0x00 b # VDN 1 - PAGE set
i2cset -y 5 0x73 0x01 0xB0 b # VDN 1
@@ -0,0 +1,14 @@
[Unit]
Description=Enable the AVS bus on VRMs
Wants=vrm-control@%i.service
After=vrm-control@%i.service
Conflicts=obmc-chassis-poweroff@%i.target
ConditionPathExists=!/run/openbmc/chassis@%i-on
[Service]
ExecStart=/usr/bin/avsbus-enable.sh
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=obmc-chassis-poweron@%i.target
@@ -0,0 +1,27 @@
SUMMARY = "Romulus VRM Overrides"
DESCRIPTION = "Sets Rolumus VRMs to custom voltages"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-systemd
RDEPENDS:${PN} += "i2c-tools bash"
S = "${WORKDIR}"
SRC_URI += "file://vrm-control.sh \
file://vrm.sh"
do_install() {
install -d ${D}${bindir}
install -m 0755 ${WORKDIR}/vrm.sh ${D}${bindir}/vrm.sh
install -m 0755 ${WORKDIR}/vrm-control.sh ${D}${bindir}/vrm-control.sh
}
TMPL = "vrm-control@.service"
INSTFMT = "vrm-control@{0}.service"
TGTFMT = "obmc-chassis-poweron@{0}.target"
FMT = "../${TMPL}:${TGTFMT}.requires/${INSTFMT}"
SYSTEMD_SERVICE:${PN} += "${TMPL}"
SYSTEMD_LINK:${PN} += "${@compose_list(d, 'FMT', 'OBMC_CHASSIS_INSTANCES')}"
@@ -0,0 +1,137 @@
#!/bin/bash
# #########################################################
# Script to run on Romulus BMC to read/set vrm voltages
# #########################################################
function d2v() {
# usage: d2v <decimal volts>
echo "$1" | awk '{print $1 * 256 + .5}' | cut -d '.' -f 1
}
# #########################################################
function v2d() {
# usage: v2d <hex val>
printf " %0.3fV" "$(echo "$1" | awk '{print $1 / 256}')"
}
# #########################################################
function i2d() {
# usage: i2d <hex val> <current divisor>
# parse current mantisa and exponent
# format: SEEE ESMM MMMM MMMM
e=$(( $1/0x800 ))
esign=$(( e/0x10 ))
m=$(( $1 & 0x07FF ))
msign=$(( m/0x0400 ))
if [ $msign -eq 1 ]
then
# calc ones compliment
m=$(( (m^0x07FF)+1 ))
m=$(( -m ))
fi
if [ $esign -eq 1 ]
then
# calc ones compliment
e=$(( (e^0x1F)+1 ))
e=$(( -e ))
fi
printf " %0.3fA\n" "$(echo $m $e "$2" | awk '{print ($1 * 2^$2) / $3}')"
}
# #########################################################
function rw_vc() {
# usage: rw_vc <bus> <addr> <current divisor> <channel> <value>
# select channel
if [ "$4" != "x" ]
then
i2cset -y "$1" "$2" 0 "$4" b
fi
# write new voltage set point
if [ ! -e "$5" ]
then
i2cset -y "$1" "$2" 0x21 "$(d2v "$5")" w
fi
# print voltage set point
v2d "$(i2cget -y "$1" "$2" 0x21 w)"
# print voltage
v2d "$(i2cget -y "$1" "$2" 0x8B w)"
# print current
i2d "$(i2cget -y "$1" "$2" 0x8C w)" "$3"
# default back to channel 0
if [ "$4" != "x" ]
then
i2cset -y "$1" "$2" 0 0 b
fi
}
# #########################################################
# Main
if [ -e "$1" ]
then
$0 vdda vcsa vdna vioa vddb vcsb vdnb viob
exit
fi
if [ "$1" == "-h" ]
then
echo " Usage: vrm [<rail>=[value] [<rail>=[value]] ...]"
echo " rail: vdda vcsa vdna vioa vddb vcsb vdnb viob"
echo " value: volts"
echo
echo " e.g., vrm vioa=1.0 viob=1.0"
echo
exit
fi
echo "rail set read current"
echo "------- ------- ------- -------"
for param in "${@:1}"
do
rail=$(echo "$param" | cut -d'=' -f 1)
val=$(echo "${param}=" | cut -d'=' -f 2)
echo -n "$rail"
case "$rail" in
vdda)
rw_vc 4 0x70 2 0 "$val"
;;
vddb)
rw_vc 5 0x70 2 0 "$val"
;;
vcsa)
rw_vc 4 0x70 4 1 "$val"
;;
vcsb)
rw_vc 5 0x70 4 1 "$val"
;;
vdna)
rw_vc 4 0x73 2 0 "$val"
;;
vdnb)
rw_vc 5 0x73 2 0 "$val"
;;
vioa)
rw_vc 4 0x73 2 1 "$val"
;;
viob)
rw_vc 5 0x73 2 1 "$val"
;;
*)
echo " non-existant"
esac
done
@@ -0,0 +1,15 @@
[Unit]
Description=Apply voltage overrides to VRMs
Wants=avsbus-disable@%i.service
After=avsbus-disable@%i.service
Before=avsbus-enable@%i.service
Conflicts=obmc-chassis-poweroff@%i.target
ConditionPathExists=!/run/openbmc/chassis@%i-on
[Service]
ExecStart=/usr/bin/vrm.sh
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=obmc-chassis-poweron@%i.target
@@ -0,0 +1,3 @@
#!/bin/sh
vrm-control.sh vdna=0.9 vdnb=0.9
@@ -0,0 +1,38 @@
SUMMARY = "YAML configuration for Romulus"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
SRC_URI = " \
file://romulus-ipmi-fru.yaml \
file://romulus-ipmi-fru-bmc.yaml \
file://romulus-ipmi-fru-properties.yaml \
file://romulus-ipmi-inventory-sensors.yaml \
file://romulus-ipmi-sensors.yaml \
"
S = "${WORKDIR}"
do_install() {
cat romulus-ipmi-fru.yaml romulus-ipmi-fru-bmc.yaml > fru-read.yaml
install -m 0644 -D romulus-ipmi-fru-properties.yaml \
${D}${datadir}/${BPN}/ipmi-extra-properties.yaml
install -m 0644 -D fru-read.yaml \
${D}${datadir}/${BPN}/ipmi-fru-read.yaml
install -m 0644 -D romulus-ipmi-inventory-sensors.yaml \
${D}${datadir}/${BPN}/ipmi-inventory-sensors.yaml
install -m 0644 -D romulus-ipmi-sensors.yaml \
${D}${datadir}/${BPN}/ipmi-sensors.yaml
}
FILES:${PN}-dev = " \
${datadir}/${BPN}/ipmi-extra-properties.yaml \
${datadir}/${BPN}/ipmi-fru-read.yaml \
${datadir}/${BPN}/ipmi-inventory-sensors.yaml \
${datadir}/${BPN}/ipmi-sensors.yaml \
"
ALLOW_EMPTY:${PN} = "1"
@@ -0,0 +1,27 @@
50:
/system/chassis/motherboard/fan0:
entityID: 29
entityInstance: 1
interfaces:
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Product Name
IPMIFruSection: Product
51:
/system/chassis/motherboard/fan1:
entityID: 29
entityInstance: 2
interfaces:
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Product Name
IPMIFruSection: Product
52:
/system/chassis/motherboard/fan2:
entityID: 29
entityInstance: 3
interfaces:
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Product Name
IPMIFruSection: Product
@@ -0,0 +1,140 @@
/system:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/cpu0:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/cpu1:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/dimm0:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/dimm1:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/dimm10:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/dimm11:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/dimm12:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/dimm13:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/dimm14:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/dimm15:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/dimm2:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/dimm3:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/dimm4:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/dimm5:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/dimm6:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/dimm7:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/dimm8:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
/system/chassis/motherboard/dimm9:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
xyz.openbmc_project.Inventory.Item:
Present: 'true'
@@ -0,0 +1,536 @@
1:
/system/chassis/motherboard/cpu0:
entityID: 3
entityInstance: 1
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Board
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Board
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Board
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Board
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Custom Field 2
IPMIFruSection: Board
IPMIFruValueDelimiter: 58
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Board
2:
/system/chassis/motherboard/cpu1:
entityID: 3
entityInstance: 2
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Board
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Board
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Board
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Board
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Custom Field 2
IPMIFruSection: Board
IPMIFruValueDelimiter: 58
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Board
Value: false
3:
/system:
entityID: 7
entityInstance: 1
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
Model:
IPMIFruProperty: Part Number
IPMIFruSection: Chassis
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Chassis
/system/chassis/motherboard:
entityID: 7
entityInstance: 1
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Board
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Board
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Board
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Board
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Board
4:
/system/chassis/motherboard/dimm0:
entityID: 32
entityInstance: 1
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Product
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Product
Model:
IPMIFruProperty: Model Number
IPMIFruSection: Product
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Product
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Version
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Product
5:
/system/chassis/motherboard/dimm1:
entityID: 32
entityInstance: 2
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Product
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Product
Model:
IPMIFruProperty: Model Number
IPMIFruSection: Product
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Product
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Version
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Product
6:
/system/chassis/motherboard/dimm2:
entityID: 32
entityInstance: 3
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Product
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Product
Model:
IPMIFruProperty: Model Number
IPMIFruSection: Product
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Product
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Version
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Product
7:
/system/chassis/motherboard/dimm3:
entityID: 32
entityInstance: 4
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Product
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Product
Model:
IPMIFruProperty: Model Number
IPMIFruSection: Product
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Product
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Version
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Product
8:
/system/chassis/motherboard/dimm4:
entityID: 32
entityInstance: 5
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Product
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Product
Model:
IPMIFruProperty: Model Number
IPMIFruSection: Product
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Product
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Version
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Product
9:
/system/chassis/motherboard/dimm5:
entityID: 32
entityInstance: 6
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Product
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Product
Model:
IPMIFruProperty: Model Number
IPMIFruSection: Product
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Product
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Version
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Product
10:
/system/chassis/motherboard/dimm6:
entityID: 32
entityInstance: 7
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Product
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Product
Model:
IPMIFruProperty: Model Number
IPMIFruSection: Product
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Product
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Version
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Product
11:
/system/chassis/motherboard/dimm7:
entityID: 32
entityInstance: 8
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Product
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Product
Model:
IPMIFruProperty: Model Number
IPMIFruSection: Product
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Product
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Version
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Product
12:
/system/chassis/motherboard/dimm8:
entityID: 32
entityInstance: 9
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Product
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Product
Model:
IPMIFruProperty: Model Number
IPMIFruSection: Product
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Product
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Version
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Product
13:
/system/chassis/motherboard/dimm9:
entityID: 32
entityInstance: 10
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Product
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Product
Model:
IPMIFruProperty: Model Number
IPMIFruSection: Product
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Product
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Version
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Product
14:
/system/chassis/motherboard/dimm10:
entityID: 32
entityInstance: 11
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Product
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Product
Model:
IPMIFruProperty: Model Number
IPMIFruSection: Product
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Product
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Version
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Product
15:
/system/chassis/motherboard/dimm11:
entityID: 32
entityInstance: 12
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Product
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Product
Model:
IPMIFruProperty: Model Number
IPMIFruSection: Product
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Product
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Version
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Product
16:
/system/chassis/motherboard/dimm12:
entityID: 32
entityInstance: 13
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Product
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Product
Model:
IPMIFruProperty: Model Number
IPMIFruSection: Product
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Product
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Version
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Product
17:
/system/chassis/motherboard/dimm13:
entityID: 32
entityInstance: 14
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Product
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Product
Model:
IPMIFruProperty: Model Number
IPMIFruSection: Product
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Product
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Version
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Product
18:
/system/chassis/motherboard/dimm14:
entityID: 32
entityInstance: 15
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Product
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Product
Model:
IPMIFruProperty: Model Number
IPMIFruSection: Product
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Product
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Version
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Product
19:
/system/chassis/motherboard/dimm15:
entityID: 32
entityInstance: 16
interfaces:
xyz.openbmc_project.Inventory.Decorator.Asset:
BuildDate:
IPMIFruProperty: Mfg Date
IPMIFruSection: Product
Manufacturer:
IPMIFruProperty: Manufacturer
IPMIFruSection: Product
Model:
IPMIFruProperty: Model Number
IPMIFruSection: Product
PartNumber:
IPMIFruProperty: Part Number
IPMIFruSection: Product
SerialNumber:
IPMIFruProperty: Serial Number
IPMIFruSection: Product
xyz.openbmc_project.Inventory.Decorator.Revision:
Version:
IPMIFruProperty: Version
xyz.openbmc_project.Inventory.Item:
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Product
@@ -0,0 +1,340 @@
/xyz/openbmc_project/inventory/system:
eventReadingType: 111
offset: 2
sensorID: 144
sensorType: 18
/xyz/openbmc_project/inventory/system/chassis/motherboard:
eventReadingType: 3
offset: 0
sensorID: 140
sensorType: 199
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0:
eventReadingType: 111
offset: 8
sensorID: 8
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core0:
eventReadingType: 111
offset: 8
sensorID: 43
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core1:
eventReadingType: 111
offset: 8
sensorID: 44
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core10:
eventReadingType: 111
offset: 8
sensorID: 53
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core11:
eventReadingType: 111
offset: 8
sensorID: 54
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core12:
eventReadingType: 111
offset: 8
sensorID: 55
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core13:
eventReadingType: 111
offset: 8
sensorID: 56
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core14:
eventReadingType: 111
offset: 8
sensorID: 57
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core15:
eventReadingType: 111
offset: 8
sensorID: 58
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core16:
eventReadingType: 111
offset: 8
sensorID: 59
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core17:
eventReadingType: 111
offset: 8
sensorID: 60
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core18:
eventReadingType: 111
offset: 8
sensorID: 61
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core19:
eventReadingType: 111
offset: 8
sensorID: 62
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core2:
eventReadingType: 111
offset: 8
sensorID: 45
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core20:
eventReadingType: 111
offset: 8
sensorID: 63
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core21:
eventReadingType: 111
offset: 8
sensorID: 64
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core22:
eventReadingType: 111
offset: 8
sensorID: 65
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core23:
eventReadingType: 111
offset: 8
sensorID: 66
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core3:
eventReadingType: 111
offset: 8
sensorID: 46
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core4:
eventReadingType: 111
offset: 8
sensorID: 47
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core5:
eventReadingType: 111
offset: 8
sensorID: 48
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core6:
eventReadingType: 111
offset: 8
sensorID: 49
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core7:
eventReadingType: 111
offset: 8
sensorID: 50
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core8:
eventReadingType: 111
offset: 8
sensorID: 51
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core9:
eventReadingType: 111
offset: 8
sensorID: 52
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1:
eventReadingType: 111
offset: 8
sensorID: 9
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core0:
eventReadingType: 111
offset: 8
sensorID: 67
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core1:
eventReadingType: 111
offset: 8
sensorID: 68
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core10:
eventReadingType: 111
offset: 8
sensorID: 77
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core11:
eventReadingType: 111
offset: 8
sensorID: 78
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core12:
eventReadingType: 111
offset: 8
sensorID: 79
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core13:
eventReadingType: 111
offset: 8
sensorID: 80
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core14:
eventReadingType: 111
offset: 8
sensorID: 81
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core15:
eventReadingType: 111
offset: 8
sensorID: 82
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core16:
eventReadingType: 111
offset: 8
sensorID: 83
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core17:
eventReadingType: 111
offset: 8
sensorID: 84
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core18:
eventReadingType: 111
offset: 8
sensorID: 85
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core19:
eventReadingType: 111
offset: 8
sensorID: 86
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core2:
eventReadingType: 111
offset: 8
sensorID: 69
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core20:
eventReadingType: 111
offset: 8
sensorID: 87
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core21:
eventReadingType: 111
offset: 8
sensorID: 88
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core22:
eventReadingType: 111
offset: 8
sensorID: 89
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core23:
eventReadingType: 111
offset: 8
sensorID: 90
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core3:
eventReadingType: 111
offset: 8
sensorID: 70
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core4:
eventReadingType: 111
offset: 8
sensorID: 71
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core5:
eventReadingType: 111
offset: 8
sensorID: 72
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core6:
eventReadingType: 111
offset: 8
sensorID: 73
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core7:
eventReadingType: 111
offset: 8
sensorID: 74
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core8:
eventReadingType: 111
offset: 8
sensorID: 75
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core9:
eventReadingType: 111
offset: 8
sensorID: 76
sensorType: 7
/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0:
eventReadingType: 111
offset: 4
sensorID: 11
sensorType: 12
/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1:
eventReadingType: 111
offset: 4
sensorID: 12
sensorType: 12
/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10:
eventReadingType: 111
offset: 4
sensorID: 21
sensorType: 12
/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11:
eventReadingType: 111
offset: 4
sensorID: 22
sensorType: 12
/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12:
eventReadingType: 111
offset: 4
sensorID: 23
sensorType: 12
/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13:
eventReadingType: 111
offset: 4
sensorID: 24
sensorType: 12
/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14:
eventReadingType: 111
offset: 4
sensorID: 25
sensorType: 12
/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15:
eventReadingType: 111
offset: 4
sensorID: 26
sensorType: 12
/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2:
eventReadingType: 111
offset: 4
sensorID: 13
sensorType: 12
/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3:
eventReadingType: 111
offset: 4
sensorID: 14
sensorType: 12
/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4:
eventReadingType: 111
offset: 4
sensorID: 15
sensorType: 12
/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5:
eventReadingType: 111
offset: 4
sensorID: 16
sensorType: 12
/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6:
eventReadingType: 111
offset: 4
sensorID: 17
sensorType: 12
/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7:
eventReadingType: 111
offset: 4
sensorID: 18
sensorType: 12
/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8:
eventReadingType: 111
offset: 4
sensorID: 19
sensorType: 12
/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9:
eventReadingType: 111
offset: 4
sensorID: 20
sensorType: 12
@@ -0,0 +1,4 @@
lpc-address = 0x3f8
sirq = 4
local-tty = ttyS0
local-tty-baud = 115200
@@ -0,0 +1 @@
FILESEXTRAPATHS:prepend:romulus := "${THISDIR}/${PN}:"
@@ -0,0 +1 @@
FILESEXTRAPATHS:prepend:romulus := "${THISDIR}/${BPN}:"
@@ -0,0 +1,463 @@
groups:
- name: air_cooled_zone0_fans
description: Group of fan inventory objects for air cooled zone 0
type: /xyz/openbmc_project/inventory
members:
- /system/chassis/motherboard/fan0
- /system/chassis/motherboard/fan1
- /system/chassis/motherboard/fan2
- name: zone0_ambient
description: Group of ambient temperature sensors for zone 0
type: /xyz/openbmc_project/sensors
members:
- /temperature/outlet
- name: occ0_object
description: Dbus object containing OCC0 properties
type: /org/open_power/control
members:
- /occ0
- name: occ1_object
description: Dbus object containing OCC1 properties
type: /org/open_power/control
members:
- /occ1
- name: zone0_cores
description: Group of core temperature sensors for zone 0
type: /xyz/openbmc_project/sensors
members:
- /temperature/p0_core0_temp
- /temperature/p0_core1_temp
- /temperature/p0_core2_temp
- /temperature/p0_core3_temp
- /temperature/p0_core4_temp
- /temperature/p0_core5_temp
- /temperature/p0_core6_temp
- /temperature/p0_core7_temp
- /temperature/p0_core8_temp
- /temperature/p0_core9_temp
- /temperature/p0_core10_temp
- /temperature/p0_core11_temp
- /temperature/p0_core12_temp
- /temperature/p0_core13_temp
- /temperature/p0_core14_temp
- /temperature/p0_core15_temp
- /temperature/p0_core16_temp
- /temperature/p0_core17_temp
- /temperature/p0_core18_temp
- /temperature/p0_core19_temp
- /temperature/p0_core20_temp
- /temperature/p0_core21_temp
- /temperature/p0_core22_temp
- /temperature/p0_core23_temp
- /temperature/p1_core0_temp
- /temperature/p1_core1_temp
- /temperature/p1_core2_temp
- /temperature/p1_core3_temp
- /temperature/p1_core4_temp
- /temperature/p1_core5_temp
- /temperature/p1_core6_temp
- /temperature/p1_core7_temp
- /temperature/p1_core8_temp
- /temperature/p1_core9_temp
- /temperature/p1_core10_temp
- /temperature/p1_core11_temp
- /temperature/p1_core12_temp
- /temperature/p1_core13_temp
- /temperature/p1_core14_temp
- /temperature/p1_core15_temp
- /temperature/p1_core16_temp
- /temperature/p1_core17_temp
- /temperature/p1_core18_temp
- /temperature/p1_core19_temp
- /temperature/p1_core20_temp
- /temperature/p1_core21_temp
- /temperature/p1_core22_temp
- /temperature/p1_core23_temp
- name: zone0_dimms
description: Group of dimm temperature sensors for zone 0
type: /xyz/openbmc_project/sensors
members:
- /temperature/dimm0_temp
- /temperature/dimm1_temp
- /temperature/dimm2_temp
- /temperature/dimm3_temp
- /temperature/dimm4_temp
- /temperature/dimm5_temp
- /temperature/dimm6_temp
- /temperature/dimm7_temp
- /temperature/dimm8_temp
- /temperature/dimm9_temp
- /temperature/dimm10_temp
- /temperature/dimm11_temp
- /temperature/dimm12_temp
- /temperature/dimm13_temp
- /temperature/dimm14_temp
- /temperature/dimm15_temp
matches:
- name: propertiesChanged
parameters:
- object
- interface
- name: interfacesAdded
parameters:
- object
- name: nameOwnerChanged
parameters:
- object
- interface
signals:
- name: propertiesChanged
description: >
A property changed match
parameters:
- type
- object
- interface
- property
match: propertiesChanged
- name: interfacesAdded
description: >
An interfaces added match
parameters:
- type
- object
- interface
- property
match: interfacesAdded
- name: nameOwnerChanged
description: >
A name owner changed match
parameters:
match: nameOwnerChanged
methods:
- name: getProperties
description: >
Get the property values of the given group members
by performing a `GetProperty` method call on each
parameters:
- type
- name: nameHasOwner
description: >
A NameHasOwner method call to be performed on all event group members
parameters:
handlers:
- name: setProperty
description: >
Sets a value for the given object/interface/property
parameters:
- type
- name: setService
description: >
Sets the service name and ownership status for the given group
parameters:
- group
preconditions:
- name: property_states_match
description: >
All defined properties must match the values given to
enable a set speed event otherwise fan speeds are set to full
parameters:
- groups
- name: services_missing_owner
description: >
Any services missing an owner enable the events given otherwise
the events are removed/disabled
parameters:
actions:
- name: call_actions_based_on_timer
description: >
Sets up a list of actions to be invoked when the defined timer
expires (or for each expiration of a repeating timer)
parameters:
- timer
- actions
- name: default_floor_on_missing_owner
description: >
Set the fan floor to the default floor
- name: set_speed_on_missing_owner
description: >
Set fans to the given speed when any service within the group
no longer exists
parameters:
- speed
- name: set_request_speed_base_with_max
description: >
Set the base request speed of a zone to the max value of a group for
calculating a new target speed
- name: count_state_before_speed
description: Set the speed when a number of properties at a state
parameters:
- count
- property
- speed
- name: set_floor_from_average_sensor_value
description: Set floor speed from first entry with average less than key
parameters:
- map
- name: set_ceiling_from_average_sensor_value
description: Set ceiling speed based on key transition values with average
parameters:
- map
- name: set_net_increase_speed
description: >
Set the speed increase delta based on a factor applied to
the delta increase size times the given value and property's
value difference
parameters:
- property
- factor
- delta
- name: set_net_decrease_speed
description: >
Set the speed decrease delta based on a factor applied to
the delta decrease size times the given value and property's
value difference
parameters:
- property
- factor
- delta
events:
- name: default_fan_floor_on_service_fail
precondition:
name: services_missing_owner
groups:
- name: zone0_ambient
interface: xyz.openbmc_project.Sensor.Value
property:
name: Value
type: int64_t
triggers:
- name: init
method: nameHasOwner
handler: setService
- name: signal
signal: nameOwnerChanged
handler: setService
events:
- name: default_fan_floor
groups:
- name: zone0_ambient
interface: xyz.openbmc_project.Sensor.Value
property:
name: Value
type: int64_t
triggers:
- name: timer
interval: 5000000
type: oneshot
actions:
- name: default_floor_on_missing_owner
- name: high_speed_on_occ_service_fail
groups:
- name: occ0_object
interface: org.open_power.OCC.Status
property:
name: OccActive
type: bool
- name: occ1_object
interface: org.open_power.OCC.Status
property:
name: OccActive
type: bool
triggers:
- name: init
method: nameHasOwner
handler: setService
- name: signal
signal: nameOwnerChanged
handler: setService
actions:
- name: call_actions_based_on_timer
timer:
interval: 5000000
type: oneshot
actions:
- name: set_speed_on_missing_owner
speed:
value: 255
type: uint64_t
- name: missing_or_fails_before_high_speed_air
groups:
- name: air_cooled_zone0_fans
interface: xyz.openbmc_project.Inventory.Item
property:
name: Present
type: bool
- name: air_cooled_zone0_fans
interface: xyz.openbmc_project.State.Decorator.OperationalStatus
property:
name: Functional
type: bool
triggers:
- name: init
method: getProperties
handler: setProperty
- name: signal
signal: propertiesChanged
handler: setProperty
actions:
- name: count_state_before_speed
count: 1
property:
value: false
type: bool
speed:
value: 255
type: uint64_t
- name: set_air_cooled_speed_boundaries_based_on_ambient
groups:
- name: zone0_ambient
interface: xyz.openbmc_project.Sensor.Value
property:
name: Value
type: int64_t
triggers:
- name: init
method: getProperties
handler: setProperty
- name: signal
signal: propertiesChanged
handler: setProperty
actions:
- name: set_floor_from_average_sensor_value
map:
value:
- 27000: 85
- 32000: 112
- 37000: 126
- 40000: 141
type: std::map<int64_t, uint64_t>
- name: set_ceiling_from_average_sensor_value
map:
value:
- 25000: 175
- 27000: 255
type: std::map<int64_t, uint64_t>
- name: occ_active_speed_changes
precondition:
name: property_states_match
groups:
- name: occ0_object
interface: org.open_power.OCC.Status
property:
name: OccActive
type: bool
value: true
- name: occ1_object
interface: org.open_power.OCC.Status
property:
name: OccActive
type: bool
value: true
triggers:
- name: init
method: getProperties
handler: setProperty
- name: signal
signal: interfacesAdded
handler: setProperty
- name: signal
signal: propertiesChanged
handler: setProperty
events:
- name: speed_control_sensors
groups:
- name: zone0_cores
interface: xyz.openbmc_project.Sensor.Value
property:
name: Value
type: int64_t
- name: zone0_dimms
interface: xyz.openbmc_project.Sensor.Value
property:
name: Value
type: int64_t
triggers:
- name: init
method: getProperties
handler: setProperty
- name: signal
signal: interfacesAdded
handler: setProperty
- name: signal
signal: propertiesChanged
handler: setProperty
- name: 1sec_speed_change_request_sampling
triggers:
- name: timer
interval: 1000000
type: repeating
actions:
# Speed changes based on core temps
- name: set_net_increase_speed
groups:
- name: zone0_cores
interface: xyz.openbmc_project.Sensor.Value
property:
name: Value
type: int64_t
property:
value: 73000
type: int64_t
factor:
value: 1000
type: int64_t
delta:
value: 11
type: uint64_t
- name: set_net_decrease_speed
groups:
- name: zone0_cores
interface: xyz.openbmc_project.Sensor.Value
property:
name: Value
type: int64_t
property:
value: 70000
type: int64_t
factor:
value: 1000
type: int64_t
delta:
value: 11
type: uint64_t
# Speed changes based on dimm temps
- name: set_net_increase_speed
groups:
- name: zone0_dimms
interface: xyz.openbmc_project.Sensor.Value
property:
name: Value
type: int64_t
property:
value: 64000
type: int64_t
factor:
value: 1000
type: int64_t
delta:
value: 6
type: uint64_t
- name: set_net_decrease_speed
groups:
- name: zone0_dimms
interface: xyz.openbmc_project.Sensor.Value
property:
name: Value
type: int64_t
property:
value: 61000
type: int64_t
factor:
value: 1000
type: int64_t
delta:
value: 6
type: uint64_t
@@ -0,0 +1 @@
FILESEXTRAPATHS:prepend:romulus := "${THISDIR}/${BPN}:"
@@ -0,0 +1,16 @@
fans:
- inventory: /system/chassis/motherboard/fan0
cooling_zone: 0
sensors:
- fan0
target_interface: xyz.openbmc_project.Control.FanPwm
- inventory: /system/chassis/motherboard/fan1
cooling_zone: 0
sensors:
- fan1
target_interface: xyz.openbmc_project.Control.FanPwm
- inventory: /system/chassis/motherboard/fan2
cooling_zone: 0
sensors:
- fan2
target_interface: xyz.openbmc_project.Control.FanPwm
@@ -0,0 +1,2 @@
FILESEXTRAPATHS:prepend:romulus := "${THISDIR}/${BPN}:"
@@ -0,0 +1,13 @@
manager_configuration:
power_on_delay: 20
zone_configuration:
#Air cooled zones
- zone_conditions:
zones:
- zone: 0
full_speed: 255
default_floor: 195
increase_delay: 5
decrease_interval: 30
@@ -0,0 +1 @@
FILESEXTRAPATHS:prepend:romulus := "${THISDIR}/${BPN}:"
@@ -0,0 +1,33 @@
fans:
- inventory: /system/chassis/motherboard/fan0
allowed_out_of_range_time: 30
deviation: 15
num_sensors_nonfunc_for_fan_nonfunc: 1
sensors:
- name: fan0
has_target: true
target_interface: xyz.openbmc_project.Control.FanPwm
factor: 21
offset: 1600
- inventory: /system/chassis/motherboard/fan1
allowed_out_of_range_time: 30
deviation: 15
num_sensors_nonfunc_for_fan_nonfunc: 1
sensors:
- name: fan1
has_target: true
target_interface: xyz.openbmc_project.Control.FanPwm
factor: 21
offset: 1600
- inventory: /system/chassis/motherboard/fan2
allowed_out_of_range_time: 30
deviation: 15
num_sensors_nonfunc_for_fan_nonfunc: 1
sensors:
- name: fan2
has_target: true
target_interface: xyz.openbmc_project.Control.FanPwm
factor: 21
offset: 1600
@@ -0,0 +1 @@
FILESEXTRAPATHS:prepend:romulus := "${THISDIR}/${BPN}:"
@@ -0,0 +1,20 @@
- name: fan0
path: /system/chassis/motherboard/fan0
methods:
- type: tach
sensors:
- fan0
- name: fan1
path: /system/chassis/motherboard/fan1
methods:
- type: tach
sensors:
- fan1
- name: fan2
path: /system/chassis/motherboard/fan2
methods:
- type: tach
sensors:
- fan2
@@ -0,0 +1 @@
PACKAGECONFIG:append:romulus = " verify_signature"
@@ -0,0 +1,30 @@
SUMMARY = "Romulus ID Button pressed application"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-systemd
DEPENDS += "phosphor-gpio-monitor"
RDEPENDS:${PN} += "phosphor-gpio-monitor-monitor"
S = "${WORKDIR}"
SRC_URI += "file://toggle_identify_led.sh"
do_install() {
install -d ${D}${bindir}
install -m 0755 ${WORKDIR}/toggle_identify_led.sh \
${D}${bindir}/toggle_identify_led.sh
}
SYSTEMD_ENVIRONMENT_FILE:${PN} +="obmc/gpio/id_button"
ID_BUTTON_SERVICE = "id_button"
TMPL = "phosphor-gpio-monitor@.service"
INSTFMT = "phosphor-gpio-monitor@{0}.service"
TGT = "multi-user.target"
FMT = "../${TMPL}:${TGT}.requires/${INSTFMT}"
SYSTEMD_SERVICE:${PN} += "id-button-pressed.service"
SYSTEMD_LINK:${PN} += "${@compose_list(d, 'FMT', 'ID_BUTTON_SERVICE')}"
@@ -0,0 +1,9 @@
[Unit]
Description=ID Button Pressed Service
Wants=mapper-wait@-xyz-openbmc_project-led-groups.service
After=mapper-wait@-xyz-openbmc_project-led-groups.service
StartLimitIntervalSec=0
[Service]
Type=oneshot
ExecStart=/usr/bin/toggle_identify_led.sh
@@ -0,0 +1,5 @@
DEVPATH=/dev/input/by-path/platform-gpio-keys-event
KEY=135
POLARITY=1
TARGET=id-button-pressed.service
EXTRA_ARGS=--continue
@@ -0,0 +1,20 @@
#!/bin/sh
# Toggle the state of identify LED Group
SERVICE="xyz.openbmc_project.LED.GroupManager"
INTERFACE="xyz.openbmc_project.Led.Group"
PROPERTY="Asserted"
# Get current state
object=$(busctl tree $SERVICE --list | grep identify)
state=$(busctl get-property $SERVICE "$object" $INTERFACE $PROPERTY \
| awk '{print $NF;}')
if [ "$state" = "false" ]; then
target='true'
else
target='false'
fi
# Set target state
busctl set-property $SERVICE "$object" $INTERFACE $PROPERTY b $target
@@ -0,0 +1,2 @@
RDEPENDS:${PN}:append:romulus = " avsbus-control"
RDEPENDS:${PN}:append:romulus = " vrm-control"
@@ -0,0 +1 @@
OBMC_IMAGE_EXTRA_INSTALL:append:romulus = " mboxd liberation-fonts uart-render-controller"
@@ -0,0 +1,17 @@
SUMMARY = "Copy the inventory cleanup yaml for inventory manager"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit phosphor-inventory-manager
S = "${WORKDIR}"
SRC_URI = "file://inventory-cleanup.yaml"
do_install() {
install -D inventory-cleanup.yaml ${D}${base_datadir}/events.d/inventory-cleanup.yaml
}
FILES:${PN} += "${base_datadir}/events.d/inventory-cleanup.yaml"
@@ -0,0 +1,16 @@
description: >
Romulus inventory fixups
events:
- name: Add Chassis interface
description: >
Add the chassis interface on the chassis inventory path
type: startup
actions:
- name: createObjects
objs:
/system/chassis:
xyz.openbmc_project.Inventory.Item.Chassis:
Type:
value: "xyz.openbmc_project.Inventory.Item.Chassis.ChassisType.RackMount"
type: string
@@ -0,0 +1 @@
DEPENDS:append = " inventory-cleanup"
@@ -0,0 +1,5 @@
DEPENDS:append:romulus = " romulus-yaml-config"
EXTRA_OECONF:romulus = " \
INVSENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/romulus-yaml-config/ipmi-inventory-sensors.yaml \
"
@@ -0,0 +1 @@
FILESEXTRAPATHS:prepend:romulus := "${THISDIR}/${PN}:"
@@ -0,0 +1,17 @@
{
"PowerManagement": 1,
"OOBSecondaryLan": 0,
"SerialTMODE": 0,
"InBandSystemInterfaceChannel": 1,
"SELAutoRollOver": 1,
"FlushEntireSELUponRollOver": 0,
"RecordLevelSELFlushUponRollOver": 0,
"NumberOfSELEntries": 200,
"TempMonitoringSamplingFreq":0,
"PowerMgmtDeviceSlaveAddress": 0,
"BMCChannelNumber": 0,
"DeviceRivision": 0,
"MandatoryPrimaryLanOOBSupport": 1,
"OptionalSecondaryLanOOBSupport": 255,
"OptionalSerialOOBMTMODECapability": 255
}
@@ -0,0 +1,250 @@
{
"inlet": [
{"instance": 1, "dbus": "/xyz/openbmc_project/sensors/temperature/inlet_cpu", "record_id": 254}
],
"baseboard": [
{"instance": 1, "dbus": "/xyz/openbmc_project/sensors/temperature/outlet", "record_id": 253}
],
"cpu": [
{
"instance": 1,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core0_temp",
"record_id": 91
},
{
"instance": 2,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core1_temp",
"record_id": 92
},
{
"instance": 3,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core2_temp",
"record_id": 93
},
{
"instance": 4,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core3_temp",
"record_id": 94
},
{
"instance": 5,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core4_temp",
"record_id": 95
},
{
"instance": 6,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core5_temp",
"record_id": 96
},
{
"instance": 7,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core6_temp",
"record_id": 97
},
{
"instance": 8,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core7_temp",
"record_id": 98
},
{
"instance": 9,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core8_temp",
"record_id": 99
},
{
"instance": 10,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core9_temp",
"record_id": 100
},
{
"instance": 11,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core10_temp",
"record_id": 101
},
{
"instance": 12,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core11_temp",
"record_id": 102
},
{
"instance": 13,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core12_temp",
"record_id": 103
},
{
"instance": 14,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core13_temp",
"record_id": 104
},
{
"instance": 15,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core14_temp",
"record_id": 105
},
{
"instance": 16,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core15_temp",
"record_id": 106
},
{
"instance": 17,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core16_temp",
"record_id": 107
},
{
"instance": 18,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core17_temp",
"record_id": 108
},
{
"instance": 19,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core18_temp",
"record_id": 109
},
{
"instance": 20,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core19_temp",
"record_id": 110
},
{
"instance": 21,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core20_temp",
"record_id": 111
},
{
"instance": 22,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core21_temp",
"record_id": 112
},
{
"instance": 23,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core22_temp",
"record_id": 113
},
{
"instance": 24,
"dbus": "/xyz/openbmc_project/sensors/temperature/p0_core23_temp",
"record_id": 114
},
{
"instance": 25,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core0_temp",
"record_id": 115
},
{
"instance": 26,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core1_temp",
"record_id": 116
},
{
"instance": 27,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core2_temp",
"record_id": 117
},
{
"instance": 28,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core3_temp",
"record_id": 118
},
{
"instance": 29,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core4_temp",
"record_id": 119
},
{
"instance": 30,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core5_temp",
"record_id": 120
},
{
"instance": 31,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core6_temp",
"record_id": 121
},
{
"instance": 32,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core7_temp",
"record_id": 122
},
{
"instance": 33,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core8_temp",
"record_id": 123
},
{
"instance": 34,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core9_temp",
"record_id": 124
},
{
"instance": 35,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core10_temp",
"record_id": 125
},
{
"instance": 36,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core11_temp",
"record_id": 126
},
{
"instance": 37,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core12_temp",
"record_id": 127
},
{
"instance": 38,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core13_temp",
"record_id": 128
},
{
"instance": 39,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core14_temp",
"record_id": 129
},
{
"instance": 40,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core15_temp",
"record_id": 130
},
{
"instance": 41,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core16_temp",
"record_id": 131
},
{
"instance": 42,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core17_temp",
"record_id": 132
},
{
"instance": 43,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core18_temp",
"record_id": 133
},
{
"instance": 44,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core19_temp",
"record_id": 134
},
{
"instance": 45,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core20_temp",
"record_id": 135
},
{
"instance": 46,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core21_temp",
"record_id": 136
},
{
"instance": 47,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core22_temp",
"record_id": 137
},
{
"instance": 48,
"dbus": "/xyz/openbmc_project/sensors/temperature/p1_core23_temp",
"record_id": 138
}
]
}
@@ -0,0 +1,2 @@
{"id": 0, "revision": 128, "addn_dev_support": 141,
"manuf_id": 0, "prod_id": 0, "aux": 0}
@@ -0,0 +1,4 @@
DEPENDS:append:romulus = " romulus-yaml-config"
IPMI_FRU_YAML:romulus = "${STAGING_DIR_HOST}${datadir}/romulus-yaml-config/ipmi-fru-read.yaml"
IPMI_FRU_PROP_YAML:romulus = "${STAGING_DIR_HOST}${datadir}/romulus-yaml-config/ipmi-extra-properties.yaml"
@@ -0,0 +1,7 @@
DEPENDS:append:romulus = " romulus-yaml-config"
EXTRA_OEMESON:romulus = " \
-Dsensor-yaml-gen=${STAGING_DIR_HOST}${datadir}/romulus-yaml-config/ipmi-sensors.yaml \
-Dinvsensor-yaml-gen=${STAGING_DIR_HOST}${datadir}/romulus-yaml-config/ipmi-inventory-sensors.yaml \
-Dfru-yaml-gen=${STAGING_DIR_HOST}${datadir}/romulus-yaml-config/ipmi-fru-read.yaml \
"
@@ -0,0 +1,19 @@
SUMMARY = "Phosphor LED Group Management for Romulus"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
PROVIDES += "virtual/phosphor-led-manager-config-native"
SRC_URI += "file://led.yaml"
S = "${WORKDIR}"
# Overwrite the example led layout yaml file prior
# to building the phosphor-led-manager package
do_install() {
SRC=${S}
DEST=${D}${datadir}/phosphor-led-manager
install -D ${SRC}/led.yaml ${DEST}/led.yaml
}
@@ -0,0 +1,335 @@
bmc_booted:
power:
Action: 'Blink'
DutyOn: 50
Period: 1000
Priority: 'On'
power_on:
power:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'On'
enclosure_fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
enclosure_identify:
identify:
Action: 'Blink'
DutyOn: 50
Period: 1000
# The Op Panel on the Romulus system holds a multicolor LED.
# Both the 'fault' and 'identify' gpios are wired to the same LED.
# By holding one in 'on' while the other in 'blink' state, ensures
# the manufacturing process can verify both colors function
lamp_test:
fault:
Action: 'Blink'
DutyOn: 50
Period: 1000
Priority: 'Blink'
identify:
Action: 'On'
# All kinds of faults using the same action as enclosure_fault
Fan0Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
Fan1Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
Fan2Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
bmcFault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core0Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core1Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core2Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core3Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core4Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core5Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core6Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core7Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core8Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core9Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core10Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core11Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core12Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core13Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core14Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core15Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core16Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core17Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core18Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core19Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core20Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core21Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core22Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
core23Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
cpu0Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
cpu1Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm0Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm1Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm2Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm3Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm4Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm5Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm6Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm7Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm8Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm9Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm10Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm11Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm12Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm13Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm14Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
dimm15Fault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
motherboardFault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
occFault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
systemFault:
fault:
Action: 'On'
DutyOn: 50
Period: 0
Priority: 'Blink'
@@ -0,0 +1,5 @@
# TODO: Add i2c devices like
# /sys/devices/platform/ahb/ahb:apb/ahb:apb:i2c@1e78a000/1e78a100.i2c-bus/i2c-3/3-0052: /system/chassis/motherboard
/sys/devices/platform/gpio-fsi/fsi0/slave@00:00/raw: /system/chassis/motherboard/cpu0
/sys/devices/platform/gpio-fsi/fsi0/slave@00:00/00:00:00:0a/fsi1/slave@01:00/raw: /system/chassis/motherboard/cpu1
@@ -0,0 +1,20 @@
SUMMARY = "Romulus inventory map for phosphor-ipmi-host"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit phosphor-logging
inherit native
SRC_URI += "file://callouts.yaml"
PROVIDES += "virtual/phosphor-logging-callouts"
S = "${WORKDIR}"
do_install() {
DEST=${D}${callouts_datadir}
install -d ${DEST}
install callouts.yaml ${DEST}
}
@@ -0,0 +1 @@
MBOXD_FLASH_SIZE:romulus = "64M"
@@ -0,0 +1,6 @@
- Instance: 0
SensorID: 0x03
SensorName: occ0
- Instance: 1
SensorID: 0x04
SensorName: occ1
@@ -0,0 +1,18 @@
SUMMARY = "Romulus OCC Control sensor IDs"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit openpower-occ-control
inherit native
SRC_URI += "file://occ_sensor.yaml"
PROVIDES += "virtual/openpower-occ-control-config-native"
S = "${WORKDIR}"
do_install() {
install -d ${YAML_DEST}/
install -D occ_sensor.yaml ${YAML_DEST}/occ_sensor.yaml
}
@@ -0,0 +1,2 @@
RDEPENDS:${PN}-inventory:append:romulus = " openpower-occ-control id-button"
RDEPENDS:${PN}-extras:append:romulus = " webui-vue phosphor-image-signing"
@@ -0,0 +1,17 @@
LABEL_temp1 = "outlet"
WARNHI_temp1 = "60000"
WARNLO_temp1 = "0"
CRITHI_temp1 = "70000"
CRITLO_temp1 = "0"
LABEL_temp2 = "inlet_cpu"
WARNHI_temp2 = "60000"
WARNLO_temp2 = "0"
CRITHI_temp2 = "70000"
CRITLO_temp2 = "0"
LABEL_temp3 = "inlet_io"
WARNHI_temp3 = "60000"
WARNLO_temp3 = "0"
CRITHI_temp3 = "70000"
CRITLO_temp3 = "0"
@@ -0,0 +1,8 @@
# Romulus has 7 fan ports but only 3 are used
LABEL_fan9 = "fan0"
LABEL_fan11 = "fan1"
LABEL_fan13 = "fan2"
PWM_TARGET_fan9 = "1"
PWM_TARGET_fan11 = "2"
PWM_TARGET_fan13 = "1"
@@ -0,0 +1,67 @@
MODE_temp1 = "label"
MODE_temp2 = "label"
MODE_temp3 = "label"
MODE_temp4 = "label"
MODE_temp5 = "label"
MODE_temp6 = "label"
MODE_temp7 = "label"
MODE_temp8 = "label"
MODE_temp9 = "label"
MODE_temp10 = "label"
MODE_temp11 = "label"
MODE_temp12 = "label"
MODE_temp13 = "label"
MODE_temp14 = "label"
MODE_temp15 = "label"
MODE_temp16 = "label"
MODE_temp17 = "label"
MODE_temp18 = "label"
MODE_temp19 = "label"
MODE_temp20 = "label"
MODE_temp21 = "label"
MODE_temp22 = "label"
MODE_temp23 = "label"
MODE_temp24 = "label"
MODE_temp25 = "label"
MODE_temp26 = "label"
MODE_temp27 = "label"
MODE_temp28 = "label"
MODE_temp29 = "label"
MODE_temp30 = "label"
MODE_temp31 = "label"
MODE_temp32 = "label"
LABEL_temp91 = "p0_core0_temp"
LABEL_temp92 = "p0_core1_temp"
LABEL_temp93 = "p0_core2_temp"
LABEL_temp94 = "p0_core3_temp"
LABEL_temp95 = "p0_core4_temp"
LABEL_temp96 = "p0_core5_temp"
LABEL_temp97 = "p0_core6_temp"
LABEL_temp98 = "p0_core7_temp"
LABEL_temp99 = "p0_core8_temp"
LABEL_temp100 = "p0_core9_temp"
LABEL_temp101 = "p0_core10_temp"
LABEL_temp102 = "p0_core11_temp"
LABEL_temp103 = "p0_core12_temp"
LABEL_temp104 = "p0_core13_temp"
LABEL_temp105 = "p0_core14_temp"
LABEL_temp106 = "p0_core15_temp"
LABEL_temp107 = "p0_core16_temp"
LABEL_temp108 = "p0_core17_temp"
LABEL_temp109 = "p0_core18_temp"
LABEL_temp110 = "p0_core19_temp"
LABEL_temp111 = "p0_core20_temp"
LABEL_temp112 = "p0_core21_temp"
LABEL_temp113 = "p0_core22_temp"
LABEL_temp114 = "p0_core23_temp"
LABEL_temp27 = "dimm0_temp"
LABEL_temp28 = "dimm1_temp"
LABEL_temp29 = "dimm2_temp"
LABEL_temp30 = "dimm3_temp"
LABEL_temp31 = "dimm4_temp"
LABEL_temp32 = "dimm5_temp"
LABEL_temp33 = "dimm6_temp"
LABEL_temp34 = "dimm7_temp"
LABEL_power2 = "p0_power"
LABEL_power3 = "p0_vdd_power"
LABEL_power4 = "p0_vdn_power"
@@ -0,0 +1,67 @@
MODE_temp1 = "label"
MODE_temp2 = "label"
MODE_temp3 = "label"
MODE_temp4 = "label"
MODE_temp5 = "label"
MODE_temp6 = "label"
MODE_temp7 = "label"
MODE_temp8 = "label"
MODE_temp9 = "label"
MODE_temp10 = "label"
MODE_temp11 = "label"
MODE_temp12 = "label"
MODE_temp13 = "label"
MODE_temp14 = "label"
MODE_temp15 = "label"
MODE_temp16 = "label"
MODE_temp17 = "label"
MODE_temp18 = "label"
MODE_temp19 = "label"
MODE_temp20 = "label"
MODE_temp21 = "label"
MODE_temp22 = "label"
MODE_temp23 = "label"
MODE_temp24 = "label"
MODE_temp25 = "label"
MODE_temp26 = "label"
MODE_temp27 = "label"
MODE_temp28 = "label"
MODE_temp29 = "label"
MODE_temp30 = "label"
MODE_temp31 = "label"
MODE_temp32 = "label"
LABEL_temp115 = "p1_core0_temp"
LABEL_temp116 = "p1_core1_temp"
LABEL_temp117 = "p1_core2_temp"
LABEL_temp118 = "p1_core3_temp"
LABEL_temp119 = "p1_core4_temp"
LABEL_temp120 = "p1_core5_temp"
LABEL_temp121 = "p1_core6_temp"
LABEL_temp122 = "p1_core7_temp"
LABEL_temp123 = "p1_core8_temp"
LABEL_temp124 = "p1_core9_temp"
LABEL_temp125 = "p1_core10_temp"
LABEL_temp126 = "p1_core11_temp"
LABEL_temp127 = "p1_core12_temp"
LABEL_temp128 = "p1_core13_temp"
LABEL_temp129 = "p1_core14_temp"
LABEL_temp130 = "p1_core15_temp"
LABEL_temp131 = "p1_core16_temp"
LABEL_temp132 = "p1_core17_temp"
LABEL_temp133 = "p1_core18_temp"
LABEL_temp134 = "p1_core19_temp"
LABEL_temp135 = "p1_core20_temp"
LABEL_temp136 = "p1_core21_temp"
LABEL_temp137 = "p1_core22_temp"
LABEL_temp138 = "p1_core23_temp"
LABEL_temp35 = "dimm8_temp"
LABEL_temp36 = "dimm9_temp"
LABEL_temp37 = "dimm10_temp"
LABEL_temp38 = "dimm11_temp"
LABEL_temp39 = "dimm12_temp"
LABEL_temp40 = "dimm13_temp"
LABEL_temp41 = "dimm14_temp"
LABEL_temp42 = "dimm15_temp"
LABEL_power2 = "p1_power"
LABEL_power3 = "p1_vdd_power"
LABEL_power4 = "p1_vdn_power"
@@ -0,0 +1,9 @@
LABEL_in1=vbat
GAIN_in1=2.25
# GPIOR3 needs to be pulled high for battery voltage reading
GPIOCHIP_in1=0
GPIO_in1=139
# Read it every day so it does not impact battery life
INTERVAL=86400000000
@@ -0,0 +1,25 @@
FILESEXTRAPATHS:prepend:romulus := "${THISDIR}/${PN}:"
EXTRA_OEMESON:append:romulus = " -Dnegative-errno-on-fail=true"
CHIPS = " \
bus@1e78a000/i2c-bus@440/w83773g@4c \
pwm-tacho-controller@1e786000 \
"
ITEMSFMT = "ahb/apb/{0}.conf"
ITEMS = "${@compose_list(d, 'ITEMSFMT', 'CHIPS')}"
ITEMS += "iio-hwmon-battery.conf"
OCCS = " \
00--00--00--06/sbefifo1-dev0/occ-hwmon.1 \
00--00--00--0a/fsi1/slave@01--00/01--01--00--06/sbefifo2-dev0/occ-hwmon.2 \
"
OCCSFMT = "devices/platform/gpio-fsi/fsi0/slave@00--00/{0}.conf"
OCCITEMS = "${@compose_list(d, 'OCCSFMT', 'OCCS')}"
ENVS = "obmc/hwmon/{0}"
SYSTEMD_ENVIRONMENT_FILE:${PN}:append:romulus = " ${@compose_list(d, 'ENVS', 'ITEMS')}"
SYSTEMD_ENVIRONMENT_FILE:${PN}:append:romulus = " ${@compose_list(d, 'ENVS', 'OCCITEMS')}"
@@ -0,0 +1,72 @@
{
"gpio_configs": {
"power_config": {
"power_good_in": "SYS_PWROK_BUFF",
"power_up_outs": [
{ "name": "SOFTWARE_PGOOD", "polarity": true},
{ "name": "BMC_POWER_UP", "polarity": true}
],
"reset_outs": [
]
}
},
"gpio_definitions": [
{
"name": "SOFTWARE_PGOOD",
"pin": "R1",
"direction": "out"
},
{
"name": "BMC_POWER_UP",
"pin": "D1",
"direction": "out"
},
{
"name": "SYS_PWROK_BUFF",
"pin": "D2",
"direction": "in"
},
{
"name": "BMC_WD_CLEAR_PULSE_N",
"pin": "N5",
"direction": "falling"
},
{
"name": "CHECKSTOP",
"pin": "J2",
"direction": "falling"
},
{
"name": "BMC_CP0_RESET_N",
"pin": "A1",
"direction": "out"
},
{
"name": "BMC_CP0_PERST_ENABLE_R",
"pin": "A3",
"direction": "out"
},
{
"name": "BMC_THROTTLE",
"pin": "J3",
"direction": "out"
},
{
"name": "IDBTN",
"pin": "Q7",
"direction": "out"
},
{
"name": "POWER_BUTTON",
"pin": "I3",
"direction": "both"
},
{
"name": "RESET_BUTTON",
"pin": "J1",
"direction": "both"
}
]
}
@@ -0,0 +1 @@
FILESEXTRAPATHS:prepend:romulus := "${THISDIR}/${PN}:"
@@ -0,0 +1,3 @@
# Sleep 8 seconds on Romulus to make sure the checkstop status on
# CPU is cleared. See https://github.com/openbmc/openbmc/issues/3330
REBOOT_DELAY=8
@@ -0,0 +1,3 @@
FILESEXTRAPATHS:prepend:romulus := "${THISDIR}/${PN}:"
EXTRA_OEMESON:romulus += "-Dwarm-reboot=disabled"