diff options
author | Thang Q. Nguyen <thang@os.amperecomputing.com> | 2021-12-08 13:47:46 +0300 |
---|---|---|
committer | Thang Q. Nguyen <thang@os.amperecomputing.com> | 2021-12-09 06:08:48 +0300 |
commit | 11e70600436c95cb52e211bd3f3daddd570a5325 (patch) | |
tree | 0e149bc7fb48a8c2bfdc1c32daf2bb079b2c1c09 | |
parent | c43ab61ced86d19d5698a18a81cdbfa8d43d050e (diff) | |
download | openbmc-11e70600436c95cb52e211bd3f3daddd570a5325.tar.xz |
meta-ampere: mtjade: don't configure OCP GPIO when BMC rebooted
Configure OCP_AUX_PWREN and/or OCP_MAIN_PWREN GPIOs, even without
changing their values, make the OCP power glitched which consequently
makes the Host OS generates many calltrace message.
When BMC is rebooted, the ampere-gpio-poweron@service service is
triggered that reconfigure these GPIOs.
This comit prevents this case by checking if the Host is currently ON to
skip the reconfiguration.
Tested:
1. Boot the BMC and Host CPU.
2. Reboot BMC. Ensure no call trace for OCP
Signed-off-by: Thang Q. Nguyen <thang@os.amperecomputing.com>
Change-Id: I621e025adf72baf84bffd011ea0e04229f739755
2 files changed, 7 insertions, 5 deletions
diff --git a/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-gpio-config/ampere-gpio-poweroff@.service b/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-gpio-config/ampere-gpio-poweroff@.service index 78862eb32..fe776a5b9 100644 --- a/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-gpio-config/ampere-gpio-poweroff@.service +++ b/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-gpio-config/ampere-gpio-poweroff@.service @@ -1,10 +1,10 @@ [Unit] Description=Ampere set GPIOs before power off Requires=op-wait-power-off@%i.service -Before=op-wait-power-off@%i.service +After=op-wait-power-off@%i.service Conflicts=obmc-chassis-poweron@%i.target [Service] Type=oneshot ExecStart=/usr/bin/env ampere_gpio_utils.sh power off -SyslogIdentifier=ampere_gpio_utils
\ No newline at end of file +SyslogIdentifier=ampere_gpio_utils diff --git a/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-gpio-config/ampere_gpio_utils.sh b/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-gpio-config/ampere_gpio_utils.sh index 1a098f446..5d1a1a27a 100644 --- a/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-gpio-config/ampere_gpio_utils.sh +++ b/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-gpio-config/ampere_gpio_utils.sh @@ -10,14 +10,16 @@ function usage() { set_gpio_power_off() { echo "Setting GPIO before Power off" - gpio_configure_output "$OCP_AUX_PWREN" 1 gpio_configure_output "$OCP_MAIN_PWREN" 0 - gpio_configure_output "$SPI0_PROGRAM_SEL" 0 + rm -f /run/openbmc/host@0-on } set_gpio_power_on() { echo "Setting GPIO before Power on" - gpio_configure_output "$OCP_AUX_PWREN" 1 + val=$(gpio_get_val "$S0_CPU_FW_BOOT_OK") + if [ "$val" == 1 ]; then + exit + fi gpio_configure_output "$OCP_MAIN_PWREN" 1 gpio_configure_output "$SPI0_PROGRAM_SEL" 1 gpio_configure_output "$SPI0_BACKUP_SEL" 0 |