From 932269f9bf70f6c3d8c6d2edbfcea0e3c3a4bdc2 Mon Sep 17 00:00:00 2001 From: John Klug Date: Thu, 23 May 2019 13:06:50 -0500 Subject: GNSS reset fix to suppress GPS serial port to protect XR12V1414 from bad PID/VID --- .../at91bootstrap-3.8-mtcdt.patch | 18 ++++++++++++------ recipes-bsp/at91bootstrap/at91bootstrap_3.8.12.bb | 2 +- recipes-bsp/multitech/mts-io/mts-io.init | 19 ++++++++++++++++--- recipes-bsp/multitech/mts-io_4.1.1.bb | 4 ---- recipes-bsp/multitech/mts-io_4.1.2.bb | 4 ++++ 5 files changed, 33 insertions(+), 14 deletions(-) delete mode 100644 recipes-bsp/multitech/mts-io_4.1.1.bb create mode 100644 recipes-bsp/multitech/mts-io_4.1.2.bb (limited to 'recipes-bsp') 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.1.bb deleted file mode 100644 index 92937cd..0000000 --- a/recipes-bsp/multitech/mts-io_4.1.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require mts-io.inc - -PR = "${INC_PR}.0-${MLINUX_KERNEL_VERSION}${MLINUX_KERNEL_EXTRA_VERSION}" - diff --git a/recipes-bsp/multitech/mts-io_4.1.2.bb b/recipes-bsp/multitech/mts-io_4.1.2.bb new file mode 100644 index 0000000..92937cd --- /dev/null +++ b/recipes-bsp/multitech/mts-io_4.1.2.bb @@ -0,0 +1,4 @@ +require mts-io.inc + +PR = "${INC_PR}.0-${MLINUX_KERNEL_VERSION}${MLINUX_KERNEL_EXTRA_VERSION}" + -- cgit v1.2.3