Initial commit
This commit is contained in:
+20
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"gpio_definitions": [
|
||||
{
|
||||
"name": "POWER_BUTTON",
|
||||
"pin": "M7",
|
||||
"direction": "both"
|
||||
},
|
||||
{
|
||||
"name": "DEBUG_SELECTOR_BUTTON",
|
||||
"pin": "G3",
|
||||
"direction": "both"
|
||||
},
|
||||
{
|
||||
"name": "HOST_SELECTOR",
|
||||
"group_gpio_config" : [],
|
||||
"max_position" : 6,
|
||||
"host_selector_map" : {}
|
||||
}
|
||||
]
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
FILESEXTRAPATHS:append:bletchley := "${THISDIR}/${PN}:"
|
||||
|
||||
SRC_URI += "file://gpio_defs.json"
|
||||
|
||||
do_install:append:bletchley() {
|
||||
install -d ${D}${sysconfdir}/default/obmc/gpio/
|
||||
install -m 0644 ${WORKDIR}/gpio_defs.json ${D}/${sysconfdir}/default/obmc/gpio/
|
||||
}
|
||||
|
||||
FILES:${PN}-signals:append = " ${sysconfdir}/default/obmc/gpio/gpio_defs.json"
|
||||
@@ -0,0 +1,23 @@
|
||||
SUMMARY = "YAML configuration for bletchley"
|
||||
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://bletchley-ipmi-fru.yaml \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
||||
do_install() {
|
||||
install -m 0644 -D bletchley-ipmi-fru.yaml \
|
||||
${D}${datadir}/${BPN}/ipmi-fru-read.yaml
|
||||
}
|
||||
|
||||
FILES:${PN}-dev = " \
|
||||
${datadir}/${BPN}/ipmi-fru-read.yaml \
|
||||
"
|
||||
|
||||
ALLOW_EMPTY:${PN} = "1"
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
0:
|
||||
/system/chassis/bmc:
|
||||
entityID: 7
|
||||
entityInstance: 1
|
||||
interfaces:
|
||||
xyz.openbmc_project.Inventory.Decorator.Asset:
|
||||
BuildDate:
|
||||
IPMIFruProperty: Mfg Date
|
||||
IPMIFruSection: Board
|
||||
SerialNumber:
|
||||
IPMIFruProperty: Serial Number
|
||||
IPMIFruSection: Board
|
||||
PartNumber:
|
||||
IPMIFruProperty: Part Number
|
||||
IPMIFruSection: Board
|
||||
Manufacturer:
|
||||
IPMIFruProperty: Manufacturer
|
||||
IPMIFruSection: Board
|
||||
xyz.openbmc_project.Inventory.Item:
|
||||
PrettyName:
|
||||
IPMIFruProperty: Name
|
||||
IPMIFruSection: Board
|
||||
xyz.openbmc_project.Inventory.Decorator.Revision:
|
||||
Version:
|
||||
IPMIFruProperty: FRU File ID
|
||||
IPMIFruSection: Board
|
||||
xyz.openbmc_project.Inventory.Item.Board:
|
||||
xyz.openbmc_project.Inventory.Item.Bmc:
|
||||
xyz.openbmc_project.Inventory.Item.Panel:
|
||||
|
||||
/system/chassis/bmc/ethernet:
|
||||
entityID: 7
|
||||
entityInstance: 1
|
||||
interfaces:
|
||||
xyz.openbmc_project.Inventory.Item.NetworkInterface:
|
||||
MACAddress:
|
||||
IPMIFruProperty: Custom Field 3
|
||||
IPMIFruSection: Board
|
||||
xyz.openbmc_project.Inventory.Item.Ethernet:
|
||||
@@ -0,0 +1,16 @@
|
||||
FILESEXTRAPATHS:prepend:bletchley := "${THISDIR}/${PN}:"
|
||||
|
||||
FILES:${PN}:append:bletchley = " ${datadir}/swampd"
|
||||
FILES:${PN}:append:bletchley = " ${systemd_system_unitdir}/phosphor-pid-control.service.d/*.conf"
|
||||
|
||||
do_install:append:bletchley() {
|
||||
|
||||
override_dir="${D}${systemd_system_unitdir}/phosphor-pid-control.service.d"
|
||||
override_file="${override_dir}/10-bletchley.conf"
|
||||
mkdir -p ${D}${systemd_system_unitdir}/phosphor-pid-control.service.d
|
||||
echo "[Unit]" > ${override_file}
|
||||
echo "After=xyz.openbmc_project.hwmontempsensor.service" >> ${override_file}
|
||||
echo "After=phosphor-virtual-sensor.service" >> ${override_file}
|
||||
|
||||
install -d ${D}${datadir}/swampd
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
INVENTORY=/system/chassis/presence/presence_sled1
|
||||
DEVPATH=/dev/input/event0
|
||||
KEY=58
|
||||
NAME=presence_sled1
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
INVENTORY=/system/chassis/presence/presence_sled2
|
||||
DEVPATH=/dev/input/event0
|
||||
KEY=59
|
||||
NAME=presence_sled2
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
INVENTORY=/system/chassis/presence/presence_sled3
|
||||
DEVPATH=/dev/input/event0
|
||||
KEY=60
|
||||
NAME=presence_sled3
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
INVENTORY=/system/chassis/presence/presence_sled4
|
||||
DEVPATH=/dev/input/event0
|
||||
KEY=61
|
||||
NAME=presence_sled4
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
INVENTORY=/system/chassis/presence/presence_sled5
|
||||
DEVPATH=/dev/input/event0
|
||||
KEY=62
|
||||
NAME=presence_sled5
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
INVENTORY=/system/chassis/presence/presence_sled6
|
||||
DEVPATH=/dev/input/event0
|
||||
KEY=63
|
||||
NAME=presence_sled6
|
||||
@@ -0,0 +1,22 @@
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
inherit obmc-phosphor-systemd
|
||||
|
||||
# Add service file link
|
||||
TMPL_PRESENT = "phosphor-gpio-presence@.service"
|
||||
INSTFMT_PRESENT = "phosphor-gpio-presence@presence-sled{0}.service"
|
||||
PRESENT_TGT = "multi-user.target"
|
||||
FMT_PRESENT = "../${TMPL_PRESENT}:${PRESENT_TGT}.requires/${INSTFMT_PRESENT}"
|
||||
SYSTEMD_LINK:${PN}-presence:append:bletchley = " ${@compose_list(d, 'FMT_PRESENT', 'OBMC_HOST_INSTANCES')}"
|
||||
|
||||
# Add environment file
|
||||
SLED_PRESENT_ENV_FMT = "obmc/gpio/presence-sled{0}.conf"
|
||||
SYSTEMD_ENVIRONMENT_FILE:${PN}-presence:bletchley = " ${@compose_list(d, 'SLED_PRESENT_ENV_FMT', 'OBMC_HOST_INSTANCES')}"
|
||||
|
||||
GPIO_PRESENCE_SLED_CONF="/etc/default/obmc/gpio/%i.conf"
|
||||
|
||||
do_install:append:bletchley(){
|
||||
# modify ConditionPathExists and EnvironmentFile to correct filepath
|
||||
sed -i -e "s,ConditionPathExists=.*,ConditionPathExists=${GPIO_PRESENCE_SLED_CONF},g" ${D}${systemd_system_unitdir}/phosphor-gpio-presence@.service
|
||||
sed -i -e "s,EnvironmentFile=.*,EnvironmentFile=${GPIO_PRESENCE_SLED_CONF},g" ${D}${systemd_system_unitdir}/phosphor-gpio-presence@.service
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
CPU_CRIT_TGT = ""
|
||||
@@ -0,0 +1,18 @@
|
||||
OBMC_IMAGE_EXTRA_INSTALL:append = " \
|
||||
phosphor-nvme \
|
||||
plat-svc \
|
||||
motor-ctrl \
|
||||
phosphor-virtual-sensor \
|
||||
usbutils \
|
||||
idevicerestore \
|
||||
fw-update \
|
||||
phosphor-sel-logger \
|
||||
phosphor-gpio-monitor-presence \
|
||||
detect-sled-present \
|
||||
phosphor-ipmi-ipmb \
|
||||
fb-ipmi-oem \
|
||||
board-type-checker \
|
||||
obmc-phosphor-buttons-signals \
|
||||
obmc-phosphor-buttons-handler \
|
||||
phosphor-state-manager \
|
||||
"
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
FILESEXTRAPATHS:append := ":${THISDIR}/${PN}"
|
||||
SOURCE_FILES:append = " 99-platform-init"
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
#bin/sh
|
||||
|
||||
# Create /dev/mem
|
||||
if [ ! -c /dev/mem ]; then
|
||||
/bin/mknod /dev/mem c 1 1
|
||||
fi
|
||||
|
||||
# Disable FMC_WDT2
|
||||
FMC_WDT2_CTRL_VAL=$(/sbin/devmem 0x1e620064)
|
||||
FMC_WDT2_CTRL_VAL=$((16#${FMC_WDT2_CTRL_VAL#"0x"}))
|
||||
SET_VAL=$((FMC_WDT2_CTRL_VAL & 0xFFFFFFFE))
|
||||
/sbin/devmem 0x1e620064 32 "$SET_VAL"
|
||||
|
||||
# Detect boot flash source
|
||||
SLOT_FILE="/run/media/slot"
|
||||
mkdir -p "$(dirname "${SLOT_FILE}")"
|
||||
if [ "$((FMC_WDT2_CTRL_VAL & 0x00000010))" != "0" ]; then
|
||||
echo "1" > "$SLOT_FILE"
|
||||
else
|
||||
echo "0" > "$SLOT_FILE"
|
||||
fi
|
||||
|
||||
exit 0
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
SYSFS_PATH=/sys/bus/i2c/devices/7-0054/eeprom
|
||||
FRUID=0
|
||||
@@ -0,0 +1,24 @@
|
||||
inherit obmc-phosphor-systemd
|
||||
|
||||
FILESEXTRAPATHS:prepend:bletchley := "${THISDIR}/${PN}:"
|
||||
|
||||
DEPENDS:append:bletchley = " bletchley-yaml-config"
|
||||
|
||||
IPMI_FRU_YAML:bletchley = "${STAGING_DIR_HOST}${datadir}/bletchley-yaml-config/ipmi-fru-read.yaml"
|
||||
|
||||
EEPROM_NAMES = "bmc"
|
||||
|
||||
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:bletchley := " ${@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:bletchley := " ${@compose_list(d, 'FMT', 'EEPROMS_ESCAPED')}"
|
||||
@@ -0,0 +1,13 @@
|
||||
DEPENDS:append:bletchley = " bletchley-yaml-config"
|
||||
|
||||
EXTRA_OEMESON:bletchley = " \
|
||||
-Dfru-yaml-gen=${STAGING_DIR_HOST}${datadir}/bletchley-yaml-config/ipmi-fru-read.yaml \
|
||||
"
|
||||
|
||||
# host watchdog does not support on bletchley
|
||||
RDEPENDS:${PN}:remove:bletchley = "phosphor-watchdog"
|
||||
|
||||
# bletchley doesn't have IPMI support, skip xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service
|
||||
SOFT_SVC = ""
|
||||
SOFT_TGTFMT = ""
|
||||
SOFT_FMT = ""
|
||||
@@ -0,0 +1 @@
|
||||
IPMB_CHANNELS:bletchley = "/dev/ipmb-13"
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
SUMMARY = "Phosphor LED Group Management for Bletchley"
|
||||
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}"
|
||||
|
||||
# Copies example led layout yaml file
|
||||
do_install() {
|
||||
SRC=${S}
|
||||
DEST=${D}${datadir}/phosphor-led-manager
|
||||
install -D ${SRC}/led.yaml ${DEST}/led.yaml
|
||||
}
|
||||
+222
@@ -0,0 +1,222 @@
|
||||
#====================
|
||||
# Chassis LED
|
||||
#====================
|
||||
bmc_booted:
|
||||
sys_log_id:
|
||||
Action: 'On'
|
||||
|
||||
enclosure_fault:
|
||||
sys_log_id:
|
||||
Action: 'Blink'
|
||||
DutyOn: 50
|
||||
Period: 1000
|
||||
|
||||
enclosure_identify:
|
||||
sys_log_id:
|
||||
Action: 'Blink'
|
||||
DutyOn: 50
|
||||
Period: 400
|
||||
|
||||
enclosure_identify_blink:
|
||||
sys_log_id:
|
||||
Action: 'Blink'
|
||||
DutyOn: 50
|
||||
Period: 400
|
||||
|
||||
#====================
|
||||
# Fan 0
|
||||
#====================
|
||||
fan0_fault:
|
||||
fan0_amber:
|
||||
Action: 'On'
|
||||
fan0_blue:
|
||||
Action: 'Off'
|
||||
|
||||
fan0_good:
|
||||
fan0_amber:
|
||||
Action: 'Off'
|
||||
fan0_blue:
|
||||
Action: 'On'
|
||||
|
||||
#====================
|
||||
# Fan 1
|
||||
#====================
|
||||
fan1_fault:
|
||||
fan1_amber:
|
||||
Action: 'On'
|
||||
fan1_blue:
|
||||
Action: 'Off'
|
||||
|
||||
fan1_good:
|
||||
fan1_amber:
|
||||
Action: 'Off'
|
||||
fan1_blue:
|
||||
Action: 'On'
|
||||
|
||||
#====================
|
||||
# Fan 2
|
||||
#====================
|
||||
fan2_fault:
|
||||
fan2_amber:
|
||||
Action: 'On'
|
||||
fan2_blue:
|
||||
Action: 'Off'
|
||||
|
||||
fan2_good:
|
||||
fan2_amber:
|
||||
Action: 'Off'
|
||||
fan2_blue:
|
||||
Action: 'On'
|
||||
|
||||
#====================
|
||||
# Fan 3
|
||||
#====================
|
||||
fan3_fault:
|
||||
fan3_amber:
|
||||
Action: 'On'
|
||||
fan3_blue:
|
||||
Action: 'Off'
|
||||
|
||||
fan3_good:
|
||||
fan3_amber:
|
||||
Action: 'Off'
|
||||
fan3_blue:
|
||||
Action: 'On'
|
||||
|
||||
#====================
|
||||
# Sled 1
|
||||
#====================
|
||||
sled1_fault:
|
||||
sled1_amber:
|
||||
Action: 'On'
|
||||
|
||||
sled1_good:
|
||||
sled1_blue:
|
||||
Action: 'On'
|
||||
|
||||
sled1_identify:
|
||||
sled1_amber:
|
||||
Action: 'Blink'
|
||||
DutyOn: 50
|
||||
Period: 400
|
||||
|
||||
sled1_identify_blink:
|
||||
sled1_amber:
|
||||
Action: 'Blink'
|
||||
DutyOn: 50
|
||||
Period: 400
|
||||
|
||||
#====================
|
||||
# Sled 2
|
||||
#====================
|
||||
sled2_fault:
|
||||
sled2_amber:
|
||||
Action: 'On'
|
||||
|
||||
sled2_good:
|
||||
sled2_blue:
|
||||
Action: 'On'
|
||||
|
||||
sled2_identify:
|
||||
sled2_amber:
|
||||
Action: 'Blink'
|
||||
DutyOn: 50
|
||||
Period: 400
|
||||
|
||||
sled2_identify_blink:
|
||||
sled2_amber:
|
||||
Action: 'Blink'
|
||||
DutyOn: 50
|
||||
Period: 400
|
||||
|
||||
#====================
|
||||
# Sled 3
|
||||
#====================
|
||||
sled3_fault:
|
||||
sled3_amber:
|
||||
Action: 'On'
|
||||
|
||||
sled3_good:
|
||||
sled3_blue:
|
||||
Action: 'On'
|
||||
|
||||
sled3_identify:
|
||||
sled3_amber:
|
||||
Action: 'Blink'
|
||||
DutyOn: 50
|
||||
Period: 400
|
||||
|
||||
sled3_identify_blink:
|
||||
sled3_amber:
|
||||
Action: 'Blink'
|
||||
DutyOn: 50
|
||||
Period: 400
|
||||
|
||||
#====================
|
||||
# Sled 4
|
||||
#====================
|
||||
sled4_fault:
|
||||
sled4_amber:
|
||||
Action: 'On'
|
||||
|
||||
sled4_good:
|
||||
sled4_blue:
|
||||
Action: 'On'
|
||||
|
||||
sled4_identify:
|
||||
sled4_amber:
|
||||
Action: 'Blink'
|
||||
DutyOn: 50
|
||||
Period: 400
|
||||
|
||||
sled4_identify_blink:
|
||||
sled4_amber:
|
||||
Action: 'Blink'
|
||||
DutyOn: 50
|
||||
Period: 400
|
||||
|
||||
#====================
|
||||
# Sled 5
|
||||
#====================
|
||||
sled5_fault:
|
||||
sled5_amber:
|
||||
Action: 'On'
|
||||
|
||||
sled5_good:
|
||||
sled5_blue:
|
||||
Action: 'On'
|
||||
|
||||
sled5_identify:
|
||||
sled5_amber:
|
||||
Action: 'Blink'
|
||||
DutyOn: 50
|
||||
Period: 400
|
||||
|
||||
sled5_identify_blink:
|
||||
sled5_amber:
|
||||
Action: 'Blink'
|
||||
DutyOn: 50
|
||||
Period: 400
|
||||
|
||||
#====================
|
||||
# Sled 6
|
||||
#====================
|
||||
sled6_fault:
|
||||
sled6_amber:
|
||||
Action: 'On'
|
||||
|
||||
sled6_good:
|
||||
sled6_blue:
|
||||
Action: 'On'
|
||||
|
||||
sled6_identify:
|
||||
sled6_amber:
|
||||
Action: 'Blink'
|
||||
DutyOn: 50
|
||||
Period: 400
|
||||
|
||||
sled6_identify_blink:
|
||||
sled6_amber:
|
||||
Action: 'Blink'
|
||||
DutyOn: 50
|
||||
Period: 400
|
||||
@@ -0,0 +1,9 @@
|
||||
FAN_INSTANCES="0 1 2 3"
|
||||
FAN_INSTFMT="obmc-led-group-start@.service:obmc-led-group-start@fan{0}_good.service"
|
||||
SYSTEMD_LINK:${PN} += "${@compose_list_zip(d, 'FAN_INSTFMT', 'FAN_INSTANCES')}"
|
||||
|
||||
HOST_START_INSTFMT="obmc-led-group-start@.service:obmc-led-group-start@sled{0}_good.service"
|
||||
SYSTEMD_LINK:${PN} += "${@compose_list_zip(d, 'HOST_START_INSTFMT', 'OBMC_HOST_INSTANCES')}"
|
||||
|
||||
HOST_STOP_INSTFMT="obmc-led-group-stop@.service:obmc-led-group-stop@sled{0}_good.service"
|
||||
SYSTEMD_LINK:${PN} += "${@compose_list_zip(d, 'HOST_STOP_INSTFMT', 'OBMC_HOST_INSTANCES')}"
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"eth0":"ethernet"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
PACKAGECONFIG:append = " sync-mac"
|
||||
|
||||
EXTRA_OEMESON = "-Dforce-sync-mac=true"
|
||||
|
||||
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/
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
PACKAGECONFIG:bletchley = " \
|
||||
adcsensor \
|
||||
fansensor \
|
||||
hwmontempsensor \
|
||||
psusensor \
|
||||
"
|
||||
@@ -0,0 +1,72 @@
|
||||
#!/bin/bash
|
||||
|
||||
TARGET_FILE_NAME="/etc/nvme/nvme_config.json"
|
||||
|
||||
export_gpio() {
|
||||
if [ ! -d "/sys/class/gpio/gpio$1" ]; then
|
||||
echo "$1" >/sys/class/gpio/export
|
||||
fi
|
||||
}
|
||||
|
||||
for i in {0..5}
|
||||
do
|
||||
SLED_NVME_PCIE_EN[i]=0
|
||||
for file in /sys/bus/i2c/drivers/pca953x/"$i"-0041/gpio/gpiochip*/base
|
||||
do
|
||||
if [ -f "$file" ]; then
|
||||
GPIOCHIP_BASE="$(cat /sys/bus/i2c/drivers/pca953x/"$i"-0041/gpio/gpiochip*/base)"
|
||||
SLED_NVME_PCIE_EN[i]=$((GPIOCHIP_BASE+3))
|
||||
export_gpio "${SLED_NVME_PCIE_EN[i]}"
|
||||
break
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
cat > $TARGET_FILE_NAME << EOF1
|
||||
{
|
||||
"maxSmbusErrorRetry": 3,
|
||||
"config": [
|
||||
{
|
||||
"NVMeDriveIndex": 1,
|
||||
"NVMeDriveBusID": 0,
|
||||
"NVMeDrivePwrGoodPin": ${SLED_NVME_PCIE_EN[0]}
|
||||
},
|
||||
{
|
||||
"NVMeDriveIndex": 2,
|
||||
"NVMeDriveBusID": 1,
|
||||
"NVMeDrivePwrGoodPin": ${SLED_NVME_PCIE_EN[1]}
|
||||
},
|
||||
{
|
||||
"NVMeDriveIndex": 3,
|
||||
"NVMeDriveBusID": 2,
|
||||
"NVMeDrivePwrGoodPin": ${SLED_NVME_PCIE_EN[2]}
|
||||
},
|
||||
{
|
||||
"NVMeDriveIndex": 4,
|
||||
"NVMeDriveBusID": 3,
|
||||
"NVMeDrivePwrGoodPin": ${SLED_NVME_PCIE_EN[3]}
|
||||
},
|
||||
{
|
||||
"NVMeDriveIndex": 5,
|
||||
"NVMeDriveBusID": 4,
|
||||
"NVMeDrivePwrGoodPin": ${SLED_NVME_PCIE_EN[4]}
|
||||
},
|
||||
{
|
||||
"NVMeDriveIndex": 6,
|
||||
"NVMeDriveBusID": 5,
|
||||
"NVMeDrivePwrGoodPin": ${SLED_NVME_PCIE_EN[5]}
|
||||
}
|
||||
],
|
||||
"threshold": [
|
||||
{
|
||||
"criticalHigh": 68,
|
||||
"criticalLow": 0,
|
||||
"warningHigh": 67,
|
||||
"warningLow": 1,
|
||||
"maxValue": 127,
|
||||
"minValue": -127
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
EOF1
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
ExecStartPre=/usr/libexec/phosphor-nvme/nvme-json-rewrite
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"maxSmbusErrorRetry": 3,
|
||||
"config": [
|
||||
{
|
||||
"NVMeDriveIndex": 1,
|
||||
"NVMeDriveBusID": 0
|
||||
},
|
||||
{
|
||||
"NVMeDriveIndex": 2,
|
||||
"NVMeDriveBusID": 1
|
||||
},
|
||||
{
|
||||
"NVMeDriveIndex": 3,
|
||||
"NVMeDriveBusID": 2
|
||||
},
|
||||
{
|
||||
"NVMeDriveIndex": 4,
|
||||
"NVMeDriveBusID": 3
|
||||
},
|
||||
{
|
||||
"NVMeDriveIndex": 5,
|
||||
"NVMeDriveBusID": 4
|
||||
},
|
||||
{
|
||||
"NVMeDriveIndex": 6,
|
||||
"NVMeDriveBusID": 5
|
||||
}
|
||||
],
|
||||
"threshold": [
|
||||
{
|
||||
"criticalHigh": 68,
|
||||
"criticalLow": 0,
|
||||
"warningHigh": 67,
|
||||
"warningLow": 1,
|
||||
"maxValue": 127,
|
||||
"minValue": -127
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
inherit obmc-phosphor-systemd
|
||||
|
||||
SRC_URI:append:bletchley = " \
|
||||
file://nvme-json-rewrite \
|
||||
file://nvme-json-rewrite.conf \
|
||||
file://nvme_config.json \
|
||||
"
|
||||
|
||||
RDEPENDS:${PN}:bletchley += "bash"
|
||||
|
||||
do_install:append:bletchley() {
|
||||
install -d ${D}${libexecdir}/${PN}/
|
||||
install -m 0755 ${WORKDIR}/nvme-json-rewrite ${D}${libexecdir}/${PN}/
|
||||
|
||||
install -d ${D}${sysconfdir}/nvme
|
||||
install -m 0644 -D ${WORKDIR}/nvme_config.json ${D}${sysconfdir}/nvme
|
||||
}
|
||||
|
||||
SYSTEMD_OVERRIDE:${PN}:append:bletchley = " \
|
||||
nvme-json-rewrite.conf:xyz.openbmc_project.nvme.manager.service.d/nvme-json-rewrite.conf \
|
||||
"
|
||||
+143
@@ -0,0 +1,143 @@
|
||||
[
|
||||
{
|
||||
"Desc": {
|
||||
"Name": "Virtual_CFM_Sensor",
|
||||
"SensorType": "airflow"
|
||||
},
|
||||
"Params": {
|
||||
"DbusParam": [
|
||||
{
|
||||
"ParamName": "fan0",
|
||||
"Desc": {
|
||||
"Name": "FAN0_TACH_IL",
|
||||
"SensorType": "fan_tach"
|
||||
}
|
||||
},
|
||||
{
|
||||
"ParamName": "fan1",
|
||||
"Desc": {
|
||||
"Name": "FAN1_TACH_IL",
|
||||
"SensorType": "fan_tach"
|
||||
}
|
||||
},
|
||||
{
|
||||
"ParamName": "fan2",
|
||||
"Desc": {
|
||||
"Name": "FAN2_TACH_IL",
|
||||
"SensorType": "fan_tach"
|
||||
}
|
||||
},
|
||||
{
|
||||
"ParamName": "fan3",
|
||||
"Desc": {
|
||||
"Name": "FAN3_TACH_IL",
|
||||
"SensorType": "fan_tach"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Expression": "max(0, (avg(fan0, fan1, fan2, fan3) * 0.0448) - 9.5042)"
|
||||
},
|
||||
{
|
||||
"Desc": {
|
||||
"Name": "Virtual_Inlet_Temp",
|
||||
"SensorType": "temperature"
|
||||
},
|
||||
"Threshold": {
|
||||
"CriticalHigh": 40,
|
||||
"CriticalLow": 0
|
||||
},
|
||||
"Params": {
|
||||
"DbusParam": [
|
||||
{
|
||||
"ParamName": "inlet_temp",
|
||||
"Desc": {
|
||||
"Name": "FRONT_PANEL_TEMP",
|
||||
"SensorType": "temperature"
|
||||
}
|
||||
},
|
||||
{
|
||||
"ParamName": "fan0",
|
||||
"Desc": {
|
||||
"Name": "FAN0_TACH_IL",
|
||||
"SensorType": "fan_tach"
|
||||
}
|
||||
},
|
||||
{
|
||||
"ParamName": "fan1",
|
||||
"Desc": {
|
||||
"Name": "FAN1_TACH_IL",
|
||||
"SensorType": "fan_tach"
|
||||
}
|
||||
},
|
||||
{
|
||||
"ParamName": "fan2",
|
||||
"Desc": {
|
||||
"Name": "FAN2_TACH_IL",
|
||||
"SensorType": "fan_tach"
|
||||
}
|
||||
},
|
||||
{
|
||||
"ParamName": "fan3",
|
||||
"Desc": {
|
||||
"Name": "FAN3_TACH_IL",
|
||||
"SensorType": "fan_tach"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Expression": [
|
||||
"if(",
|
||||
" avg(fan0, fan1, fan2, fan3) > 0,",
|
||||
" inlet_temp - (((avg(fan0, fan1, fan2, fan3)^2) * (5e-8)) -",
|
||||
" (avg(fan0, fan1, fan2, fan3) * (6e-4)) + 1.5841),",
|
||||
" inlet_temp)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Desc": {
|
||||
"Name": "Virtual_P12V_AUX_HSC_Input_Power",
|
||||
"SensorType": "power"
|
||||
},
|
||||
"Params": {
|
||||
"DbusParam": [
|
||||
{
|
||||
"ParamName": "HSC_PWR",
|
||||
"Desc": {
|
||||
"Name": "P12V_AUX_HSC_Input_Power",
|
||||
"SensorType": "power"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Expression": [
|
||||
"var PWR[9]:={",
|
||||
" 68.082, 131.899, 194.753, 256.391, 316.721, 376.108, 433.569,",
|
||||
" 490.850, 546.187 };",
|
||||
"var ERR[9]:={",
|
||||
" 0.0425, 0.0497, 0.0537, 0.0555, 0.0565, 0.0577, 0.0587, 0.0597,",
|
||||
" 0.0603 };",
|
||||
"switch {",
|
||||
" case HSC_PWR<PWR[0]:",
|
||||
" HSC_PWR/(1+ERR[0]);",
|
||||
" case inrange(PWR[0],HSC_PWR,PWR[1]):",
|
||||
" HSC_PWR/(1+ERR[0]+(HSC_PWR-PWR[0])*(ERR[1]-ERR[0])/(PWR[1]-PWR[0]));",
|
||||
" case inrange(PWR[1],HSC_PWR,PWR[2]):",
|
||||
" HSC_PWR/(1+ERR[1]+(HSC_PWR-PWR[1])*(ERR[2]-ERR[1])/(PWR[2]-PWR[1]));",
|
||||
" case inrange(PWR[2],HSC_PWR,PWR[3]):",
|
||||
" HSC_PWR/(1+ERR[2]+(HSC_PWR-PWR[2])*(ERR[3]-ERR[2])/(PWR[3]-PWR[2]));",
|
||||
" case inrange(PWR[3],HSC_PWR,PWR[4]):",
|
||||
" HSC_PWR/(1+ERR[3]+(HSC_PWR-PWR[3])*(ERR[4]-ERR[3])/(PWR[4]-PWR[3]));",
|
||||
" case inrange(PWR[4],HSC_PWR,PWR[5]):",
|
||||
" HSC_PWR/(1+ERR[4]+(HSC_PWR-PWR[4])*(ERR[5]-ERR[4])/(PWR[5]-PWR[4]));",
|
||||
" case inrange(PWR[5],HSC_PWR,PWR[6]):",
|
||||
" HSC_PWR/(1+ERR[5]+(HSC_PWR-PWR[5])*(ERR[6]-ERR[5])/(PWR[6]-PWR[5]));",
|
||||
" case inrange(PWR[6],HSC_PWR,PWR[7]):",
|
||||
" HSC_PWR/(1+ERR[6]+(HSC_PWR-PWR[6])*(ERR[7]-ERR[6])/(PWR[7]-PWR[6]));",
|
||||
" case inrange(PWR[7],HSC_PWR,PWR[8]):",
|
||||
" HSC_PWR/(1+ERR[7]+(HSC_PWR-PWR[7])*(ERR[8]-ERR[7])/(PWR[8]-PWR[7]));",
|
||||
" default : HSC_PWR/(1+ERR[8]);",
|
||||
"}"
|
||||
]
|
||||
}
|
||||
]
|
||||
+143
@@ -0,0 +1,143 @@
|
||||
[
|
||||
{
|
||||
"Desc": {
|
||||
"Name": "Virtual_CFM_Sensor",
|
||||
"SensorType": "airflow"
|
||||
},
|
||||
"Params": {
|
||||
"DbusParam": [
|
||||
{
|
||||
"ParamName": "fan0",
|
||||
"Desc": {
|
||||
"Name": "FAN0_TACH_IL",
|
||||
"SensorType": "fan_tach"
|
||||
}
|
||||
},
|
||||
{
|
||||
"ParamName": "fan1",
|
||||
"Desc": {
|
||||
"Name": "FAN1_TACH_IL",
|
||||
"SensorType": "fan_tach"
|
||||
}
|
||||
},
|
||||
{
|
||||
"ParamName": "fan2",
|
||||
"Desc": {
|
||||
"Name": "FAN2_TACH_IL",
|
||||
"SensorType": "fan_tach"
|
||||
}
|
||||
},
|
||||
{
|
||||
"ParamName": "fan3",
|
||||
"Desc": {
|
||||
"Name": "FAN3_TACH_IL",
|
||||
"SensorType": "fan_tach"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Expression": "max(0, (avg(fan0, fan1, fan2, fan3) * 0.0448) - 9.5042)"
|
||||
},
|
||||
{
|
||||
"Desc": {
|
||||
"Name": "Virtual_Inlet_Temp",
|
||||
"SensorType": "temperature"
|
||||
},
|
||||
"Threshold": {
|
||||
"CriticalHigh": 40,
|
||||
"CriticalLow": 0
|
||||
},
|
||||
"Params": {
|
||||
"DbusParam": [
|
||||
{
|
||||
"ParamName": "inlet_temp",
|
||||
"Desc": {
|
||||
"Name": "FRONT_PANEL_TEMP",
|
||||
"SensorType": "temperature"
|
||||
}
|
||||
},
|
||||
{
|
||||
"ParamName": "fan0",
|
||||
"Desc": {
|
||||
"Name": "FAN0_TACH_IL",
|
||||
"SensorType": "fan_tach"
|
||||
}
|
||||
},
|
||||
{
|
||||
"ParamName": "fan1",
|
||||
"Desc": {
|
||||
"Name": "FAN1_TACH_IL",
|
||||
"SensorType": "fan_tach"
|
||||
}
|
||||
},
|
||||
{
|
||||
"ParamName": "fan2",
|
||||
"Desc": {
|
||||
"Name": "FAN2_TACH_IL",
|
||||
"SensorType": "fan_tach"
|
||||
}
|
||||
},
|
||||
{
|
||||
"ParamName": "fan3",
|
||||
"Desc": {
|
||||
"Name": "FAN3_TACH_IL",
|
||||
"SensorType": "fan_tach"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Expression": [
|
||||
"if(",
|
||||
" avg(fan0, fan1, fan2, fan3) > 0,",
|
||||
" inlet_temp - (((avg(fan0, fan1, fan2, fan3)^2) * (9e-8)) -",
|
||||
" (avg(fan0, fan1, fan2, fan3) * (8e-4)) + 2.37),",
|
||||
" inlet_temp)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Desc": {
|
||||
"Name": "Virtual_P12V_AUX_HSC_Input_Power",
|
||||
"SensorType": "power"
|
||||
},
|
||||
"Params": {
|
||||
"DbusParam": [
|
||||
{
|
||||
"ParamName": "HSC_PWR",
|
||||
"Desc": {
|
||||
"Name": "P12V_AUX_HSC_Input_Power",
|
||||
"SensorType": "power"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Expression": [
|
||||
"var PWR[9]:={",
|
||||
" 68.082, 131.899, 194.753, 256.391, 316.721, 376.108, 433.569,",
|
||||
" 490.850, 546.187 };",
|
||||
"var ERR[9]:={",
|
||||
" 0.0425, 0.0497, 0.0537, 0.0555, 0.0565, 0.0577, 0.0587, 0.0597,",
|
||||
" 0.0603 };",
|
||||
"switch {",
|
||||
" case HSC_PWR<PWR[0]:",
|
||||
" HSC_PWR/(1+ERR[0]);",
|
||||
" case inrange(PWR[0],HSC_PWR,PWR[1]):",
|
||||
" HSC_PWR/(1+ERR[0]+(HSC_PWR-PWR[0])*(ERR[1]-ERR[0])/(PWR[1]-PWR[0]));",
|
||||
" case inrange(PWR[1],HSC_PWR,PWR[2]):",
|
||||
" HSC_PWR/(1+ERR[1]+(HSC_PWR-PWR[1])*(ERR[2]-ERR[1])/(PWR[2]-PWR[1]));",
|
||||
" case inrange(PWR[2],HSC_PWR,PWR[3]):",
|
||||
" HSC_PWR/(1+ERR[2]+(HSC_PWR-PWR[2])*(ERR[3]-ERR[2])/(PWR[3]-PWR[2]));",
|
||||
" case inrange(PWR[3],HSC_PWR,PWR[4]):",
|
||||
" HSC_PWR/(1+ERR[3]+(HSC_PWR-PWR[3])*(ERR[4]-ERR[3])/(PWR[4]-PWR[3]));",
|
||||
" case inrange(PWR[4],HSC_PWR,PWR[5]):",
|
||||
" HSC_PWR/(1+ERR[4]+(HSC_PWR-PWR[4])*(ERR[5]-ERR[4])/(PWR[5]-PWR[4]));",
|
||||
" case inrange(PWR[5],HSC_PWR,PWR[6]):",
|
||||
" HSC_PWR/(1+ERR[5]+(HSC_PWR-PWR[5])*(ERR[6]-ERR[5])/(PWR[6]-PWR[5]));",
|
||||
" case inrange(PWR[6],HSC_PWR,PWR[7]):",
|
||||
" HSC_PWR/(1+ERR[6]+(HSC_PWR-PWR[6])*(ERR[7]-ERR[6])/(PWR[7]-PWR[6]));",
|
||||
" case inrange(PWR[7],HSC_PWR,PWR[8]):",
|
||||
" HSC_PWR/(1+ERR[7]+(HSC_PWR-PWR[7])*(ERR[8]-ERR[7])/(PWR[8]-PWR[7]));",
|
||||
" default : HSC_PWR/(1+ERR[8]);",
|
||||
"}"
|
||||
]
|
||||
}
|
||||
]
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
SENSOR_CONFIGS = " \
|
||||
virtual_sensor_config_hdc1080.json \
|
||||
virtual_sensor_config_si7021.json \
|
||||
"
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
SRC_URI:append = " \
|
||||
file://bletchley-host-acpi-power-state.yaml \
|
||||
file://bletchley-frontpanel.yaml \
|
||||
"
|
||||
SETTINGS_HOST_TEMPLATES:append = " bletchley-host-acpi-power-state.yaml"
|
||||
SETTINGS_CHASSIS_TEMPLATES_ZERO_ONLY:append = " bletchley-frontpanel.yaml"
|
||||
|
||||
OBMC_CHASSIS_ZERO_ONLY="0"
|
||||
|
||||
do_install:append() {
|
||||
DEST=${D}${settings_datadir}
|
||||
|
||||
for i in ${OBMC_CHASSIS_ZERO_ONLY};
|
||||
do
|
||||
for f in ${SETTINGS_CHASSIS_TEMPLATES_ZERO_ONLY};
|
||||
do
|
||||
sed "s/{}/${i}/g" ${f} >> ${DEST}/defaults.yaml
|
||||
done
|
||||
done
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
/xyz/openbmc_project/inventory/system/chassis{}/frontpanel:
|
||||
- Interface: xyz.openbmc_project.Inventory.Decorator.Asset
|
||||
Properties:
|
||||
Model:
|
||||
Default: '"Bletchley_FPB_HDC1080"'
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
/xyz/openbmc_project/control/host{}/acpi_power_state:
|
||||
- Interface: "xyz.openbmc_project.Control.Power.ACPIPowerState"
|
||||
Properties:
|
||||
SysACPIStatus:
|
||||
Default: ACPIPowerState::ACPI::Unknown
|
||||
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
[Unit]
|
||||
Requires=bletchley-system-state-init@%i.service
|
||||
After=bletchley-system-state-init@%i.service
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ "$1" == "0" ]; then
|
||||
echo "Enter chassis-cycle"
|
||||
/usr/sbin/power-ctrl chassis-cycle
|
||||
else
|
||||
echo "Enter sled$1 cycle"
|
||||
/usr/sbin/power-ctrl "sled$1" cycle
|
||||
fi
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=Chassis Power Cycle: %i
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/libexec/phosphor-state-manager/chassis-powercycle %i
|
||||
|
||||
[Install]
|
||||
WantedBy=obmc-chassis-powercycle@%i.target
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=Turn off AC at Sled%i
|
||||
Conflicts=chassis-poweron@%i.service
|
||||
After=host-poweroff@%i.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/sbin/power-ctrl sled%i ac-off
|
||||
SyslogIdentifier=power-ctrl
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=Turn on AC at Sled%i
|
||||
Requires=motor-init-calibration@%i.service
|
||||
After=motor-init-calibration@%i.service
|
||||
Conflicts=chassis-poweroff@%i.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/sbin/power-ctrl sled%i ac-on
|
||||
SyslogIdentifier=power-ctrl
|
||||
ExecStartPost=/bin/systemctl restart phosphor-discover-system-state@%i.service
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=Sled%i Host Power Cycle
|
||||
Requires=motor-init-calibration@%i.service
|
||||
After=motor-init-calibration@%i.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/sbin/power-ctrl sled%i cycle
|
||||
SyslogIdentifier=power-ctrl
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
[Unit]
|
||||
Description=Power off System in Sled%i by Step Motor
|
||||
Requires=motor-init-calibration@%i.service
|
||||
After=motor-init-calibration@%i.service
|
||||
Conflicts=host-poweron@%i.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/sbin/power-ctrl sled%i off
|
||||
SyslogIdentifier=power-ctrl
|
||||
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Power on System in Sled%i by Step Motor
|
||||
Requires=motor-init-calibration@%i.service
|
||||
After=motor-init-calibration@%i.service
|
||||
Requires=chassis-poweron@%i.service
|
||||
After=chassis-poweron@%i.service
|
||||
Conflicts=host-poweroff@%i.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/sbin/power-ctrl sled%i boot-from-bootmode
|
||||
SyslogIdentifier=power-ctrl
|
||||
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=Sled%i Host Power Reset
|
||||
Requires=motor-init-calibration@%i.service
|
||||
After=motor-init-calibration@%i.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/sbin/power-ctrl sled%i reset
|
||||
SyslogIdentifier=power-ctrl
|
||||
@@ -0,0 +1,47 @@
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
SRC_URI:append:bletchley = " \
|
||||
file://chassis-powercycle \
|
||||
file://chassis-powercycle@.service \
|
||||
file://chassis-poweroff@.service \
|
||||
file://chassis-poweron@.service \
|
||||
file://host-poweroff@.service \
|
||||
file://host-poweron@.service \
|
||||
"
|
||||
|
||||
RDEPENDS:${PN}-discover:append:bletchley = " bletchley-common-tool"
|
||||
RDEPENDS:${PN}:append:bletchley = " bash motor-ctrl"
|
||||
|
||||
do_install:append:bletchley() {
|
||||
install -d ${D}${systemd_system_unitdir}
|
||||
install -m 0644 ${WORKDIR}/*.service ${D}${systemd_system_unitdir}/
|
||||
|
||||
install -d ${D}${libexecdir}/${PN}
|
||||
install -m 0777 ${WORKDIR}/chassis-powercycle ${D}${libexecdir}/${PN}/
|
||||
}
|
||||
|
||||
FILES:${PN}:append:bletchley = " ${systemd_system_unitdir}"
|
||||
FILES:${PN}:append:bletchley = " ${libexecdir}/${PN}"
|
||||
|
||||
# Because Bletchley does not have IPMI between Bmc & Host, the Host init
|
||||
# state will set to Off after Bmc booted. We require an extra service to
|
||||
# check and set Host state & Chassis power state to correct state before
|
||||
# doing any power action or power policy restore.
|
||||
|
||||
BLETCHLEY_SYS_ST_INIT_CONF_FMT = "bletchley-system-state-init.conf:phosphor-discover-system-state@{0}.service.d/bletchley-system-state-init.conf"
|
||||
SYSTEMD_OVERRIDE:${PN}-discover:bletchley += "${@compose_list_zip(d, 'BLETCHLEY_SYS_ST_INIT_CONF_FMT', 'OBMC_HOST_INSTANCES')}"
|
||||
|
||||
#======================
|
||||
# Workaround for bletchley
|
||||
#======================
|
||||
CHASSIS_DEFAULT_TARGETS:remove:bletchley = " \
|
||||
obmc-chassis-powerreset@{}.target.requires/phosphor-reset-chassis-on@{}.service \
|
||||
obmc-chassis-powerreset@{}.target.requires/phosphor-reset-chassis-running@{}.service \
|
||||
obmc-chassis-poweroff@{}.target.requires/obmc-power-stop@{}.service \
|
||||
obmc-chassis-poweron@{}.target.requires/obmc-power-start@{}.service \
|
||||
"
|
||||
|
||||
HOST_DEFAULT_TARGETS:append = " \
|
||||
obmc-host-startmin@{}.target.wants/host-poweron@{}.service \
|
||||
obmc-host-stop@{}.target.wants/host-poweroff@{}.service \
|
||||
"
|
||||
Reference in New Issue
Block a user