diff options
Diffstat (limited to 'meta-openbmc-machines/meta-openpower/meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control/lanyang_avsbus.sh')
-rwxr-xr-x | meta-openbmc-machines/meta-openpower/meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control/lanyang_avsbus.sh | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/meta-openbmc-machines/meta-openpower/meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control/lanyang_avsbus.sh b/meta-openbmc-machines/meta-openpower/meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control/lanyang_avsbus.sh deleted file mode 100755 index bf58defc8..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control/lanyang_avsbus.sh +++ /dev/null @@ -1,98 +0,0 @@ -#!/bin/sh -e -# AVSBus control for PMBUS voltage regulator modules (VRMs) -# Switches output voltage target between -# - VOUT_COMMAND register (AVSBus disabled, default on Zaius) -# - AVSBus target output (AVSBus enabled, voltage set by host) - -cpu0_i2c_bus="5" -cpu1_i2c_bus="6" -busses="$cpu0_i2c_bus $cpu1_i2c_bus" -vdd_i2c_addr_page="0x60:0x01" -vdn_i2c_addr_page="0x64:0x01" -vcs_i2c_addr_page="0x64:0x00" -addrs_pages="$vdd_i2c_addr_page $vdn_i2c_addr_page $vcs_i2c_addr_page" - -# Usage: vrm_set_page <bus> <i2c_address> <page> -vrm_set_page() -{ - i2cset -y $1 $2 0x00 $3 b -} - -# Usage: vrm_avs_enable <bus> <i2c_address> <page> -# Initializes the AVSBus VOUT setpoint to the value in PMBus VOUT_COMMAND -# Sets OPERATION PMBUS register to -# - Enable/Disable: On -# - VOUT Source: AVSBus Target Rail Voltage -# - AVSBus Copy: VOUT_COMMAND remains unchanged -# Writes to VOUT setpoint over AVSBus will persist after the VRM is switched to -# PMBus control. Switching back to AVSBus control restores this persisted -# setpoint rather than re-initializing to PMBus VOUT_COMMAND. This behavior is -# known to Intersil and writing VOUT_COMMAND over PMBus is the only workaround. -vrm_avs_enable() -{ - vrm_set_page "$@" - echo Enabling AVSBus on bus $1 VRM @$2 rail $3... - local vout_command=`i2cget -y $1 $2 0x21 w` - i2cset -y $1 $2 0x21 $vout_command w - i2cset -y $1 $2 0x01 0xb0 b -} - -# Usage: vrm_avs_disable <bus> <i2c_address> <page> -# Sets OPERATION PMBUS register to -# - Enable/Disable: On -# - VOUT Source: VOUT_COMMAND -# - AVSBus Copy: VOUT_COMMAND remains unchanged -vrm_avs_disable() -{ - vrm_set_page "$@" - echo Disabling AVSBus on bus $1 VRM @$2 rail $3... - i2cset -y $1 $2 0x01 0x80 b -} - -# Usage: vrm_vout_max_1v1 <bus> <i2c_address> <page> -# Sets VOUT_MAX to 1.1V -vrm_vout_max_1v1() -{ - vrm_set_page "$@" - echo Setting VOUT_MAX=[1.1V] on bus $1 VRM @$2 rail $3... - i2cset -y $1 $2 0x24 0x44c w -} - -# Usage: vrm_print <bus> <i2c_address> <page> -vrm_print() -{ - vrm_set_page "$@" - local operation=`i2cget -y $1 $2 0x01 b` - local vout=`i2cget -y $1 $2 0x8b w` - local iout=`i2cget -y $1 $2 0x8c w` - echo VRM on bus $1 @$2 rail $3: OPERATION=$operation VOUT=$vout IOUT=$iout -} - -# Usage: for_each_rail <command> -# <command> will be invoked with <bus> <i2c_address> <page> -for_each_rail() -{ - for bus in $busses - do - for addr_page in $addrs_pages - do - $1 $bus `echo $addr_page | tr : " "` - done - done -} - -if [ "$1" == "enable" ] -then - for_each_rail vrm_avs_enable -elif [ "$1" == "disable" ] -then - for_each_rail vrm_avs_disable -elif [ "$1" == "vdn_max" ] -then - addrs_pages="$vdn_i2c_addr_page" - for_each_rail vrm_vout_max_1v1 -else - for_each_rail vrm_print - echo "\"$0 <enable|disable>\" to control whether VRMs use AVSBus" - echo "\"$0 <vdn_max>\" to set VDN rails VOUT_MAX to 1.1V" -fi |