summaryrefslogtreecommitdiff
path: root/recipes-bsp
diff options
context:
space:
mode:
authorJohn Klug <john.klug@multitech.com>2019-05-23 13:06:50 -0500
committerJohn Klug <john.klug@multitech.com>2019-07-03 11:22:01 -0500
commita2696e218fbc1dec8a8b5ae2439bd8bc69264d06 (patch)
tree2817ccdd0998fdc0ee394b41e5e753e50c8c0db7 /recipes-bsp
parentef31239889371dd1bc228992e2d9dab02c501353 (diff)
downloadmeta-multitech-a2696e218fbc1dec8a8b5ae2439bd8bc69264d06.tar.gz
meta-multitech-a2696e218fbc1dec8a8b5ae2439bd8bc69264d06.tar.bz2
meta-multitech-a2696e218fbc1dec8a8b5ae2439bd8bc69264d06.zip
GNSS reset fix to suppress GPS serial port to protect XR12V1414 from bad PID/VID
Diffstat (limited to 'recipes-bsp')
-rw-r--r--recipes-bsp/at91bootstrap/at91bootstrap-3.8.12/at91bootstrap-3.8-mtcdt.patch18
-rw-r--r--recipes-bsp/at91bootstrap/at91bootstrap_3.8.12.bb2
-rwxr-xr-xrecipes-bsp/multitech/mts-io/mts-io.init19
-rw-r--r--recipes-bsp/multitech/mts-io_4.1.2.bb (renamed from recipes-bsp/multitech/mts-io_4.1.1.bb)0
4 files changed, 29 insertions, 10 deletions
diff --git a/recipes-bsp/at91bootstrap/at91bootstrap-3.8.12/at91bootstrap-3.8-mtcdt.patch b/recipes-bsp/at91bootstrap/at91bootstrap-3.8.12/at91bootstrap-3.8-mtcdt.patch
index f299d30..8710ee5 100644
--- a/recipes-bsp/at91bootstrap/at91bootstrap-3.8.12/at91bootstrap-3.8-mtcdt.patch
+++ b/recipes-bsp/at91bootstrap/at91bootstrap-3.8.12/at91bootstrap-3.8-mtcdt.patch
@@ -1,7 +1,7 @@
diff -aNru orig/board/at91sam9x5ek/at91sam9x5ek.c new/board/at91sam9x5ek/at91sam9x5ek.c
--- orig/board/at91sam9x5ek/at91sam9x5ek.c 2019-04-16 14:20:15.036823256 -0500
+++ new/board/at91sam9x5ek/at91sam9x5ek.c 2019-04-16 14:26:10.648812728 -0500
-@@ -44,6 +44,31 @@
+@@ -44,6 +44,37 @@
#include "at91sam9x5ek.h"
#include "board_hw_info.h"
@@ -12,12 +12,18 @@ diff -aNru orig/board/at91sam9x5ek/at91sam9x5ek.c new/board/at91sam9x5ek/at91sam
+ const struct pio_desc mt_gpio_pins[] = {
+ /* Misc. pins -- Pins PD15-PD18 belong to PERIPH
+ * B A20-A25 until bootstrap shuts them down.
-+ * This code prevents these pins from being used
-+ * during boot, since we do not
-+ * need these pins to boot the system and we
-+ * do not want resets to toggle needlessly.
++ * This code prevents these pins from being used
++ * during boot, since we do not
++ * need these pins to boot the system and we
++ * do not want resets to toggle needlessly.
++ * GNSS-RESET is held low because the EXAR
++ * rarely will display the wrong VID/PID on the
++ * USB bus, which prevents the vizzini driver
++ * from loading. Once the VID/PID is bad, a
++ * reboot will preserve the bad VID/PID, so
++ * a power cycle is then required.
+ */
-+ {"GNSS-RESET",AT91C_PIN_PD(15), 1, PIO_PULLUP, PIO_OUTPUT},
++ {"GNSS-RESET",AT91C_PIN_PD(15), 0, PIO_PULLUP, PIO_OUTPUT},
+ {"SECURE-RESET",AT91C_PIN_PD(16), 1, PIO_PULLUP, PIO_OUTPUT},
+ {"MTQ-RESET",AT91C_PIN_PD(17), 1, PIO_PULLUP, PIO_OUTPUT},
+ {"USBHUB-RESET",AT91C_PIN_PD(18), 1, PIO_PULLUP, PIO_OUTPUT},
diff --git a/recipes-bsp/at91bootstrap/at91bootstrap_3.8.12.bb b/recipes-bsp/at91bootstrap/at91bootstrap_3.8.12.bb
index 99ba701..dcbb649 100644
--- a/recipes-bsp/at91bootstrap/at91bootstrap_3.8.12.bb
+++ b/recipes-bsp/at91bootstrap/at91bootstrap_3.8.12.bb
@@ -1,5 +1,5 @@
require at91bootstrap.inc
-PR = "m1"
+PR = "m2"
LIC_FILES_CHKSUM = "file://main.c;endline=27;md5=a2a70db58191379e2550cbed95449fbd"
diff --git a/recipes-bsp/multitech/mts-io/mts-io.init b/recipes-bsp/multitech/mts-io/mts-io.init
index 329a28b..966d5ae 100755
--- a/recipes-bsp/multitech/mts-io/mts-io.init
+++ b/recipes-bsp/multitech/mts-io/mts-io.init
@@ -93,9 +93,11 @@ RST[5]="${sysdir}/ap2/creset"
RST[6]="${sysdir}/secure-reset"
RST[7]="${sysdir}/eth-reset"
RST[8]="${sysdir}/sm1-reset"
-if ((GPSGNSSRESET)) ; then
- RST[9]="${sysdir}/gnss-reset"
-fi
+
+# GPSGNSSRESET is now set low during boot and is special cased.
+#if ((GPSGNSSRESET)) ; then
+# RST[9]="${sysdir}/gnss-reset"
+#fi
WPIN[0]="${sysdir}/ap1/cdone"
WPIN[1]="${sysdir}/ap2/cdone"
@@ -299,8 +301,19 @@ case $1 in
set_gpslink # Set GPS symlink.
/usr/bin/logger -t "mts-io" -p daemon.info -s "Resetting system modules"
read_card_info
+ has_gnss_reset=0
+ # On boot, gnss-reset will be low
+ if [[ -f ${sysdir}/gnss-reset ]] ; then
+ if (($(mts-io-sysfs show gnss-reset) == 1)) ; then
+ mts-io-sysfs store gnss-reset 0
+ fi
+ has_gnss_reset=1
+ fi
/bin/busybox usleep $USLPTIME
reset_array
+ if ((has_gnss_reset)) ; then
+ mts-io-sysfs store gnss-reset 1
+ fi
# use radio-reset init script for radio-reset
mfser_init
diff --git a/recipes-bsp/multitech/mts-io_4.1.1.bb b/recipes-bsp/multitech/mts-io_4.1.2.bb
index 92937cd..92937cd 100644
--- a/recipes-bsp/multitech/mts-io_4.1.1.bb
+++ b/recipes-bsp/multitech/mts-io_4.1.2.bb