diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2019-07-18 00:35:55 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2019-07-24 04:18:54 +0300 |
commit | a29c2d5e6187adb2c309d049226085eb1283b555 (patch) | |
tree | 0fa19fd4aa4a95779e503e235109b769a013138d /meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control/ibm-ac-server/ir35221-unbind-bind.sh | |
parent | ead9ee683e5829b00afae3032df6d4e505f492b6 (diff) | |
download | openbmc-a29c2d5e6187adb2c309d049226085eb1283b555.tar.xz |
meta-ibm: use ibm-ac-server MACHINEOVERRIDE
Use an override in bbappends in meta-witherspoon as described and
recommended in the "following best practices when creating layers"
section of the the Yocto development tasks manual.
ibm-ac-server represents common machine configuration shared by all of
IBMs "Accelerated Compute" class of servers. Apply it wherever any
variables are un-bounded by any override.
This enables more flexible use of meta-witherspoon in build
configurations, and easy addition of machines to the layer.
(From meta-ibm rev: bb0e1d0699a4b9905c053c94af7d882cd71779fc)
Change-Id: I82f7338b0d7a64b5e7a67e19bcdff07f48a332d4
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control/ibm-ac-server/ir35221-unbind-bind.sh')
-rw-r--r-- | meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control/ibm-ac-server/ir35221-unbind-bind.sh | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control/ibm-ac-server/ir35221-unbind-bind.sh b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control/ibm-ac-server/ir35221-unbind-bind.sh new file mode 100644 index 000000000..85d77412d --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control/ibm-ac-server/ir35221-unbind-bind.sh @@ -0,0 +1,81 @@ +#!/bin/bash +# ######################################################### +# Script to run on witherspoon 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-0071 ] + then + unbind_driver "4-0071" + fi + + if [ -e $driver_path/5-0070 ] + then + unbind_driver "5-0070" + fi + + if [ -e $driver_path/5-0071 ] + then + unbind_driver "5-0071" + 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-0071 ] + then + bind_driver "4-0071" + 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-0071 ] + then + bind_driver "5-0071" + fi +fi + +exit $status |