jody-w1-bt init service: jody bluetooth patchram and init script
initialize jody with patchram file and bring up hci0 interface use systemd for enabling and disabling: (requests BT_EN pin) systemctl start jody-w1-bt-init (default after boot) systemctl stop jody-w1-bt-init BugzID: 58086 Signed-off-by: Ramon Moesching <ramon.moesching@netmodule.com>
This commit is contained in:
parent
ccae66f679
commit
d9f2029c38
|
|
@ -0,0 +1,88 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# JODY-W1 Bluetooth init script
|
||||||
|
#
|
||||||
|
# Copyright (C) u-blox
|
||||||
|
# u-blox reserves all rights in this deliverable (documentation, software,
|
||||||
|
# etc., hereafter “Deliverable”).
|
||||||
|
# u-blox grants you the right to use, copy, modify and distribute
|
||||||
|
# the Deliverable provided hereunder for any purpose without fee. provided this
|
||||||
|
# entire notice is included in all copies of any software which is or includes
|
||||||
|
# a copy or modification of this software and in all copies of the supporting
|
||||||
|
# documentation for such software.
|
||||||
|
# THIS DELIVERABLE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
|
||||||
|
# WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR U-BLOX MAKES ANY
|
||||||
|
# REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS
|
||||||
|
# DELIVERABLE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
|
||||||
|
# In case you provide us a feedback or make a contribution in the form of
|
||||||
|
# a further development of the Deliverable (“Contribution”), u-blox will have
|
||||||
|
# the same rights as granted to you, namely to use, copy, modify and distribute
|
||||||
|
# the Contribution provided to us for any purpose without fee.
|
||||||
|
#
|
||||||
|
|
||||||
|
PIDFILE=/var/run/hciattach-jody-w1.pid
|
||||||
|
DAEMON=/usr/bin/hciattach
|
||||||
|
DESC="JODY-W1 Bluetooth"
|
||||||
|
|
||||||
|
#needs to be parametrized
|
||||||
|
HCIATTACH_ARGS="any 3000000 flow"
|
||||||
|
TTY=/dev/ttyLP1
|
||||||
|
PATCHRAMFILE=/lib/firmware/brcm/BCM89359_002.002.014.0120.0186.hcd
|
||||||
|
|
||||||
|
RET=1
|
||||||
|
|
||||||
|
test -x $DAEMON || exit 1
|
||||||
|
|
||||||
|
start() {
|
||||||
|
let i=0
|
||||||
|
while [ $i -lt 10 -a ! -c $TTY ]; do
|
||||||
|
sleep 1
|
||||||
|
let i=i+1
|
||||||
|
done
|
||||||
|
brcm_patchram_plus --no2bytes --tosleep 50000 --baudrate 3000000 \
|
||||||
|
--use_baudrate_for_download --patchram "$PATCHRAMFILE" $TTY
|
||||||
|
modprobe -q hci_uart
|
||||||
|
pid=$($DAEMON -p $TTY $HCIATTACH_ARGS | tail -1)
|
||||||
|
if [ -z "$pid" ]; then
|
||||||
|
echo "failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo $pid > $PIDFILE
|
||||||
|
hciconfig all up
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
hciconfig all down
|
||||||
|
if [ -e $PIDFILE ]; then
|
||||||
|
kill $(cat $PIDFILE)
|
||||||
|
rm -f $PIDFILE
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
test -f $PIDFILE && exit 1
|
||||||
|
echo -n "Starting ${DESC}: "
|
||||||
|
start
|
||||||
|
RET=$?
|
||||||
|
echo "$(basename $DAEMON)"
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
echo -n "Stopping ${DESC}: "
|
||||||
|
stop
|
||||||
|
RET=$?
|
||||||
|
echo "$(basename $DAEMON)"
|
||||||
|
;;
|
||||||
|
restart)
|
||||||
|
echo -n "Restarting ${DESC}: "
|
||||||
|
stop
|
||||||
|
start
|
||||||
|
RET=$?
|
||||||
|
echo "$(basename $DAEMON)"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {start|stop|restart}"
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit $RET
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
[Unit]
|
||||||
|
Description=BT Firmware loader
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
|
||||||
|
ExecStartPre=/bin/sh -c "gpioset `gpiofind BT_EN`=1"
|
||||||
|
ExecStart=/usr/bin/jody-w1-bt start
|
||||||
|
ExecStop=/usr/bin/jody-w1-bt stop
|
||||||
|
ExecStopPost=/bin/sh -c "gpioset `gpiofind BT_EN`=0"
|
||||||
|
|
||||||
|
RemainAfterExit=yes
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
RequiredBy=multi-user.target
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
# Copyright (C) 2019 Ramon Moesching <ramon.moesching@netmodule.com>
|
||||||
|
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||||
|
|
||||||
|
inherit systemd
|
||||||
|
|
||||||
|
FILESEXTRAPATHS_append := ":${THISDIR}/files"
|
||||||
|
|
||||||
|
SRC_URI_append = " \
|
||||||
|
file://jody-w1-bt-init.service \
|
||||||
|
file://jody-w1-bt \
|
||||||
|
"
|
||||||
|
|
||||||
|
S = "${WORKDIR}"
|
||||||
|
|
||||||
|
SYSTEMD_SERVICE_${PN} = " \
|
||||||
|
jody-w1-bt-init.service \
|
||||||
|
"
|
||||||
|
|
||||||
|
FILES_${PN}_append = "${systemd_unitdir}/system ${bindir}"
|
||||||
|
|
||||||
|
do_install_append() {
|
||||||
|
install -d ${D}${systemd_unitdir}/system
|
||||||
|
install -m 644 ${WORKDIR}/jody-w1-bt-init.service ${D}${systemd_unitdir}/system/
|
||||||
|
|
||||||
|
|
||||||
|
install -d ${D}${bindir}
|
||||||
|
install -m 744 ${WORKDIR}/jody-w1-bt ${D}${bindir}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue