summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleksandr Suvorov <oleksandr.suvorov@toradex.com>2020-08-06 16:35:29 +0300
committerOleksandr Suvorov <oleksandr.suvorov@toradex.com>2020-08-10 13:11:02 +0300
commita98861ebc9d2a26f458a57f674b53cb81405da64 (patch)
tree29f2fceb7ec304d8d2966c172be8bc15730b4dd8
parent41ebdf6d19a1b8af2e06f274d711823bdb345f29 (diff)
apalis-imx8: udev: add symlink to adc raw data
Create symlinks for each supported by Apalis iMX8 ADC channels, standardizing names as apalis-adcX, according to the Apalis signal names table. Related-to: ELB-2839 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
-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
+