summaryrefslogtreecommitdiff
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
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
-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
-rw-r--r--recipes-kernel/linux/linux-at91-4.9.87/mtcdt/linux-4.9-mtcdt-device-tree.patch9
-rw-r--r--recipes-kernel/linux/linux-at91_4.9.87.bb2
6 files changed, 37 insertions, 13 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
diff --git a/recipes-kernel/linux/linux-at91-4.9.87/mtcdt/linux-4.9-mtcdt-device-tree.patch b/recipes-kernel/linux/linux-at91-4.9.87/mtcdt/linux-4.9-mtcdt-device-tree.patch
index f022b80..ddc5123 100644
--- a/recipes-kernel/linux/linux-at91-4.9.87/mtcdt/linux-4.9-mtcdt-device-tree.patch
+++ b/recipes-kernel/linux/linux-at91-4.9.87/mtcdt/linux-4.9-mtcdt-device-tree.patch
@@ -3,7 +3,7 @@ Index: linux-at91-4.9/arch/arm/boot/dts/mtcdt.dts
diff -aNru linux-at91-4.9.orig/arch/arm/boot/dts/mtcdt.dts linux-at91-4.9/arch/arm/boot/dts/mtcdt.dts
--- linux-at91-4.9.orig/arch/arm/boot/dts/mtcdt.dts 1969-12-31 18:00:00.000000000 -0600
+++ linux-at91-4.9/arch/arm/boot/dts/mtcdt.dts 2019-04-24 17:01:26.112074133 -0500
-@@ -0,0 +1,282 @@
+@@ -0,0 +1,287 @@
+/*
+ * DTS file for Multi-Tech Systems MTCDT Hardware
+ */
@@ -58,7 +58,6 @@ diff -aNru linux-at91-4.9.orig/arch/arm/boot/dts/mtcdt.dts linux-at91-4.9/arch/a
+ pinctrl_mts_io_out: mts_io-0 {
+ atmel,pins =
+ <AT91_PIOD 14 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD14 WiFi BT reset */
-+ AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD15 GNSS reset */
+ AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD16 Secure reset */
+ AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD17 MTQ reset */
+ AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD18 USB Hub reset */
@@ -69,6 +68,11 @@ diff -aNru linux-at91-4.9.orig/arch/arm/boot/dts/mtcdt.dts linux-at91-4.9/arch/a
+ atmel,pins =
+ <AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PD20 WiFi_BT_LPMode Input */
+ };
++ pinctrl_mts_io_gnss: mts_io-2 {
++ atmel,pins =
++ <AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PD20 WiFi_BT_LPMode Input */
++ output-low;
++ };
+ };
+
+ mmc1 {
@@ -284,6 +288,7 @@ diff -aNru linux-at91-4.9.orig/arch/arm/boot/dts/mtcdt.dts linux-at91-4.9/arch/a
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_mts_io_out>;
+ pinctrl-1 = <&pinctrl_mts_io_in>;
++ pinctrl-2 = <&pinctrl_mts_io_gnss>;
+ };
+};
Index: linux-4.9/arch/arm/boot/dts/at91sam9x5cm.dtsi
diff --git a/recipes-kernel/linux/linux-at91_4.9.87.bb b/recipes-kernel/linux/linux-at91_4.9.87.bb
index 09f5f53..0ba0813 100644
--- a/recipes-kernel/linux/linux-at91_4.9.87.bb
+++ b/recipes-kernel/linux/linux-at91_4.9.87.bb
@@ -18,7 +18,7 @@ RDEPENDS_kernel-base=""
FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:"
KERNEL_EXTRA_ARGS ="LOADADDR=0x20008000"
-PR = "r8"
+PR = "r9"
KERNEL_VERSION = "${PV}"
EXTRAVERSION = ""