summaryrefslogtreecommitdiff
path: root/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/gpio-lib.sh
blob: 8d1aa61d7730cc71e8a620f4b45eefdeccf952cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/bash
source /usr/sbin/gpio-defs.sh

function gpio_number() {
	GPIO_BASE=$(cat /sys/class/gpio/gpiochip$GPIO_CHIP0_BASE/base)
	echo $((${GPIO_BASE} + $1))
}

# Configure GPIO as output and set its value
function gpio_configure_output() {
	gpioId=$(gpio_number $1)
	echo $gpioId > /sys/class/gpio/export
	echo out > /sys/class/gpio/gpio${gpioId}/direction
	echo $2 > /sys/class/gpio/gpio${gpioId}/value
	echo $gpioId > /sys/class/gpio/unexport
}

function gpio_get_val() {
	gpioId=$(gpio_number $1)
	echo $gpioId > /sys/class/gpio/export
	echo $(cat /sys/class/gpio/gpio$gpioId/value)
	echo $gpioId > /sys/class/gpio/unexport
}

# Configure GPIO as input
function gpio_configure_input() {
	gpioId=$(gpio_number $1)
	echo $gpioId > /sys/class/gpio/export
	echo "in" > /sys/class/gpio/gpio${gpioId}/direction
	echo $gpioId > /sys/class/gpio/unexport
}