booster/test/gpio-scripts/pinctrl-igkboard | ●●●●● patch | view | raw | blame | history | |
booster/test/gpio-scripts/pinctrl-rzboard | ●●●●● patch | view | raw | blame | history | |
booster/test/gpio-scripts/pinloop.sh | ●●●●● patch | view | raw | blame | history |
booster/test/gpio-scripts/pinctrl-igkboard
New file @@ -0,0 +1,144 @@ #!/bin/bash # This shell script used to control GPIO port on IGKBoard direction=out sysdir=/sys/class/gpio/ pinbase=0 groupin=32 pinnum= pindir= action= set -u # RedLed: GPIO01_IO11 GreenLed: GPIO01_IO10 BlueLed: GPIO05_IO09 function usage() { echo "Show pinmap Usage: $0 [-v]" echo "Output set Usage: $0 GPIO01_IO11 [1/0]" echo "Input read Usage: $0 [-i] GPIO01_IO11" echo "Unexport Usage: $0 [-u] GPIO01_IO11" exit; } function show_pinmap() { echo " +-------------+-------------+---IGKBoard---+-------------+-------------+ | GPIO | Name | Physical | Name | GPIO | +-------------+-------------+-----++------+-------------+-------------+ | 3.3v | 3.3v | 1 || 2 | 5v | 5v | | GPIO01_IO03 | I2C1_SDA | 3 || 4 | 5v | 5v | | GPIO01_IO02 | I2C1_SCL | 5 || 6 | GND | GND | | GPIO01_IO18 | GPIO | 7 || 8 | UART2_TX | GPIO01_IO20 | | GND | GND | 9 || 10 | UART2_RX | GPIO01_IO21 | | GPIO01_IO24 | UART3_TX | 11 || 12 | UART3_RX | GPIO01_IO25 | | GPIO01_IO28 | UART4_TX | 13 || 14 | GND | GND | | GPIO01_IO29 | UART4_RX | 15 || 16 | UART7_TX | GPIO03_IO21 | | 3.3v | 3.3v | 17 || 18 | UART7_RX | GPIO03_IO22 | | GPIO03_IO27 | SPI1_MOSI | 19 || 20 | GND | GND | | GPIO03_IO28 | SPI1_MISO | 21 || 22 | GPIO | GPIO03_IO23 | | GPIO03_IO25 | SPI1_SCLK | 23 || 24 | SPI1_SS0 | GPIO03_IO26 | | GND | GND | 25 || 26 | GPIO | GPIO03_IO24 | | GPIO01_IO26 | CAN1_TX | 27 || 28 | PWM8 | GPIO01_IO15 | | GPIO01_IO27 | CAN1_RX | 29 || 30 | GND | GND | | GPIO01_IO22 | CAN2_TX | 31 || 32 | PWM7 | GPIO01_IO14 | | GPIO01_IO23 | CAN2_RX | 33 || 34 | GND | GND | | GPIO05_IO01 | GPIO | 35 || 36 | GPIO | GPIO01_IO11 | | GPIO05_IO08 | GPIO | 37 || 38 | GPIO | GPIO01_IO10 | | GND | GND | 39 || 40 | GPIO | GPIO05_IO09 | +-------------+-------------+---IGKBoard--+-------------+-------------+ | GPIO | Name | Physical | Name | GPIO | +-------------+-------------+-----++------+-------------+-------------+ " exit 0; } function calc_pinum() { pinstr=$1 group=`echo $pinstr | cut -d_ -f1 | tr -cd "[0-9]"` pin=`echo $pinstr | cut -d_ -f2 | tr -cd "[0-9]"` group=`expr $group \- 1` pinum=`expr $group \* $groupin + $pin + $pinbase` pindir=$sysdir/gpio$pinum #echo "INFO: GPIO $pinstr map to pinum[$pinum]" } function export_gpio() { if [ -e $pindir ] ; then return ; fi echo $pinum > $sysdir/export } function unexport_gpio() { if [ ! -e $pindir ] ; then return ; fi echo $pinum > $sysdir/unexport } function set_gpio() { echo out > $pindir/direction echo $1 > $pindir/value } function read_gpio() { echo in > $pindir/direction cat $pindir/value } if [ $# -lt 1 ] ; then usage; fi while getopts "iuvh" OPTNAME do case "${OPTNAME}" in "i") direction=in shift ;; "u") action=unexport; shift ;; "v") show_pinmap; shift ;; "h") usage; ;; esac done calc_pinum $1 if [[ $action == unexport ]] ; then unexport_gpio exit; fi export_gpio if [ $direction == in ] ; then read_gpio else set_gpio $2 fi booster/test/gpio-scripts/pinctrl-rzboard
New file @@ -0,0 +1,144 @@ #!/bin/bash # This shell script used to control GPIO port on RzBoard direction=out sysdir=/sys/class/gpio/ pinbase=120 groupin=8 pinnum= pindir= action= set -u set -e # RedLed: P8_1 GreenLed: P17_2 BlueLed: P19_1 # UserKey: P39_0 function usage() { echo "Show pinmap Usage: $0 [-v]" echo "Output set Usage: $0 P9_1 [1/0]" echo "Input read Usage: $0 [-i] P9_1" echo "Unexport Usage: $0 [-u] P9_1" exit; } function show_pinmap() { echo " +--------------------+--RzBoard--+--------------------+ | Name/GPIO | Physical | Name/GPIO | +--------------------+-----++----+--------------------+ | 3.3v | 1 || 2 | 5v | | SDA2(P3_0) | 3 || 4 | 5v | | SCL2(P3_1) | 5 || 6 | GND | | GPIO(P12_0) | 7 || 8 | TXD2(P48_0) | | GND | 9 || 10 | RXD2(P48_1) | | SCL3(P48_3) | 11 || 12 | GPIO(P17_1) | | SDA3(P48_2) | 13 || 14 | GND | | GPIO(P17_0) | 15 || 16 | GPIO(P13_2) | | 3.3v | 17 || 18 | GPIO(P14_0) | | SPI1_MOSI(P44_1) | 19 || 20 | GND | | SPI1_MISO(P44_2) | 21 || 22 | GPIO(P39_1) | | SPI1_CLK(P44_0) | 23 || 24 | SPI1_SS(P44_3) | | GND | 25 || 26 | GPIO(P0_1) | | GPIO(P14_1) | 27 || 28 | GPIO(P46_3) | | GPIO(P42_3) | 29 || 30 | GND | | GPIO(P42_4) | 31 || 32 | GPIO(P15_1) | | GPIO(P10_0) | 33 || 34 | GND | | GPIO(P9_1) | 35 || 36 | RTS2(P48_4) | | GPIO(P13_1) | 37 || 38 | CAN0_RX(P11_0) | | GND | 39 || 40 | CAN0_TX(P10_1) | +--------------------+-----++----+--------------------+ | Name/GPIO | Physical | Name/GPIO | +--------------------+--RzBoard--+--------------------+ " exit 0; } function calc_pinum() { pinstr=$1 group=`echo $pinstr | cut -d_ -f1 | tr -cd "[0-9]"` pin=`echo $pinstr | cut -d_ -f2 | tr -cd "[0-9]"` pinum=`expr $group \* $groupin + $pin + $pinbase` pindir=$sysdir/gpio$pinum #echo "INFO: GPIO $pinstr map to pinum[$pinum]" } function export_gpio() { if [ -e $pindir ] ; then return ; fi echo $pinum > $sysdir/export } function unexport_gpio() { if [ ! -e $pindir ] ; then return ; fi echo $pinum > $sysdir/unexport } function set_gpio() { echo out > $pindir/direction echo $1 > $pindir/value } function read_gpio() { echo in > $pindir/direction cat $pindir/value } if [ $# -lt 1 ] ; then usage; fi while getopts "iuvh" OPTNAME do case "${OPTNAME}" in "i") direction=in shift ;; "u") action=unexport; shift ;; "v") show_pinmap; shift ;; "h") usage; ;; esac done calc_pinum $1 if [[ $action == unexport ]] ; then unexport_gpio exit; fi export_gpio if [ $direction == in ] ; then read_gpio else set_gpio $2 fi booster/test/gpio-scripts/pinloop.sh
New file @@ -0,0 +1,42 @@ #!/bin/bash # 40 Pin Header GPIO loop test script, it based on pinctrl shell script function loop_test() { if [ $# != 3 ] ; then echo "ERROR: Invalid input arguments" return 1; fi level=$3 pinctrl $1 $level res=`pinctrl -i $2` printf "$1 out [$level] --> $2 in [$res] : " if [ $level == $res ] ; then printf " [ OK ]\n" else printf " [ FAIL ]\n" exit 1; fi } if [ $# != 2 ] ; then echo "" echo "Usage : $0 Pin1 Pin2" echo "Example: $0 GPIO01_IO10 GPIO01_IO11" echo "" echo "You can check pinmap by 'pinctrl -v' " echo "" exit; fi loop_test $1 $2 1 loop_test $1 $2 0 loop_test $2 $1 1 loop_test $2 $1 0 exit 0;