summaryrefslogtreecommitdiffstats
path: root/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control
diff options
context:
space:
mode:
authorMatt Spinler <spinler@us.ibm.com>2016-12-20 10:59:13 -0600
committerMatt Spinler <spinler@us.ibm.com>2016-12-20 14:49:57 -0600
commit76e9a067929ff99ba7bc9197ecbb450b1960ee4d (patch)
treea776d446e34bf62c2fc4d19726b3cfb222dda13a /meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control
parent5c7c388a06767fbe48f093a7df7137309f3fed55 (diff)
downloadtalos-openbmc-76e9a067929ff99ba7bc9197ecbb450b1960ee4d.tar.gz
talos-openbmc-76e9a067929ff99ba7bc9197ecbb450b1960ee4d.zip
Witherspoon AVS Bus Control
Perform an AVS bus workaround on the VRMs attached to the processor. The AVS bus is how the processor talks to the VRMs. After the workaround, this also provides services to disable the AVS bus so a VRM override can be run, and then enable it again afterwards. Change-Id: I68c48ffaafe5d7125556aa9d36cf11bf55ca93ac Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Diffstat (limited to 'meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control')
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-disable.sh12
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-disable@.service14
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-enable.sh12
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-enable@.service14
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-workaround.sh7
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-workaround@.service14
6 files changed, 73 insertions, 0 deletions
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-disable.sh b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-disable.sh
new file mode 100644
index 000000000..1d7977c31
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-disable.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+i2cset -y 4 0x70 0x01 0x80 b # VDD 0
+i2cset -y 4 0x70 0x00 0x01 b # VCS 0 - PAGE set
+i2cset -y 4 0x70 0x01 0x80 b # VCS 0
+i2cset -y 4 0x70 0x00 0x00 b # VCS 0 - PAGE reset
+i2cset -y 4 0x71 0x01 0x80 b # VDN 0
+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 0x71 0x01 0x80 b # VDN 1
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-disable@.service b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-disable@.service
new file mode 100644
index 000000000..1970f00b4
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-disable@.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Disable the AVS bus on the VRMs
+Wants=avsbus-workaround@%i.service
+After=avsbus-workaround@%i.service
+Before=vrm-control@%i.service
+Conflicts=obmc-chassis-stop@%i.target
+
+[Service]
+ExecStart={bindir}/avsbus-disable.sh
+Type=oneshot
+RemainAfterExit=yes
+
+[Install]
+WantedBy=obmc-chassis-start@%i.target
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-enable.sh b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-enable.sh
new file mode 100644
index 000000000..8e857cf1c
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-enable.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+i2cset -y 4 0x70 0x01 0xB0 b # VDD 0
+i2cset -y 4 0x70 0x00 0x01 b # VCS 0 - PAGE set
+i2cset -y 4 0x70 0x01 0xB0 b # VCS 0
+i2cset -y 4 0x70 0x00 0x00 b # VCS 0 - PAGE reset
+i2cset -y 4 0x71 0x01 0xB0 b # VDN 0
+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 0x71 0x01 0xB0 b # VDN 1
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-enable@.service b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-enable@.service
new file mode 100644
index 000000000..9032f68df
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-enable@.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Enable the AVS bus on VRMs
+Wants=vrm-control@%i.service
+After=vrm-control@%i.service
+Before=vcs_off@%i.service
+Conflicts=obmc-chassis-stop@%i.target
+
+[Service]
+ExecStart={bindir}/avsbus-enable.sh
+Type=oneshot
+RemainAfterExit=yes
+
+[Install]
+WantedBy=obmc-chassis-start@%i.target
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-workaround.sh b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-workaround.sh
new file mode 100644
index 000000000..775c45d5d
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-workaround.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+i2cset -y 4 0x12 0x2E 0x23 b # VDD/VCS 0
+i2cset -y 4 0x13 0x2E 0x23 b # VDN 0
+i2cset -y 5 0x12 0x2E 0x23 b # VDD/VCS 1
+i2cset -y 5 0x13 0x2E 0x23 b # VDN 1
+
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-workaround@.service b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-workaround@.service
new file mode 100644
index 000000000..566237140
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/avsbus-workaround@.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Perform AVS bus workaround on VRMs
+Wants=ucd_disable_vcs@%i.service
+After=ucd_disable_vcs@%i.service
+Before=avsbus-disable@%i.service
+Conflicts=obmc-chassis-stop@%i.target
+
+[Service]
+ExecStart={bindir}/avsbus-workaround.sh
+Type=oneshot
+RemainAfterExit=yes
+
+[Install]
+WantedBy=obmc-chassis-start@%i.target
OpenPOWER on IntegriCloud