#!/bin/bash BMC_CPLD_VER_FILE="/run/cpld0.version" MB_CPLD_VER_FILE="/run/cpld1.version" ver='' function fw_rev() { case $1 in cpldb) rsp=($(i2cget -y -f -a 13 0x76 0x00 i 5)) ver=$(printf '%d.%d.%d.%d' ${rsp[6]} ${rsp[5]} ${rsp[4]} ${rsp[3]}) ;; cpldm) I2C_BUS_DEV=$(readlink "/sys/bus/i2c/devices/4-0077/channel-2" | cut -c 8-) rsp=($(i2cget -y -f -a $I2C_BUS_DEV 0x76 0x00 i 5)) ver=$(printf '%d.%d.%d.%d' ${rsp[6]} ${rsp[5]} ${rsp[4]} ${rsp[3]}) ;; *) ;; esac } fw_rev cpldb echo "BMC CPLD version : ${ver}" echo "${ver}" > "${BMC_CPLD_VER_FILE}" fw_rev cpldm echo "MB CPLD version : ${ver}" echo "${ver}" > "${MB_CPLD_VER_FILE}"