From patchwork Sun Dec 25 20:52:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Garrett X-Patchwork-Id: 13081536 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8EB4DC5479D for ; Sun, 25 Dec 2022 21:02:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229994AbiLYVCD (ORCPT ); Sun, 25 Dec 2022 16:02:03 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35856 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229619AbiLYVCA (ORCPT ); Sun, 25 Dec 2022 16:02:00 -0500 Received: from cavan.codon.org.uk (cavan.codon.org.uk [176.126.240.207]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1D4D02DEE; Sun, 25 Dec 2022 13:01:54 -0800 (PST) Received: from x2100.. (unknown [IPv6:2607:f598:b99a:480:2da1:ebcf:44f5:35ad]) by cavan.codon.org.uk (Postfix) with ESMTPSA id 964D8424AB; Sun, 25 Dec 2022 20:52:44 +0000 (GMT) From: Matthew Garrett To: johan@kernel.org, bjorn@mork.no Cc: netdev@vger.kernel.org, linux-usb@vger.kernel.org, Matthew Garrett , Matthew Garrett Subject: [PATCH 1/3] USB: serial: option: Add generic MDM9207 configurations Date: Sun, 25 Dec 2022 12:52:22 -0800 Message-Id: <20221225205224.270787-2-mjg59@srcf.ucam.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221225205224.270787-1-mjg59@srcf.ucam.org> References: <20221225205224.270787-1-mjg59@srcf.ucam.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org The Orbic Speed RC400L presents as a generic MDM9207 device that supports multiple configurations. Add support for the two that expose a set of serial ports. Signed-off-by: Matthew Garrett --- drivers/usb/serial/option.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c index dee79c7d82d5..edbb6054de91 100644 --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c @@ -1119,6 +1119,12 @@ static const struct usb_device_id option_ids[] = { { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */ { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000), /* SIMCom SIM5218 */ .driver_info = NCTRL(0) | NCTRL(1) | NCTRL(2) | NCTRL(3) | RSVD(4) }, + /* Qualcomm MDM9207 - 0: DIAG, 2: AT, 3: NMEA */ + { USB_DEVICE(QUALCOMM_VENDOR_ID, 0xf601), + .driver_info = RSVD(1) | RSVD(4) | RSVD(5) }, + /* Qualcomm MDM9207 - 2: DIAG, 4: AT, 5: NMEA */ + { USB_DEVICE(QUALCOMM_VENDOR_ID, 0xf622), + .driver_info = RSVD(0) | RSVD(1) | RSVD(3) | RSVD(6) }, /* Quectel products using Qualcomm vendor ID */ { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC15)}, { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC20), From patchwork Sun Dec 25 20:52:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Garrett X-Patchwork-Id: 13081537 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E04AAC3DA7A for ; Sun, 25 Dec 2022 21:02:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230017AbiLYVCE (ORCPT ); Sun, 25 Dec 2022 16:02:04 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35852 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229638AbiLYVCA (ORCPT ); Sun, 25 Dec 2022 16:02:00 -0500 X-Greylist: delayed 550 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Sun, 25 Dec 2022 13:01:55 PST Received: from cavan.codon.org.uk (cavan.codon.org.uk [176.126.240.207]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1C247266E; Sun, 25 Dec 2022 13:01:54 -0800 (PST) Received: from x2100.. (unknown [IPv6:2607:f598:b99a:480:2da1:ebcf:44f5:35ad]) by cavan.codon.org.uk (Postfix) with ESMTPSA id 4DB06424AC; Sun, 25 Dec 2022 20:52:46 +0000 (GMT) From: Matthew Garrett To: johan@kernel.org, bjorn@mork.no Cc: netdev@vger.kernel.org, linux-usb@vger.kernel.org, Matthew Garrett , Matthew Garrett Subject: [PATCH 2/3] net: usb: qmi_wwan: Add generic MDM9207 configuration Date: Sun, 25 Dec 2022 12:52:23 -0800 Message-Id: <20221225205224.270787-3-mjg59@srcf.ucam.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221225205224.270787-1-mjg59@srcf.ucam.org> References: <20221225205224.270787-1-mjg59@srcf.ucam.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org The Orbic Speed RC400L presents as a generic MDM9207 device that supports multiple configurations with different USB IDs. One exposes a QMI interface. Add the ID for that. Signed-off-by: Matthew Garrett --- drivers/net/usb/qmi_wwan.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c index a808d718c012..bf05b7feacc0 100644 --- a/drivers/net/usb/qmi_wwan.c +++ b/drivers/net/usb/qmi_wwan.c @@ -1223,6 +1223,7 @@ static const struct usb_device_id products[] = { {QMI_FIXED_INTF(0x05c6, 0x90b2, 3)}, /* ublox R410M */ {QMI_FIXED_INTF(0x05c6, 0x920d, 0)}, {QMI_FIXED_INTF(0x05c6, 0x920d, 5)}, + {QMI_FIXED_INTF(0x05c6, 0xf601, 5)}, {QMI_QUIRK_SET_DTR(0x05c6, 0x9625, 4)}, /* YUGA CLM920-NC5 */ {QMI_FIXED_INTF(0x0846, 0x68a2, 8)}, {QMI_FIXED_INTF(0x0846, 0x68d3, 8)}, /* Netgear Aircard 779S */ From patchwork Sun Dec 25 20:52:24 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Garrett X-Patchwork-Id: 13081535 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 00491C3DA7A for ; Sun, 25 Dec 2022 21:02:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229724AbiLYVCB (ORCPT ); Sun, 25 Dec 2022 16:02:01 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35854 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229514AbiLYVCA (ORCPT ); Sun, 25 Dec 2022 16:02:00 -0500 Received: from cavan.codon.org.uk (cavan.codon.org.uk [176.126.240.207]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1CAB02AD2; Sun, 25 Dec 2022 13:01:54 -0800 (PST) Received: from x2100.. (unknown [IPv6:2607:f598:b99a:480:2da1:ebcf:44f5:35ad]) by cavan.codon.org.uk (Postfix) with ESMTPSA id ED76E424AD; Sun, 25 Dec 2022 20:52:47 +0000 (GMT) From: Matthew Garrett To: johan@kernel.org, bjorn@mork.no Cc: netdev@vger.kernel.org, linux-usb@vger.kernel.org, Matthew Garrett Subject: [PATCH 3/3] USB: serial: option: Add Novatel MiFi 8800L diag endpoint Date: Sun, 25 Dec 2022 12:52:24 -0800 Message-Id: <20221225205224.270787-4-mjg59@srcf.ucam.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221225205224.270787-1-mjg59@srcf.ucam.org> References: <20221225205224.270787-1-mjg59@srcf.ucam.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org The Novatel MiFi 8800L can be configured into exposing additional endpoints by sending four bytes of 0s to the HID endpoint it exposes by default. One of the additional exposed endpoints is a Qualcomm DIAG protocol interface. Add the information for that in order to allow it to be used. Signed-off-by: Matthew Garrett --- drivers/usb/serial/option.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c index edbb6054de91..17ea4e48afb7 100644 --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c @@ -161,6 +161,7 @@ static void option_instat_callback(struct urb *urb); #define NOVATELWIRELESS_PRODUCT_U620L 0x9022 #define NOVATELWIRELESS_PRODUCT_G2 0xA010 #define NOVATELWIRELESS_PRODUCT_MC551 0xB001 +#define NOVATELWIRELESS_PRODUCT_8800L 0xB023 #define UBLOX_VENDOR_ID 0x1546 @@ -1055,6 +1056,7 @@ static const struct usb_device_id option_ids[] = { { USB_DEVICE_AND_INTERFACE_INFO(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_E362, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_E371, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_U620L, 0xff, 0x00, 0x00) }, + { USB_DEVICE_AND_INTERFACE_INFO(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_8800L, 0xff, 0xff, 0xff) }, { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H01) }, { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H01A) },