# 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 }