diff options
author | Charles Boyer <Charles.Boyer@fii-usa.com> | 2022-02-09 18:17:35 +0300 |
---|---|---|
committer | Charles Boyer <Charles.Boyer@fii-usa.com> | 2022-04-21 22:53:53 +0300 |
commit | af721717cd78b780c3eaa4be767b75a575951d7f (patch) | |
tree | 4bfe49c3e09b15d1012cfb617cec63636aa4772f /meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility | |
parent | 3d071ee73fe297f86833ac2db25384852255ac01 (diff) | |
download | openbmc-af721717cd78b780c3eaa4be767b75a575951d7f.tar.xz |
meta-fii: meta-kudo: Use I2C array definitions in kudo-lib.sh
Adds the I2C bus and address in array form to kudo-lib.sh, and
replaces the hardcoded values with references across Kudo layer.
Signed-off-by: Charles Boyer <Charles.Boyer@fii-usa.com>
Change-Id: I69bbff444e013e61d7f7fd5051612a6d4adc8ded
Diffstat (limited to 'meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility')
3 files changed, 28 insertions, 17 deletions
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.sh b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.sh index 23a65c1bd0..533fa8e4cc 100644 --- a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.sh +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.sh @@ -10,12 +10,11 @@ ver='' function fw_rev() { case $1 in cpldb) - rsp=($(i2cget -y -f -a 13 0x76 0x00 i 5)) + rsp=($(i2cget -y -f -a "${I2C_BMC_CPLD[0]}" 0x"${I2C_BMC_CPLD[1]}" 0x00 i 5)) ver=$(printf '%d.%d.%d.%d' "${rsp[5]}" "${rsp[4]}" "${rsp[3]}" "${rsp[2]}") ;; 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)) + rsp=($(i2cget -y -f -a "${I2C_MB_CPLD[0]}" 0x"${I2C_MB_CPLD[1]}" 0x00 i 5)) ver=$(printf '%d.%d.%d.%d' "${rsp[5]}" "${rsp[4]}" "${rsp[3]}" "${rsp[2]}") ;; *) diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh index 6f9ec72208..42e4af8c06 100644 --- a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh @@ -6,14 +6,12 @@ # shellcheck disable=SC2086 source /usr/libexec/kudo-fw/kudo-lib.sh -devpath="/sys/bus/i2c/devices/13-0077/driver" - function fwbios() { KERNEL_FIU_ID="c0000000.spi" KERNEL_SYSFS_FIU="/sys/bus/platform/drivers/NPCM-FIU" # switch the SPI mux from Host to BMC - i2cset -y -f -a 13 0x76 0x10 0x01 + i2cset -y -f -a ${I2C_BMC_CPLD[0]} 0x${I2C_BMC_CPLD[1]} 0x10 0x01 # rescan the spi bus if [ -d "${KERNEL_SYSFS_FIU}/${KERNEL_FIU_ID}" ]; then @@ -41,7 +39,7 @@ function fwbios() { if [ -d "${KERNEL_SYSFS_FIU}/${KERNEL_FIU_ID}" ]; then echo "${KERNEL_FIU_ID}" > "${KERNEL_SYSFS_FIU}"/unbind fi - i2cset -y -f -a 13 0x76 0x10 0x00 + i2cset -y -f -a ${I2C_BMC_CPLD[0]} 0x${I2C_BMC_CPLD[1]} 0x10 0x00 # Disable LPI mode NV_SI_CPU_LPI_FREQ_DISABLE for SCP 1.06 and older. if [ "$(nvparm -s 0x1 -o 0x114090)" -ne 0 ]; then @@ -106,9 +104,7 @@ function fwscp() { scp_eeprom_sel=$(get_gpio_ctrl BACKUP_SCP_SEL) set_gpio_ctrl BACKUP_SCP_SEL 1 set_gpio_ctrl CPU_EEPROM_SEL 0 - #shellcheck disable=SC2010 - I2C_BUS_DEV=$(ls -l $devpath/"13-0077/" | grep channel-0 | awk '{ print $11}' | cut -c 8-) - if [ "$(ampere_eeprom_prog -b $I2C_BUS_DEV -s 0x50 -p -f $1)" -ne 0 ]; then + if [ "$(ampere_eeprom_prog -b ${I2C_CPU_EEPROM[0]} -s 0x${I2C_CPU_EEPROM[1]} -p -f $1)" -ne 0 ]; then echo "SCP eeprom update failed" >&2 return 1 fi @@ -125,9 +121,7 @@ function fwscpback() { scp_eeprom_sel=$(get_gpio_ctrl BACKUP_SCP_SEL) set_gpio_ctrl BACKUP_SCP_SEL 0 set_gpio_ctrl CPU_EEPROM_SEL 0 - #shellcheck disable=SC2010 - I2C_BUS_DEV=$(ls -l $devpath/"13-0077/" | grep channel-0 | awk '{ print $11}' | cut -c 8-) - if [ "$(ampere_eeprom_prog -b $I2C_BUS_DEV -s 0x50 -p -f $1)" -ne 0 ]; then + if [ "$(ampere_eeprom_prog -b ${I2C_CPU_EEPROM[0]} -s 0x${I2C_CPU_EEPROM[1]} -p -f $1)" -ne 0 ]; then echo "SCP BACKUP eeprom update failed" >&2 return 1 fi @@ -149,14 +143,14 @@ function fwmb_pwr_seq(){ echo "The file $2 file does not exist" return 1 fi - echo 32-0040 > /sys/bus/i2c/drivers/adm1266/unbind - echo 32-0041 > /sys/bus/i2c/drivers/adm1266/unbind + echo ${I2C_MB_PWRSEQ1[0]}-00${I2C_MB_PWRSEQ1[1]} > /sys/bus/i2c/drivers/adm1266/unbind + echo ${I2C_MB_PWRSEQ2[0]}-00${I2C_MB_PWRSEQ2[1]} > /sys/bus/i2c/drivers/adm1266/unbind if [ "$(adm1266_fw_fx $1 $2)" -ne 0 ]; then echo "The power seq flash failed" >&2 return 1 fi - echo 32-0040 > /sys/bus/i2c/drivers/adm1266/bind - echo 32-0041 > /sys/bus/i2c/drivers/adm1266/bind + echo ${I2C_MB_PWRSEQ1[0]}-00${I2C_MB_PWRSEQ1[1]} > /sys/bus/i2c/drivers/adm1266/bind + echo ${I2C_MB_PWRSEQ2[0]}-00${I2C_MB_PWRSEQ2[1]} > /sys/bus/i2c/drivers/adm1266/bind return 0 } diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-lib.sh b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-lib.sh index 063cc55c9c..fd0aa20557 100644 --- a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-lib.sh +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-lib.sh @@ -1,5 +1,8 @@ #!/bin/bash +# Disable check for usage of the definitions within kudo-lib.sh +# shellcheck disable=SC2034 + # get_gpio_num # Dynamically obtains GPIO number from chip base and I2C expanders through line name # line-name @@ -36,3 +39,18 @@ function get_gpio_ctrl() { cat /sys/class/gpio/gpio"$GPIO_NUM"/value echo "$GPIO_NUM" > /sys/class/gpio/unexport } + +# I2C Definitions +# The array is (<bus> <address>), where address is in hexadecimal. +I2C_BMC_CPLD=(13 76) +I2C_MB_CPLD=(34 76) +I2C_S0_SMPRO=(2 4f) +I2C_S1_SMPRO=(2 4e) +I2C_FANCTRL=(18 2c) +I2C_BMC_PWRSEQ=(14 59) +I2C_MB_PWRSEQ1=(32 40) +I2C_MB_PWRSEQ2=(32 41) +I2C_CPU_EEPROM=(40 50) +I2C_S1_CLKGEN=(37 68) +I2C_S1_PCIE_CLKGEN1=(16 6a) +I2C_S1_PCIE_CLKGEN2=(17 67) |