diff options
Diffstat (limited to 'meta-facebook/meta-wedge100/recipes-utils/openbmc-utils/files/board-utils.sh')
-rw-r--r-- | meta-facebook/meta-wedge100/recipes-utils/openbmc-utils/files/board-utils.sh | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/meta-facebook/meta-wedge100/recipes-utils/openbmc-utils/files/board-utils.sh b/meta-facebook/meta-wedge100/recipes-utils/openbmc-utils/files/board-utils.sh new file mode 100644 index 0000000..a999a9c --- /dev/null +++ b/meta-facebook/meta-wedge100/recipes-utils/openbmc-utils/files/board-utils.sh @@ -0,0 +1,81 @@ +# Copyright 2015-present Facebook. All Rights Reserved. + +SYSCPLD_SYSFS_DIR="/sys/class/i2c-adapter/i2c-12/12-0031" +PWR_MAIN_SYSFS="${SYSCPLD_SYSFS_DIR}/pwr_main_n" +PWR_USRV_SYSFS="${SYSCPLD_SYSFS_DIR}/pwr_usrv_en" +PWR_USRV_BTN_SYSFS="${SYSCPLD_SYSFS_DIR}/pwr_usrv_btn_en" +SLOTID_SYSFS="${SYSCPLD_SYSFS_DIR}/slotid" + +wedge_iso_buf_enable() { + # TODO, no isolation buffer + return 0 +} + +wedge_iso_buf_disable() { + # TODO, no isolation buffer + return 0 +} + +wedge_is_us_on() { + local val n retries prog + if [ $# -gt 0 ]; then + retries="$1" + else + retries=1 + fi + if [ $# -gt 1 ]; then + prog="$2" + else + prog="" + fi + if [ $# -gt 2 ]; then + default=$3 # value 0 means defaul is 'ON' + else + default=1 + fi + val=$(cat $PWR_USRV_SYSFS 2> /dev/null | head -n 1) + if [ -z "$val" ]; then + return $default + elif [ "$val" == "0x1" ]; then + return 0 # powered on + else + return 1 + fi +} + +wedge_board_type() { + echo 'WEDGE100' +} + +wedge_slot_id() { + printf "%d\n" $(cat $SLOTID_SYSFS) +} + +wedge_board_rev() { + local val0 val1 val2 + val0=$(gpio_get BOARD_REV_ID0) + val1=$(gpio_get BOARD_REV_ID1) + val2=$(gpio_get BOARD_REV_ID2) + echo $((val0 | (val1 << 1) | (val2 << 2))) +} + +# Should we enable OOB interface or not +wedge_should_enable_oob() { + # wedge100 uses BMC MAC since beginning + return -1 +} + +wedge_power_on_board() { + local val + # power on main power, uServer power, and enable power button + val=$(cat $PWR_MAIN_SYSFS | head -n 1) + if [ "$val" != "0x1" ]; then + echo 1 > $PWR_MAIN_SYSFS + sleep 2 + fi + val=$(cat $PWR_USRV_BTN_SYSFS | head -n 1) + if [ "$val" != "0x1" ]; then + echo 1 > $PWR_USRV_BTN_SYSFS + sleep 1 + fi +} |