diff options
author | Raptor Engineering Development Team <support@raptorengineering.com> | 2018-06-05 13:26:01 -0500 |
---|---|---|
committer | Timothy Pearson <tpearson@raptorengineering.com> | 2019-04-25 08:02:04 +0000 |
commit | a85a5b3a6b08e82188d2002ca4986419b6c93c03 (patch) | |
tree | 82aeb5ed5a9f320f43a1ce81b8465bff206266d0 | |
parent | 80ec46bd197573ae90f6c5022d200b00f6689c10 (diff) | |
download | blackbird-openbmc-a85a5b3a6b08e82188d2002ca4986419b6c93c03.tar.gz blackbird-openbmc-a85a5b3a6b08e82188d2002ca4986419b6c93c03.zip |
Don't attempt to control AVSBus regulators on CPU socket 1 when CPU 1 is not installed
4 files changed, 89 insertions, 18 deletions
diff --git a/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-disable.sh b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-disable.sh index 1c3600088..7ee4dfcd1 100644 --- a/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-disable.sh +++ b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-disable.sh @@ -1,5 +1,20 @@ #!/bin/sh +# Get CPU count +CPU_COUNT=1 +STATUS_FLAGS=$(i2cget -y 12 0x31 0x7) +if [ $? != 0 ]; then + STATUS_FLAGS=$(i2cget -y 12 0x31 0x7) +fi +if [ $? != 0 ]; then + STATUS_FLAGS=$(i2cget -y 12 0x31 0x7) +fi +CPU_PRESENT_FLAG_N=$(( ${STATUS_FLAGS} & 0x20 )) +if [ $CPU_PRESENT_FLAG_N != 0 ]; then + CPU_COUNT=$(( ${CPU_COUNT} + 1 )) +fi +echo "Found $CPU_COUNT CPU(s)" + i2cset -y 4 0x70 0x00 0x00 b # VDD 0 - PAGE set i2cset -y 4 0x70 0x01 0x80 b # VDD 0 i2cset -y 4 0x70 0x00 0x01 b # VCS 0 - PAGE set @@ -7,10 +22,13 @@ i2cset -y 4 0x70 0x01 0x80 b # VCS 0 i2cset -y 4 0x70 0x00 0x00 b # VCS 0 - PAGE reset i2cset -y 4 0x73 0x00 0x00 b # VDN 0 - PAGE set i2cset -y 4 0x73 0x01 0x80 b # VDN 0 -i2cset -y 5 0x70 0x00 0x00 b # VDD 1 - PAGE set -i2cset -y 5 0x70 0x01 0x80 b # VDD 1 -i2cset -y 5 0x70 0x00 0x01 b # VCS 1 - PAGE set -i2cset -y 5 0x70 0x01 0x80 b # VCS 1 -i2cset -y 5 0x70 0x00 0x00 b # VCS 1 - PAGE reset -i2cset -y 5 0x73 0x00 0x00 b # VDN 1 - PAGE set -i2cset -y 5 0x73 0x01 0x80 b # VDN 1 + +if [ $CPU_COUNT -gt 1 ]; then + i2cset -y 5 0x70 0x00 0x00 b # VDD 1 - PAGE set + i2cset -y 5 0x70 0x01 0x80 b # VDD 1 + i2cset -y 5 0x70 0x00 0x01 b # VCS 1 - PAGE set + i2cset -y 5 0x70 0x01 0x80 b # VCS 1 + i2cset -y 5 0x70 0x00 0x00 b # VCS 1 - PAGE reset + i2cset -y 5 0x73 0x00 0x00 b # VDN 1 - PAGE set + i2cset -y 5 0x73 0x01 0x80 b # VDN 1 +fi diff --git a/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-enable.sh b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-enable.sh index 98e585cc2..2621c9e24 100644 --- a/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-enable.sh +++ b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-enable.sh @@ -1,5 +1,20 @@ #!/bin/sh +# Get CPU count +CPU_COUNT=1 +STATUS_FLAGS=$(i2cget -y 12 0x31 0x7) +if [ $? != 0 ]; then + STATUS_FLAGS=$(i2cget -y 12 0x31 0x7) +fi +if [ $? != 0 ]; then + STATUS_FLAGS=$(i2cget -y 12 0x31 0x7) +fi +CPU_PRESENT_FLAG_N=$(( ${STATUS_FLAGS} & 0x20 )) +if [ $CPU_PRESENT_FLAG_N != 0 ]; then + CPU_COUNT=$(( ${CPU_COUNT} + 1 )) +fi +echo "Found $CPU_COUNT CPU(s)" + i2cset -y 4 0x70 0x00 0x00 b # VDD 0 - PAGE set i2cset -y 4 0x70 0x01 0xB0 b # VDD 0 i2cset -y 4 0x70 0x00 0x01 b # VCS 0 - PAGE set @@ -7,10 +22,13 @@ i2cset -y 4 0x70 0x01 0xB0 b # VCS 0 i2cset -y 4 0x70 0x00 0x00 b # VCS 0 - PAGE reset i2cset -y 4 0x73 0x00 0x00 b # VDN 0 - PAGE set i2cset -y 4 0x73 0x01 0xB0 b # VDN 0 -i2cset -y 5 0x70 0x00 0x00 b # VDD 1 - PAGE set -i2cset -y 5 0x70 0x01 0xB0 b # VDD 1 -i2cset -y 5 0x70 0x00 0x01 b # VCS 1 - PAGE set -i2cset -y 5 0x70 0x01 0xB0 b # VCS 1 -i2cset -y 5 0x70 0x00 0x00 b # VCS 1 - PAGE reset -i2cset -y 5 0x73 0x00 0x00 b # VDN 1 - PAGE set -i2cset -y 5 0x73 0x01 0xB0 b # VDN 1 + +if [ $CPU_COUNT -gt 1 ]; then + i2cset -y 5 0x70 0x00 0x00 b # VDD 1 - PAGE set + i2cset -y 5 0x70 0x01 0xB0 b # VDD 1 + i2cset -y 5 0x70 0x00 0x01 b # VCS 1 - PAGE set + i2cset -y 5 0x70 0x01 0xB0 b # VCS 1 + i2cset -y 5 0x70 0x00 0x00 b # VCS 1 - PAGE reset + i2cset -y 5 0x73 0x00 0x00 b # VDN 1 - PAGE set + i2cset -y 5 0x73 0x01 0xB0 b # VDN 1 +fi diff --git a/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-workaround.sh b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-workaround.sh index 75ec8caed..882f1637c 100644 --- a/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-workaround.sh +++ b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-workaround.sh @@ -1,7 +1,23 @@ #!/bin/sh +# Get CPU count +CPU_COUNT=1 +STATUS_FLAGS=$(i2cget -y 12 0x31 0x7) +if [ $? != 0 ]; then + STATUS_FLAGS=$(i2cget -y 12 0x31 0x7) +fi +if [ $? != 0 ]; then + STATUS_FLAGS=$(i2cget -y 12 0x31 0x7) +fi +CPU_PRESENT_FLAG_N=$(( ${STATUS_FLAGS} & 0x20 )) +if [ $CPU_PRESENT_FLAG_N != 0 ]; then + CPU_COUNT=$(( ${CPU_COUNT} + 1 )) +fi +echo "Found $CPU_COUNT CPU(s)" + i2cset -y 4 0x28 0x2E 0x23 b # VDD/VCS 0 i2cset -y 4 0x2B 0x2E 0x23 b # VDN 0 -i2cset -y 5 0x28 0x2E 0x23 b # VDD/VCS 1 -i2cset -y 5 0x2B 0x2E 0x23 b # VDN 1 - +if [ $CPU_COUNT -gt 1 ]; then + i2cset -y 5 0x28 0x2E 0x23 b # VDD/VCS 1 + i2cset -y 5 0x2B 0x2E 0x23 b # VDN 1 +fi diff --git a/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/vrm-control/vrm.sh b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/vrm-control/vrm.sh index 78329e3d7..86d5f1dd6 100644 --- a/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/vrm-control/vrm.sh +++ b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/vrm-control/vrm.sh @@ -1,3 +1,22 @@ #!/bin/sh -vrm-control.sh vdna=1.0 vdnb=1.0 +# Get CPU count +CPU_COUNT=1 +STATUS_FLAGS=$(i2cget -y 12 0x31 0x7) +if [ $? != 0 ]; then + STATUS_FLAGS=$(i2cget -y 12 0x31 0x7) +fi +if [ $? != 0 ]; then + STATUS_FLAGS=$(i2cget -y 12 0x31 0x7) +fi +CPU_PRESENT_FLAG_N=$(( ${STATUS_FLAGS} & 0x20 )) +if [ $CPU_PRESENT_FLAG_N != 0 ]; then + CPU_COUNT=$(( ${CPU_COUNT} + 1 )) +fi +echo "Found $CPU_COUNT CPU(s)" + +if [ $CPU_COUNT -gt 1 ]; then + vrm-control.sh vdna=1.0 vdnb=1.0 +else + vrm-control.sh vdna=1.0 +fi |