summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXP Chen <xiao-peng.chen@fii-na.com>2021-09-14 22:37:46 +0300
committerVivekanand Veeracholan <vveerach@google.com>2021-09-22 02:24:30 +0300
commit164a9c9f2d774276d5f5802e15e6c2299e43c04f (patch)
treeff00e424722bcb826d87a76621b064da3fdc41f7
parentc41b190cbad658242d54a7af3c56e9c5c9ca2a67 (diff)
downloadopenbmc-164a9c9f2d774276d5f5802e15e6c2299e43c04f.tar.xz
meta-fii/meta-kudo: Modify init_once.sh to separate EVT/DVT HW GPIOs
Signed-off-by: XP Chen <xiao-peng.chen@fii-na.com> Change-Id: I97ee9317df93480f68cd69ee3462f970970ba885
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/init_once.sh82
1 files changed, 49 insertions, 33 deletions
diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/init_once.sh b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/init_once.sh
index adb86f238..8231e3de8 100644
--- a/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/init_once.sh
+++ b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/init_once.sh
@@ -1,51 +1,67 @@
#!/bin/bash
source /usr/sbin/kudo-lib.sh
-# 0 for EVT. DVT will have a non-zero board version
+
+function set_mux_default(){
+ # set all mux route to CPU before power on host
+ # BMC_CPU_RTC_I2C_SEL #120
+ set_gpio_ctrl 120 out 1
+ # BMC_CPU_DDR_I2C_SEL #84
+ set_gpio_ctrl 84 out 1
+ # BMC_CPU_EEPROM_I2C_SEL #85
+ set_gpio_ctrl 85 out 1
+ # BMC_CPU_PMBUS_SEL #86
+ set_gpio_ctrl 86 out 1
+ # LED control
+ # LED_BMC_LIVE #7
+ set_gpio_ctrl 7 out 1
+
+ # SPI control
+ # Send command to CPLD to switch the bios spi interface to host
+ i2cset -y -f -a 13 0x76 0x10 0x00
+
+}
+
+# 0 - 63 EVT
+# 64 + DVT/PVT
boardver=$(printf '%d' `cat /sys/bus/i2c/drivers/fiicpld/34-0076/CMD00 | awk '{print $6}'`)
-# sleep so that FRU and all ipmitool Devices are ready before HOST OS
-# gpio 143 for HPM_STBY_RST_N do to DC-SCM spec
-set_gpio_ctrl 143 out 1
-sleep 5 # for the MUX to get ready
-# set all mux route to CPU before power on host
-# BMC_CPU_RTC_I2C_SEL #120
-set_gpio_ctrl 120 out 1
-# BMC_CPU_DDR_I2C_SEL #84
-set_gpio_ctrl 84 out 1
+
# On EVT machines, the secondary SCP EEPROM is used.
# Set BMC_I2C_BACKUP_SEL to secondary.
-if [[ $boardver == 0 ]]; then
+if [[ $boardver -lt 64 ]]; then
echo "EVT system. Choosing secondary SCP EEPROM."
set_gpio_ctrl 168 out 0
-fi
-# BMC_CPU_EEPROM_I2C_SEL #85
-set_gpio_ctrl 85 out 1
-# BMC_CPU_PMBUS_SEL #86
-set_gpio_ctrl 86 out 1
-
-# LED control
-# LED_BMC_LIVE #7
-set_gpio_ctrl 7 out 1
-
-# SPI control
-# Send command to CPLD to switch the bios spi interface to host
-i2cset -y -f -a 13 0x76 0x10 0x00
-
-# Power control
-# MON_BMC_ALIVE, GPIO 10(EVT), GPIO137(DVT)
-set_gpio_ctrl 10 out 1
-set_gpio_ctrl 137 out 1
-# S0_BMC_OK, GPIO 69
-set_gpio_ctrl 69 out 1
+ set_mux_default
+ # Power control
+ # S0_BMC_OK, GPIO 69
+ set_gpio_ctrl 69 out 1
+
+ # MON_BMC_ALIVE, GPIO 10(EVT), GPIO137(DVT)
+ set_gpio_ctrl 137 out 0 # setting unused GPIO
+ set_gpio_ctrl 10 out 1
+else
+ echo "DVT or PVT system"
+ # sleep so that FRU and all ipmitool Devices are ready before HOST OS
+ # gpio 143 for HPM_STBY_RST_N do to DC-SCM spec
+ set_gpio_ctrl 143 out 1 # on DVT this became HPM_STBY_RST_N (EVT1 came from CPLD)
+ sleep 5 # for the MUX to get ready
+ set_mux_default
+ # Power control
+ # S0_BMC_OK, GPIO 69
+ set_gpio_ctrl 69 out 1
+
+ # MON_BMC_ALIVE GPIO137(DVT)
+ set_gpio_ctrl 10 out 0 # setting unused GPIO
+ set_gpio_ctrl 137 out 1
+fi
# Disable CPU 1 CLK when cpu not detected
-boardver=$(printf '%d' `cat /sys/bus/i2c/drivers/fiicpld/34-0076/CMD00 | awk '{print $6}'`)
# echo init_once cpu $CPU1_STATUS > /dev/ttyS0
# echo init_once board $boardver > /dev/ttyS0
CPU1_STATUS_N=$(get_gpio_ctrl 136)
if [[ $CPU1_STATUS_N == 1 ]]; then
#Execute this only on DVT systems
- if [[ $boardver == 0 ]]; then
+ if [[ $boardver -lt 64 ]]; then
echo EVT system $boardver
else
echo DVT system $boardver