summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/machine/mtcap.conf3
-rw-r--r--conf/machine/mtcdt.conf4
-rw-r--r--conf/machine/mtr.conf4
-rw-r--r--conf/machine/mtrv1.conf4
-rw-r--r--recipes-bsp/multitech/mts-io/mts-io.init6
-rw-r--r--recipes-kernel/linux/linux-at91-4.9.87/linux-4.9-cdc-acm-ignore-exar-devices.patch36
-rw-r--r--recipes-kernel/linux/linux-at91_4.9.87.bb1
7 files changed, 47 insertions, 11 deletions
diff --git a/conf/machine/mtcap.conf b/conf/machine/mtcap.conf
index 0f339ca..8928aec 100644
--- a/conf/machine/mtcap.conf
+++ b/conf/machine/mtcap.conf
@@ -8,8 +8,7 @@ MACHINE_FEATURES = "ext2 ext3 usbhost usbgadget ppp"
PREFERRED_PROVIDER_virtual/kernel = "linux"
PREFERRED_VERSION_linux = "3.12.%"
-#MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "kernel-module-vizzini"
-#PREFERRED_VERSION_kernel-module-vizzini ?= "1.1"
+# No EXAR chip present on an MTR.
DEFAULTTUNE = "arm926ejs"
TUNE_CCARGS = " -march=armv5te -marm -mthumb-interwork -mtune=arm926ej-s"
diff --git a/conf/machine/mtcdt.conf b/conf/machine/mtcdt.conf
index 21376c8..63873fc 100644
--- a/conf/machine/mtcdt.conf
+++ b/conf/machine/mtcdt.conf
@@ -8,8 +8,8 @@ MACHINE_FEATURES = "ext2 ext3 usbhost usbgadget ppp"
PREFERRED_PROVIDER_virtual/kernel = "linux-at91"
PREFERRED_VERSION_linux = "4.9.%"
-#MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "kernel-module-vizzini"
-#PREFERRED_VERSION_kernel-module-vizzini ?= "1.1"
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "kernel-module-vizzini"
+PREFERRED_VERSION_kernel-module-vizzini ?= "1.1"
DEFAULTTUNE = "arm926ejs"
TUNE_CCARGS = " -march=armv5te -marm -mthumb-interwork -mtune=arm926ej-s"
diff --git a/conf/machine/mtr.conf b/conf/machine/mtr.conf
index 69b64af..eeb016b 100644
--- a/conf/machine/mtr.conf
+++ b/conf/machine/mtr.conf
@@ -8,8 +8,8 @@ MACHINE_FEATURES = "ext2 ext3 usbhost usbgadget ppp"
PREFERRED_PROVIDER_virtual/kernel = "linux"
PREFERRED_VERSION_linux = "3.12.%"
-#MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "kernel-module-vizzini"
-#PREFERRED_VERSION_kernel-module-vizzini ?= "1.1"
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "kernel-module-vizzini"
+PREFERRED_VERSION_kernel-module-vizzini ?= "1.1"
DEFAULTTUNE = "arm926ejs"
TUNE_CCARGS = " -march=armv5te -marm -mthumb-interwork -mtune=arm926ej-s"
diff --git a/conf/machine/mtrv1.conf b/conf/machine/mtrv1.conf
index 403d0e0..93b29c8 100644
--- a/conf/machine/mtrv1.conf
+++ b/conf/machine/mtrv1.conf
@@ -8,8 +8,8 @@ MACHINE_FEATURES = "ext2 ext3 usbhost usbgadget ppp"
PREFERRED_PROVIDER_virtual/kernel = "linux-at91"
PREFERRED_VERSION_linux = "4.9.%"
-#MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "kernel-module-vizzini"
-#PREFERRED_VERSION_kernel-module-vizzini ?= "1.1"
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "kernel-module-vizzini"
+PREFERRED_VERSION_kernel-module-vizzini ?= "1.1"
DEFAULTTUNE = "arm926ejs"
TUNE_CCARGS = " -march=armv5te -marm -mthumb-interwork -mtune=arm926ej-s"
diff --git a/recipes-bsp/multitech/mts-io/mts-io.init b/recipes-bsp/multitech/mts-io/mts-io.init
index d434bd6..4c2aedf 100644
--- a/recipes-bsp/multitech/mts-io/mts-io.init
+++ b/recipes-bsp/multitech/mts-io/mts-io.init
@@ -228,7 +228,7 @@ set_gpslink() {
fi
if [[ ${hw} == MTRV1-0.2 ]] ; then
- ln -sf /dev/ttyACM0 /dev/gps0
+ ln -sf /dev/ttyXRUSB0 /dev/gps0
return
fi
@@ -243,11 +243,11 @@ set_gpslink() {
fi
if [[ ${hw_name} == MTCDTIPHP ]] ; then
NEED_I2C_RESET=1
- ln -sf /dev/ttyACM0 /dev/gps0
+ ln -sf /dev/ttyXRUSB0 /dev/gps0
return
fi
# Default MTCDT-0.1
- ln -sf /dev/ttyACM2 /dev/gps0
+ ln -sf /dev/ttyXRUSB2 /dev/gps0
}
case $1 in
diff --git a/recipes-kernel/linux/linux-at91-4.9.87/linux-4.9-cdc-acm-ignore-exar-devices.patch b/recipes-kernel/linux/linux-at91-4.9.87/linux-4.9-cdc-acm-ignore-exar-devices.patch
new file mode 100644
index 0000000..90af4de
--- /dev/null
+++ b/recipes-kernel/linux/linux-at91-4.9.87/linux-4.9-cdc-acm-ignore-exar-devices.patch
@@ -0,0 +1,36 @@
+diff -Naru linux-4.9.87.orig/drivers/usb/class/cdc-acm.c linux-4.9.87/drivers/usb/class/cdc-acm.c
+--- linux-4.9.87.orig/drivers/usb/class/cdc-acm.c 2019-01-21 09:33:23.938147201 -0600
++++ linux-4.9.87/drivers/usb/class/cdc-acm.c 2019-01-21 09:40:50.374133985 -0600
+@@ -1161,8 +1161,10 @@
+ /* normal quirks */
+ quirks = (unsigned long)id->driver_info;
+
+- if (quirks == IGNORE_DEVICE)
++ if (quirks == IGNORE_DEVICE) {
++ dev_dbg(&intf->dev, "Ignoring device\n");
+ return -ENODEV;
++ }
+
+ memset(&h, 0x00, sizeof(struct usb_cdc_parsed_header));
+
+@@ -1877,6 +1879,20 @@
+ .driver_info = IGNORE_DEVICE,
+ },
+
++ /* Ignore Exar XR21V141X usb serial chips
++ * This elminates conflicting with the Exar vizzini driver.
++ * The ACM driver cannot use features in the Exar chip,
++ * such as setting the baud rate. */
++ {USB_DEVICE(0x04e2, 0x1410),
++ .driver_info = IGNORE_DEVICE,
++ },
++ {USB_DEVICE(0x04e2, 0x1412),
++ .driver_info = IGNORE_DEVICE,
++ },
++ {USB_DEVICE(0x04e2, 0x1414),
++ .driver_info = IGNORE_DEVICE,
++ },
++
+ /* control interfaces without any protocol set */
+ { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM,
+ USB_CDC_PROTO_NONE) },
diff --git a/recipes-kernel/linux/linux-at91_4.9.87.bb b/recipes-kernel/linux/linux-at91_4.9.87.bb
index adbe4d9..a6bdc4f 100644
--- a/recipes-kernel/linux/linux-at91_4.9.87.bb
+++ b/recipes-kernel/linux/linux-at91_4.9.87.bb
@@ -49,6 +49,7 @@ SRC_URI_append_mtcdt = "\
file://linux-4.9-add-num_accessory_ports-config-option.patch \
file://950-0090-OF-DT-Overlay-configfs-interface.patch \
file://linux-4.9-spidev_squack.patch \
+ file://linux-4.9-cdc-acm-ignore-exar-devices.patch \
"
SRC_URI_append_mtrv1 = "\
${COMMON_PATCHES} \