summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleksandr Suvorov <oleksandr.suvorov@toradex.com>2020-08-06 16:05:22 +0300
committerOleksandr Suvorov <oleksandr.suvorov@toradex.com>2020-08-10 13:11:02 +0300
commitf627f20a298d441b5d94ba4ab80a1121065f1f75 (patch)
treea5f6b06cae56f0f474e5db1ff82eeffa302cb793
parent26f58c5c34bac69c1a9b312242e92decd532cd14 (diff)
colibri-imx7: udev: add symlink to adc raw data
Create symlinks for each supported by Colibri iMX7/iMX7-eMMC ADC channels, standardizing names as colibri-ainX, according to the Colibri signal names table. Related-to: ELB-2839 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
-rw-r--r--recipes-core/udev/files/colibri-imx7-emmc/99-toradex.rules1
-rwxr-xr-xrecipes-core/udev/files/colibri-imx7-emmc/toradex-adc.sh21
-rw-r--r--recipes-core/udev/files/colibri-imx7/99-toradex.rules1
-rwxr-xr-xrecipes-core/udev/files/colibri-imx7/toradex-adc.sh21
4 files changed, 44 insertions, 0 deletions
diff --git a/recipes-core/udev/files/colibri-imx7-emmc/99-toradex.rules b/recipes-core/udev/files/colibri-imx7-emmc/99-toradex.rules
index 2681e77..707920e 100644
--- a/recipes-core/udev/files/colibri-imx7-emmc/99-toradex.rules
+++ b/recipes-core/udev/files/colibri-imx7-emmc/99-toradex.rules
@@ -8,3 +8,4 @@ ACTION=="add", SUBSYSTEM=="spidev", KERNELS=="30840000.*spi", SYMLINK+="colibri-
KERNEL=="mmcblk[0-9]", ENV{DEVTYPE}=="disk", KERNELS=="30b60000.usdhc", SYMLINK+="emmc"
KERNEL=="mmcblk[0-9]boot[0-9]", ENV{DEVTYPE}=="disk", KERNELS=="30b60000.usdhc", SYMLINK+="emmc-boot%n"
KERNEL=="mmcblk[0-9]p[0-9]", ENV{DEVTYPE}=="partition", KERNELS=="30b60000.usdhc", SYMLINK+="emmc-part%n"
+SUBSYSTEM=="iio", KERNELS=="iio:device0", RUN+="/etc/udev/scripts/toradex-adc.sh"
diff --git a/recipes-core/udev/files/colibri-imx7-emmc/toradex-adc.sh b/recipes-core/udev/files/colibri-imx7-emmc/toradex-adc.sh
new file mode 100755
index 0000000..0c102b4
--- /dev/null
+++ b/recipes-core/udev/files/colibri-imx7-emmc/toradex-adc.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env sh
+#
+# Called from udev. Compatible to colibri-imx7-emmc.
+#
+# Create/remove symlinks to/from the files with raw ain data.
+
+# Map the ADC lines:
+# colibri-ain{0..3} -> ADC1_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/colibri-ain$idx
+ done
+elif [ "$ACTION" = "remove" ]; then
+ for idx in `seq 0 $((LINES-1))`; do
+ rm -f /dev/colibri-ain$idx
+ done
+fi
+
diff --git a/recipes-core/udev/files/colibri-imx7/99-toradex.rules b/recipes-core/udev/files/colibri-imx7/99-toradex.rules
index 6ab5fc9..c0f8f23 100644
--- a/recipes-core/udev/files/colibri-imx7/99-toradex.rules
+++ b/recipes-core/udev/files/colibri-imx7/99-toradex.rules
@@ -5,3 +5,4 @@ ACTION=="add", ATTRS{iomem_base}=="0x30890000", SYMLINK+="colibri-uartb"
ACTION=="add", ATTRS{iomem_base}=="0x30880000", SYMLINK+="colibri-uartc"
ACTION=="add", KERNEL=="watchdog", DRIVERS=="rn5t618-wdt", SYMLINK+="colibri-watchdog"
ACTION=="add", SUBSYSTEM=="spidev", KERNELS=="30840000.*spi", SYMLINK+="colibri-spi-cs%n"
+SUBSYSTEM=="iio", KERNELS=="iio:device0", RUN+="/etc/udev/scripts/toradex-adc.sh"
diff --git a/recipes-core/udev/files/colibri-imx7/toradex-adc.sh b/recipes-core/udev/files/colibri-imx7/toradex-adc.sh
new file mode 100755
index 0000000..163b1ee
--- /dev/null
+++ b/recipes-core/udev/files/colibri-imx7/toradex-adc.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env sh
+#
+# Called from udev. Compatible to colibri-imx7.
+#
+# Create/remove symlinks to/from the files with raw ain data.
+
+# Map the ADC lines:
+# colibri-ain{0..3} -> ADC1_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/colibri-ain$idx
+ done
+elif [ "$ACTION" = "remove" ]; then
+ for idx in `seq 0 $((LINES-1))`; do
+ rm -f /dev/colibri-ain$idx
+ done
+fi
+