summaryrefslogtreecommitdiff
path: root/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility
diff options
context:
space:
mode:
authorCharles Boyer <Charles.Boyer@fii-usa.com>2022-02-09 18:17:35 +0300
committerCharles Boyer <Charles.Boyer@fii-usa.com>2022-04-21 22:53:53 +0300
commitaf721717cd78b780c3eaa4be767b75a575951d7f (patch)
tree4bfe49c3e09b15d1012cfb617cec63636aa4772f /meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility
parent3d071ee73fe297f86833ac2db25384852255ac01 (diff)
downloadopenbmc-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')
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.sh5
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh22
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-lib.sh18
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)