diff options
Diffstat (limited to 'meta-facebook/meta-tiogapass/recipes-fbtp/fb-powerctrl/files/setup_gpio.sh')
-rwxr-xr-x | meta-facebook/meta-tiogapass/recipes-fbtp/fb-powerctrl/files/setup_gpio.sh | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/meta-facebook/meta-tiogapass/recipes-fbtp/fb-powerctrl/files/setup_gpio.sh b/meta-facebook/meta-tiogapass/recipes-fbtp/fb-powerctrl/files/setup_gpio.sh new file mode 100755 index 000000000..4e13109cb --- /dev/null +++ b/meta-facebook/meta-tiogapass/recipes-fbtp/fb-powerctrl/files/setup_gpio.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +# Set all output GPIOs as such and drive them with reasonable values. +function set_gpio_active_low() { + if [ $# -ne 2 ]; then + echo "set_gpio_active_low: need both GPIO# and initial level"; + return; + fi + + echo $1 > /sys/class/gpio/export + echo $2 > /sys/class/gpio/gpio$1/direction +} + +GPIO_BASE=$(cat /sys/class/gpio/gpio*/base) + +# FM_BMC_READY_N, GPIO S1, active low +set_gpio_active_low $((${GPIO_BASE} + 144 +1)) high + +# FM_BMC_SSB_SMI_LPC_N, GPIO Q6, active low +set_gpio_active_low $((${GPIO_BASE} + 128 + 6)) high + +# FP_PWR_BTN_PASS_R_N, GPIO E3, active low +set_gpio_active_low $((${GPIO_BASE} + 32 + 3)) high + +# FP_PWR_GOOD, GPIO B6, active low +set_gpio_active_low $((${GPIO_BASE} + 8 + 6)) high + +exit 0; |