diff options
author | 2019-12-14 02:40:33 +0100 | |
---|---|---|
committer | 2019-12-15 18:01:07 +0000 | |
commit | 144da2be604c583117fd397028920a8cf4eb0b6c (patch) | |
tree | b931b7346ffe3d28c1918bc48a1103a81f0f67f8 /recipes-core/udev/demo-i2c-udev-conf/99-agl-led-rtc.rules | |
parent | c9276183ce123bd11d0b36ec60fc93386da9ccb8 (diff) |
Add udev rules and scripts for demo platform configuration
Add recipes for udev rules and associated scripts
1) Support USB attached I2C devices for RTC and HVAC LED support.
The RTC support loads and configures the required rtc-ds1307
driver, and sets the time from the RTC clock. The HVAC LED
support configures the LED device names for use by the HVAC
binding.
The new demo-i2c-udev-conf recipe is
added to DEMO_PLATFORM_CONF variable in packagegroup-agl-demo-platform
to have them added to the agl-demo-platform image. Since they use
udev rules to detect the corresponding hardware, this should be safe
for all platforms.
Change-Id: Id08571b43c7ae9275496980e0a5568e145a1f653
Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
(cherry picked from commit d412114c0cf132a77f3b3482c5440b1a1c961b77)
Diffstat (limited to 'recipes-core/udev/demo-i2c-udev-conf/99-agl-led-rtc.rules')
-rw-r--r-- | recipes-core/udev/demo-i2c-udev-conf/99-agl-led-rtc.rules | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/recipes-core/udev/demo-i2c-udev-conf/99-agl-led-rtc.rules b/recipes-core/udev/demo-i2c-udev-conf/99-agl-led-rtc.rules new file mode 100644 index 00000000..34fa0678 --- /dev/null +++ b/recipes-core/udev/demo-i2c-udev-conf/99-agl-led-rtc.rules @@ -0,0 +1,20 @@ +# skip instantiation of rtc in this processing +ACTION=="add", SUBSYSTEM=="i2c", DRIVER=="rtc-ds1307", GOTO="hwclock_end" + +# load the required drivers (if not already present) - your job to make sure they are there ! +ACTION=="add", ENV{DEVTYPE}=="usb_interface", ENV{DRIVER}=="i2c-tiny-usb", RUN+="/usr/bin/logger 'Loading leds-blinkm'", RUN+="/sbin/modprobe leds-blinkm" +ACTION=="add", ENV{DEVTYPE}=="usb_interface", ENV{DRIVER}=="i2c-tiny-usb", RUN+="/usr/bin/logger 'Loading rtc driver'", RUN+="/sbin/modprobe rtc-ds1307" + +# %k is the blinkm i2c device e.g. 6-0009 +ACTION=="add", ENV{DRIVER}=="blinkm", SUBSYSTEM=="i2c", RUN+="/usr/bin/logger 'the blinkm device is %k'", TAG+="systemd", ENV{SYSTEMD_WANTS}="hvac-json-in-rewrite@%k.service", GOTO="very_end" +# FIXME: We do not exclude the blinkm on the next lines, yet. The rule is too broad, but that is all we know already. Above is actually later in time. +# For now this is not critical as the rtc init will just fail and we're done. + +# %k is the i2c bus e.g. i2c-6 +ACTION=="add", SUBSYSTEM=="i2c", ATTRS{idProduct}=="c631", TAG+="systemd", ENV{SYSTEMD_WANTS}="rtc-i2c-attach@%k.service" + +# GOTO EXIT +LABEL="hwclock_end" +ACTION=="add", SUBSYSTEM=="rtc", RUN+="/bin/sleep 1", RUN+="/sbin/hwclock -f /dev/%k --hctosys --utc", TAG+="systemd" + +LABEL="very_end" |