diff options
Diffstat (limited to 'meta-ibm/meta-witherspoon/recipes-phosphor/chassis')
-rw-r--r-- | meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control.bb | 4 | ||||
-rwxr-xr-x | meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-disable.sh | 16 | ||||
-rwxr-xr-x | meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-disable@.service | 16 | ||||
-rwxr-xr-x | meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-enable.sh | 16 | ||||
-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.bb | 2 | ||||
-rw-r--r-- | meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control.bb | 20 | ||||
-rwxr-xr-x | meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control/mihawk/ir35221-unbind-bind.sh | 81 |
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 |