diff options
author | Eric <Eric_LC_Chen@wiwynn.com> | 2023-11-03 06:27:06 +0300 |
---|---|---|
committer | DelphineCCChiu <Delphine_CC_Chiu@wiwynn.com> | 2023-11-15 11:58:12 +0300 |
commit | 1958659da1c712d6968afd137fadc2b891d63648 (patch) | |
tree | 27f2754029453376aa7404cd611ae2bdee4e3316 | |
parent | 205c85057ee71408459d9e43a279fe3d9048168d (diff) | |
download | openbmc-1958659da1c712d6968afd137fadc2b891d63648.tar.xz |
yosemite4: Support bic power off before 12v off
Support BIC power off before 12v power off/cycle for power sequence
Tested:
record the BIC power and 12v stby power with EE
Change-Id: If3d6fafed1196186297c3ede18c67f45c33ff9b9
Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>
3 files changed, 20 insertions, 7 deletions
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-powercycle b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-powercycle index 0db82ced96..1f61e15e81 100644 --- a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-powercycle +++ b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-powercycle @@ -5,16 +5,17 @@ # Provide source directive to shellcheck. # shellcheck source=meta-facebook/recipes-phosphor/state/phosphor-state-manager/greatlakes/power-cmd source /usr/libexec/phosphor-state-manager/power-cmd - -GPIOCHIP_IO_EXP_SLOT_PWR_CTRL=$(basename "/sys/bus/i2c/devices/$SPIDER_BOARD_IO_EXP_BUS_NUM-00$IO_EXP_SLOT_PWR_CTRL_ADDR/"*gpiochip*) -GPIOCHIP_IO_EXP_SLED_PWR_CTRL=$(basename "/sys/bus/i2c/devices/$MANAGEMENT_BOARD_IO_EXP_BUS_NUM-00$IO_EXP_SLED_PWR_CTRL_ADDR/"*gpiochip*) - #IO 0:7 input port for showing slot 1:8 power status #IO 8:16 output port for controlling slot 1:8 power status CHASSIS_ID=$1 IO_EXP_SLOT_PWR_STATUS=$((CHASSIS_ID - 1)) IO_EXP_SLOT_PWR_CTRL=$((IO_EXP_SLOT_PWR_STATUS + 8)) IO_EXP_SLED_CYCLE=12 +IO_EXP_BIC_PWR_CTRL=32 + +GPIOCHIP_IO_EXP_SLOT_PWR_CTRL=$(basename "/sys/bus/i2c/devices/$SPIDER_BOARD_IO_EXP_BUS_NUM-00$IO_EXP_SLOT_PWR_CTRL_ADDR/"*gpiochip*) +GPIOCHIP_IO_EXP_SLED_PWR_CTRL=$(basename "/sys/bus/i2c/devices/$MANAGEMENT_BOARD_IO_EXP_BUS_NUM-00$IO_EXP_SLED_PWR_CTRL_ADDR/"*gpiochip*) +GPIOCHIP_IO_EXP_BIC_PWR_CTRL=$(basename "/sys/bus/i2c/devices/$IO_EXP_SLOT_PWR_STATUS-00$IO_EXP_BIC_PWR_CTRL_ADDR/"*gpiochip*) chassis-power-cycle() { @@ -25,6 +26,11 @@ chassis-power-cycle() chassis_status=$(gpioget "$GPIOCHIP_IO_EXP_SLOT_PWR_CTRL" "$IO_EXP_SLOT_PWR_STATUS") if [ "$chassis_status" == "$STATE_ON" ] then + if ! gpioset "$GPIOCHIP_IO_EXP_BIC_PWR_CTRL" "$IO_EXP_BIC_PWR_CTRL"=0 + then + echo "Failed to set slot$1 sentinel dome bic off" + fi + sleep 1 if ! gpioset "$GPIOCHIP_IO_EXP_SLOT_PWR_CTRL" "$IO_EXP_SLOT_PWR_CTRL"=1 then echo "Failed to set slot$1 power off" diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-poweroff b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-poweroff index 991dbc5dc2..98692ea396 100644 --- a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-poweroff +++ b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-poweroff @@ -5,18 +5,24 @@ # Provide source directive to shellcheck. # shellcheck source=meta-facebook/recipes-phosphor/state/phosphor-state-manager/greatlakes/power-cmd source /usr/libexec/phosphor-state-manager/power-cmd - -GPIOCHIP_IO_EXP_SLOT_PWR_CTRL=$(basename "/sys/bus/i2c/devices/$SPIDER_BOARD_IO_EXP_BUS_NUM-00$IO_EXP_SLOT_PWR_CTRL_ADDR/"*gpiochip*) - #IO 0:7 input port for showing slot 1:8 power status #IO 8:16 output port for controlling slot 1:8 power status CHASSIS_ID=$1 IO_EXP_SLOT_PWR_STATUS=$((CHASSIS_ID - 1)) IO_EXP_SLOT_PWR_CTRL=$((IO_EXP_SLOT_PWR_STATUS + 8)) +IO_EXP_BIC_PWR_CTRL=32 + +GPIOCHIP_IO_EXP_SLOT_PWR_CTRL=$(basename "/sys/bus/i2c/devices/$SPIDER_BOARD_IO_EXP_BUS_NUM-00$IO_EXP_SLOT_PWR_CTRL_ADDR/"*gpiochip*) +GPIOCHIP_IO_EXP_BIC_PWR_CTRL=$(basename "/sys/bus/i2c/devices/$IO_EXP_SLOT_PWR_STATUS-00$IO_EXP_BIC_PWR_CTRL_ADDR/"*gpiochip*) # Server 12v power off chassis-power-off() { + if ! gpioset "$GPIOCHIP_IO_EXP_BIC_PWR_CTRL" "$IO_EXP_BIC_PWR_CTRL"=0 + then + echo "Failed to set slot$1 sentinel dome bic off" + fi + sleep 1 if ! gpioset "$GPIOCHIP_IO_EXP_SLOT_PWR_CTRL" "$IO_EXP_SLOT_PWR_CTRL"=1 then echo "Failed to set slot$1 power off" diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/power-cmd b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/power-cmd index af5218a68f..e3ce65f377 100644 --- a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/power-cmd +++ b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/power-cmd @@ -7,6 +7,7 @@ export MANAGEMENT_BOARD_IO_EXP_BUS_NUM="13" export SPIDER_BOARD_IO_EXP_BUS_NUM="28" export IO_EXP_SLOT_PWR_CTRL_ADDR="21" export IO_EXP_SLED_PWR_CTRL_ADDR="21" +export IO_EXP_BIC_PWR_CTRL_ADDR="20" export CHASSIS_BUS_NAME="xyz.openbmc_project.State.Chassis" export CHASSIS_OBJ_PATH="/xyz/openbmc_project/state/chassis" export CHASSIS_INTF_NAME="xyz.openbmc_project.State.Chassis" |