summaryrefslogtreecommitdiffstats
path: root/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control')
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-disable.sh16
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-disable@.service16
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-enable.sh16
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-enable@.service15
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-workaround.sh7
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-workaround@.service16
6 files changed, 86 insertions, 0 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
new file mode 100644
index 000000000..1c3600088
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-disable.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+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
+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
diff --git a/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-disable@.service b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-disable@.service
new file mode 100644
index 000000000..424aa2394
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-disable@.service
@@ -0,0 +1,16 @@
+[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-poweroff@%i.target
+ConditionPathExists=!/run/openbmc/chassis@%i-on
+
+[Service]
+ExecStart=/usr/bin/env avsbus-disable.sh
+SyslogIdentifier=avsbus-disable.sh
+Type=oneshot
+RemainAfterExit=yes
+
+[Install]
+WantedBy=obmc-chassis-poweron@%i.target
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
new file mode 100644
index 000000000..98e585cc2
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-enable.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+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
+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
diff --git a/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-enable@.service b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-enable@.service
new file mode 100644
index 000000000..b7fb41e24
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-enable@.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Enable the AVS bus on VRMs
+Wants=vrm-control@%i.service
+After=vrm-control@%i.service
+Conflicts=obmc-chassis-poweroff@%i.target
+ConditionPathExists=!/run/openbmc/chassis@%i-on
+
+[Service]
+ExecStart=/usr/bin/env avsbus-enable.sh
+SyslogIdentifier=avsbus-enable.sh
+Type=oneshot
+RemainAfterExit=yes
+
+[Install]
+WantedBy=obmc-chassis-poweron@%i.target
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
new file mode 100644
index 000000000..75ec8caed
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-workaround.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+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
+
diff --git a/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-workaround@.service b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-workaround@.service
new file mode 100644
index 000000000..156ef03c7
--- /dev/null
+++ b/meta-openbmc-machines/meta-openpower/meta-rcs/meta-talos/recipes-phosphor/chassis/avsbus-control/avsbus-workaround@.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Perform AVS bus workaround on VRMs
+Wants=op-power-start@.service
+After=op-power-start@.service
+Before=avsbus-disable@%i.service
+Conflicts=obmc-chassis-poweroff@%i.target
+ConditionPathExists=!/run/openbmc/chassis@%i-on
+
+[Service]
+ExecStart=/usr/bin/env avsbus-workaround.sh
+SyslogIdentifier=avsbus-workaround.sh
+Type=oneshot
+RemainAfterExit=yes
+
+[Install]
+WantedBy=obmc-chassis-poweron@%i.target
OpenPOWER on IntegriCloud