summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-disable.sh32
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-enable.sh32
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-workaround.sh22
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/vrm-control/vrm.sh21
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
OpenPOWER on IntegriCloud