From 775cc0a9d27148bff5f25c00fe546483cb1a1f7f Mon Sep 17 00:00:00 2001 From: Lancelot Kao Date: Mon, 22 Feb 2021 22:48:15 -0600 Subject: meta-fii/meta-kudo: add misc configuration 1. add the hotswap-power-cycle 2. add the entity-association-map 3. add the phosphor-ipmi-blobs-binarystore Signed-off-by: Lancelot Kao Change-Id: Ieea8f21a35c81ed066eedab0c8264494b743f3bb Signed-off-by: Mohaimen Alsamarai --- meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb | 2 ++ 1 file changed, 2 insertions(+) (limited to 'meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb') 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..af6d08085 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 @@ -20,6 +20,8 @@ RDEPENDS_${PN}-kudo-system = " \ ethtool \ memtester \ loadsvf \ + kudo-entity-association-map \ + hotswap-power-cycle \ obmc-console \ usb-network \ ncsid \ -- cgit v1.2.3 From 96a7ee39b88ce3db86c65e21d3390d97b12166c6 Mon Sep 17 00:00:00 2001 From: Lancelot Kao Date: Mon, 22 Feb 2021 18:50:48 -0600 Subject: meta-fii/meta-kudo: configure kudo system during bmc boot 1. do initialize during BMC boot Signed-off-by: Lancelot Kao Change-Id: I5d3ff526a973152a96d00433eb86f7d7dd59e2d3 Signed-off-by: Mohaimen Alsamarai --- .../kudo-fw-utility/kudo-fw/kudo-fw.sh | 13 ++------- .../kudo-fw-utility/kudo-fw/kudo-lib.sh | 19 +++++++++++++ .../recipes-kudo/kudo-sys-utility/kudo-boot.bb | 31 ++++++++++++++++++++++ .../kudo-boot/host-powerctrl.service | 12 +++++++++ .../kudo-sys-utility/kudo-boot/init_once.sh | 27 +++++++++++++++++++ .../packagegroups/packagegroup-kudo-apps.bb | 1 + 6 files changed, 92 insertions(+), 11 deletions(-) create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-lib.sh create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot.bb create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/host-powerctrl.service create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/init_once.sh (limited to 'meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb') 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..ebb32074d --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot.bb @@ -0,0 +1,31 @@ +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}${bindir} + install -m 0755 ${WORKDIR}/init_once.sh ${D}${bindir}/ + + 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..2a8d73930 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/host-powerctrl.service @@ -0,0 +1,12 @@ +[Unit] +Description = Ampere Host Power Control Sequence + +[Service] +Restart=no +RemainAfterExit=true +Type=oneshot +ExecStart=/usr/bin/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..1e928e509 --- /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 #0 +set_gpio_ctrl 0 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/packagegroups/packagegroup-kudo-apps.bb b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb index af6d08085..4be1cab83 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 @@ -26,6 +26,7 @@ RDEPENDS_${PN}-kudo-system = " \ usb-network \ ncsid \ gbmc-mac-config \ + kudo-boot \ " SUMMARY_${PN}-kudo-fw = "KUDO Firmware" -- cgit v1.2.3 From c2c04b0910aa72972f8e52aec91141100a1e6527 Mon Sep 17 00:00:00 2001 From: Lancelot Kao Date: Mon, 22 Feb 2021 22:55:06 -0600 Subject: meta-fii/meta-kudo: add fii-ipmi-oem command 1. Support PCIe bifurcation information 2. Support BIOS boot count Signed-off-by: Lancelot Kao Change-Id: I2e9560bae7cd1dc1be680bfb9ef91917aced50e2 Signed-off-by: Mohaimen Alsamarai --- .../meta-kudo/recipes-kudo/ipmi/fii-ipmi-oem.bb | 26 ++++++++++++++++++++++ .../packagegroups/packagegroup-kudo-apps.bb | 1 + 2 files changed, 27 insertions(+) create mode 100644 meta-fii/meta-kudo/recipes-kudo/ipmi/fii-ipmi-oem.bb (limited to 'meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb') diff --git a/meta-fii/meta-kudo/recipes-kudo/ipmi/fii-ipmi-oem.bb b/meta-fii/meta-kudo/recipes-kudo/ipmi/fii-ipmi-oem.bb new file mode 100644 index 000000000..c5a4328ae --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/ipmi/fii-ipmi-oem.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/packagegroups/packagegroup-kudo-apps.bb b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb index 4be1cab83..06161e145 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 @@ -20,6 +20,7 @@ RDEPENDS_${PN}-kudo-system = " \ ethtool \ memtester \ loadsvf \ + fii-ipmi-oem \ kudo-entity-association-map \ hotswap-power-cycle \ obmc-console \ -- cgit v1.2.3 From 0e483359bc560b584524739188be4eda119125c9 Mon Sep 17 00:00:00 2001 From: XP Chen Date: Wed, 12 May 2021 09:44:26 -0500 Subject: meta-fii/meta-kudo: Add kudo-cmd a collection of kudo system utils 1. Add Kudo.sh, a script for display and controlling kudo system 2. Add kudo-ras.sh for debug Ampere system errors on kudo system Signed-off-by: XP Chen Change-Id: I5763e0de4be942b9b851b910448d15135ca9db16 Signed-off-by: Mohaimen Alsamarai --- .../recipes-kudo/kudo-sys-utility/kudo-cmd.bb | 22 + .../kudo-sys-utility/kudo-cmd/kudo-ras.sh | 575 +++++++++++++++++++++ .../recipes-kudo/kudo-sys-utility/kudo-cmd/kudo.sh | 276 ++++++++++ .../packagegroups/packagegroup-kudo-apps.bb | 1 + 4 files changed, 874 insertions(+) create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-cmd.bb create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-cmd/kudo-ras.sh create mode 100644 meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-cmd/kudo.sh (limited to 'meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb') 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..777fa6f8b --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-cmd.bb @@ -0,0 +1,22 @@ +SUMMARY = "Phosphor OpenBMC Kudo System Command" +DESCRIPTION = "Phosphor OpenBMC Kudo System Command Daemon" +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}: + +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/packagegroups/packagegroup-kudo-apps.bb b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb index 06161e145..f1ca26452 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 @@ -28,6 +28,7 @@ RDEPENDS_${PN}-kudo-system = " \ ncsid \ gbmc-mac-config \ kudo-boot \ + kudo-cmd \ " SUMMARY_${PN}-kudo-fw = "KUDO Firmware" -- cgit v1.2.3 From f426ffbefb75ad62c824eb0ee969b3f67a26ed6a Mon Sep 17 00:00:00 2001 From: Mohaimen Alsamarai Date: Wed, 12 May 2021 14:14:31 -0500 Subject: meta-fii/meta-kudo: Enable PID fan controlĀ  MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Using phosphor-pid-control Signed-off-by: Mohaimen Alsamarai Change-Id: Iea73a96bf4d8921d717fcf335ec463d0054089a5 --- meta-fii/meta-kudo/conf/machine/kudo.conf | 2 ++ .../recipes-kudo/packagegroups/packagegroup-kudo-apps.bb | 9 +++++++++ 2 files changed, 11 insertions(+) (limited to 'meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb') diff --git a/meta-fii/meta-kudo/conf/machine/kudo.conf b/meta-fii/meta-kudo/conf/machine/kudo.conf index ff3bbf9c9..b543c65b7 100644 --- a/meta-fii/meta-kudo/conf/machine/kudo.conf +++ b/meta-fii/meta-kudo/conf/machine/kudo.conf @@ -24,9 +24,11 @@ SERIAL_CONSOLES = "115200;ttyS0" OBMC_MACHINE_FEATURES += " \ obmc-host-ipmi \ + obmc-phosphor-fan-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" 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 f1ca26452..406a32a58 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}-fan-mgmt += "virtual-obmc-fan-mgmt" SUMMARY_${PN}-kudo-system = "KUDO System" RDEPENDS_${PN}-kudo-system = " \ @@ -39,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 \ + " -- cgit v1.2.3 From 623cd26b1b492f4980f5bbcb8498ddc834129f85 Mon Sep 17 00:00:00 2001 From: Mohaimen Alsamarai Date: Wed, 12 May 2021 16:32:24 -0500 Subject: meta-fii/meta-kudo: fix packagegroup kudo apps Change the provider(kudo-fw) from virtual-obmc-system-mgmt to virtual-obmc-flash-mgmt to avoid overwrite by other package Signed-off-by: Mohaimen Alsamarai Change-Id: I55fad7c3a778ce9478313cd5303137622ea6741c --- meta-fii/meta-kudo/conf/machine/kudo.conf | 1 + meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb') diff --git a/meta-fii/meta-kudo/conf/machine/kudo.conf b/meta-fii/meta-kudo/conf/machine/kudo.conf index b543c65b7..d27402c5d 100644 --- a/meta-fii/meta-kudo/conf/machine/kudo.conf +++ b/meta-fii/meta-kudo/conf/machine/kudo.conf @@ -25,6 +25,7 @@ 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" 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 406a32a58..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 @@ -14,7 +14,7 @@ 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" -- cgit v1.2.3