blob: c9eb2b98fe8747933d3f53282e72d9de79633f96 [file] [log] [blame]
Chanh Nguyen2fc68eb2022-04-28 09:11:28 +00001#!/bin/bash
2
Chanh Nguyen2fc68eb2022-04-28 09:11:28 +00003# Configure GPIO as output and set its value
4AST2600_GPIO_BASE=(
Thang Q. Nguyend9c89652023-10-05 09:02:31 +07005 512
6 720
Chanh Nguyen2fc68eb2022-04-28 09:11:28 +00007)
8
9function gpio_configure_output() {
10 echo "$1" > /sys/class/gpio/export
11 echo out > /sys/class/gpio/gpio"$1"/direction
12 echo "$2" > /sys/class/gpio/gpio"$1"/value
13 echo "$1" > /sys/class/gpio/unexport
14}
15
16function gpio_get_val() {
17 echo "$1" > /sys/class/gpio/export
18 cat /sys/class/gpio/gpio"$1"/value
19 echo "$1" > /sys/class/gpio/unexport
20}
21
22# Configure GPIO as input
23function gpio_configure_input() {
24 echo "$1" > /sys/class/gpio/export
25 echo "in" > /sys/class/gpio/gpio"$1"/direction
26 echo "$1" > /sys/class/gpio/unexport
27}
28
29function gpio_name_set()
30{
31 str=$(gpiofind "$1")
32 #Verify error code when run gpiofind
33 if [ "$?" == '1' ]; then
34 echo "Invalid gpio name $1"
35 else
36 gpioid=$(echo "$str"|cut -c 9)
37 offset=$(echo "$str"|cut -d " " -f 2)
38 gpioPin=$(("$offset" + ${AST2600_GPIO_BASE[$gpioid]}))
39 gpio_configure_output "$gpioPin" "$2"
40 fi
41}
42
43function gpio_name_get()
44{
45 str=$(gpiofind "$1")
46 #Verify error code when run gpiofind
47 if [ "$?" == '1' ]; then
48 echo "Invalid gpio name $1"
49 else
50 offset=$(echo "$str"|cut -d " " -f 2)
51 gpioid=$(echo "$str"|cut -c 9)
52 gpioPin=$(("$offset" + ${AST2600_GPIO_BASE[$gpioid]}))
53 gpio_get_val "$gpioPin"
54 fi
55}
56
57function gpio_name_input()
58{
59 str=$(gpiofind "$1")
60 #Verify error code when run gpiofind
61 if [ "$?" == '1' ]; then
62 echo "Invalid gpio name $1"
63 else
64 gpioid=$(echo "$str"|cut -c 9)
65 offset=$(echo "$str"|cut -d " " -f 2)
66 gpioPin=$(("$offset" + ${AST2600_GPIO_BASE[$gpioid]}))
67 gpio_configure_input "$gpioPin"
68 fi
Patrick Williams0731ef82023-04-16 16:41:45 -050069}