aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-kernel/sllin
diff options
context:
space:
mode:
authorJan-Simon Möller <jsmoeller@linuxfoundation.org>2018-11-07 08:08:43 +0100
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2018-11-13 18:15:24 +0000
commit331b3ee60c36697ce85fb6806c82fdeec8183150 (patch)
treeb199a799f526a2510e5676c41bfa73168e104216 /recipes-kernel/sllin
parent0680bff170fe4b17a5595f0895dc4a88f031af79 (diff)
Finalize and automate sllin setup for LIN on demo unit
Provide the systemd unit, the init script, the module options and the autoload command. Change-Id: I8dfe59338f377ca8ac1b94fe568dff9e2b36bf97 Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'recipes-kernel/sllin')
-rw-r--r--recipes-kernel/sllin/files/sllin-demo.service13
-rwxr-xr-xrecipes-kernel/sllin/files/start_lin_demo.sh51
-rw-r--r--recipes-kernel/sllin/sllin.bb19
3 files changed, 82 insertions, 1 deletions
diff --git a/recipes-kernel/sllin/files/sllin-demo.service b/recipes-kernel/sllin/files/sllin-demo.service
new file mode 100644
index 000000000..c1bc94982
--- /dev/null
+++ b/recipes-kernel/sllin/files/sllin-demo.service
@@ -0,0 +1,13 @@
+[Unit]
+Description = LIN DEMO startup
+After=afm-system-daemon.service
+
+[Service]
+Type=forking
+PIDFile=/var/run/lin_ldattach
+ExecStart=/usr/bin/start_lin_demo.sh
+RemainAfterExit=yes
+
+
+[Install]
+WantedBy=default.target
diff --git a/recipes-kernel/sllin/files/start_lin_demo.sh b/recipes-kernel/sllin/files/start_lin_demo.sh
new file mode 100755
index 000000000..741189fb7
--- /dev/null
+++ b/recipes-kernel/sllin/files/start_lin_demo.sh
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+sleep 1
+ldattach 25 /dev/ttySC3
+pidof ldattach > /var/run/lin_ldattach
+sleep 1
+ip link set sllin0 up
+usleep 100000
+cansend sllin0 030#
+usleep 100000
+cansend sllin0 030#
+usleep 100000
+cansend sllin0 02A#
+usleep 100000
+cansend sllin0 02B#
+usleep 100000
+cansend sllin0 032#F0F8FFFFFFFFFFFF
+usleep 100000
+cansend sllin0 032#F0F8FFFFFFFFFFFF
+usleep 100000
+cansend sllin0 030#
+usleep 100000
+cansend sllin0 030#
+usleep 100000
+cansend sllin0 030#
+usleep 100000
+cansend sllin0 030#
+usleep 100000
+cansend sllin0 030#
+usleep 100000
+cansend sllin0 030#
+usleep 100000
+cansend sllin0 030#
+usleep 100000
+cansend sllin0 030#
+usleep 100000
+cansend sllin0 030#
+usleep 100000
+cansend sllin0 030#
+usleep 100000
+cansend sllin0 030#
+usleep 100000
+cansend sllin0 02D#
+usleep 100000
+cansend sllin0 02C#
+usleep 100000
+cansend sllin0 02D#
+usleep 100000
+cansend sllin0 02C#
+usleep 100000
+
diff --git a/recipes-kernel/sllin/sllin.bb b/recipes-kernel/sllin/sllin.bb
index eecd43947..f7ffea969 100644
--- a/recipes-kernel/sllin/sllin.bb
+++ b/recipes-kernel/sllin/sllin.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "slLIN driver module"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
-inherit module
+inherit module systemd
DEPENDS = "virtual/kernel"
@@ -16,6 +16,23 @@ SRC_URI_append = " \
file://0001_update_makefile.patch;pnum=2 \
file://0002_fix_null_operation_check.patch;pnum=2 \
file://0003-Allow-recent-kernels-newer-4.11.x-to-build.patch;pnum=2 \
+ file://sllin-demo.service \
+ file://start_lin_demo.sh \
"
+KERNEL_MODULE_AUTOLOAD_append = " sllin"
+KERNEL_MODULE_PROBECONF_append = " sllin"
+SLLINBAUDRATE ??= "9600"
+module_conf_sllin = "options sllin baudrate=${SLLINBAUDRATE}"
+
+SYSTEMD_SERVICE_${PN} = "sllin-demo.service"
+
+do_install_append () {
+ install -d 644 ${D}/${bindir}
+ install -m 755 ${WORKDIR}/start_lin_demo.sh ${D}/${bindir}/start_lin_demo.sh
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/sllin-demo.service ${D}${systemd_system_unitdir}/
+}
+
+FILES_${PN}_append = " ${bindir}/start_lin_demo.sh"