summaryrefslogtreecommitdiff
path: root/meta-ibm/meta-witherspoon/recipes-phosphor/chassis
diff options
context:
space:
mode:
Diffstat (limited to 'meta-ibm/meta-witherspoon/recipes-phosphor/chassis')
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control.bb4
-rwxr-xr-xmeta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-disable.sh16
-rwxr-xr-xmeta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-disable@.service16
-rwxr-xr-xmeta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-enable.sh16
-rwxr-xr-x[-rw-r--r--]meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-enable@.service (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/swift/avsbus-enable@.service)6
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds.bb2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control.bb20
-rwxr-xr-xmeta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control/mihawk/ir35221-unbind-bind.sh81
8 files changed, 147 insertions, 14 deletions
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control.bb
index 74e0968d3..2e98aaf90 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control.bb
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control.bb
@@ -1,7 +1,7 @@
-SUMMARY = "Witherspoon AVSBus control"
+SUMMARY = "AVSBus control"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit obmc-phosphor-systemd
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-disable.sh b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-disable.sh
new file mode 100755
index 000000000..96f6cf884
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/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 0x72 0x00 0x00 b # VDN 0 - PAGE set
+i2cset -y 4 0x72 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 0x72 0x00 0x00 b # VDN 1 - PAGE set
+i2cset -y 5 0x72 0x01 0x80 b # VDN 1
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-disable@.service b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-disable@.service
new file mode 100755
index 000000000..7a1df9970
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-disable@.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Disable the AVS bus on the VRMs
+Wants=op-power-start@.service
+After=op-power-start@.service
+Before=avsbus-enable@%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-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-enable.sh b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-enable.sh
new file mode 100755
index 000000000..67acc730b
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/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 0x72 0x00 0x00 b # VDN 0 - PAGE set
+i2cset -y 4 0x72 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 0x72 0x00 0x00 b # VDN 1 - PAGE set
+i2cset -y 5 0x72 0x01 0xB0 b # VDN 1
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/swift/avsbus-enable@.service b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-enable@.service
index 45776aa71..810c92e23 100644..100755
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/swift/avsbus-enable@.service
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-enable@.service
@@ -1,12 +1,12 @@
[Unit]
Description=Enable the AVS bus on VRMs
-Wants=op-power-start@%i.service
-Before=op-power-start@%i.service
+Wants=avsbus-disable@%i.service
+After=avsbus-disable@%i.service
Conflicts=obmc-chassis-poweroff@%i.target
ConditionPathExists=!/run/openbmc/chassis@%i-on
[Service]
-ExecStart={bindir}/avsbus-enable.sh
+ExecStart=/usr/bin/env avsbus-enable.sh
SyslogIdentifier=avsbus-enable.sh
Type=oneshot
RemainAfterExit=yes
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds.bb
index 891620b0c..af8babb53 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds.bb
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds.bb
@@ -1,7 +1,7 @@
SUMMARY = "Power device Workarounds"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit obmc-phosphor-systemd
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control.bb
index fe9463441..8a0d7a6eb 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control.bb
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control.bb
@@ -1,8 +1,8 @@
-SUMMARY = "Witherspoon VRM Overrides"
-DESCRIPTION = "Sets Witherspoon VRMs to custom voltages"
+SUMMARY = "VRM Overrides"
+DESCRIPTION = "Sets VRMs to custom voltages"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit obmc-phosphor-systemd
@@ -10,15 +10,18 @@ inherit obmc-phosphor-systemd
RDEPENDS_${PN} += "i2c-tools bash"
S = "${WORKDIR}"
-SRC_URI += "file://vrm-control.sh \
- file://ir35221-unbind-bind.sh"
+SRC_URI = "file://ir35221-unbind-bind.sh"
+SRC_URI_append_ibm-ac-server = " file://vrm-control.sh"
do_install() {
install -d ${D}${bindir}
- install -m 0755 ${WORKDIR}/vrm-control.sh ${D}${bindir}/vrm-control.sh
install -m 0755 ${WORKDIR}/ir35221-unbind-bind.sh ${D}${bindir}/ir35221-unbind-bind.sh
}
+do_install_append_ibm-ac-server() {
+ install -m 0755 ${WORKDIR}/vrm-control.sh ${D}${bindir}/vrm-control.sh
+}
+
TMPL = "vrm-control@.service"
INSTFMT = "vrm-control@{0}.service"
TGTFMT_ON = "obmc-chassis-poweron@{0}.target"
@@ -32,7 +35,8 @@ TMPL_ON_IRUNBIND = "ir35221-on-unbind@.service"
INSTFMT_ON_IRUNBIND = "ir35221-on-unbind@{0}.service"
FMT_ON_IRUNBIND = "../${TMPL_ON_IRUNBIND}:${TGTFMT_ON}.requires/${INSTFMT_ON_IRUNBIND}"
-SYSTEMD_SERVICE_${PN} += "${TMPL} ${TMPL_ON_IRUNBIND} ${TMPL_ON_IRBIND}"
-SYSTEMD_LINK_${PN} += "${@compose_list(d, 'FMT_ON', 'OBMC_CHASSIS_INSTANCES')}"
+SYSTEMD_SERVICE_${PN} += "${TMPL_ON_IRUNBIND} ${TMPL_ON_IRBIND}"
+SYSTEMD_SERVICE_${PN}_append_ibm-ac-server = " ${TMPL}"
+SYSTEMD_LINK_${PN}_append_ibm-ac-server = " ${@compose_list(d, 'FMT_ON', 'OBMC_CHASSIS_INSTANCES')}"
SYSTEMD_LINK_${PN} += "${@compose_list(d, 'FMT_ON_IRBIND', 'OBMC_CHASSIS_INSTANCES')}"
SYSTEMD_LINK_${PN} += "${@compose_list(d, 'FMT_ON_IRUNBIND', 'OBMC_CHASSIS_INSTANCES')}"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control/mihawk/ir35221-unbind-bind.sh b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control/mihawk/ir35221-unbind-bind.sh
new file mode 100755
index 000000000..27ca3b9dc
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control/mihawk/ir35221-unbind-bind.sh
@@ -0,0 +1,81 @@
+#!/bin/bash
+# #########################################################
+# Script to run on mihawk BMC to unbind/bind the ir35221
+# driver's devices
+
+status=0
+max_retries=3
+driver_path="/sys/bus/i2c/drivers/ir35221/"
+platform_path="/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/"
+
+unbind_driver () {
+ echo $1 > $driver_path/unbind
+}
+
+bind_driver () {
+ device=$1
+ tries=0
+
+ until [ $tries -ge $max_retries ]; do
+ tries=$((tries+1))
+ ret=0
+ echo $device > $driver_path/bind || ret=$?
+ if [ $ret -ne 0 ]; then
+ echo "VRM $1 bind failed. Try $tries"
+ sleep 1
+ else
+ tries=$((max_retries+1))
+ fi
+ done
+
+ #Script will return a nonzero value if any binds fail.
+ if [ $ret -ne 0 ]; then
+ status=$ret
+ fi
+}
+
+if [ "$1" = "unbind" ]
+then
+ if [ -e $driver_path/4-0070 ]
+ then
+ unbind_driver "4-0070"
+ fi
+
+ if [ -e $driver_path/4-0072 ]
+ then
+ unbind_driver "4-0072"
+ fi
+
+ if [ -e $driver_path/5-0070 ]
+ then
+ unbind_driver "5-0070"
+ fi
+
+ if [ -e $driver_path/5-0072 ]
+ then
+ unbind_driver "5-0072"
+ fi
+elif [ "$1" = "bind" ]
+then
+ if [ -e $platform_path/1e78a140.i2c-bus/i2c-4/4-0070 ]
+ then
+ bind_driver "4-0070"
+ fi
+
+ if [ -e $platform_path/1e78a140.i2c-bus/i2c-4/4-0072 ]
+ then
+ bind_driver "4-0072"
+ fi
+
+ if [ -e $platform_path/1e78a180.i2c-bus/i2c-5/5-0070 ]
+ then
+ bind_driver "5-0070"
+ fi
+
+ if [ -e $platform_path/1e78a180.i2c-bus/i2c-5/5-0072 ]
+ then
+ bind_driver "5-0072"
+ fi
+fi
+
+exit $status