summaryrefslogtreecommitdiff
path: root/meta-fii
diff options
context:
space:
mode:
Diffstat (limited to 'meta-fii')
-rw-r--r--meta-fii/conf/layer.conf2
-rw-r--r--meta-fii/meta-kudo/conf/layer.conf2
-rw-r--r--meta-fii/meta-kudo/conf/machine/kudo.conf7
-rw-r--r--meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg2
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/hotswap-power-cycle/files/hotswap-power-cycle.service15
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/hotswap-power-cycle/hotswap-power-cycle.bb21
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/ipmi/fii-ipmi-oem_git.bb26
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw.bb6
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh13
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-lib.sh19
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot.bb30
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/host-powerctrl.service12
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/init_once.sh27
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-cmd.bb21
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-cmd/kudo-ras.sh575
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-cmd/kudo.sh276
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/kudo-system/kudo-entity-association-map.bb16
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/kudo-system/kudo-entity-association-map/kudo_entity_association_map.json35
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb16
-rw-r--r--meta-fii/meta-kudo/recipes-phosphor/configuration/entity-manager/blacklist.json3
-rw-r--r--meta-fii/meta-kudo/recipes-phosphor/configuration/entity-manager/kudo.json1616
-rw-r--r--meta-fii/meta-kudo/recipes-phosphor/configuration/entity-manager_%.bbappend8
-rw-r--r--meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/kudo_uart_mux_ctrl.sh48
-rw-r--r--meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/obmc-console@.service18
-rw-r--r--meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/server.ttyS1.conf2
-rw-r--r--meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/server.ttyS3.conf3
-rw-r--r--meta-fii/meta-kudo/recipes-phosphor/console/obmc-console_%.bbappend41
-rw-r--r--meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend10
-rw-r--r--meta-fii/meta-kudo/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore/config.json5
-rw-r--r--meta-fii/meta-kudo/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore_%.bbappend8
-rw-r--r--meta-fii/meta-kudo/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend8
-rw-r--r--meta-fii/meta-kudo/recipes-phosphor/sensors/phosphor-virtual-sensor/tla2024-enable.service9
-rw-r--r--meta-fii/meta-kudo/recipes-phosphor/sensors/phosphor-virtual-sensor/tla2024-enable.sh3
-rw-r--r--meta-fii/meta-kudo/recipes-phosphor/sensors/phosphor-virtual-sensor/virtual_sensor_config.json394
-rw-r--r--meta-fii/meta-kudo/recipes-phosphor/sensors/phosphor-virtual-sensor_%.bbappend21
35 files changed, 2325 insertions, 993 deletions
diff --git a/meta-fii/conf/layer.conf b/meta-fii/conf/layer.conf
index 8895ad5db..4cb55ee26 100644
--- a/meta-fii/conf/layer.conf
+++ b/meta-fii/conf/layer.conf
@@ -5,4 +5,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "fii-layer"
BBFILE_PATTERN_fii-layer := "^${LAYERDIR}/"
-LAYERSERIES_COMPAT_fii-layer = "warrior zeus gatesgarth dunfell"
+LAYERSERIES_COMPAT_fii-layer = "warrior zeus gatesgarth dunfell hardknott"
diff --git a/meta-fii/meta-kudo/conf/layer.conf b/meta-fii/meta-kudo/conf/layer.conf
index 84da9fb54..84c091cea 100644
--- a/meta-fii/meta-kudo/conf/layer.conf
+++ b/meta-fii/meta-kudo/conf/layer.conf
@@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "kudo-layer"
BBFILE_PATTERN_kudo-layer = "^${LAYERDIR}/"
-LAYERSERIES_COMPAT_kudo-layer = "warrior zeus gatesgarth dunfell"
+LAYERSERIES_COMPAT_kudo-layer = "warrior zeus gatesgarth dunfell hardknott"
diff --git a/meta-fii/meta-kudo/conf/machine/kudo.conf b/meta-fii/meta-kudo/conf/machine/kudo.conf
index c136987c7..a016fd760 100644
--- a/meta-fii/meta-kudo/conf/machine/kudo.conf
+++ b/meta-fii/meta-kudo/conf/machine/kudo.conf
@@ -20,11 +20,18 @@ GBMC_NCSI_IF_NAME = "eth0"
IMAGE_FSTYPES += " cpio.${INITRAMFS_CTYPE}.u-boot"
+SERIAL_CONSOLES = "115200;ttyS0"
+
OBMC_MACHINE_FEATURES += " \
obmc-host-ipmi \
+ obmc-phosphor-fan-mgmt \
+ obmc-phosphor-flash-mgmt \
"
PREFERRED_PROVIDER_virtual/obmc-fan-control = "phosphor-pid-control"
PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-kudo-apps"
PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw = "phosphor-ipmi-ssif"
PREFERRED_PROVIDER_virtual/obmc-flash-mgmt = "packagegroup-kudo-apps"
+PREFERRED_PROVIDER_virtual/obmc-fan-mgmt = "packagegroup-kudo-apps"
+# Remove unneeded binaries from image
+IMAGE_FEATURES_remove = "obmc-health-monitor"
diff --git a/meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg b/meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg
index c43b0745b..ff6022724 100644
--- a/meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg
+++ b/meta-fii/meta-kudo/recipes-kernel/linux/linux-nuvoton/kudo.cfg
@@ -6,6 +6,8 @@ CONFIG_SENSORS_ADC128D818=y
CONFIG_SENSORS_ADM1275=y
CONFIG_SENSORS_TMP102=y
CONFIG_SENSORS_TMP421=y
+CONFIG_SENSORS_MAX31790=y
+CONFIG_SENSORS_MAX34440=y
CONFIG_PMBUS=y
CONFIG_SENSORS_PMBUS=y
diff --git a/meta-fii/meta-kudo/recipes-kudo/hotswap-power-cycle/files/hotswap-power-cycle.service b/meta-fii/meta-kudo/recipes-kudo/hotswap-power-cycle/files/hotswap-power-cycle.service
new file mode 100644
index 000000000..f9f03e7c3
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/hotswap-power-cycle/files/hotswap-power-cycle.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Power Cycle by Hotswap Controller
+
+[Service]
+Environment= PSU_HARDRESET_DELAY=1
+EnvironmentFile=-/run/psu_timedelay
+ExecStartPre=sleep $PSU_HARDRESET_DELAY
+ExecStart=gpioset 2 30=1
+Restart=no
+Type=oneshot
+RemainAfterExit=true
+StandardOutput=syslog
+
+[Install]
+WantedBy=gbmc-psu-hardreset.target
diff --git a/meta-fii/meta-kudo/recipes-kudo/hotswap-power-cycle/hotswap-power-cycle.bb b/meta-fii/meta-kudo/recipes-kudo/hotswap-power-cycle/hotswap-power-cycle.bb
new file mode 100644
index 000000000..d01b898a9
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/hotswap-power-cycle/hotswap-power-cycle.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Power Cycle by Hotswap Controller"
+DESCRIPTION = "Power Cycle by Hotswap Controller Daemon"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit systemd
+
+DEPENDS += "systemd"
+RDEPENDS_${PN} += "bash"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI_append_kudo = " file://hotswap-power-cycle.service"
+
+do_install() {
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/hotswap-power-cycle.service ${D}${systemd_unitdir}/system/hotswap-power-cycle.service
+}
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = " hotswap-power-cycle.service"
diff --git a/meta-fii/meta-kudo/recipes-kudo/ipmi/fii-ipmi-oem_git.bb b/meta-fii/meta-kudo/recipes-kudo/ipmi/fii-ipmi-oem_git.bb
new file mode 100644
index 000000000..c5a4328ae
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/ipmi/fii-ipmi-oem_git.bb
@@ -0,0 +1,26 @@
+SUMMARY = "foxconn OEM IPMI commands"
+DESCRIPTION = "foxconn OEM IPMI commands"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "boost phosphor-ipmi-host phosphor-logging systemd libgpiod"
+
+inherit cmake obmc-phosphor-ipmiprovider-symlink
+
+EXTRA_OECMAKE="-DENABLE_TEST=0 -DYOCTO=1"
+
+LIBRARY_NAMES = "libfiioemcmds.so"
+
+SRC_URI = "git://github.com/openbmc/foxconn-ipmi-oem.git"
+SRCREV = "163226efd02b91994aaa474005979560965ac3d6"
+
+HOSTIPMI_PROVIDER_LIBRARY += "${LIBRARY_NAMES}"
+NETIPMI_PROVIDER_LIBRARY += "${LIBRARY_NAMES}"
+
+FILES_${PN}_append = " ${libdir}/ipmid-providers/lib*${SOLIBS}"
+FILES_${PN}_append = " ${libdir}/host-ipmid/lib*${SOLIBS}"
+FILES_${PN}_append = " ${libdir}/net-ipmid/lib*${SOLIBS}"
+FILES_${PN}-dev_append = " ${libdir}/ipmid-providers/lib*${SOLIBSDEV}"
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw.bb b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw.bb
index 3f5a30ec6..03ce088fc 100644
--- a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw.bb
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw.bb
@@ -14,14 +14,15 @@ RDEPENDS_${PN} += "libsystemd"
RDEPENDS_${PN} += "bash"
-SRC_URI_append_kudo = " \
+SRC_URI = " \
file://kudo-fw.sh \
file://kudo-fw-ver.service \
file://kudo-fw-ver.sh \
+ file://kudo-lib.sh \
"
SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN}_append_kudo = " \
+SYSTEMD_SERVICE_${PN} = " \
kudo-fw-ver.service \
"
@@ -29,6 +30,7 @@ do_install () {
install -d ${D}/${sbindir}
install -m 0755 ${WORKDIR}/kudo-fw.sh ${D}/${sbindir}/kudo-fw.sh
install -m 0755 ${WORKDIR}/kudo-fw-ver.sh ${D}/${sbindir}/kudo-fw-ver.sh
+ install -m 0755 ${WORKDIR}/kudo-lib.sh ${D}/${sbindir}/kudo-lib.sh
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${WORKDIR}/kudo-fw-ver.service ${D}${systemd_system_unitdir}
}
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh
index e42795f0c..1ef73cc13 100644
--- a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh
@@ -2,15 +2,7 @@
devpath="/sys/bus/i2c/devices/13-0077/driver"
-# set_gpio_ctrl
-# pin #, direction, high(1)/low(0)
-function set_gpio_ctrl() {
- echo $1 > /sys/class/gpio/export
- echo $2 > /sys/class//gpio/gpio$1/direction
- echo $3 > /sys/class/gpio/gpio$1/value
- echo $1 > /sys/class/gpio/unexport
- sleep 1
-}
+source /usr/sbin/kudo-lib.sh
function fwbios() {
KERNEL_FIU_ID="c0000000.spi"
@@ -32,8 +24,8 @@ function fwbios() {
if [ ! -f $1 ]; then
echo " Cannot find the" $1 "image file"
exit 1
- fi
+ fi
echo "Flashing BIOS @/dev/$BIOS_MTD"
flashcp -v $1 /dev/$BIOS_MTD
wait
@@ -52,7 +44,6 @@ function fwbios() {
rm -f $1
}
-
function fwbmccpld() {
# BMC_JTAG_MUX_1 #218 0:BMC 1:MB
set_gpio_ctrl 218 out 0
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-lib.sh b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-lib.sh
new file mode 100644
index 000000000..377257eac
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-lib.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+# set_gpio_ctrl
+# pin #, direction, high(1)/low(0)
+function set_gpio_ctrl() {
+ echo $1 > /sys/class/gpio/export
+ echo $2 > /sys/class//gpio/gpio$1/direction
+ echo $3 > /sys/class/gpio/gpio$1/value
+ echo $1 > /sys/class/gpio/unexport
+ sleep 1
+}
+
+# get_gpio_ctrl
+# pin #
+function get_gpio_ctrl() {
+ echo $1 > /sys/class/gpio/export
+ echo $(cat /sys/class/gpio/gpio$1/value)
+ echo $1 > /sys/class/gpio/unexport
+}
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot.bb b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot.bb
new file mode 100644
index 000000000..87e4f747b
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Phosphor OpenBMC Kudo System Power Control Service"
+DESCRIPTION = "Phosphor OpenBMC Kudo System Power Control Daemon"
+
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit systemd
+inherit obmc-phosphor-systemd
+
+DEPENDS += "systemd"
+RDEPENDS_${PN} += "libsystemd"
+RDEPENDS_${PN} += "bash"
+
+SRC_URI = " \
+ file://init_once.sh \
+ file://host-powerctrl.service \
+ "
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = " \
+ host-powerctrl.service \
+ "
+
+do_install () {
+ install -d ${D}${sbindir}
+ install -m 0755 ${WORKDIR}/init_once.sh ${D}${sbindir}/
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/host-powerctrl.service ${D}${systemd_unitdir}/system
+}
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/host-powerctrl.service b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/host-powerctrl.service
new file mode 100644
index 000000000..14c14d480
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/host-powerctrl.service
@@ -0,0 +1,12 @@
+[Unit]
+Description = Host Power Control Sequence
+
+[Service]
+Restart=no
+RemainAfterExit=true
+Type=oneshot
+ExecStart=/usr/sbin/init_once.sh
+StandardOutput=syslog
+
+[Install]
+WantedBy=sysinit.target
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/init_once.sh b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/init_once.sh
new file mode 100644
index 000000000..b589379fb
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/init_once.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+source /usr/sbin/kudo-lib.sh
+
+# set all mux route to CPU before power on host
+# BMC_CPU_RTC_I2C_SEL #120
+set_gpio_ctrl 120 out 1
+# BMC_CPU_DDR_I2C_SEL #84
+set_gpio_ctrl 84 out 1
+# BMC_CPU_EEPROM_I2C_SEL #85
+set_gpio_ctrl 85 out 1
+# BMC_CPU_PMBUS_SEL #86
+set_gpio_ctrl 86 out 1
+
+# LED control
+# LED_BMC_LIVE #7
+set_gpio_ctrl 7 out 1
+
+# SPI control
+# Send command to CPLD to switch the bios spi interface to host
+i2cset -y -f -a 13 0x76 0x10 0x00
+
+# Power control
+# MON_BMC_ALIVE, GPIO 10
+set_gpio_ctrl 10 out 1
+# S0_BMC_OK, GPIO 69
+set_gpio_ctrl 69 out 1
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-cmd.bb b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-cmd.bb
new file mode 100644
index 000000000..f4e0bb09f
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-cmd.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Phosphor OpenBMC Kudo System Command"
+DESCRIPTION = "Phosphor OpenBMC Kudo System Command Daemon"
+
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+RDEPENDS_${PN} += "bash"
+
+SRC_URI = " \
+ file://kudo.sh \
+ file://kudo-ras.sh \
+ "
+
+SYSTEMD_PACKAGES = "${PN}"
+
+do_install () {
+ install -d ${D}/${sbindir}
+ install -m 0755 ${WORKDIR}/kudo.sh ${D}/${sbindir}/kudo.sh
+ install -m 0755 ${WORKDIR}/kudo-ras.sh ${D}/${sbindir}/kudo-ras.sh
+}
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-cmd/kudo-ras.sh b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-cmd/kudo-ras.sh
new file mode 100644
index 000000000..af1b0a4e7
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-cmd/kudo-ras.sh
@@ -0,0 +1,575 @@
+#!/bin/bash
+
+powerState=$(i2cget -f -y 0x2 0x4f 0xe0 b)
+
+getGPISourceRegisters(){
+ REG60=$(i2cget -f -y 0x2 0x4f 0x60 w) # GPI Data Set
+ REG61=$(i2cget -f -y 0x2 0x4f 0x61 w) # GPI DATA Set #0
+ REG62=$(i2cget -f -y 0x2 0x4f 0x62 w) # GPI DATA Set #1
+ REG63=$(i2cget -f -y 0x2 0x4f 0x63 w) # GPI DATA Set #2
+ REG64=$(i2cget -f -y 0x2 0x4f 0x64 w) # GPI DATA Set #3
+ DS0Pres=$((REG60 & 0x0100))
+ DS1Pres=$((REG60 & 0x0200))
+ DS2Pres=$((REG60 & 0x0400))
+ DS3Pres=$((REG60 & 0x0800))
+}
+
+getErrorCount() {
+ MemCE=$(i2cget -f -y 0x2 0x4f 0x90 w)
+ MemUE=$(i2cget -f -y 0x2 0x4f 0x93 w)
+ CoreCE=$(i2cget -f -y 0x2 0x4f 0x80 w)
+ CoreUE=$(i2cget -f -y 0x2 0x4f 0x83 w)
+ PCIeCE=$(i2cget -f -y 0x2 0x4f 0xc0 w)
+ PCIeUE=$(i2cget -f -y 0x2 0x4f 0xc2 w)
+ OtherCE=$(i2cget -f -y 0x2 0x4f 0xd0 w)
+ OtherUE=$(i2cget -f -y 0x2 0x4f 0xd8 w)
+}
+
+getReg61Vals() {
+ REG61_0800=$((REG61 & 0x0800))
+ REG61_0800_VAL=$((REG61_0800 >> 8))
+ REG61_1000=$((REG61 & 0x1000))
+ REG61_1000_VAL=$((REG61_1000 >> 12))
+}
+
+getReg62Vals() {
+ REG62_0100=$((REG62 & 0x0100))
+ REG62_0100_VAL=$((REG62_0100 >> 8))
+ REG62_0200=$((REG62 & 0x0200))
+ REG62_0200_VAL=$((REG62_0200 >> 9))
+ REG62_0400=$((REG62 & 0x0400))
+ REG62_0400_VAL=$((REG62_0400 >> 10))
+}
+
+getReg63Vals() {
+ REG63_0100=$((REG63 & 0x0100))
+ REG63_0100_VAL=$((REG63_0100 >> 8))
+}
+
+getReg64Vals() {
+ REG64_0100=$((REG64 & 0x0100))
+ REG64_0100_VAL=$((REG64_0100 >> 8))
+ REG64_0200=$((REG64 & 0x0200))
+ REG64_0200_VAL=$((REG64_0200 >> 9))
+ REG64_0800=$((REG64 & 0x0800))
+ REG64_0800_VAL=$((REG64_0800 >> 11))
+ REG64_2000=$((REG64 & 0x2000))
+ REG64_2000_VAL=$((REG64_2000 >> 13))
+ REG64_4000=$((REG64 & 0x4000))
+ REG64_4000_VAL=$((REG64_4000 >> 14))
+ REG64_8000=$((REG64 & 0x8000))
+ REG64_8000_VAL=$((REG64_8000 >> 15))
+ REG64_0001=$((REG64 & 0x0001))
+ REG64_0001_VAL=$((REG64_0001))
+}
+
+getGPIStatusRegisters(){
+ REG70=$(i2cget -f -y 0x2 0x4f 0x70 w) # Core, DIMM, SLC, PCIe, and Other errors
+ REG78=$(i2cget -f -y 0x2 0x4f 0x78 w) # VRD Fault/Warning Error
+ REG79=$(i2cget -f -y 0x2 0x4f 0x79 w) # VRD Hot
+ REG7A=$(i2cget -f -y 0x2 0x4f 0x7A w) # DIMM Hot Error
+ REG7B=$(i2cget -f -y 0x2 0x4f 0x7B w) # Boot #1 Error
+ REG7C=$(i2cget -f -y 0x2 0x4f 0x7C w) # Boot #2 Error
+ REG7D=$(i2cget -f -y 0x2 0x4f 0x7D w) # Watchdog/Other Status
+ REG7E=$(i2cget -f -y 0x2 0x4f 0x7E w) # RAS internal error
+}
+
+getReg70Vals() {
+ REG70_0100=$((REG70 & 0x0100))
+ REG70_0100_VAL=$((REG70_0100 >> 8))
+ REG70_0200=$((REG70 & 0x0200))
+ REG70_0200_VAL=$((REG70_0200 >> 9))
+ REG70_0400=$((REG70 & 0x0400))
+ REG70_0400_VAL=$((REG70_0400 >> 10))
+ REG70_0800=$((REG70 & 0x0800))
+ REG70_0800_VAL=$((REG70_0800 >> 11))
+ REG70_4000=$((REG70 & 0x4000))
+ REG70_4000_VAL=$((REG70_4000 >> 14))
+ REG70_8000=$((REG70 & 0x8000))
+ REG70_8000_VAL=$((REG70_8000 >> 15))
+ REG70_0001=$((REG70 & 0x0001))
+ REG70_0001_VAL=$((REG70_0001))
+ REG70_0002=$((REG70 & 0x0002))
+ REG70_0002_VAL=$((REG70_0002 >> 1))
+}
+
+getReg78Vals() {
+ REG78_0100=$((REG78 & 0x0100))
+ REG78_0100_VAL=$((REG78_0100 >> 8))
+ REG78_0200=$((REG78 & 0x0200))
+ REG78_0200_VAL=$((REG78_0200 >> 9))
+ REG78_0400=$((REG78 & 0x0400))
+ REG78_0400_VAL=$((REG78_0400 >> 10))
+ REG78_0800=$((REG78 & 0x0800))
+ REG78_0800_VAL=$((REG78_0800 >> 11))
+ REG78_1000=$((REG78 & 0x1000))
+ REG78_1000_VAL=$((REG78_1000 >> 12))
+ REG78_2000=$((REG78 & 0x2000))
+ REG78_2000_VAL=$((REG78_2000 >> 13))
+ REG78_4000=$((REG78 & 0x4000))
+ REG78_4000_VAL=$((REG78_4000 >> 14))
+ REG78_8000=$((REG78 & 0x8000))
+ REG78_8000_VAL=$((REG78_8000 >> 15))
+ REG78_0001=$((REG78 & 0x0001))
+ REG78_0001_VAL=$((REG78_0001))
+ REG78_0002=$((REG78 & 0x0002))
+ REG78_0002_VAL=$((REG78_0002 >> 1))
+ REG78_0004=$((REG78 & 0x0004))
+ REG78_0004_VAL=$((REG78_0004 >> 2))
+ REG78_0008=$((REG78 & 0x0008))
+ REG78_0008_VAL=$((REG78_0008 >> 3))
+}
+
+getReg79Vals() {
+ REG79_0100=$((REG79 & 0x0100))
+ REG79_0100_VAL=$((REG79_0100 >> 8))
+ REG79_1000=$((REG79 & 0x1000))
+ REG79_1000_VAL=$((REG79_1000 >> 12))
+ REG79_2000=$((REG79 & 0x2000))
+ REG79_2000_VAL=$((REG79_2000 >> 13))
+ REG79_4000=$((REG79 & 0x4000))
+ REG79_4000_VAL=$((REG79_4000 >> 14))
+ REG79_0001=$((REG79 & 0x0001))
+ REG79_0001_VAL=$((REG79_0001))
+ REG79_0002=$((REG79 & 0x0002))
+ REG79_0002_VAL=$((REG79_0002 >> 1))
+ REG79_0004=$((REG79 & 0x0004))
+ REG79_0004_VAL=$((REG79_0004 >> 2))
+ REG79_0008=$((REG79 & 0x0008))
+ REG79_0008_VAL=$((REG79_0008 >> 3))
+}
+
+getReg7AVals() {
+ REG7A_0100=$((REG7A & 0x0100))
+ REG7A_0100_VAL=$((REG7A_0100 >> 8))
+ REG7A_0200=$((REG7A & 0x0200))
+ REG7A_0200_VAL=$((REG7A_0200 >> 9))
+ REG7A_0400=$((REG7A & 0x0400))
+ REG7A_0400_VAL=$((REG7A_0400 >> 10))
+ REG7A_0800=$((REG7A & 0x0800))
+ REG7A_0800_VAL=$((REG7A_0800 >> 11))
+ REG7A_1000=$((REG7A & 0x1000))
+ REG7A_1000_VAL=$((REG7A_1000 >> 12))
+ REG7A_2000=$((REG7A & 0x2000))
+ REG7A_2000_VAL=$((REG7A_2000 >> 13))
+ REG7A_4000=$((REG7A & 0x4000))
+ REG7A_4000_VAL=$((REG7A_4000 >> 14))
+ REG7A_8000=$((REG7A & 0x8000))
+ REG7A_8000_VAL=$((REG7A_8000 >> 15))
+}
+
+getReg7DVals() {
+ REG7D_0100=$((REG7D & 0x0100))
+ REG7D_0100_VAL=$((REG7D_0100 >> 8))
+ REG7D_0200=$((REG7D & 0x0200))
+ REG7D_0200_VAL=$((REG7D_0200 >> 9))
+ REG7D_0400=$((REG7D & 0x0400))
+ REG7D_0400_VAL=$((REG7D_0400 >> 10))
+}
+
+getReg7EVals() {
+ REG7E_0100=$((REG7E & 0x0100))
+ REG7E_0100_VAL=$((REG7E_0100 >> 8))
+ REG7E_0200=$((REG7E & 0x0200))
+ REG7E_0200_VAL=$((REG7E_0200 >> 9))
+}
+
+getGPIMaskRegisters(){
+ REG50=$(i2cget -f -y 0x2 0x4f 0x50 w) # GPI Control #0
+ REG51=$(i2cget -f -y 0x2 0x4f 0x51 w) # GPI Control #1
+ REG52=$(i2cget -f -y 0x2 0x4f 0x52 w) # GPI Control #2
+ REG53=$(i2cget -f -y 0x2 0x4f 0x53 w) # GPI Control #3
+ REG54=$(i2cget -f -y 0x2 0x4f 0x54 w) # GPI CE/UE Mask
+}
+
+getReg50Vals() {
+ REG50_0400=$((REG50 & 0x0400))
+ REG50_0400_VAL=$((REG50_0400 >> 10))
+ REG50_0800=$((REG50 & 0x0800))
+ REG50_0800_VAL=$((REG50_0800 >> 11))
+}
+
+getReg51Vals() {
+ REG51_0100=$((REG51 & 0x0100))
+ REG51_0100_VAL=$((REG51_0100 >> 8))
+ REG51_0200=$((REG51 & 0x0200))
+ REG51_0200_VAL=$((REG51_0200 >> 9))
+ REG51_0400=$((REG51 & 0x0400))
+ REG51_0400_VAL=$((REG51_0400 >> 10))
+}
+
+getReg52Vals() {
+ REG52_0100=$((REG52 & 0x0100))
+ REG52_0100_VAL=$((REG52_0100 >> 8))
+}
+
+getReg53Vals() {
+ REG53_0100=$((REG53 & 0x0100))
+ REG53_0100_VAL=$((REG53_0100 >> 8))
+ REG53_0200=$((REG53 & 0x0200))
+ REG53_0200_VAL=$((REG53_0200 >> 9))
+ REG53_0800=$((REG53 & 0x0800))
+ REG53_0800_VAL=$((REG53_0800 >> 11))
+ REG53_2000=$((REG53 & 0x2000))
+ REG53_2000_VAL=$((REG53_2000 >> 13))
+ REG53_4000=$((REG53 & 0x4000))
+ REG53_4000_VAL=$((REG53_4000 >> 14))
+ REG53_8000=$((REG53 & 0x8000))
+ REG53_8000_VAL=$((REG53_8000 >> 15))
+ REG53_0001=$((REG53 & 0x0001))
+ REG53_0001_VAL=$((REG53_0001))
+}
+
+getReg54Vals() {
+ REG54_0100=$((REG54 & 0x0100))
+ REG54_0100_VAL=$((REG54_0100 >> 8))
+ REG54_0200=$((REG54 & 0x0200))
+ REG54_0200_VAL=$((REG54_0200 >> 9))
+ REG54_0001=$((REG54 & 0x0001))
+ REG54_0001_VAL=$((REG54_0001))
+ REG54_0002=$((REG54 & 0x0002))
+ REG54_0002_VAL=$((REG54_0002 >> 1))
+ REG54_0004=$((REG54 & 0x0004))
+ REG54_0004_VAL=$((REG54_0004 >> 2))
+ REG54_0008=$((REG54 & 0x0008))
+ REG54_0008_VAL=$((REG54_0008 >> 3))
+ REG54_0010=$((REG54 & 0x0010))
+ REG54_0010_VAL=$((REG54_0010 >> 4))
+ REG54_0020=$((REG54 & 0x0020))
+ REG54_0020_VAL=$((REG54_0020 >> 5))
+}
+
+
+
+if [ -z $powerState ]
+ then
+ echo "System is currently Powered off S6"
+else
+ echo "System is currently in ${powerState} "
+
+ # Get Error Count
+ getErrorCount
+ echo " "
+ echo " Error Count: "
+ echo " Memory Errors: Correctable $((MemCE >> 8)) Uncorrectable $((MemUE >> 8)) "
+ echo " Core Errors: Correctable $((CoreCE >> 8)) Uncorrectable $((CoreUE >> 8))"
+ echo " PCIe Errors: Correctable $((PCIeCE >> 8)) Uncorrectable $((PCIeUE >> 8)) "
+ echo " Other Errors: Correctable $((OtherCE >> 8)) Uncorrectable $((OtherUE >> 8)) "
+
+ # GPI Source Registers
+ getGPISourceRegisters
+ echo " "
+ echo " GPI Source Registers: "
+ echo " GPI Data Set #0 Present: $((DS0Pres >> 8)) "
+ echo " GPI Data Set #1 Present: $((DS1Pres >> 9)) "
+ echo " GPI Data Set #2 Present: $((DS2Pres >> 10)) "
+ echo " GPI Data Set #3 Present: $((DS3Pres >> 11)) "
+
+ # REG61 Data Set#0
+ getReg61Vals
+ echo " "
+ echo " GPI Data Set#0: "
+ if [[ "$REG61_0800_VAL" != 0 ]]; then
+ echo " Platform Booting "
+ fi
+ if [[ "$REG61_1000_VAL" != 0 ]]; then
+ echo " Critical Stop "
+ fi
+
+ # REG62 Data Set#1
+ getReg62Vals
+ echo " "
+ echo " GPI Data Set#1: "
+ if [[ "$REG62_0100_VAL" != 0 ]]; then
+ echo " SoC VR HOT/Warn/Fault "
+ fi
+ if [[ "$REG62_0200_VAL" != 0 ]]; then
+ echo " Core VR HOT/Warn/Fault "
+ fi
+ if [[ "$REG62_0400_VAL" != 0 ]]; then
+ echo " DIMM HOT/Warn/Fault "
+ fi
+
+ # REG63 Data Set#2
+ getReg63Vals
+ echo " "
+ echo " GPI Data Set#2: "
+ if [[ "$REG63_0100_VAL" != 0 ]]; then
+ echo " DIMM HOT "
+ fi
+
+ # REG64 Data Set#3
+ getReg64Vals
+ echo " "
+ echo " GPI Data Set#3: "
+ if [[ "$REG64_0100_VAL" != 0 ]]; then
+ echo " Core Errors "
+ fi
+ if [[ "$REG64_0200_VAL" != 0 ]]; then
+ echo " Memory Errors "
+ fi
+ if [[ "$REG64_0800_VAL" != 0 ]]; then
+ echo " PCIe Errors "
+ fi
+ if [[ "$REG64_2000_VAL" != 0 ]]; then
+ echo " Other Errors "
+ fi
+ if [[ "$REG64_4000_VAL" != 0 ]]; then
+ echo " ACPI State Change "
+ fi
+ if [[ "$REG64_8000_VAL" != 0 ]]; then
+ echo " Boot Errors "
+ fi
+ if [[ "$REG64_0001_VAL" != 0 ]]; then
+ echo " RAS Internal Error "
+ fi
+
+ # GPI Status Regs
+ getGPIStatusRegisters
+ echo " "
+ echo " GPI Status Regs "
+
+ getReg70Vals
+ echo " "
+ echo " Core, DIMM, SLC, PCIe, and Other errors: "
+ if [[ "$REG70_0100_VAL" != 0 ]]; then
+ echo " Core CE Error "
+ fi
+ if [[ "$REG70_0200_VAL" != 0 ]]; then
+ echo " Core UE Error "
+ fi
+ if [[ "$REG70_0400_VAL" != 0 ]]; then
+ echo " DIMM CE Error "
+ fi
+ if [[ "$REG70_0800_VAL" != 0 ]]; then
+ echo " DIMM UE Error "
+ fi
+ if [[ "$REG70_4000_VAL" != 0 ]]; then
+ echo " PCIe CE Error "
+ fi
+ if [[ "$REG70_8000_VAL" != 0 ]]; then
+ echo " PCIe UE Error "
+ fi
+ if [[ "$REG70_0001_VAL" != 0 ]]; then
+ echo " Other CE Error "
+ fi
+ if [[ "$REG70_0002_VAL" != 0 ]]; then
+ echo " Other UE Error "
+ fi
+
+ getReg78Vals
+ echo " "
+ echo " VRD Fault/Warning Error: "
+ if [[ "$REG78_0100_VAL" != 0 ]]; then
+ echo " SoC VRD fault/warning "
+ fi
+ if [[ "$REG78_0200_VAL" != 0 ]]; then
+ echo " Core VRD1 fault/warning "
+ fi
+ if [[ "$REG78_0400_VAL" != 0 ]]; then
+ echo " Core VRD2 fault/warning "
+ fi
+ if [[ "$REG78_0800_VAL" != 0 ]]; then
+ echo " Core VRD3 fault/warning "
+ fi
+ if [[ "$REG78_1000_VAL" != 0 ]]; then
+ echo " DIMM VRD1 fault/warning "
+ fi
+ if [[ "$REG78_2000_VAL" != 0 ]]; then
+ echo " DIMM VRD2 fault/warning "
+ fi
+ if [[ "$REG78_4000_VAL" != 0 ]]; then
+ echo " DIMM VRD3 fault/warning "
+ fi
+ if [[ "$REG78_8000_VAL" != 0 ]]; then
+ echo " DIMM VRD3 fault/warning "
+ fi
+ if [[ "$REG78_0001_VAL" != 0 ]]; then
+ echo " DIMM fault/warning "
+ fi
+ if [[ "$REG78_0002_VAL" != 0 ]]; then
+ echo " DIMM fault/warning "
+ fi
+ if [[ "$REG78_0004_VAL" != 0 ]]; then
+ echo " DIMM fault/warning "
+ fi
+ if [[ "$REG78_0008_VAL" != 0 ]]; then
+ echo " DIMM fault/warning "
+ fi
+
+ getReg79Vals
+ echo " "
+ echo " VRD Hot: "
+ if [[ "$REG79_0100_VAL" != 0 ]]; then
+ echo " SoC VRD is HOT "
+ fi
+ if [[ "$REG79_1000_VAL" != 0 ]]; then
+ echo " Core VRD1 is HOT "
+ fi
+ if [[ "$REG79_2000_VAL" != 0 ]]; then
+ echo " Core VRD2 is HOT "
+ fi
+ if [[ "$REG79_4000_VAL" != 0 ]]; then
+ echo " Core VRD3 is HOT "
+ fi
+ if [[ "$REG79_0001_VAL" != 0 ]]; then
+ echo " DIMM VRD1 is HOT "
+ fi
+ if [[ "$REG79_0002_VAL" != 0 ]]; then
+ echo " DIMM VRD2 is HOT "
+ fi
+ if [[ "$REG79_0004_VAL" != 0 ]]; then
+ echo " DIMM VRD3 is HOT "
+ fi
+ if [[ "$REG79_0008_VAL" != 0 ]]; then
+ echo " DIMM VRD4 is HOT "
+ fi
+
+ getReg7AVals
+ echo " "
+ echo " DIMM Hot Error: "
+ if [[ "$REG7A_0100_VAL" != 0 ]]; then
+ echo " DIMM channel 0 is HOT "
+ fi
+ if [[ "$REG7A_0200_VAL" != 0 ]]; then
+ echo " DIMM channel 1 is HOT "
+ fi
+ if [[ "$REG7A_0400_VAL" != 0 ]]; then
+ echo " DIMM channel 2 is HOT "
+ fi
+ if [[ "$REG7A_0800_VAL" != 0 ]]; then
+ echo " DIMM channel 3 is HOT "
+ fi
+ if [[ "$REG7A_1000_VAL" != 0 ]]; then
+ echo " DIMM channel 4 is HOT "
+ fi
+ if [[ "$REG7A_2000_VAL" != 0 ]]; then
+ echo " DIMM channel 5 is HOT "
+ fi
+ if [[ "$REG7A_4000_VAL" != 0 ]]; then
+ echo " DIMM channel 6 is HOT "
+ fi
+ if [[ "$REG7A_8000_VAL" != 0 ]]; then
+ echo " DIMM channel 7 is HOT "
+ fi
+
+ echo " "
+ echo " Boot #1 Error: $((REG7B >> 8)) "
+ echo " Boot #2 Error: $((REG7C >> 8)) "
+
+
+ getReg7DVals
+ echo " "
+ echo " Watchdog/Other Status: "
+ if [[ "$REG7D_0100_VAL" != 0 ]]; then
+ echo " Non-secure WDT expired "
+ fi
+ if [[ "$REG7D_0200_VAL" != 0 ]]; then
+ echo " Secure WDT expired "
+ fi
+ if [[ "$REG7D_0400_VAL" != 0 ]]; then
+ echo " Firmware WDT expired "
+ fi
+
+ getReg7EVals
+ echo " "
+ echo " RAS internal error: "
+ if [[ "$REG7E_0100_VAL" != 0 ]]; then
+ echo " Error from SMpro "
+ fi
+ if [[ "$REG7E_0200_VAL" != 0 ]]; then
+ echo " Error from PMpro "
+ fi
+
+ # GPI Mask Regs
+ getGPIMaskRegisters
+ echo " "
+ echo " GPI Mask Regs "
+
+ getReg50Vals
+ echo " "
+ echo " GPI Control #0: "
+
+ if [[ "$REG50_0400_VAL" != 0 ]]; then
+ echo " Platform Booting "
+ fi
+ if [[ "$REG50_0800_VAL" != 0 ]]; then
+ echo " Critical Stop "
+ fi
+
+ getReg51Vals
+ echo " "
+ echo " GPI Control #1: "
+
+ if [[ "$REG51_0100_VAL" != 0 ]]; then
+ echo " SoC VR HOT/Warn/Fault "
+ fi
+ if [[ "$REG51_0200_VAL" != 0 ]]; then
+ echo " Core VR HOT/Warn/Fault "
+ fi
+ if [[ "$REG51_0400_VAL" != 0 ]]; then
+ echo " DIMM VRD HOT/Warn/Fault "
+ fi
+
+ getReg52Vals
+ echo " "
+ echo " GPI Control #2: "
+
+ if [[ "$REG52_0100_VAL" != 0 ]]; then
+ echo " DIMM HOT "
+ fi
+
+ getReg53Vals
+ echo " "
+ echo " GPI Control #3: "
+ if [[ "$REG53_0100_VAL" != 0 ]]; then
+ echo " Core Errors "
+ fi
+ if [[ "$REG53_0200_VAL" != 0 ]]; then
+ echo " Memory Errors "
+ fi
+ if [[ "$REG53_0800_VAL" != 0 ]]; then
+ echo " PCIe Errors "
+ fi
+ if [[ "$REG53_2000_VAL" != 0 ]]; then
+ echo " Other SoC Errors "
+ fi
+ if [[ "$REG53_4000_VAL" != 0 ]]; then
+ echo " ACPI State Change "
+ fi
+ if [[ "$REG53_8000_VAL" != 0 ]]; then
+ echo " Boot Errors "
+ fi
+ if [[ "$REG53_0001_VAL" != 0 ]]; then
+ echo " RAS Internal Error "
+ fi
+
+ getReg54Vals
+ echo " "
+ echo " GPI CE/UE Mask: "
+ if [[ "$REG54_0100_VAL" != 0 ]]; then
+ echo " Core CE "
+ fi
+ if [[ "$REG54_0200_VAL" != 0 ]]; then
+ echo " Core UE "
+ fi
+ if [[ "$REG54_0001_VAL" != 0 ]]; then
+ echo " DIMM CE "
+ fi
+ if [[ "$REG54_0002_VAL" != 0 ]]; then
+ echo " DIMM UE "
+ fi
+ if [[ "$REG54_0004_VAL" != 0 ]]; then
+ echo " PCIe CE "
+ fi
+ if [[ "$REG54_0008_VAL" != 0 ]]; then
+ echo " PCIe UE "
+ fi
+ if [[ "$REG54_0010_VAL" != 0 ]]; then
+ echo " Other CE "
+ fi
+ if [[ "$REG54_0020_VAL" != 0 ]]; then
+ echo " Other UE "
+ fi
+
+fi
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-cmd/kudo.sh b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-cmd/kudo.sh
new file mode 100644
index 000000000..0c12fca13
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-cmd/kudo.sh
@@ -0,0 +1,276 @@
+#!/bin/bash
+# help information
+
+source /usr/sbin/kudo-lib.sh
+
+function usage_rst() {
+ echo " kudo rst [parameter]"
+ echo " hotswap --> reset the whole kudo node"
+ echo " system --> reset the host"
+ echo " btn --> trigger a power button event"
+ echo " shutdown --> send out shutdown signal to CPU"
+ echo " display --> "
+}
+
+function usage_led() {
+
+ echo " kudo led 'att'/'boot' [parameter]"
+ echo " on --> change to CPU console"
+ echo " off --> change to CPU 0 SCP console"
+ echo " status --> change to CPU 1 SCP console"
+}
+
+function usage_uart() {
+ echo " kudo uart [parameter]"
+ echo " host --> change to CPU console"
+ echo " scp1 --> change to CPU 0 SCP console"
+ echo " scp2 --> change to CPU 1 SCP console"
+ echo " hosthr --> change CPU console to header"
+ echo " scphr --> change SCP console to header"
+ echo " display --> "
+}
+
+function usage() {
+ echo " kudo BMC console system utilities"
+ echo " kudo [optional] [parameter]"
+ echo " rst --> reset traget device"
+ echo " fw --> get version"
+ echo " uart --> control the uart mux"
+ echo " led --> control the leds"
+}
+
+function reset() {
+ case $1 in
+ hotswap)
+ # Virtual reset #94
+ set_gpio_ctrl 94 out 1
+ ;;
+ system)
+ # S0 system reset #65
+ set_gpio_ctrl 65 out 0
+ sleep 1
+ set_gpio_ctrl 65 out 1
+ ;;
+ btn)
+ # power button #203
+ set_gpio_ctrl 203 out 1
+ sleep 1
+ set_gpio_ctrl 203 out 0
+ ;;
+ shutdown)
+ # BMC_CPU_SHD_REQ #70
+ set_gpio_ctrl 70 out 0
+ sleep 3
+ set_gpio_ctrl 70 out 1
+ ;;
+ forceOff)
+ # power button #203
+ set_gpio_ctrl 203 out 1
+ sleep 6
+ set_gpio_ctrl 203 out 0
+ ;;
+ display)
+ echo "Virtual reset #94" $(get set_gpio_ctrl 94)
+ echo "S0 System reset #65" $(get set_gpio_ctrl 65)
+ echo "Power Button #203" $(get set_gpio_ctrl 203)
+ echo "BMC_CPU SHD Req #70" $(get set_gpio_ctrl 70)
+ ;;
+ *)
+ usage_rst
+ ;;
+ esac
+}
+
+function fw_rev() {
+ BMC_CPLD_VER_FILE="/run/cpld0.version"
+ MB_CPLD_VER_FILE="/run/cpld1.version"
+
+ cmd=$(cat $BMC_CPLD_VER_FILE)
+ echo " BMC_CPLD: " $cmd
+ cmd=$(cat $MB_CPLD_VER_FILE)
+ echo " MB_CPLD: " $cmd
+
+ cmd=$(cat /etc/os-release | grep VERSION -w | cut -d '=' -f 2)
+ echo " BMC : " ${cmd}
+
+ #BMC PWR Sequencer
+ i2cset -y -f -a 14 0x59 0xfe 0x0000 w
+ cmd=$(i2cget -y -f -a 14 0x59 0xfe i 2 | awk '{print substr($0,3)}')
+ echo " BMC PowerSequencer : ${cmd}"
+ #only display with smbios exists
+ if [[ -e /var/lib/smbios/smbios2 ]]; then
+ cmd=$(busctl introspect xyz.openbmc_project.Smbios.MDR_V2 \
+ /xyz/openbmc_project/inventory/system/chassis/motherboard/bios | grep Version | awk '{print $4}')
+ echo " Bios: $cmd"
+ fi
+
+ cmd=$(i2cget -f -y 2 0x4f 0x1 w);
+ echo " SCP Firmware: ${cmd}"
+
+ adm1266_ver | grep REVISION
+
+}
+
+function uartmux() {
+ case $1 in
+ host)
+ set_gpio_ctrl 167 out 1
+ ;;
+ scp1)
+ set_gpio_ctrl 161 out 1
+ set_gpio_ctrl 177 out 1
+ set_gpio_ctrl 198 out 0
+ ;;
+ scp2)
+ set_gpio_ctrl 161 out 1
+ set_gpio_ctrl 177 out 1
+ set_gpio_ctrl 198 out 1
+ ;;
+ hosthr)
+ set_gpio_ctrl 167 out 0
+ ;;
+ scphr)
+ set_gpio_ctrl 161 out 0
+ set_gpio_ctrl 177 out 0
+ ;;
+ display)
+ if [ $(get_gpio_ctrl 167) -eq 1 ]; then
+ echo " CPU host to BMC console"
+ else
+ echo " CPU host to header"
+ fi
+ if [ $(get_gpio_ctrl 161) -eq 1 ] && [ $(get_gpio_ctrl 177) -eq 1 ]; then
+ if [ $(get_gpio_ctrl 198) -eq 1 ]; then
+ echo " SCP2 host to BMC console"
+ else
+ echo " SCP1 host to BMC console"
+ fi
+ elif [ $(get_gpio_ctrl 161) -eq 0 ] && [ $(get_gpio_ctrl 177) -eq 0 ]; then
+ if [ $(get_gpio_ctrl 198) -eq 1 ]; then
+ echo " SCP2 host to Header"
+ else
+ echo " SCP1 host to Header"
+ fi
+ else
+ echo "It's unknown status"
+ echo "167" $(get_gpio_ctrl 167)
+ echo "161" $(get_gpio_ctrl 161)
+ echo "177" $(get_gpio_ctrl 177)
+ echo "198" $(get_gpio_ctrl 198)
+ fi
+ ;;
+ *)
+ usage_uart
+ ;;
+ esac
+}
+
+function ledtoggle() {
+
+ CurrentLED=$( i2cget -y -f -a 34 0x76 0x05 i 1 | cut -d ' ' -f 2)
+ case $1 in
+ boot)
+ cmd=$((($CurrentLED & 0x40) != 0))
+ case $2 in
+ on)
+ #turn on LED
+ if [[ $cmd -eq 0 ]]; then
+ setValue=$(( 0x40 + $CurrentLED ))
+ i2cset -y -f -a 34 0x76 0x10 $setValue
+ fi
+ ;;
+ off)
+ #turn off led
+ if [[ $cmd -eq 1 ]]; then
+ setValue=$(( 0x80 & $CurrentLED ))
+ i2cset -y -f -a 34 0x76 0x10 $setValue
+ fi
+ ;;
+ toggle)
+ #turn on LED
+ setValue=$(( 0x40 ^ $CurrentLED ))
+ i2cset -y -f -a 34 0x76 0x10 $setValue
+ ;;
+ status)
+ #displayLED status
+ if [[ $cmd -eq 1 ]]; then
+ echo "on"
+ else
+ echo "off"
+ fi
+ ;;
+ *)
+ usage_led
+ ;;
+ esac
+ ;;
+ att)
+ cmd=$((($CurrentLED & 0x80) != 0))
+ case $2 in
+ on)
+ #turn on LED
+ if [[ $cmd -eq 0 ]]; then
+ setValue=$(( 0x80 + $CurrentLED ))
+ i2cset -y -f -a 34 0x76 0x10 $setValue
+ fi
+ ;;
+ off)
+ #turn off led
+ if [[ $cmd -eq 1 ]]; then
+ setValue=$(( 0x40 & $CurrentLED ))
+ i2cset -y -f -a 34 0x76 0x10 $setValue
+ fi
+ ;;
+ toggle)
+ #turn on LED
+ setValue=$(( 0x80 ^ $CurrentLED ))
+ i2cset -y -f -a 34 0x76 0x10 $setValue
+ ;;
+ status)
+ #displayLED status
+ if [[ $cmd -eq 1 ]]; then
+ echo "on"
+ else
+ echo "off"
+ fi
+ ;;
+ *)
+ usage_led
+ ;;
+ esac
+ ;;
+ *)
+ usage_led
+ ;;
+ esac
+}
+
+function usblist() {
+ for i in {0..8}
+ do
+ cmd="devmem 0xf083"$i"154"
+ printf "udc%d : 0xF803%d154-" "$i" "$i"
+ $cmd
+ done
+}
+
+case $1 in
+ rst)
+ reset $2
+ ;;
+ fw)
+ fw_rev
+ ;;
+ uart)
+ uartmux $2
+ ;;
+ usb)
+ usblist
+ ;;
+ led)
+ ledtoggle $2 $3
+ ;;
+ *)
+ usage
+ ;;
+esac
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-system/kudo-entity-association-map.bb b/meta-fii/meta-kudo/recipes-kudo/kudo-system/kudo-entity-association-map.bb
new file mode 100644
index 000000000..85006dadc
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-system/kudo-entity-association-map.bb
@@ -0,0 +1,16 @@
+UMMARY = "Kudo IPMI Entity association mapping."
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+SRC_URI += "file://kudo_entity_association_map.json"
+
+FILES_${PN} = " \
+ ${datadir}/ipmi-entity-association/entity_association_map.json \
+ "
+
+do_install() {
+ install -d ${D}${datadir}/ipmi-entity-association
+ install -m 0644 -D ${WORKDIR}/kudo_entity_association_map.json \
+ ${D}${datadir}/ipmi-entity-association/entity_association_map.json
+}
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-system/kudo-entity-association-map/kudo_entity_association_map.json b/meta-fii/meta-kudo/recipes-kudo/kudo-system/kudo-entity-association-map/kudo_entity_association_map.json
new file mode 100644
index 000000000..2530684c0
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-system/kudo-entity-association-map/kudo_entity_association_map.json
@@ -0,0 +1,35 @@
+{
+ "system_board": [
+ {"instance": 1, "name": "/"}
+ ],
+ "system_internal_expansion_board": [
+ {"instance": 1, "name": "/"}
+ ],
+ "power_system_board": [
+ {"instance": 1, "name": "/"}
+ ],
+ "add_in_card": [
+ {"instance": 0, "name": "/PE0"},
+ {"instance": 1, "name": "/PE1"},
+ {"instance": 2, "name": "/PE2"},
+ {"instance": 3, "name": "/PE3"},
+ {"instance": 4, "name": "/PE4"},
+ {"instance": 5, "name": "/PE5"},
+ {"instance": 6, "name": "/PE6"},
+ {"instance": 7, "name": "/PE7"}
+ ],
+ "fan": [
+ {"instance": 0, "name": "/fan0"},
+ {"instance": 1, "name": "/fan1"},
+ {"instance": 2, "name": "/fan2"},
+ {"instance": 3, "name": "/fan3"},
+ {"instance": 4, "name": "/fan4"},
+ {"instance": 5, "name": "/fan5"}
+ ],
+ "cooling_unit": [
+ {"instance": 0, "name": "/ZONE0"},
+ {"instance": 1, "name": "/ZONE1"},
+ {"instance": 2, "name": "/ZONE2"},
+ {"instance": 3, "name": "/ZONE3"}
+ ]
+}
diff --git a/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb
index f64373e89..41a345d8e 100644
--- a/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb
+++ b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb
@@ -7,12 +7,15 @@ PROVIDES = "${PACKAGES}"
PACKAGES = " \
${PN}-kudo-system \
${PN}-kudo-fw \
+ ${PN}-fan-mgmt \
"
PROVIDES += "virtual/obmc-system-mgmt"
+PROVIDES += "virtual/obmc-fan-mgmt"
RPROVIDES_${PN}-kudo-system += "virtual-obmc-system-mgmt"
-RPROVIDES_${PN}-kudo-fw += "virtual-obmc-system-mgmt"
+RPROVIDES_${PN}-kudo-fw += "virtual-obmc-flash-mgmt"
+RPROVIDES_${PN}-fan-mgmt += "virtual-obmc-fan-mgmt"
SUMMARY_${PN}-kudo-system = "KUDO System"
RDEPENDS_${PN}-kudo-system = " \
@@ -20,10 +23,15 @@ RDEPENDS_${PN}-kudo-system = " \
ethtool \
memtester \
loadsvf \
+ fii-ipmi-oem \
+ kudo-entity-association-map \
+ hotswap-power-cycle \
obmc-console \
usb-network \
ncsid \
gbmc-mac-config \
+ kudo-boot \
+ kudo-cmd \
"
SUMMARY_${PN}-kudo-fw = "KUDO Firmware"
@@ -34,3 +42,9 @@ RDEPENDS_${PN}-kudo-fw = " \
kudo-cpld-update \
kudo-scp-update \
"
+
+SUMMARY_${PN}-fan-mgmt = "kudo fan mgmt"
+RDEPENDS_${PN}-fan-mgmt = " \
+ pwm-init \
+ phosphor-pid-control \
+ "
diff --git a/meta-fii/meta-kudo/recipes-phosphor/configuration/entity-manager/blacklist.json b/meta-fii/meta-kudo/recipes-phosphor/configuration/entity-manager/blacklist.json
new file mode 100644
index 000000000..b304fe1d9
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-phosphor/configuration/entity-manager/blacklist.json
@@ -0,0 +1,3 @@
+{
+ "buses": [1]
+}
diff --git a/meta-fii/meta-kudo/recipes-phosphor/configuration/entity-manager/kudo.json b/meta-fii/meta-kudo/recipes-phosphor/configuration/entity-manager/kudo.json
index 2c5fdb3bc..6437e77b0 100644
--- a/meta-fii/meta-kudo/recipes-phosphor/configuration/entity-manager/kudo.json
+++ b/meta-fii/meta-kudo/recipes-phosphor/configuration/entity-manager/kudo.json
@@ -24,8 +24,8 @@
"vout4_Name":"DC_P3V3_PU",
"vout5_Name":"DC_3V3_STBY",
"vout6_Name":"DC_P1V175",
- "vout2_Max":3,
- "vout3_Max":2.2,
+ "vout2_Max":3.5,
+ "vout3_Max":2.5,
"vout4_Max":5.8,
"vout5_Max":5.8,
"vout6_Max":3,
@@ -35,35 +35,35 @@
"Name":"upper critical",
"Label":"vout2",
"Severity":1,
- "Value":2.75
+ "Value":2.877
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout2",
"Severity":0,
- "Value":2.5
+ "Value":2.74
},
- {
- "Direction":"less than",
- "Name":"lower critical",
- "Label":"vout2",
- "Severity":1,
- "Value":2.375
- },
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout2",
"Severity":0,
- "Value":2.4
+ "Value":2.260
+ },
+ {
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout2",
+ "Severity":1,
+ "Value":2.192
},
{
"Direction":"greater than",
"Name":"upper critical",
"Label":"vout3",
"Severity":1,
- "Value":1.32
+ "Value":1.33
},
{
"Direction":"greater than",
@@ -74,101 +74,101 @@
},
{
"Direction":"less than",
- "Name":"lower critical",
+ "Name":"lower non critical",
"Label":"vout3",
- "Severity":1,
- "Value":1.14
+ "Severity":0,
+ "Value":1.15
},
{
"Direction":"less than",
- "Name":"lower non critical",
+ "Name":"lower critical",
"Label":"vout3",
- "Severity":0,
- "Value":1.17
+ "Severity":1,
+ "Value":1.137
},
{
"Direction":"greater than",
"Name":"upper critical",
"Label":"vout4",
"Severity":1,
- "Value":3.63
+ "Value":3.927
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout4",
"Severity":0,
- "Value":3.4
+ "Value":3.745
},
{
"Direction":"less than",
- "Name":"lower critical",
+ "Name":"lower non critical",
"Label":"vout4",
- "Severity":1,
- "Value":3.135
+ "Severity":0,
+ "Value":2.951
},
{
"Direction":"less than",
- "Name":"lower non critical",
+ "Name":"lower critical",
"Label":"vout4",
- "Severity":0,
- "Value":3.2
+ "Severity":1,
+ "Value":2.724
},
{
"Direction":"greater than",
"Name":"upper critical",
"Label":"vout5",
"Severity":1,
- "Value":3.63
+ "Value":3.927
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout5",
"Severity":0,
- "Value":3.4
+ "Value":3.745
},
{
"Direction":"less than",
- "Name":"lower critical",
+ "Name":"lower non critical",
"Label":"vout5",
- "Severity":1,
- "Value":3.135
+ "Severity":0,
+ "Value":2.951
},
{
"Direction":"less than",
- "Name":"lower non critical",
+ "Name":"lower critical",
"Label":"vout5",
- "Severity":0,
- "Value":3.2
+ "Severity":1,
+ "Value":2.724
},
{
"Direction":"greater than",
"Name":"upper critical",
"Label":"vout6",
"Severity":1,
- "Value":1.292
+ "Value":1.298
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout6",
"Severity":0,
- "Value":1.23
+ "Value":1.239
},
{
"Direction":"less than",
- "Name":"lower critical",
+ "Name":"lower non critical",
"Label":"vout6",
- "Severity":1,
- "Value":1.117
+ "Severity":0,
+ "Value":1.109
},
{
"Direction":"less than",
- "Name":"lower non critical",
+ "Name":"lower critical",
"Label":"vout6",
- "Severity":0,
- "Value":1.117
+ "Severity":1,
+ "Value":1.109
}
],
"Type":"MAX34440"
@@ -239,13 +239,13 @@
"Direction":"greater than",
"Name":"upper critical",
"Severity":1,
- "Value":105
+ "Value":70
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Severity":0,
- "Value":100
+ "Value":60
}
],
"Type":"TMP75",
@@ -261,13 +261,13 @@
"Direction":"greater than",
"Name":"upper critical",
"Severity":1,
- "Value":105
+ "Value":70
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Severity":0,
- "Value":100
+ "Value":60
}
],
"Type":"TMP75",
@@ -277,19 +277,19 @@
{
"Address":"0x48",
"Bus":44,
- "Name":"Mobo_NBM1_ZONE_T",
+ "Name":"CPU0_NBM_ZONE_T",
"Thresholds":[
{
"Direction":"greater than",
"Name":"upper critical",
"Severity":1,
- "Value":110
+ "Value":80
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Severity":0,
- "Value":108
+ "Value":70
}
],
"Type":"TMP75",
@@ -299,19 +299,19 @@
{
"Address":"0x49",
"Bus":45,
- "Name":"Mobo_NBM2_ZONE_T",
+ "Name":"CPU1_NBM_ZONE_T",
"Thresholds":[
{
"Direction":"greater than",
"Name":"upper critical",
"Severity":1,
- "Value":110
+ "Value":80
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Severity":0,
- "Value":108
+ "Value":70
}
],
"Type":"TMP75",
@@ -349,13 +349,13 @@
"Direction":"greater than",
"Name":"upper critical",
"Severity":1,
- "Value":90
+ "Value":85
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Severity":0,
- "Value":85
+ "Value":80
}
],
"Type":"TMP75",
@@ -371,13 +371,13 @@
"Direction":"greater than",
"Name":"upper critical",
"Severity":1,
- "Value":90
+ "Value":85
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Severity":0,
- "Value":85
+ "Value":80
}
],
"Type":"TMP75",
@@ -393,13 +393,13 @@
"Direction":"greater than",
"Name":"upper critical",
"Severity":1,
- "Value":90
+ "Value":85
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Severity":0,
- "Value":85
+ "Value":80
}
],
"Type":"TMP75",
@@ -421,14 +421,14 @@
"Name":"upper critical",
"Label":"temp1",
"Severity":1,
- "Value":220
+ "Value":105
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"temp1",
"Severity":0,
- "Value":125
+ "Value":100
}
],
"Type":"pmbus",
@@ -498,238 +498,231 @@
"Name":"upper critical",
"Label":"vout1",
"Severity":1,
- "Value":12.6
- },
- {
- "Direction":"less than",
- "Name":"lower critical",
- "Label":"vout1",
- "Severity":1,
- "Value":11.4
+ "Value":12.654
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout1",
"Severity":0,
- "Value":12.4
+ "Value":12.483
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout1",
"Severity":0,
- "Value":11.9
+ "Value":11.856
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout2",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout1",
"Severity":1,
- "Value":6.06
+ "Value":11.343
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout2",
"Severity":1,
- "Value":3.4
+ "Value":6.127
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout2",
"Severity":0,
- "Value":5.25
+ "Value":5.328
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout2",
"Severity":0,
- "Value":4.75
+ "Value":4.695
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout3",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout2",
"Severity":1,
- "Value":3.98
+ "Value":3.397
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout3",
"Severity":1,
- "Value":2.83
+ "Value":4.019
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout3",
"Severity":0,
- "Value":3.465
+ "Value":3.502
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout3",
"Severity":0,
- "Value":3.132
+ "Value":3.079
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout4",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout3",
"Severity":1,
- "Value":5.508
+ "Value":2.773
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout4",
"Severity":1,
- "Value":1.922
+ "Value":5.593
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout4",
"Severity":0,
- "Value":2.938
+ "Value":4.935
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout4",
"Severity":0,
- "Value":2.657
+ "Value":235
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout5",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout4",
"Severity":1,
- "Value":64.9
+ "Value":1.762
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout5",
"Severity":1,
- "Value":36.58
+ "Value":65.175
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout5",
"Severity":0,
- "Value":59.95
+ "Value":60.225
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout5",
"Severity":0,
- "Value":39.875
+ "Value":39.6
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout6",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout5",
"Severity":1,
- "Value":16.685
+ "Value":36.3
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout6",
"Severity":1,
- "Value":8.59
+ "Value":16.872
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout6",
"Severity":0,
- "Value":14.91
+ "Value":15.048
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout6",
"Severity":0,
- "Value":10.011
+ "Value":9.88
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout7",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout6",
"Severity":1,
- "Value":3.98
+ "Value":8.436
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout7",
"Severity":1,
- "Value":2.268
+ "Value":4.018
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout7",
"Severity":0,
- "Value":3.456
+ "Value":3.489
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout7",
"Severity":0,
- "Value":3.132
+ "Value":3.097
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout8",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout7",
"Severity":1,
- "Value":1.805
+ "Value":2.234
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout8",
"Severity":1,
- "Value":0.802
+ "Value":1.829
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout8",
"Severity":0,
- "Value":1.263
+ "Value":1.286
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout8",
"Severity":0,
- "Value":1.145
+ "Value":1.121
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout9",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout8",
"Severity":1,
- "Value":1.805
+ "Value":0.755
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout9",
"Severity":1,
- "Value":0.802
+ "Value":1.805
},
{
"Direction":"greater than",
@@ -746,228 +739,235 @@
"Value":1.145
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout10",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout9",
"Severity":1,
- "Value":8.898
+ "Value":0.802
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout10",
"Severity":1,
- "Value":8.036
+ "Value":9.02
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout10",
"Severity":0,
- "Value":8.938
+ "Value":8.975
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout10",
"Severity":0,
- "Value":8.075
+ "Value":7.983
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout11",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout10",
"Severity":1,
- "Value":5.253
+ "Value":7.938
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout11",
"Severity":1,
- "Value":4.758
+ "Value":5.321
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout11",
"Severity":0,
- "Value":5.143
+ "Value":5.204
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout11",
"Severity":0,
- "Value":4.84
+ "Value":4.792
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout12",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout11",
"Severity":1,
- "Value":2.167
+ "Value":4.704
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout12",
"Severity":1,
- "Value":1.225
+ "Value":2.198
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout12",
"Severity":0,
- "Value":1.884
+ "Value":1.915
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout12",
"Severity":0,
- "Value":1.711
+ "Value":1.680
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout13",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout12",
"Severity":1,
- "Value":1.804
+ "Value":1.193
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout13",
"Severity":1,
- "Value":1.021
+ "Value":1.829
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout13",
"Severity":0,
- "Value":1.575
+ "Value":1.711
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout13",
"Severity":0,
- "Value":1.426
+ "Value":1.404
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout14",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout13",
"Severity":1,
- "Value":2.072
+ "Value":1.003
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout14",
"Severity":1,
- "Value":1.444
+ "Value":2.112
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout14",
"Severity":0,
- "Value":1.884
+ "Value":1.918
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout14",
"Severity":0,
- "Value":1.711
+ "Value":1.672
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout15",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout14",
"Severity":1,
- "Value":2.165
+ "Value":1.408
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout15",
"Severity":1,
- "Value":1.214
+ "Value":2.195
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout15",
"Severity":0,
- "Value":1.883
+ "Value":1.92
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout15",
"Severity":0,
- "Value":1.795
+ "Value":1.666
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout16",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout15",
"Severity":1,
- "Value":1.196
+ "Value":1.176
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout16",
"Severity":1,
- "Value":0.598
+ "Value":1.215
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout16",
"Severity":0,
- "Value":0.823
+ "Value":1.062
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout16",
"Severity":0,
- "Value":0.676
+ "Value":0.649
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout17",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout16",
"Severity":1,
- "Value":3.972
+ "Value":0.578
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout17",
"Severity":1,
- "Value":2.327
+ "Value":4.019
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout17",
"Severity":0,
- "Value":3.455
+ "Value":3.713
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout17",
"Severity":0,
- "Value":3.126
+ "Value":3.079
+ },
+ {
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout17",
+ "Severity":1,
+ "Value":2.280
}
],
"Type":"ADM1266"
@@ -1134,448 +1134,448 @@
"Name":"upper critical",
"Label":"vout2",
"Severity":1,
- "Value":6.06
- },
- {
- "Direction":"less than",
- "Name":"lower critical",
- "Label":"vout2",
- "Severity":1,
- "Value":3.391
+ "Value":6.178
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout2",
"Severity":0,
- "Value":5.244
+ "Value":5.648
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout2",
"Severity":0,
- "Value":4.741
+ "Value":4.059
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout3",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout2",
"Severity":1,
- "Value":3.009
+ "Value":3.389
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout3",
"Severity":1,
- "Value":0.484
+ "Value":3.08
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout3",
"Severity":0,
- "Value":0.637
+ "Value":2.816
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout3",
"Severity":0,
- "Value":0.566
+ "Value":0.49
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout4",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout3",
"Severity":1,
- "Value":1.901
+ "Value":0.44
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout4",
"Severity":1,
- "Value":0.198
+ "Value":2.006
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout4",
"Severity":0,
- "Value":1.496
+ "Value":1.77
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout4",
"Severity":0,
- "Value":0.404
+ "Value":0.354
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout5",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout4",
"Severity":1,
- "Value":2.165
+ "Value":0.177
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout5",
"Severity":1,
- "Value":1.219
+ "Value":2.355
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout5",
"Severity":0,
- "Value":1.891
+ "Value":2.119
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout5",
"Severity":0,
- "Value":1.713
+ "Value":1.57
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout6",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout5",
"Severity":1,
- "Value":16.685
+ "Value":1.099
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout6",
"Severity":1,
- "Value":8.591
+ "Value":18.33
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout6",
"Severity":0,
- "Value":14.91
+ "Value":16.77
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout6",
"Severity":0,
- "Value":10.011
+ "Value":9.36
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout7",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout6",
"Severity":1,
- "Value":3.974
+ "Value":7.8
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout7",
"Severity":1,
- "Value":2.268
+ "Value":4.212
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout7",
"Severity":0,
- "Value":3.465
+ "Value":3.888
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout7",
"Severity":0,
- "Value":3.132
+ "Value":2.268
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout8",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout7",
"Severity":1,
- "Value":1.805
+ "Value":2.16
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout8",
"Severity":1,
- "Value":0.802
+ "Value":2.055
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout8",
"Severity":0,
- "Value":1.263
+ "Value":1.644
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout8",
"Severity":0,
- "Value":1.145
+ "Value":0.959
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout9",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout8",
"Severity":1,
- "Value":1.805
+ "Value":0.685
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout9",
"Severity":1,
- "Value":0.802
+ "Value":2.055
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout9",
"Severity":0,
- "Value":1.263
+ "Value":1.644
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout9",
"Severity":0,
- "Value":1.145
+ "Value":0.959
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout10",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout9",
"Severity":1,
- "Value":1.196
+ "Value":0.685
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout10",
"Severity":1,
- "Value":0.598
+ "Value":1.416
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout10",
"Severity":0,
- "Value":1.098
+ "Value":1.298
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout10",
"Severity":0,
- "Value":0.755
+ "Value":0.649
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout11",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout10",
"Severity":1,
- "Value":1.196
+ "Value":0.531
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout11",
"Severity":1,
- "Value":0.598
+ "Value":1.416
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout11",
"Severity":0,
- "Value":1.098
+ "Value":1.298
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout11",
"Severity":0,
- "Value":0.755
+ "Value":0.649
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout12",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout11",
"Severity":1,
- "Value":2.167
+ "Value":0.531
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout12",
"Severity":1,
- "Value":1.225
+ "Value":2.433
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout12",
"Severity":0,
- "Value":1.884
+ "Value":2.119
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout12",
"Severity":0,
- "Value":1.711
+ "Value":1.413
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout13",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout12",
"Severity":1,
- "Value":1.804
+ "Value":1.099
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout13",
"Severity":1,
- "Value":1.021
+ "Value":2.06
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout13",
"Severity":0,
- "Value":1.575
+ "Value":1.79
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout13",
"Severity":0,
- "Value":1.426
+ "Value":1.197
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout14",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout13",
"Severity":1,
- "Value":1.901
+ "Value":0.931
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout14",
"Severity":1,
- "Value":0.198
+ "Value":2.124
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout14",
"Severity":0,
- "Value":1.496
+ "Value":1.888
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout14",
"Severity":0,
- "Value":0.404
+ "Value":0.354
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout15",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout14",
"Severity":1,
- "Value":2.165
+ "Value":0.165
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout15",
"Severity":1,
- "Value":1.214
+ "Value":2.433
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout15",
"Severity":0,
- "Value":1.883
+ "Value":2.119
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout15",
"Severity":0,
- "Value":1.795
+ "Value":1.413
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout16",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout15",
"Severity":1,
- "Value":1.196
+ "Value":1.099
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout16",
"Severity":1,
- "Value":0.598
+ "Value":1.375
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout16",
"Severity":0,
- "Value":0.823
+ "Value":1.125
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout16",
"Severity":0,
- "Value":0.676
+ "Value":0.6
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout17",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout16",
"Severity":1,
- "Value":2.165
+ "Value":0.5
},
{
- "Direction":"less than",
- "Name":"lower critical",
+ "Direction":"greater than",
+ "Name":"upper critical",
"Label":"vout17",
"Severity":1,
- "Value":1.219
+ "Value":2.433
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout17",
"Severity":0,
- "Value":1.891
+ "Value":2.119
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout17",
"Severity":0,
- "Value":1.713
+ "Value":1.413
+ },
+ {
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout17",
+ "Severity":1,
+ "Value":1.099
}
],
"Type":"ADM1266"
@@ -1694,59 +1694,51 @@
"temp11",
"temp12",
"temp13",
- "temp14",
- "pout5",
- "pout3",
- "pout4",
- "pout6",
- "pout7",
- "pout8",
+ "power1",
+ "power2",
+ "power3",
+ "power4",
+ "power5",
+ "vout0",
"vout1",
"vout2",
"vout3",
"vout4",
- "vout5",
- "vout6",
- "temp17",
- "curr1",
- "curr2",
- "curr3",
- "curr4",
- "curr5"
+ "iout1",
+ "iout2",
+ "iout3",
+ "iout4",
+ "iout5"
],
"Type":"AC01_SMPRO",
"temp1_Name":"CPU1_SOC_T",
"temp2_Name":"CPU1_SOC_VRD_T",
"temp3_Name":"CPU1_DIMM_VRD_T",
"temp4_Name":"CPU1_CORE_VRD_T",
- "temp5_Name":"CPU1_DIMMG0_T",
- "temp6_Name":"CPU1_CH0DIMM_T",
- "temp7_Name":"CPU1_CH1DIMM_T",
- "temp8_Name":"CPU1_CH2DIMM_T",
- "temp9_Name":"CPU1_CH3DIMM_T",
- "temp10_Name":"CPU1_DIMMG1_T",
- "temp11_Name":"CPU1_CH4DIMM_T",
- "temp12_Name":"CPU1_CH5DIMM_T",
- "temp13_Name":"CPU1_CH6DIMM_T",
- "temp14_Name":"CPU1_CH7DIMM_T",
- "pout5_Name":"CPU1_CPU_PW",
- "pout3_Name":"CPU1_DIMM_VR1_PW",
- "pout4_Name":"CPU1_DIMM_VR2_PW",
- "pout6_Name":"CPU1_MEM_PW",
- "pout7_Name":"CPU1_RCA_VR_PW",
- "pout8_Name":"CPU1_SOC_TDP_PW",
- "vout1_Name":"CPU1_CPU_VCORE",
- "vout2_Name":"CPU1_SOC_V",
- "vout3_Name":"CPU1_DIMM_VR1_V",
- "vout4_Name":"CPU1_DIMM_VR2_V",
- "vout5_Name":"CPU1_DIMM_DDR_V",
- "vout6_Name":"CPU1_RCA_VR_V",
- "temp17_Name":"CPU1_RCA_VR_T",
- "curr1_Name":"CPU1_CORE_VRD_CU",
- "curr2_Name":"CPU1_SOC_VRD_CU",
- "curr3_Name":"CPU1_DIMM_VR1_CU",
- "curr4_Name":"CPU1_DIMM_VR2_CU",
- "curr5_Name":"CPU1_RCA_VRD_CU",
+ "temp5_Name":"CPU1_CH0DIMM_T",
+ "temp6_Name":"CPU1_CH1DIMM_T",
+ "temp7_Name":"CPU1_CH2DIMM_T",
+ "temp8_Name":"CPU1_CH3DIMM_T",
+ "temp9_Name":"CPU1_CH4DIMM_T",
+ "temp10_Name":"CPU1_CH5DIMM_T",
+ "temp11_Name":"CPU1_CH6DIMM_T",
+ "temp12_Name":"CPU1_CH7DIMM_T",
+ "temp13_Name":"CPU1_RCA_VR_T",
+ "power1_Name":"CPU1_CPU_PW",
+ "power2_Name":"CPU1_SOC_TDP_PW",
+ "power3_Name":"CPU1_DIMM_VR1_PW",
+ "power4_Name":"CPU1_DIMM_VR2_PW",
+ "power5_Name":"CPU1_RCA_VR_PW",
+ "vout0_Name":"CPU1_CPU_VCORE",
+ "vout1_Name":"CPU1_SOC_V",
+ "vout2_Name":"CPU1_DIMM_VR1_V",
+ "vout3_Name":"CPU1_DIMM_VR2_V",
+ "vout4_Name":"CPU1_RCA_VR_V",
+ "iout1_Name":"CPU1_CORE_VRD_CU",
+ "iout2_Name":"CPU1_SOC_VRD_CU",
+ "iout3_Name":"CPU1_DIMM_VR1_CU",
+ "iout4_Name":"CPU1_DIMM_VR2_CU",
+ "iout5_Name":"CPU1_RCA_VRD_CU",
"temp1_Max":255,
"temp2_Max":255,
"temp3_Max":255,
@@ -1760,32 +1752,28 @@
"temp11_Max":255,
"temp12_Max":255,
"temp13_Max":255,
- "temp14_Max":255,
- "pout5_Max":255,
- "pout3_Max":40,
- "pout4_Max":40,
- "pout6_Max":70,
- "pout7_Max":30,
- "pout8_Max":255,
- "vout1_Max":3.2,
- "vout2_Max":3.3,
+ "power1_Max":255,
+ "power2_Max":255,
+ "power3_Max":40,
+ "power4_Max":40,
+ "power5_Max":255,
+ "vout0_Max":3.2,
+ "vout1_Max":3.3,
+ "vout2_Max":3,
"vout3_Max":3,
- "vout4_Max":3,
- "vout5_Max":5,
- "vout6_Max":6,
- "temp17_Max":255,
- "curr1_Max":13,
- "curr2_Max":5,
- "curr3_Max":13,
- "curr4_Max":13,
- "curr5_Max":10,
+ "vout4_Max":7,
+ "iout1_Max":40,
+ "iout2_Max":14,
+ "iout3_Max":20,
+ "iout4_Max":20,
+ "iout5_Max":18,
"Thresholds":[
{
"Direction":"greater than",
"Name":"upper critical",
"Label":"temp1",
"Severity":1,
- "Value":105
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -1799,7 +1787,7 @@
"Name":"upper critical",
"Label":"temp2",
"Severity":1,
- "Value":105
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -1813,7 +1801,7 @@
"Name":"upper critical",
"Label":"temp3",
"Severity":1,
- "Value":105
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -1827,7 +1815,7 @@
"Name":"upper critical",
"Label":"temp4",
"Severity":1,
- "Value":105
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -1839,23 +1827,9 @@
{
"Direction":"greater than",
"Name":"upper critical",
- "Label":"temp5",
- "Severity":1,
- "Value":90
- },
- {
- "Direction":"greater than",
- "Name":"upper non critical",
- "Label":"temp5",
- "Severity":0,
- "Value":100
- },
- {
- "Direction":"greater than",
- "Name":"upper critical",
"Label":"temp6",
"Severity":1,
- "Value":105
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -1869,7 +1843,7 @@
"Name":"upper critical",
"Label":"temp7",
"Severity":1,
- "Value":105
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -1883,7 +1857,7 @@
"Name":"upper critical",
"Label":"temp8",
"Severity":1,
- "Value":105
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -1897,7 +1871,7 @@
"Name":"upper critical",
"Label":"temp9",
"Severity":1,
- "Value":105
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -1911,7 +1885,7 @@
"Name":"upper critical",
"Label":"temp10",
"Severity":1,
- "Value":90
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -1925,7 +1899,7 @@
"Name":"upper critical",
"Label":"temp11",
"Severity":1,
- "Value":105
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -1939,7 +1913,7 @@
"Name":"upper critical",
"Label":"temp12",
"Severity":1,
- "Value":105
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -1953,7 +1927,7 @@
"Name":"upper critical",
"Label":"temp13",
"Severity":1,
- "Value":105
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -1965,184 +1939,142 @@
{
"Direction":"greater than",
"Name":"upper critical",
- "Label":"temp14",
+ "Label":"power1",
"Severity":1,
- "Value":105
+ "Value":54
},
{
"Direction":"greater than",
"Name":"upper non critical",
- "Label":"temp14",
+ "Label":"power1",
"Severity":0,
- "Value":100
+ "Value":48
},
{
"Direction":"greater than",
"Name":"upper critical",
- "Label":"pout5",
+ "Label":"power3",
"Severity":1,
- "Value":53.815
+ "Value":40
},
{
"Direction":"greater than",
- "Name":"upper non critical",
- "Label":"pout5",
- "Severity":0,
- "Value":47.94
+ "Name":"upper critical",
+ "Label":"power4",
+ "Severity":1,
+ "Value":40
},
{
"Direction":"greater than",
"Name":"upper critical",
- "Label":"pout3",
+ "Label":"vout0",
"Severity":1,
- "Value":7.801
+ "Value":1.375
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"pout4",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout0",
"Severity":1,
- "Value":7.801
+ "Value":0.312
},
{
"Direction":"greater than",
- "Name":"upper critical",
- "Label":"pout6",
- "Severity":1,
- "Value":29.987
+ "Name":"upper non critical",
+ "Label":"vout0",
+ "Severity":0,
+ "Value":1.375
+ },
+ {
+ "Direction":"less than",
+ "Name":"lower non critical",
+ "Label":"vout0",
+ "Severity":0,
+ "Value":0.312
},
{
"Direction":"greater than",
"Name":"upper critical",
"Label":"vout1",
"Severity":1,
- "Value":1.05
+ "Value":1.032
},
{
"Direction":"less than",
"Name":"lower critical",
"Label":"vout1",
"Severity":1,
- "Value":0.697
+ "Value":0.32
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout1",
"Severity":0,
- "Value":1.05
+ "Value":0.903
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout1",
"Severity":0,
- "Value":0.697
+ "Value":0.45
},
{
"Direction":"greater than",
"Name":"upper critical",
"Label":"vout2",
"Severity":1,
- "Value":0.951
+ "Value":1.475
},
{
"Direction":"less than",
"Name":"lower critical",
"Label":"vout2",
"Severity":1,
- "Value":0.549
+ "Value":0.920
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout2",
"Severity":0,
- "Value":0.804
+ "Value":1.357
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout2",
"Severity":0,
- "Value":0.598
+ "Value":1.003
},
{
"Direction":"greater than",
"Name":"upper critical",
"Label":"vout3",
"Severity":1,
- "Value":1.254
+ "Value":1.475
},
{
"Direction":"less than",
"Name":"lower critical",
"Label":"vout3",
"Severity":1,
- "Value":1.098
+ "Value":0.920
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout3",
"Severity":0,
- "Value":1.215
+ "Value":1.357
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout3",
"Severity":0,
- "Value":1.147
- },
- {
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout4",
- "Severity":1,
- "Value":1.254
- },
- {
- "Direction":"less than",
- "Name":"lower critical",
- "Label":"vout4",
- "Severity":1,
- "Value":1.098
- },
- {
- "Direction":"greater than",
- "Name":"upper non critical",
- "Label":"vout4",
- "Severity":0,
- "Value":1.215
- },
- {
- "Direction":"less than",
- "Name":"lower non critical",
- "Label":"vout4",
- "Severity":0,
- "Value":1.147
- },
- {
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout5",
- "Severity":1,
- "Value":2.999
- },
- {
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"temp17",
- "Severity":1,
- "Value":105
- },
- {
- "Direction":"greater than",
- "Name":"upper non critical",
- "Label":"temp17",
- "Severity":0,
- "Value":100
+ "Value":1.003
}
]
},
@@ -2171,8 +2103,7 @@
"EntityInstance":15
},
{
- "Name":"CPU1_DIMMG0_T",
- "Type":"AC01_SMPRO",
+ "Name":"CPU1_DIMMG_T",
"EntityId":"0x03",
"EntityInstance":16
},
@@ -2201,12 +2132,6 @@
"EntityInstance":20
},
{
- "Name":"CPU1_DIMMG1_T",
- "Type":"AC01_SMPRO",
- "EntityId":"0x03",
- "EntityInstance":21
- },
- {
"Name":"CPU1_CH4DIMM_T",
"Type":"AC01_SMPRO",
"EntityId":"0x03",
@@ -2250,7 +2175,6 @@
},
{
"Name":"CPU1_MEM_PW",
- "Type":"AC01_SMPRO",
"EntityId":"0x13",
"EntityInstance":41
},
@@ -2292,7 +2216,6 @@
},
{
"Name":"CPU1_DIMM_DDR_V",
- "Type":"AC01_SMPRO",
"EntityId":"0x13",
"EntityInstance":48
},
@@ -2356,59 +2279,51 @@
"temp11",
"temp12",
"temp13",
- "temp14",
- "pout5",
- "pout3",
- "pout4",
- "pout6",
- "pout7",
- "pout8",
+ "power1",
+ "power2",
+ "power3",
+ "power4",
+ "power5",
+ "vout0",
"vout1",
"vout2",
"vout3",
"vout4",
- "vout5",
- "vout6",
- "temp17",
- "curr1",
- "curr2",
- "curr3",
- "curr4",
- "curr5"
+ "iout1",
+ "iout2",
+ "iout3",
+ "iout4",
+ "iout5"
],
"Type":"AC01_SMPRO",
"temp1_Name":"CPU0_SOC_T",
"temp2_Name":"CPU0_SOC_VRD_T",
"temp3_Name":"CPU0_DIMM_VRD_T",
"temp4_Name":"CPU0_CORE_VRD_T",
- "temp5_Name":"CPU0_DIMMG0_T",
- "temp6_Name":"CPU0_CH0DIMM_T",
- "temp7_Name":"CPU0_CH1DIMM_T",
- "temp8_Name":"CPU0_CH2DIMM_T",
- "temp9_Name":"CPU0_CH3DIMM_T",
- "temp10_Name":"CPU0_DIMMG1_T",
- "temp11_Name":"CPU0_CH4DIMM_T",
- "temp12_Name":"CPU0_CH5DIMM_T",
- "temp13_Name":"CPU0_CH6DIMM_T",
- "temp14_Name":"CPU0_CH7DIMM_T",
- "pout5_Name":"CPU0_CPU_PW",
+ "temp5_Name":"CPU0_CH0DIMM_T",
+ "temp6_Name":"CPU0_CH1DIMM_T",
+ "temp7_Name":"CPU0_CH2DIMM_T",
+ "temp8_Name":"CPU0_CH3DIMM_T",
+ "temp9_Name":"CPU0_CH4DIMM_T",
+ "temp10_Name":"CPU0_CH5DIMM_T",
+ "temp11_Name":"CPU0_CH6DIMM_T",
+ "temp12_Name":"CPU0_CH7DIMM_T",
+ "temp13_Name":"CPU0_RCA_VR_T",
+ "power1_Name":"CPU0_CPU_PW",
+ "power2_Name":"CPU0_SOC_TDP_PW",
"pout3_Name":"CPU0_DIMM_VR1_PW",
"pout4_Name":"CPU0_DIMM_VR2_PW",
- "pout6_Name":"CPU0_MEM_PW",
- "pout7_Name":"CPU0_RCA_VR_PW",
- "pout8_Name":"CPU0_SOC_TDP_PW",
- "vout1_Name":"CPU0_CPU_VCORE",
- "vout2_Name":"CPU0_SOC_V",
- "vout3_Name":"CPU0_DIMM_VR1_V",
- "vout4_Name":"CPU0_DIMM_VR2_V",
- "vout5_Name":"CPU0_DIMM_DDR_V",
- "vout6_Name":"CPU0_RCA_VR_V",
- "temp17_Name":"CPU0_RCA_VR_T",
- "curr1_Name":"CPU0_CORE_VRD_CU",
- "curr2_Name":"CPU0_SOC_VRD_CU",
- "curr3_Name":"CPU0_DIMM_VR1_CU",
- "curr4_Name":"CPU0_DIMM_VR2_CU",
- "curr5_Name":"CPU0_RCA_VRD_CU",
+ "pout5_Name":"CPU0_RCA_VR_PW",
+ "vout0_Name":"CPU0_CPU_VCORE",
+ "vout1_Name":"CPU0_SOC_V",
+ "vout2_Name":"CPU0_DIMM_VR1_V",
+ "vout3_Name":"CPU0_DIMM_VR2_V",
+ "vout4_Name":"CPU0_RCA_VR_V",
+ "iout1_Name":"CPU0_CORE_VRD_CU",
+ "iout2_Name":"CPU0_SOC_VRD_CU",
+ "iout3_Name":"CPU0_DIMM_VR1_CU",
+ "iout4_Name":"CPU0_DIMM_VR2_CU",
+ "iout5_Name":"CPU0_RCA_VRD_CU",
"temp1_Max":255,
"temp2_Max":255,
"temp3_Max":255,
@@ -2422,32 +2337,28 @@
"temp11_Max":255,
"temp12_Max":255,
"temp13_Max":255,
- "temp14_Max":255,
- "pout5_Max":350,
- "pout3_Max":40,
- "pout4_Max":40,
- "pout6_Max":80,
- "pout7_Max":30,
- "pout8_Max":255,
- "vout1_Max":3,
+ "power1_Max":350,
+ "power2_Max":250,
+ "power3_Max":40,
+ "power4_Max":80,
+ "power5_Max":255,
+ "vout0_Max":3,
+ "vout1_Max":3.5,
"vout2_Max":3.5,
"vout3_Max":3.5,
- "vout4_Max":3.5,
- "vout5_Max":5,
- "vout6_Max":5,
- "temp17_Max":255,
- "curr1_Max":13,
- "curr2_Max":5,
- "curr3_Max":12,
- "curr4_Max":12,
- "curr5_Max":10,
+ "vout4_Max":5,
+ "iout1_Max":40,
+ "iout2_Max":14,
+ "iout3_Max":20,
+ "iout4_Max":20,
+ "iout5_Max":18,
"Thresholds":[
{
"Direction":"greater than",
"Name":"upper critical",
"Label":"temp1",
"Severity":1,
- "Value":105
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -2461,7 +2372,7 @@
"Name":"upper critical",
"Label":"temp2",
"Severity":1,
- "Value":105
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -2475,7 +2386,7 @@
"Name":"upper critical",
"Label":"temp3",
"Severity":1,
- "Value":105
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -2489,7 +2400,7 @@
"Name":"upper critical",
"Label":"temp4",
"Severity":1,
- "Value":105
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -2503,21 +2414,21 @@
"Name":"upper critical",
"Label":"temp5",
"Severity":1,
- "Value":90
+ "Value":104.5
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"temp5",
"Severity":0,
- "Value":80
+ "Value":100
},
{
"Direction":"greater than",
"Name":"upper critical",
"Label":"temp6",
"Severity":1,
- "Value":105
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -2531,7 +2442,7 @@
"Name":"upper critical",
"Label":"temp7",
"Severity":1,
- "Value":105
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -2545,7 +2456,7 @@
"Name":"upper critical",
"Label":"temp8",
"Severity":1,
- "Value":105
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -2559,7 +2470,7 @@
"Name":"upper critical",
"Label":"temp9",
"Severity":1,
- "Value":105
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -2573,21 +2484,21 @@
"Name":"upper critical",
"Label":"temp10",
"Severity":1,
- "Value":90
+ "Value":104.5
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"temp10",
"Severity":0,
- "Value":80
+ "Value":100
},
{
"Direction":"greater than",
"Name":"upper critical",
"Label":"temp11",
"Severity":1,
- "Value":105
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -2601,7 +2512,7 @@
"Name":"upper critical",
"Label":"temp12",
"Severity":1,
- "Value":105
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -2615,7 +2526,7 @@
"Name":"upper critical",
"Label":"temp13",
"Severity":1,
- "Value":105
+ "Value":104.5
},
{
"Direction":"greater than",
@@ -2627,184 +2538,142 @@
{
"Direction":"greater than",
"Name":"upper critical",
- "Label":"temp14",
+ "Label":"power1",
"Severity":1,
- "Value":105
+ "Value":54
},
{
"Direction":"greater than",
"Name":"upper non critical",
- "Label":"temp14",
+ "Label":"power1",
"Severity":0,
- "Value":100
+ "Value":49
},
{
"Direction":"greater than",
"Name":"upper critical",
- "Label":"pout5",
+ "Label":"power3",
"Severity":1,
- "Value":299.98
+ "Value":40
},
{
"Direction":"greater than",
- "Name":"upper non critical",
- "Label":"pout5",
- "Severity":0,
- "Value":299.98
+ "Name":"upper critical",
+ "Label":"power4",
+ "Severity":1,
+ "Value":40
},
{
"Direction":"greater than",
"Name":"upper critical",
- "Label":"pout3",
+ "Label":"vout0",
"Severity":1,
- "Value":7.801
+ "Value":1.298
},
{
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"pout4",
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Label":"vout0",
"Severity":1,
- "Value":7.801
+ "Value":0.295
},
{
"Direction":"greater than",
- "Name":"upper critical",
- "Label":"pout6",
- "Severity":1,
- "Value":29.987
+ "Name":"upper non critical",
+ "Label":"vout0",
+ "Severity":0,
+ "Value":1.298
+ },
+ {
+ "Direction":"less than",
+ "Name":"lower non critical",
+ "Label":"vout0",
+ "Severity":0,
+ "Value":0.295
},
{
"Direction":"greater than",
"Name":"upper critical",
"Label":"vout1",
"Severity":1,
- "Value":1.05
+ "Value":1.16
},
{
"Direction":"less than",
"Name":"lower critical",
"Label":"vout1",
"Severity":1,
- "Value":0.697
+ "Value":0.34
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout1",
"Severity":0,
- "Value":1.05
+ "Value":1.0
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout1",
"Severity":0,
- "Value":0.697
+ "Value":0.342
},
{
"Direction":"greater than",
"Name":"upper critical",
"Label":"vout2",
"Severity":1,
- "Value":0.951
+ "Value":1.57
},
{
"Direction":"less than",
"Name":"lower critical",
"Label":"vout2",
"Severity":1,
- "Value":0.549
+ "Value":0.959
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout2",
"Severity":0,
- "Value":0.804
+ "Value":1.50
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout2",
"Severity":0,
- "Value":0.598
+ "Value":1.06
},
{
"Direction":"greater than",
"Name":"upper critical",
"Label":"vout3",
"Severity":1,
- "Value":1.254
+ "Value":1.57
},
{
"Direction":"less than",
"Name":"lower critical",
"Label":"vout3",
"Severity":1,
- "Value":1.098
+ "Value":0.959
},
{
"Direction":"greater than",
"Name":"upper non critical",
"Label":"vout3",
"Severity":0,
- "Value":1.215
+ "Value":1.507
},
{
"Direction":"less than",
"Name":"lower non critical",
"Label":"vout3",
"Severity":0,
- "Value":1.147
- },
- {
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout4",
- "Severity":1,
- "Value":1.254
- },
- {
- "Direction":"less than",
- "Name":"lower critical",
- "Label":"vout4",
- "Severity":1,
- "Value":1.098
- },
- {
- "Direction":"greater than",
- "Name":"upper non critical",
- "Label":"vout4",
- "Severity":0,
- "Value":1.215
- },
- {
- "Direction":"less than",
- "Name":"lower non critical",
- "Label":"vout4",
- "Severity":0,
- "Value":1.147
- },
- {
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"vout5",
- "Severity":1,
- "Value":2.999
- },
- {
- "Direction":"greater than",
- "Name":"upper critical",
- "Label":"temp17",
- "Severity":1,
- "Value":105
- },
- {
- "Direction":"greater than",
- "Name":"upper non critical",
- "Label":"temp17",
- "Severity":0,
- "Value":100
+ "Value":1.06
}
]
},
@@ -2833,8 +2702,7 @@
"EntityInstance":30
},
{
- "Name":"CPU0_DIMMG0_T",
- "Type":"AC01_SMPRO",
+ "Name":"CPU0_DIMMG_T",
"EntityId":"0x03",
"EntityInstance":31
},
@@ -2863,12 +2731,6 @@
"EntityInstance":35
},
{
- "Name":"CPU0_DIMMG1_T",
- "Type":"AC01_SMPRO",
- "EntityId":"0x03",
- "EntityInstance":36
- },
- {
"Name":"CPU0_CH4DIMM_T",
"Type":"AC01_SMPRO",
"EntityId":"0x03",
@@ -2912,7 +2774,6 @@
},
{
"Name":"CPU0_MEM_PW",
- "Type":"AC01_SMPRO",
"EntityId":"0x13",
"EntityInstance":58
},
@@ -2954,7 +2815,6 @@
},
{
"Name":"CPU0_DIMM_DDR_V",
- "Type":"AC01_SMPRO",
"EntityId":"0x13",
"EntityInstance":65
},
@@ -3002,23 +2862,27 @@
},
{
"Index" : 8,
- "Name" : "Mobo_NBM1_RAW",
+ "Name" : "CPU0_NBM_V",
"Type" : "ADC",
+ "MaxValue": 4.04,
+ "MinValue": 0,
"EntityId" : "0x13",
"EntityInstance" : 72
},
{
"Index" : 9,
- "Name" : "Mobo_NBM2_RAW",
+ "Name" : "CPU1_NBM_V",
"Type" : "ADC",
+ "MaxValue": 4.04,
+ "MinValue": 0,
"EntityId" : "0x13",
"EntityInstance" : 73
},
{
- "Name" : "Mobo_NBM1_T"
+ "Name" : "CPU0_NBM_T"
},
{
- "Name" : "Mobo_NBM2_T"
+ "Name" : "CPU1_NBM_T"
},
{
"AllowedFailures":1,
@@ -3043,20 +2907,20 @@
"Thresholds":[
{
"Direction":"less than",
- "Name":"lower critical",
- "Severity":1,
- "Value":2000
- },
- {
- "Direction":"less than",
"Name":"lower non critical",
"Severity":0,
"Value":1000
+ },
+ {
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Severity":1,
+ "Value":2000
}
],
"Type":"I2CFan",
"EntityId":"0x1D",
- "EntityInstance":0,
+ "EntityInstance":6,
"Mutable":true
},
{
@@ -3084,20 +2948,20 @@
"Thresholds":[
{
"Direction":"less than",
- "Name":"lower critical",
- "Severity":1,
- "Value":2000
- },
- {
- "Direction":"less than",
"Name":"lower non critical",
"Severity":0,
"Value":1000
+ },
+ {
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Severity":1,
+ "Value":2000
}
],
"Type":"I2CFan",
"EntityId":"0x1D",
- "EntityInstance":1
+ "EntityInstance":7
},
{
"EntityId":"0x1D",
@@ -3117,7 +2981,7 @@
0
],
"EntityId":"0x1D",
- "EntityInstance":2,
+ "EntityInstance":8,
"Mutable":true
},
"Index":2,
@@ -3127,15 +2991,15 @@
"Thresholds":[
{
"Direction":"less than",
- "Name":"lower critical",
- "Severity":1,
- "Value":2000
- },
- {
- "Direction":"less than",
"Name":"lower non critical",
"Severity":0,
"Value":1000
+ },
+ {
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Severity":1,
+ "Value":2000
}
],
"Type":"I2CFan",
@@ -3170,20 +3034,20 @@
"Thresholds":[
{
"Direction":"less than",
- "Name":"lower critical",
- "Severity":1,
- "Value":2000
- },
- {
- "Direction":"less than",
"Name":"lower non critical",
"Severity":0,
"Value":1000
+ },
+ {
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Severity":1,
+ "Value":2000
}
],
"Type":"I2CFan",
"EntityId":"0x1D",
- "EntityInstance":3
+ "EntityInstance":9
},
{
"EntityId":"0x1D",
@@ -3213,20 +3077,20 @@
"Thresholds":[
{
"Direction":"less than",
- "Name":"lower critical",
- "Severity":1,
- "Value":2000
- },
- {
- "Direction":"less than",
"Name":"lower non critical",
"Severity":0,
"Value":1000
+ },
+ {
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Severity":1,
+ "Value":2000
}
],
"Type":"I2CFan",
"EntityId":"0x1D",
- "EntityInstance":4
+ "EntityInstance":10
},
{
"EntityId":"0x1D",
@@ -3256,20 +3120,20 @@
"Thresholds":[
{
"Direction":"less than",
- "Name":"lower critical",
- "Severity":1,
- "Value":2000
- },
- {
- "Direction":"less than",
"Name":"lower non critical",
"Severity":0,
"Value":1000
+ },
+ {
+ "Direction":"less than",
+ "Name":"lower critical",
+ "Severity":1,
+ "Value":2000
}
],
"Type":"I2CFan",
"EntityId":"0x1D",
- "EntityInstance":5
+ "EntityInstance":11
},
{
"EntityId":"0x1D",
@@ -3278,20 +3142,20 @@
"Name":"REAR_FAN5_PWM",
"Type":"I2CFan"
},
- {
+ {
"Name": "Fan1Zone",
"Type": "Pid.Zone",
"MinThermalOutput": 25,
"FailSafePercent": 100
},
- {
+ {
"Name": "Fan2Zone",
"Type": "Pid.Zone",
"MinThermalOutput": 25,
"FailSafePercent": 100
},
{
- "Name": "REAR_FAN0_1",
+ "Name": "REAR_FAN012",
"Type": "Pid",
"Class": "fan",
"SetPoint": 65.0,
@@ -3309,37 +3173,12 @@
"OutLimitMax": 100.0,
"Inputs": [
"REAR_FAN0_SPEED",
- "REAR_FAN1_SPEED"
- ],
- "Outputs": [
- "REAR_FAN0_PWM",
- "REAR_FAN1_PWM"
- ],
- "Zones": [
- "Fan1Zone"
- ]
- },
- {
- "Name": "REAR_FAN2",
- "Type": "Pid",
- "Class": "fan",
- "SetPoint": 65.0,
- "FFGainCoefficient": 1.0,
- "FFOffCoefficient": 0.0,
- "PCoefficient": 0.0,
- "ICoefficient": 0.0,
- "ILimitMin": 0.0,
- "ILimitMax": 0.0,
- "PositiveHysteresis": 0.0,
- "NegativeHysteresis": 0.0,
- "SlewPos": 0.0,
- "SlewNeg": 0.0,
- "OutLimitMin": 25.0,
- "OutLimitMax": 100.0,
- "Inputs": [
+ "REAR_FAN1_SPEED",
"REAR_FAN2_SPEED"
],
"Outputs": [
+ "REAR_FAN0_PWM",
+ "REAR_FAN1_PWM",
"REAR_FAN2_PWM"
],
"Zones": [
@@ -3347,34 +3186,7 @@
]
},
{
- "Name": "REAR_FAN3",
- "Type": "Pid",
- "Class": "fan",
- "SetPoint": 65.0,
- "FFGainCoefficient": 1.0,
- "FFOffCoefficient": 0.0,
- "PCoefficient": 0.0,
- "ICoefficient": 0.0,
- "ILimitMin": 0.0,
- "ILimitMax": 0.0,
- "PositiveHysteresis": 0.0,
- "NegativeHysteresis": 0.0,
- "SlewPos": 0.0,
- "SlewNeg": 0.0,
- "OutLimitMin": 25.0,
- "OutLimitMax": 100.0,
- "Inputs": [
- "REAR_FAN3_SPEED"
- ],
- "Outputs": [
- "REAR_FAN3_PWM"
- ],
- "Zones": [
- "Fan2Zone"
- ]
- },
- {
- "Name": "REAR_FAN4_5",
+ "Name": "REAR_FAN345",
"Type": "Pid",
"Class": "fan",
"SetPoint": 65.0,
@@ -3392,11 +3204,13 @@
"OutLimitMax": 100.0,
"Inputs": [
"REAR_FAN4_SPEED",
- "REAR_FAN5_SPEED"
+ "REAR_FAN5_SPEED",
+ "REAR_FAN3_SPEED"
],
"Outputs": [
"REAR_FAN4_PWM",
- "REAR_FAN5_PWM"
+ "REAR_FAN5_PWM",
+ "REAR_FAN3_PWM"
],
"Zones": [
"Fan2Zone"
@@ -3428,57 +3242,7 @@
]
},
{
- "Name": "CPU0_SOC_VRD_TEMP",
- "Type": "Pid",
- "Class": "temp",
- "SetPoint": 85.0,
- "FFGainCoefficient": 0.0,
- "FFOffCoefficient": 0.0,
- "PCoefficient": -2.0,
- "ICoefficient": -0.1,
- "ILimitMin": 0.0,
- "ILimitMax": 0.0,
- "PositiveHysteresis": 0.0,
- "NegativeHysteresis": 0.0,
- "SlewPos": 0.0,
- "SlewNeg": 0.0,
- "OutLimitMin": 25.0,
- "OutLimitMax": 100.0,
- "Inputs": [
- "CPU0_SOC_VRD_T"
- ],
- "Outputs": [],
- "Zones": [
- "Fan1Zone"
- ]
- },
- {
- "Name": "CPU0_DIMM_VRD_TEMP",
- "Type": "Pid",
- "Class": "temp",
- "SetPoint": 85.0,
- "FFGainCoefficient": 0.0,
- "FFOffCoefficient": 0.0,
- "PCoefficient": -2.0,
- "ICoefficient": -0.1,
- "ILimitMin": 0.0,
- "ILimitMax": 0.0,
- "PositiveHysteresis": 0.0,
- "NegativeHysteresis": 0.0,
- "SlewPos": 0.0,
- "SlewNeg": 0.0,
- "OutLimitMin": 25.0,
- "OutLimitMax": 100.0,
- "Inputs": [
- "CPU0_DIMM_VRD_T"
- ],
- "Outputs": [],
- "Zones": [
- "Fan1Zone"
- ]
- },
- {
- "Name": "CPU0_CORE_VRD_TEMP",
+ "Name": "CPU0_VRD_TEMP",
"Type": "Pid",
"Class": "temp",
"SetPoint": 85.0,
@@ -3495,7 +3259,10 @@
"OutLimitMin": 25.0,
"OutLimitMax": 100.0,
"Inputs": [
- "CPU0_CORE_VRD_T"
+ "CPU0_SOC_VRD_T",
+ "CPU0_DIMM_VRD_T",
+ "CPU0_CORE_VRD_T",
+ "CPU0_RCA_VR_T"
],
"Outputs": [],
"Zones": [
@@ -3503,7 +3270,7 @@
]
},
{
- "Name": "CPU0_DIMMG0_TEMP",
+ "Name": "CPU0_DIMMG_TEMP",
"Type": "Pid",
"Class": "temp",
"SetPoint": 60.0,
@@ -3520,32 +3287,7 @@
"OutLimitMin": 25.0,
"OutLimitMax": 100.0,
"Inputs": [
- "CPU0_DIMMG0_T"
- ],
- "Outputs": [],
- "Zones": [
- "Fan1Zone"
- ]
- },
- {
- "Name": "CPU0_DIMMG1_TEMP",
- "Type": "Pid",
- "Class": "temp",
- "SetPoint": 60.0,
- "FFGainCoefficient": 0.0,
- "FFOffCoefficient": 0.0,
- "PCoefficient": -2.0,
- "ICoefficient": -0.1,
- "ILimitMin": 0.0,
- "ILimitMax": 0.0,
- "PositiveHysteresis": 0.0,
- "NegativeHysteresis": 0.0,
- "SlewPos": 0.0,
- "SlewNeg": 0.0,
- "OutLimitMin": 25.0,
- "OutLimitMax": 100.0,
- "Inputs": [
- "CPU0_DIMMG0_T"
+ "CPU0_DIMMG_T"
],
"Outputs": [],
"Zones": [
@@ -3578,7 +3320,7 @@
]
},
{
- "Name": "CPU1_SOC_VRD_TEMP",
+ "Name": "CPU1_VRD_TEMP",
"Type": "Pid",
"Class": "temp",
"SetPoint": 85.0,
@@ -3595,82 +3337,10 @@
"OutLimitMin": 25.0,
"OutLimitMax": 100.0,
"Inputs": [
- "CPU1_SOC_VRD_T"
- ],
- "Outputs": [],
- "Zones": [
- "Fan2Zone"
- ]
- },
- {
- "Name": "CPU1_DIMM_VRD_TEMP",
- "Type": "Pid",
- "Class": "temp",
- "SetPoint": 85.0,
- "FFGainCoefficient": 0.0,
- "FFOffCoefficient": 0.0,
- "PCoefficient": -2.0,
- "ICoefficient": -0.1,
- "ILimitMin": 0.0,
- "ILimitMax": 0.0,
- "PositiveHysteresis": 0.0,
- "NegativeHysteresis": 0.0,
- "SlewPos": 0.0,
- "SlewNeg": 0.0,
- "OutLimitMin": 25.0,
- "OutLimitMax": 100.0,
- "Inputs": [
- "CPU1_DIMM_VRD_T"
- ],
- "Outputs": [],
- "Zones": [
- "Fan2Zone"
- ]
- },
- {
- "Name": "CPU1_CORE_VRD_TEMP",
- "Type": "Pid",
- "Class": "temp",
- "SetPoint": 85.0,
- "FFGainCoefficient": 0.0,
- "FFOffCoefficient": 0.0,
- "PCoefficient": -2.0,
- "ICoefficient": -0.1,
- "ILimitMin": 0.0,
- "ILimitMax": 0.0,
- "PositiveHysteresis": 0.0,
- "NegativeHysteresis": 0.0,
- "SlewPos": 0.0,
- "SlewNeg": 0.0,
- "OutLimitMin": 25.0,
- "OutLimitMax": 100.0,
- "Inputs": [
- "CPU1_CORE_VRD_T"
- ],
- "Outputs": [],
- "Zones": [
- "Fan2Zone"
- ]
- },
- {
- "Name": "CPU1_DIMMG0_TEMP",
- "Type": "Pid",
- "Class": "temp",
- "SetPoint": 60.0,
- "FFGainCoefficient": 0.0,
- "FFOffCoefficient": 0.0,
- "PCoefficient": -2.0,
- "ICoefficient": -0.1,
- "ILimitMin": 0.0,
- "ILimitMax": 0.0,
- "PositiveHysteresis": 0.0,
- "NegativeHysteresis": 0.0,
- "SlewPos": 0.0,
- "SlewNeg": 0.0,
- "OutLimitMin": 25.0,
- "OutLimitMax": 100.0,
- "Inputs": [
- "CPU1_DIMMG0_T"
+ "CPU1_SOC_VRD_T",
+ "CPU1_DIMM_VRD_T",
+ "CPU1_CORE_VRD_T",
+ "CPU1_RCA_VR_T"
],
"Outputs": [],
"Zones": [
@@ -3678,7 +3348,7 @@
]
},
{
- "Name": "CPU1_DIMMG1_TEMP",
+ "Name": "CPU1_DIMMG_TEMP",
"Type": "Pid",
"Class": "temp",
"SetPoint": 60.0,
@@ -3695,7 +3365,7 @@
"OutLimitMin": 25.0,
"OutLimitMax": 100.0,
"Inputs": [
- "CPU1_DIMMG0_T"
+ "CPU1_DIMMG_T"
],
"Outputs": [],
"Zones": [
@@ -3728,7 +3398,7 @@
]
},
{
- "Name": "Mobo_NBM1_TEMP",
+ "Name": "CPU0_NBM_TEMP",
"Type": "Pid",
"Class": "temp",
"SetPoint": 75.0,
@@ -3745,7 +3415,7 @@
"OutLimitMin": 25.0,
"OutLimitMax": 100.0,
"Inputs": [
- "Mobo_NBM1_T"
+ "CPU0_NBM_T"
],
"Outputs": [],
"Zones": [
@@ -3753,7 +3423,7 @@
]
},
{
- "Name": "Mobo_NBM2_TEMP",
+ "Name": "CPU1_NBM_TEMP",
"Type": "Pid",
"Class": "temp",
"SetPoint": 75.0,
@@ -3770,7 +3440,7 @@
"OutLimitMin": 25.0,
"OutLimitMax": 100.0,
"Inputs": [
- "Mobo_NBM2_T"
+ "CPU1_NBM_T"
],
"Outputs": [],
"Zones": [
@@ -3778,7 +3448,7 @@
]
},
{
- "Name": "Mobo_NBM1_ZONE_TEMP",
+ "Name": "CPU0_NBM_ZONE_TEMP",
"Type": "Pid",
"Class": "temp",
"SetPoint": 60.0,
@@ -3795,7 +3465,7 @@
"OutLimitMin": 25.0,
"OutLimitMax": 100.0,
"Inputs": [
- "Mobo_NBM1_ZONE_T"
+ "CPU0_NBM_ZONE_T"
],
"Outputs": [],
"Zones": [
@@ -3803,7 +3473,7 @@
]
},
{
- "Name": "Mobo_NBM2_ZONE_TEMP",
+ "Name": "CPU1_NBM_ZONE_TEMP",
"Type": "Pid",
"Class": "temp",
"SetPoint": 60.0,
@@ -3820,7 +3490,7 @@
"OutLimitMin": 25.0,
"OutLimitMax": 100.0,
"Inputs": [
- "Mobo_NBM2_ZONE_T"
+ "CPU1_NBM_ZONE_T"
],
"Outputs": [],
"Zones": [
diff --git a/meta-fii/meta-kudo/recipes-phosphor/configuration/entity-manager_%.bbappend b/meta-fii/meta-kudo/recipes-phosphor/configuration/entity-manager_%.bbappend
index 58b52f50b..7daa029eb 100644
--- a/meta-fii/meta-kudo/recipes-phosphor/configuration/entity-manager_%.bbappend
+++ b/meta-fii/meta-kudo/recipes-phosphor/configuration/entity-manager_%.bbappend
@@ -1,7 +1,11 @@
FILESEXTRAPATHS_prepend_kudo := "${THISDIR}/${PN}:"
-SRC_URI_append_kudo = " file://kudo.json"
+SRC_URI_append_kudo = " \
+ file://kudo.json \
+ file://blacklist.json \
+ "
do_install_append_kudo () {
- install -m 0644 -D ${WORKDIR}/kudo.json ${D}/usr/share/entity-manager/configurations/kudo.json
+ install -m 0644 -D ${WORKDIR}/kudo.json ${D}${datadir}/${PN}/configurations/kudo.json
+ install -m 0644 -D ${WORKDIR}/blacklist.json ${D}${datadir}/${PN}/blacklist.json
}
diff --git a/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/kudo_uart_mux_ctrl.sh b/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/kudo_uart_mux_ctrl.sh
new file mode 100644
index 000000000..27407783e
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/kudo_uart_mux_ctrl.sh
@@ -0,0 +1,48 @@
+#!/bin/bash
+#
+# Copyright (c) 2020 Ampere Computing LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Ampere Computing LLC mtjade: UART MUX/DEMUX for CPU0 UART0,1,4 and CPU1 UART1
+# Usage: ampere_uartmux_ctrl.sh <CPU UART port number> <UARTx_MODE>
+# <UARTx_MODE> of 1 sets CPU To BSP
+# <UARTx_MODE> of 2 sets SCP1 to SI2
+function set_gpio_ctrl() {
+ echo $1 > /sys/class/gpio/export
+ echo $2 > /sys/class//gpio/gpio$1/direction
+ echo $3 > /sys/class/gpio/gpio$1/value
+ echo $1 > /sys/class/gpio/unexport
+}
+
+
+if [ $# -lt 1 ]; then
+ exit 1
+fi
+
+echo "Ampere UART MUX CTRL UART port $1 to mode" > /dev/ttyS0
+
+case "$1" in
+ ttyS1)
+ set_gpio_ctrl 167 out 1
+ ;;
+ ttyS3)
+ set_gpio_ctrl 161 out 1
+ set_gpio_ctrl 183 out 1
+ set_gpio_ctrl 198 out 0
+ ;;
+ *)
+ echo "Invalid tty passed to $0. Exiting!" > /dev/ttyS0
+ ;;
+esac
+
diff --git a/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/obmc-console@.service b/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/obmc-console@.service
new file mode 100644
index 000000000..695eec31c
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/obmc-console@.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=Phosphor Console Muxer listening on device /dev/%I
+BindsTo=dev-%i.device
+After=dev-%i.device
+StartLimitBurst=3
+StartLimitIntervalSec=300
+
+[Service]
+ExecStartPre=/usr/sbin/kudo_uart_mux_ctrl.sh %i
+ExecStart=/usr/sbin/obmc-console-server --config /etc/obmc-console/server.%i.conf %i
+SyslogIdentifier=obmc-console-server
+Restart=always
+RestartSec=10
+TimeoutStartSec=60
+TimeoutStopSec=60
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/server.ttyS1.conf b/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/server.ttyS1.conf
new file mode 100644
index 000000000..1751a0575
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/server.ttyS1.conf
@@ -0,0 +1,2 @@
+baud = 115200
+logfile = /var/log/obmc-console-cpu.log
diff --git a/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/server.ttyS3.conf b/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/server.ttyS3.conf
new file mode 100644
index 000000000..c8a9d973e
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/server.ttyS3.conf
@@ -0,0 +1,3 @@
+baud = 115200
+socket-id = ttyS3
+logfile = /var/log/obmc-console-scp.log
diff --git a/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console_%.bbappend b/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console_%.bbappend
new file mode 100644
index 000000000..9daae7c86
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console_%.bbappend
@@ -0,0 +1,41 @@
+FILESEXTRAPATHS_prepend_kudo := "${THISDIR}/${PN}:"
+RDEPENDS_${PN}_append_kudo = " bash"
+
+# Remove what installed by common recipe
+OBMC_CONSOLE_HOST_TTY = ""
+SYSTEMD_SUBSTITUTIONS_remove_kudo = " OBMC_CONSOLE_HOST_TTY:${OBMC_CONSOLE_HOST_TTY}:${PN}-ssh@.service"
+SYSTEMD_SUBSTITUTIONS_remove_kudo = " OBMC_CONSOLE_HOST_TTY:${OBMC_CONSOLE_HOST_TTY}:${PN}-ssh.socket"
+
+# Declare port spcific conf and service files
+HOST_CONSOLE_TTY = "ttyS1 ttyS3"
+
+CONSOLE_CONF_FMT = "file://server.{0}.conf"
+SRC_URI_append_kudo = " ${@compose_list(d, 'CONSOLE_CONF_FMT', 'HOST_CONSOLE_TTY')}"
+SRC_URI_append_kudo = " file://${BPN}@.service"
+SRC_URI_append_kudo = " file://kudo_uart_mux_ctrl.sh"
+
+SYSTEMD_SERVICE_${PN}_append_kudo = " \
+ ${PN}@.service \
+ "
+
+do_install_append() {
+ for i in ${HOST_CONSOLE_TTY}
+ do
+ install -m 0644 ${WORKDIR}/server.${i}.conf ${D}${sysconfdir}/${BPN}/server.${i}.conf
+ done
+
+ # Deal with files installed by the base package's .bb install function
+ rm -f ${D}${sysconfdir}/${BPN}.conf
+ rm -f ${D}${sysconfdir}/${BPN}/server.ttyVUART0.conf
+
+ # Overwrite base package's obmc-console@.service with our own
+ install -m 0644 ${WORKDIR}/${BPN}@.service ${D}${systemd_unitdir}/system/${BPN}@.service
+ install -d ${D}/usr/sbin
+ install -m 0755 ${WORKDIR}/kudo_uart_mux_ctrl.sh ${D}/${sbindir}/kudo_uart_mux_ctrl.sh
+
+}
+
+pkg_postinst_${PN}_append () {
+ systemctl --root=$D enable obmc-console@ttyS1.service
+ systemctl --root=$D enable obmc-console@ttyS3.service
+}
diff --git a/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend b/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend
index 588803b3b..5ec39cde8 100644
--- a/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend
+++ b/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend
@@ -1,7 +1,13 @@
-OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " google-ipmi-sys"
-OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " google-ipmi-i2c"
OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-ipmi-blobs"
+OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-ipmi-blobs-binarystore"
OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-ipmi-ethstats"
OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-ipmi-flash"
+OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-ipmi-net"
+OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-ipmi-host"
+OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-host-postd"
+OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-logging"
+OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-sel-logger"
OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " usb-network"
OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " entity-manager"
+OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " dbus-sensors"
+OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-virtual-sensor"
diff --git a/meta-fii/meta-kudo/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore/config.json b/meta-fii/meta-kudo/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore/config.json
new file mode 100644
index 000000000..38650a38f
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore/config.json
@@ -0,0 +1,5 @@
+[{
+ "blobBaseId": "/skm/hss/",
+ "sysFilePath": "/sys/bus/i2c/devices/i2c-4/i2c-33/33-0055/eeprom",
+ "offsetBytes": 0
+}]
diff --git a/meta-fii/meta-kudo/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore_%.bbappend b/meta-fii/meta-kudo/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore_%.bbappend
new file mode 100644
index 000000000..f87ac040f
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore_%.bbappend
@@ -0,0 +1,8 @@
+FILESEXTRAPATHS_prepend_kudo := "${THISDIR}/${PN}:"
+SRC_URI_append_kudo = " file://config.json"
+FILES_${PN}_append_kudo = " ${datadir}/binaryblob/config.json"
+
+do_install_append_kudo() {
+ install -d ${D}${datadir}/binaryblob/
+ install ${WORKDIR}/config.json ${D}${datadir}/binaryblob/config.json
+}
diff --git a/meta-fii/meta-kudo/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend b/meta-fii/meta-kudo/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
new file mode 100644
index 000000000..5e0eddc71
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
@@ -0,0 +1,8 @@
+FILESEXTRAPATHS_prepend_kudo := "${THISDIR}/${PN}:"
+
+#Add sensorhandler.hpp and selutilty.hpp since intel-ipmi-oem requires these libs
+do_install_append_kudo(){
+ install -d ${D}${includedir}/phosphor-ipmi-host
+ install -m 0644 -D ${S}/sensorhandler.hpp ${D}${includedir}/phosphor-ipmi-host
+ install -m 0644 -D ${S}/selutility.hpp ${D}${includedir}/phosphor-ipmi-host
+}
diff --git a/meta-fii/meta-kudo/recipes-phosphor/sensors/phosphor-virtual-sensor/tla2024-enable.service b/meta-fii/meta-kudo/recipes-phosphor/sensors/phosphor-virtual-sensor/tla2024-enable.service
new file mode 100644
index 000000000..8d4259441
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-phosphor/sensors/phosphor-virtual-sensor/tla2024-enable.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=TLA2024 change scale property
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/tla2024-enable.sh
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-fii/meta-kudo/recipes-phosphor/sensors/phosphor-virtual-sensor/tla2024-enable.sh b/meta-fii/meta-kudo/recipes-phosphor/sensors/phosphor-virtual-sensor/tla2024-enable.sh
new file mode 100644
index 000000000..6c5b07aec
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-phosphor/sensors/phosphor-virtual-sensor/tla2024-enable.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+echo 2.000000 > /sys/bus/iio/devices/iio:device1/scale
diff --git a/meta-fii/meta-kudo/recipes-phosphor/sensors/phosphor-virtual-sensor/virtual_sensor_config.json b/meta-fii/meta-kudo/recipes-phosphor/sensors/phosphor-virtual-sensor/virtual_sensor_config.json
new file mode 100644
index 000000000..c353e8216
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-phosphor/sensors/phosphor-virtual-sensor/virtual_sensor_config.json
@@ -0,0 +1,394 @@
+[
+ {
+ "Desc":
+ {
+ "Name": "CPU0_NBM_T",
+ "SensorType": "temperature",
+ "MinValue": 0,
+ "MaxValue": 160
+ },
+ "Threshold" :
+ {
+ "CriticalHigh": 86,
+ "CriticalLow": 0,
+ "WarningHigh": 85,
+ "WarningLow": 0
+ },
+ "Params":
+ {
+ "DbusParam":
+ [
+ {
+ "ParamName": "V1",
+ "Desc":
+ {
+ "Name": "CPU0_NBM_V",
+ "SensorType": "voltage"
+ }
+ }
+ ]
+ },
+ "Expression": "(V1 - 2.73) * 100"
+ },
+ {
+ "Desc":
+ {
+ "Name": "CPU1_NBM_T",
+ "SensorType": "temperature",
+ "MinValue": 0,
+ "MaxValue": 160
+ },
+ "Threshold" :
+ {
+ "CriticalHigh": 86,
+ "CriticalLow": 0,
+ "WarningHigh": 85,
+ "WarningLow": 0
+ },
+ "Params":
+ {
+ "DbusParam":
+ [
+ {
+ "ParamName": "V2",
+ "Desc":
+ {
+ "Name": "CPU1_NBM_V",
+ "SensorType": "voltage"
+ }
+ }
+ ]
+ },
+ "Expression": "(V2 - 2.73) * 100"
+ },
+ {
+ "Desc":
+ {
+ "Name": "CPU0_DIMMG_T",
+ "SensorType": "temperature",
+ "MinValue": 0,
+ "MaxValue": 255
+ },
+ "Threshold" :
+ {
+ "CriticalHigh": 90,
+ "CriticalLow": 0,
+ "WarningHigh": 85,
+ "WarningLow": 0
+ },
+ "Params":
+ {
+ "DbusParam":
+ [
+ {
+ "ParamName": "CH0",
+ "Desc":
+ {
+ "Name": "CPU0_CH0DIMM_T",
+ "SensorType": "temperature"
+ }
+ },
+ {
+ "ParamName": "CH1",
+ "Desc":
+ {
+ "Name": "CPU0_CH1DIMM_T",
+ "SensorType": "temperature"
+ }
+ },
+ {
+ "ParamName": "CH2",
+ "Desc":
+ {
+ "Name": "CPU0_CH2DIMM_T",
+ "SensorType": "temperature"
+ }
+ },
+ {
+ "ParamName": "CH3",
+ "Desc":
+ {
+ "Name": "CPU0_CH3DIMM_T",
+ "SensorType": "temperature"
+ }
+ },
+ {
+ "ParamName": "CH4",
+ "Desc":
+ {
+ "Name": "CPU0_CH4DIMM_T",
+ "SensorType": "temperature"
+ }
+ },
+ {
+ "ParamName": "CH5",
+ "Desc":
+ {
+ "Name": "CPU0_CH5DIMM_T",
+ "SensorType": "temperature"
+ }
+ },
+ {
+ "ParamName": "CH6",
+ "Desc":
+ {
+ "Name": "CPU0_CH6DIMM_T",
+ "SensorType": "temperature"
+ }
+ },
+ {
+ "ParamName": "CH7",
+ "Desc":
+ {
+ "Name": "CPU0_CH7DIMM_T",
+ "SensorType": "temperature"
+ }
+ }
+ ]
+ },
+ "Expression": "max((CH0 == CH0) ? CH0 : 0,(CH1 == CH1) ? CH1 : 0,(CH2 == CH2) ? CH2 : 0,(CH3 == CH3) ? CH3 : 0,(CH4 == CH4) ? CH4 : 0,(CH5 == CH5) ? CH5 : 0,(CH6 == CH6) ? CH6 : 0,(CH7 == CH7) ? CH7 : 0)"
+ },
+ {
+ "Desc":
+ {
+ "Name": "CPU1_DIMMG_T",
+ "SensorType": "temperature",
+ "MinValue": 0,
+ "MaxValue": 255
+ },
+ "Threshold" :
+ {
+ "CriticalHigh": 90,
+ "CriticalLow": 0,
+ "WarningHigh": 85,
+ "WarningLow": 0
+ },
+ "Params":
+ {
+ "DbusParam":
+ [
+ {
+ "ParamName": "CH0",
+ "Desc":
+ {
+ "Name": "CPU1_CH0DIMM_T",
+ "SensorType": "temperature"
+ }
+ },
+ {
+ "ParamName": "CH1",
+ "Desc":
+ {
+ "Name": "CPU1_CH1DIMM_T",
+ "SensorType": "temperature"
+ }
+ },
+ {
+ "ParamName": "CH2",
+ "Desc":
+ {
+ "Name": "CPU1_CH2DIMM_T",
+ "SensorType": "temperature"
+ }
+ },
+ {
+ "ParamName": "CH3",
+ "Desc":
+ {
+ "Name": "CPU1_CH3DIMM_T",
+ "SensorType": "temperature"
+ }
+ },
+ {
+ "ParamName": "CH4",
+ "Desc":
+ {
+ "Name": "CPU1_CH4DIMM_T",
+ "SensorType": "temperature"
+ }
+ },
+ {
+ "ParamName": "CH5",
+ "Desc":
+ {
+ "Name": "CPU1_CH5DIMM_T",
+ "SensorType": "temperature"
+ }
+ },
+ {
+ "ParamName": "CH6",
+ "Desc":
+ {
+ "Name": "CPU1_CH6DIMM_T",
+ "SensorType": "temperature"
+ }
+ },
+ {
+ "ParamName": "CH7",
+ "Desc":
+ {
+ "Name": "CPU1_CH7DIMM_T",
+ "SensorType": "temperature"
+ }
+ }
+ ]
+ },
+ "Expression": "max((CH0 == CH0) ? CH0 : 0,(CH1 == CH1) ? CH1 : 0,(CH2 == CH2) ? CH2 : 0,(CH3 == CH3) ? CH3 : 0,(CH4 == CH4) ? CH4 : 0,(CH5 == CH5) ? CH5 : 0,(CH6 == CH6) ? CH6 : 0,(CH7 == CH7) ? CH7 : 0)"
+ },
+ {
+ "Desc":
+ {
+ "Name": "CPU0_DIMM_DDR_V",
+ "SensorType": "voltage",
+ "MinValue": 0,
+ "MaxValue": 5
+ },
+ "Threshold" :
+ {
+ "CriticalHigh": 2.999,
+ "CriticalLow": 0,
+ "WarningHigh": 0,
+ "WarningLow": 0
+ },
+ "Params":
+ {
+ "DbusParam":
+ [
+ {
+ "ParamName": "V1",
+ "Desc":
+ {
+ "Name": "CPU0_DIMM_VR1_V",
+ "SensorType": "voltage"
+ }
+ },
+ {
+ "ParamName": "V2",
+ "Desc":
+ {
+ "Name": "CPU0_DIMM_VR2_V",
+ "SensorType": "voltage"
+ }
+ }
+ ]
+ },
+ "Expression": "(V1 + V2) >= 0 ? (V1 + V2) : -1"
+ },
+ {
+ "Desc":
+ {
+ "Name": "CPU1_DIMM_DDR_V",
+ "SensorType": "voltage",
+ "MinValue": 0,
+ "MaxValue": 5
+ },
+ "Threshold" :
+ {
+ "CriticalHigh": 2.999,
+ "CriticalLow": 0,
+ "WarningHigh": 0,
+ "WarningLow": 0
+ },
+ "Params":
+ {
+ "DbusParam":
+ [
+ {
+ "ParamName": "V1",
+ "Desc":
+ {
+ "Name": "CPU1_DIMM_VR1_V",
+ "SensorType": "voltage"
+ }
+ },
+ {
+ "ParamName": "V2",
+ "Desc":
+ {
+ "Name": "CPU1_DIMM_VR2_V",
+ "SensorType": "voltage"
+ }
+ }
+ ]
+ },
+ "Expression": "(V1 + V2) >= 0 ? (V1 + V2) : -1"
+ },
+ {
+ "Desc":
+ {
+ "Name": "CPU0_MEM_PW",
+ "SensorType": "power",
+ "MinValue": 0,
+ "MaxValue": 80
+ },
+ "Threshold" :
+ {
+ "CriticalHigh": 29.987,
+ "CriticalLow": 0,
+ "WarningHigh": 0,
+ "WarningLow": 0
+ },
+ "Params":
+ {
+ "DbusParam":
+ [
+ {
+ "ParamName": "P1",
+ "Desc":
+ {
+ "Name": "CPU0_DIMM_VR1_PW",
+ "SensorType": "power"
+ }
+ },
+ {
+ "ParamName": "P2",
+ "Desc":
+ {
+ "Name": "CPU0_DIMM_VR2_PW",
+ "SensorType": "power"
+ }
+ }
+ ]
+ },
+ "Expression": "(P1 + P2) >= 0 ? (P1 + P2) : -1"
+ },
+ {
+ "Desc":
+ {
+ "Name": "CPU1_MEM_PW",
+ "SensorType": "power",
+ "MinValue": 0,
+ "MaxValue": 80
+ },
+ "Threshold" :
+ {
+ "CriticalHigh": 29.987,
+ "CriticalLow": 0,
+ "WarningHigh": 0,
+ "WarningLow": 0
+ },
+ "Params":
+ {
+ "DbusParam":
+ [
+ {
+ "ParamName": "P1",
+ "Desc":
+ {
+ "Name": "CPU1_DIMM_VR1_PW",
+ "SensorType": "power"
+ }
+ },
+ {
+ "ParamName": "P2",
+ "Desc":
+ {
+ "Name": "CPU1_DIMM_VR2_PW",
+ "SensorType": "power"
+ }
+ }
+ ]
+ },
+ "Expression": "(P1 + P2) >= 0 ? (P1 + P2) : -1"
+ }
+]
diff --git a/meta-fii/meta-kudo/recipes-phosphor/sensors/phosphor-virtual-sensor_%.bbappend b/meta-fii/meta-kudo/recipes-phosphor/sensors/phosphor-virtual-sensor_%.bbappend
new file mode 100644
index 000000000..43f5f5660
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-phosphor/sensors/phosphor-virtual-sensor_%.bbappend
@@ -0,0 +1,21 @@
+FILESEXTRAPATHS_prepend_kudo := "${THISDIR}/${PN}:"
+
+inherit systemd
+RDEPENDS_${PN} += "bash"
+SYSTEMD_SERVICE_${PN}_append_kudo = " tla2024-enable.service"
+
+SRC_URI_append_kudo = " \
+ file://virtual_sensor_config.json \
+ file://tla2024-enable.service \
+ file://tla2024-enable.sh \
+ "
+FILES_${PN}_append_kudo = " ${bindir}/tla2024-enable.sh"
+
+do_install_append_kudo() {
+ install -d ${D}${datadir}/${PN}
+ install -m 0644 ${WORKDIR}/virtual_sensor_config.json ${D}${datadir}/${PN}/virtual_sensor_config.json
+ install -m 0755 ${WORKDIR}/tla2024-enable.sh ${D}${bindir}/tla2024-enable.sh
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/tla2024-enable.service ${D}${systemd_system_unitdir}/tla2024-enable.service
+}