Initial commit
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
#!/bin/bash
|
||||
|
||||
export POWER_BTN_HIGH=0xFF
|
||||
export POWER_BTN_LOW=0xFE
|
||||
export RESET_BTN_HIGH=0xFF
|
||||
export RESET_BTN_LOW=0xFD
|
||||
export power_seq=( "$POWER_BTN_HIGH" "$POWER_BTN_LOW" "$POWER_BTN_HIGH" )
|
||||
export reset_seq=( "$RESET_BTN_HIGH" "$RESET_BTN_LOW" "$RESET_BTN_HIGH")
|
||||
export SERVICE="xyz.openbmc_project.Ipmi.Channel.Ipmb"
|
||||
export OBJECT_PATH="/xyz/openbmc_project/Ipmi/Channel/Ipmb"
|
||||
export INTERFACE="org.openbmc.Ipmb"
|
||||
export DATA_LEN=0x05
|
||||
export NETFN=0x06
|
||||
export LUN=0x00
|
||||
export CMD=0x52
|
||||
export STATE_OFF=0
|
||||
export STATE_ON=1
|
||||
export STATE_UNKNOWN=-1
|
||||
export CPLD_BUS_NUM=12
|
||||
export CPLD_PWR_CTRL_ADDR=0xf
|
||||
export POW_ON_SLOT=0x01
|
||||
export POW_OFF_SLOT=0x00
|
||||
export PWRGD_SYS_PWROK_INDEX=12
|
||||
export IANA="0x15 0xA0 0x0"
|
||||
export IANA_LEN=3
|
||||
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"
|
||||
export CHASSIS_PROPERTY_NAME="CurrentPowerState"
|
||||
export HOST_BUS_NAME="xyz.openbmc_project.State.Host"
|
||||
export HOST_OBJ_PATH="/xyz/openbmc_project/state/host"
|
||||
export HOST_INTF_NAME="xyz.openbmc_project.State.Host"
|
||||
export HOST_PROPERTY_NAME="CurrentHostState"
|
||||
export CHASSIS_ON="xyz.openbmc_project.State.Chassis.PowerState.On"
|
||||
export CHASSIS_OFF="xyz.openbmc_project.State.Chassis.PowerState.Off"
|
||||
export HOST_ON="xyz.openbmc_project.State.Host.HostState.Running"
|
||||
export HOST_OFF="xyz.openbmc_project.State.Host.HostState.Off"
|
||||
export IPMB_CMD_COMPLETE_CODE_INDEX=2
|
||||
|
||||
host-power-status()
|
||||
{
|
||||
SLOT_ID=$1
|
||||
|
||||
response="$(busctl call "$SERVICE" "$OBJECT_PATH" "$INTERFACE" sendRequest yyyyay "$SLOT_ID" 0x38 "$LUN" 0x03 0x03 0x15 0xa0 0x00)"
|
||||
result=$(echo "$response" | cut -d" " -f "$PWRGD_SYS_PWROK_INDEX")
|
||||
res="$(( "$result" & 0x80 ))"
|
||||
status="$(( "$res" >> 7 ))"
|
||||
|
||||
echo "$status"
|
||||
return 0
|
||||
}
|
||||
|
||||
chassis-power-status()
|
||||
{
|
||||
slot=$1
|
||||
status=-1
|
||||
|
||||
if [ "$slot" -le 4 ]
|
||||
then
|
||||
response="$(i2cget -y "$CPLD_BUS_NUM" "$CPLD_PWR_CTRL_ADDR" 0x25)"
|
||||
res="$(( "$response" >> slot ))"
|
||||
status="$(( "$res" & 0x01 ))"
|
||||
fi
|
||||
|
||||
echo "$status"
|
||||
return 0
|
||||
}
|
||||
Reference in New Issue
Block a user