blob: 3e503c4909858cc9320a18af28663a06772de5e5 [file] [log] [blame]
#!/bin/bash
# shellcheck disable=SC2154
# shellcheck source=/dev/null
# Configure GPIO as output and set its value
AST2600_GPIO_BASE=(
816
780
)
function gpio_configure_output() {
echo "$1" > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio"$1"/direction
echo "$2" > /sys/class/gpio/gpio"$1"/value
echo "$1" > /sys/class/gpio/unexport
}
function gpio_get_val() {
echo "$1" > /sys/class/gpio/export
cat /sys/class/gpio/gpio"$1"/value
echo "$1" > /sys/class/gpio/unexport
}
# Configure GPIO as input
function gpio_configure_input() {
echo "$1" > /sys/class/gpio/export
echo "in" > /sys/class/gpio/gpio"$1"/direction
echo "$1" > /sys/class/gpio/unexport
}
function gpio_name_set()
{
str=$(gpiofind "$1")
#Verify error code when run gpiofind
if [ "$?" == '1' ]; then
echo "Invalid gpio name $1"
else
gpioid=$(echo "$str"|cut -c 9)
offset=$(echo "$str"|cut -d " " -f 2)
gpioPin=$(("$offset" + ${AST2600_GPIO_BASE[$gpioid]}))
gpio_configure_output "$gpioPin" "$2"
fi
}
function gpio_name_get()
{
str=$(gpiofind "$1")
#Verify error code when run gpiofind
if [ "$?" == '1' ]; then
echo "Invalid gpio name $1"
else
offset=$(echo "$str"|cut -d " " -f 2)
gpioid=$(echo "$str"|cut -c 9)
gpioPin=$(("$offset" + ${AST2600_GPIO_BASE[$gpioid]}))
gpio_get_val "$gpioPin"
fi
}
function gpio_name_input()
{
str=$(gpiofind "$1")
#Verify error code when run gpiofind
if [ "$?" == '1' ]; then
echo "Invalid gpio name $1"
else
gpioid=$(echo "$str"|cut -c 9)
offset=$(echo "$str"|cut -d " " -f 2)
gpioPin=$(("$offset" + ${AST2600_GPIO_BASE[$gpioid]}))
gpio_configure_input "$gpioPin"
fi
}