diff options
author | Leo P | 2020-01-14 15:44:43 -0500 |
---|---|---|
committer | Leo P | 2020-01-14 15:44:43 -0500 |
commit | ce76a12c0df524549800a3881a8118befa4159ad (patch) | |
tree | fb9fe4d95a0322e8ed75a25d5f22732dd4361a98 /lib_atomicpi.sh | |
download | aur-ce76a12c0df524549800a3881a8118befa4159ad.tar.gz |
atomic pi utils
Diffstat (limited to 'lib_atomicpi.sh')
-rw-r--r-- | lib_atomicpi.sh | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/lib_atomicpi.sh b/lib_atomicpi.sh new file mode 100644 index 000000000000..10bd78059ded --- /dev/null +++ b/lib_atomicpi.sh @@ -0,0 +1,78 @@ +# Kernel-visible signals + +# ATOMICPI_* constants: Global GPIO index +# ATOMICPICHIP_* constants: Chip ID " " Index in chip +# Think gpioget $ATOMICPICHIP_ISH_GPIO_0 (without quotes) + +# External GPIO +ATOMICPI_ISH_GPIO_0=335 +ATOMICPICHIP_ISH_GPIO_0="gpiochip3 21" +ATOMICPI_ISH_GPIO_1=332 +ATOMICPICHIP_ISH_GPIO_1="gpiochip3 18" +ATOMICPI_ISH_GPIO_2=338 +ATOMICPICHIP_ISH_GPIO_2="gpiochip3 24" +ATOMICPI_ISH_GPIO_3=329 +ATOMICPICHIP_ISH_GPIO_3="gpiochip3 15" +ATOMICPI_ISH_GPIO_4=336 +ATOMICPICHIP_ISH_GPIO_4="gpiochip3 22" +ATOMICPI_ISH_GPIO_7=330 +ATOMICPICHIP_ISH_GPIO_7="gpiochip3 16" + +# Volume up pin +ATOMICPI_GPIO_DFX_2=348 +ATOMICPICHIP_GPIO_DFX_2="gpiochip1 7" +# Volume down pin +ATOMICPI_GPIO_DFX_4=346 +ATOMICPICHIP_GPIO_DFX_4="gpiochip1 5" + +# Internal signals +ATOMICPI_I2C2_3P3_SDA=476 +ATOMICPICHIP_I2C2_3P3_SDA="gpiochip0 62" +ATOMICPI_I2C2_3P3_SCL=480 +ATOMICPICHIP_I2C2_3P3_SCL="gpiochip0 66" +ATOMICPI_AU_MIC_SEL=341 +ATOMICPICHIP_AU_MIC_SEL="gpiochip1 0" +ATOMICPI_XMOS_RESET=349 +ATOMICPICHIP_XMOS_RESET="gpiochip1 8" +ATOMICPI_BN_INT=358 +ATOMICPICHIP_BN_INT="gpiochip1 17" +ATOMICPI_BN_RESET=366 +ATOMICPICHIP_BN_RESET="gpiochip1 25" + +# Physical connector descriptions +# 26-pin connector interface +ATOMICPICONN_ISH_GPIO_0=24 +ATOMICPICONN_ISH_GPIO_1=25 +ATOMICPICONN_ISH_GPIO_2=26 +ATOMICPICONN_ISH_GPIO_3=18 +ATOMICPICONN_ISH_GPIO_4=19 +ATOMICPICONN_ISH_GPIO_7=20 +# Enchilada breakout board +ATOMICPIENCHCONN_ISH_GPIO_0=9 +ATOMICPIENCHCONN_ISH_GPIO_1=10 +ATOMICPIENCHCONN_ISH_GPIO_2=11 +ATOMICPIENCHCONN_ISH_GPIO_3=3 +ATOMICPIENCHCONN_ISH_GPIO_4=4 +ATOMICPIENCHCONN_ISH_GPIO_7=5 +# LEDs +ATOMICPIENCHLED_GREEN="ISH_GPIO_1" +ATOMICPIENCHLED_YELLOW="ISH_GPIO_2" + +# Test if actually running on compatible hardware + +ATOMICPI_GPIO_HARDWARE_CHIPS="228 314 341 414" +ATOMICPI_GPIO_HARDWARE_NGPIO_228=86 +ATOMICPI_GPIO_HARDWARE_NGPIO_314=27 +ATOMICPI_GPIO_HARDWARE_NGPIO_341=73 +ATOMICPI_GPIO_HARDWARE_NGPIO_414=98 + +atomicpi_gpio_hardware() { + for CHIP in $ATOMICPI_GPIO_HARDWARE_CHIPS; do + eval NGPIO_EXPECTED='$ATOMICPI_GPIO_HARDWARE_NGPIO_'$CHIP + NGPIO_ACTUAL=`cat "/sys/class/gpio/gpiochip$CHIP/ngpio" || true` + if [ "$NGPIO_EXPECTED" != "$NGPIO_ACTUAL" ]; then + return 1 + fi + done + return 0 +} |