witherspoon:VDDR/VDN leakage and GPU PGOOD updates
This will disable GPU pgood from causing system faults
and workaround a leakage issue with memory.
This update came in one change set from the power team.
Resolves openbmc/openbmc#1958
Change-Id: I00c3d0f3cdd759d3b77e748ed9808e10dfde06db
Signed-off-by: Andrew Geissler <andrewg@us.ibm.com>
diff --git a/meta-witherspoon/recipes-phosphor/chassis/vcs-pre-post/vcs_on.sh b/meta-witherspoon/recipes-phosphor/chassis/vcs-pre-post/vcs_on.sh
index 4837575..3713662 100644
--- a/meta-witherspoon/recipes-phosphor/chassis/vcs-pre-post/vcs_on.sh
+++ b/meta-witherspoon/recipes-phosphor/chassis/vcs-pre-post/vcs_on.sh
@@ -9,3 +9,37 @@
i2cset -y 5 0x70 0x00 0x01 b
i2cset -y 5 0x70 0x02 0x1A b #respond to OPERATION
i2cset -y 5 0x70 0x00 0x00 b
+
+# unbind ucd driver to permit i2cset
+ucd_retries=5
+ucd=
+
+ucdpath="/sys/bus/i2c/drivers/ucd9000"
+if [ -e $ucdpath ]
+then
+ ucd=`ls -1 $ucdpath | grep 64`
+ if [ -n "$ucd" ]
+ then
+ echo $ucd > $ucdpath/unbind
+ fi
+fi
+
+
+# re-enable VCS in system PGOOD
+sleep 1
+#SYSTEM_RESET_CONFIG
+i2cset -y 11 0x64 0xD2 0x09 0xFF 0xFF 0x27 0x0A 0x00 0x06 0x00 0x00 0x02 i
+
+# re-bind ucd driver only if we unbound it (i.e. ucd has been set with a value)
+if [ -e $ucdpath -a -n "$ucd" ]; then
+ j=0
+ until [ $j -ge $ucd_retries ] || [ -e $ucdpath/$ucd ]; do
+ j=$((j+1))
+ echo $ucd > $ucdpath/bind || ret=$?
+ if [ $j -gt 1 ]; then
+ echo "rebinding UCD driver. Retry number $j"
+ sleep 1
+ fi
+ done
+ if [ ! -e $ucdpath/$ucd ]; then exit $ret; fi
+fi