summaryrefslogtreecommitdiff
path: root/recipes-bsp/multitech/mts-io/mts-io.init
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-bsp/multitech/mts-io/mts-io.init')
-rw-r--r--recipes-bsp/multitech/mts-io/mts-io.init26
1 files changed, 26 insertions, 0 deletions
diff --git a/recipes-bsp/multitech/mts-io/mts-io.init b/recipes-bsp/multitech/mts-io/mts-io.init
index 52c6d1f..5ceb04a 100644
--- a/recipes-bsp/multitech/mts-io/mts-io.init
+++ b/recipes-bsp/multitech/mts-io/mts-io.init
@@ -26,6 +26,7 @@ port1=${sysdir}/ap1
port2=${sysdir}/ap2
USBRST=${sysdir}/usbhub-reset
+NEED_I2C_RESET=0
RST[0]="${sysdir}/wifi-bt-reset"
RST[1]="${sysdir}/mtq-reset"
@@ -174,12 +175,33 @@ mfser_init() {
}
+set_gpslink() {
+ HWVER=$(mts-io-sysfs show hw-version)
+ HWNAME=(${HWVER//-/ })
+ HWLVL=(${HWVER#${HWNAME}-})
+ if ! [[ ${HWNAME} =~ ^MTCDT ]] ; then
+ # No GPS (unless MTR, and that is TBD)
+ return
+ fi
+ if [[ ${HWNAME} == MTCDT ]] && [[ ${HWLVL} == 0.0 ]] ; then
+ # No GPS
+ return
+ fi
+ if [[ ${HWNAME} == MTCDTIPHP ]] ; then
+ NEED_I2C_RESET=1
+ ln -sf /dev/ttyXRUSB0 /dev/gps0
+ return
+ fi
+ ln -sf /dev/ttyXRUSB2 /dev/gps0
+}
+
case $1 in
start)
/usr/bin/logger -t "mts-io" -p daemon.info -s "Loading mts-io module"
if ! modprobe mts_io ; then
((fail++))
fi
+ set_gpslink
/usr/bin/logger -t "mts-io" -p daemon.info -s "Resetting system modules"
read_card_info
/bin/busybox usleep $USLPTIME
@@ -193,6 +215,10 @@ case $1 in
if ! reset_path $USBRST ; then
((fail++))
fi
+
+ if ((NEED_I2C_RESET == 1)) ; then
+ logger -s -p daemon.notice -t mts-io "TBD -- Need I2C reset here."
+ fi
if ((fail == 0)) ; then
echo "OK"