diff options
Diffstat (limited to 'recipes-bsp/multitech/mts-io/mts-io.init')
-rw-r--r-- | recipes-bsp/multitech/mts-io/mts-io.init | 26 |
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" |