summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--recipes-core/udev/files/apalis-imx8/99-toradex.rules1
-rwxr-xr-xrecipes-core/udev/files/apalis-imx8/toradex-adc.sh21
2 files changed, 22 insertions, 0 deletions
diff --git a/recipes-core/udev/files/apalis-imx8/99-toradex.rules b/recipes-core/udev/files/apalis-imx8/99-toradex.rules
index 2c62b6c..994fce7 100644
--- a/recipes-core/udev/files/apalis-imx8/99-toradex.rules
+++ b/recipes-core/udev/files/apalis-imx8/99-toradex.rules
@@ -11,3 +11,4 @@ ACTION=="add", SUBSYSTEM=="spidev", KERNELS=="5a020000.lpspi", SYMLINK+="apalis-
KERNEL=="mmcblk[0-9]", ENV{DEVTYPE}=="disk", KERNELS=="5b010000.usdhc", SYMLINK+="emmc"
KERNEL=="mmcblk[0-9]boot[0-9]", ENV{DEVTYPE}=="disk", KERNELS=="5b010000.usdhc", SYMLINK+="emmc-boot%n"
KERNEL=="mmcblk[0-9]p[0-9]", ENV{DEVTYPE}=="partition", KERNELS=="5b010000.usdhc", SYMLINK+="emmc-part%n"
+SUBSYSTEM=="iio", KERNELS=="iio:device0", RUN+="/etc/udev/scripts/toradex-adc.sh"
diff --git a/recipes-core/udev/files/apalis-imx8/toradex-adc.sh b/recipes-core/udev/files/apalis-imx8/toradex-adc.sh
new file mode 100755
index 0000000..fdc5365
--- /dev/null
+++ b/recipes-core/udev/files/apalis-imx8/toradex-adc.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env sh
+#
+# Called from udev. Compatible to apalis-imx8.
+#
+# Create/remove symlinks to/from the files with raw ain data.
+
+# Map the ADC lines:
+# apalis-adc{0..3} -> DMA.ADC.IN{0,1,2,3}
+LINES=4
+START=0
+
+if [ "$ACTION" = "add" ]; then
+ for idx in `seq 0 $((LINES-1))`; do
+ ln -s "/sys$DEVPATH/in_voltage$((START+idx))_raw" /dev/apalis-ain$idx
+ done
+elif [ "$ACTION" = "remove" ]; then
+ for idx in `seq 0 $((LINES-1))`; do
+ rm -f /dev/apalis-ain$idx
+ done
+fi
+