From patchwork Thu Oct 24 15:09:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Beno=C3=AEt_Monin?= X-Patchwork-Id: 13849337 Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B61B51E1311; Thu, 24 Oct 2024 15:09:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.17.21 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1729782570; cv=none; b=C2U3ck1jBNT5437KsnYWYA8ntah/aX+P4fj22KteSoC/uvu6lMaYikjQbmW4OUBSOZKTYGgV7jFfrcss9UQsINyl3o8PHBvVom6zbh39FlPyowsdhi8rlwMBruekZ3Mm0DltYGCd4Hi9mrv/e1Rd3Ij1BAwRXqYhSPYwsRur6Gc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1729782570; c=relaxed/simple; bh=u+txBytZKud+gGe1o4RcUBrww0xiQBse0T8zfTGZLDM=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=tdFgAjHJbA95XLccnq2NN5f6jJEYIKCP+bZjl1EhNhj7sVDhvq3ZCbHwuP+sU7SxEo0tpquv5KkDy6jBPrsZirAq97eKZPAaKreYsYIdBTm/16unMjhSTtL/j94m7b020FR3nvdF3VrxYiPxKwkQSqIpaj6Qao7G6HxJWlZ882s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.fr; spf=pass smtp.mailfrom=gmx.fr; dkim=pass (2048-bit key) header.d=gmx.fr header.i=benoit.monin@gmx.fr header.b=lmQqy/ve; arc=none smtp.client-ip=212.227.17.21 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.fr Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.fr Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.fr header.i=benoit.monin@gmx.fr header.b="lmQqy/ve" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.fr; s=s31663417; t=1729782560; x=1730387360; i=benoit.monin@gmx.fr; bh=PDjBvTV7001OHXsNPTQyeo1iXm/jIi/1wXngvmzfhOk=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-ID: MIME-Version:Content-Type:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=lmQqy/vez6+3n5E9fMZecmcvZGmJhueSiFjcb06ZHtOYXRWmUCcka34/Qs0Uc3PK Pw3z0fk+ahNIhK7CTLI6uie4vX+BIBY1IwYA3o+yLUdtzjav+7MyKK35+mhCpbA10 vttz6CgrgNadOIgDmCZFv0ReAPLvvFG2RM9Jc8ehJk0WdJjF2u3z3EbJHKuZXSoYz VTClwZMgHs6RbnHIfExo2KF8TLEHGmIQqYrwg5T5tMQ8wZjCzkrIfj17PzyvXOono 5oUgGBOwH3dm+QUryxHF0/ZLcs/47nKXMo5rcE+UU1IvtcPLrtvBPyDdtQKEyvzsZ ynnTL3v2x9AlADrq9w== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from pianobar.pianonet ([176.145.30.241]) by mail.gmx.net (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1N2mFY-1u2XCG11GG-00yyNT; Thu, 24 Oct 2024 17:09:20 +0200 From: =?utf-8?q?Beno=C3=AEt_Monin?= To: Johan Hovold , Greg Kroah-Hartman Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, =?utf-8?q?Beno?= =?utf-8?q?=C3=AEt_Monin?= Subject: [PATCH] USB: serial: option: add Quectel RG650V Date: Thu, 24 Oct 2024 17:09:19 +0200 Message-ID: <20241024150919.53046-1-benoit.monin@gmx.fr> X-Mailer: git-send-email 2.47.0 Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Provags-ID: V03:K1:nJPmPDO+9vwJaW4F2oS9VEFJZhbRc36ZKoypO1TclfLIVTzXXNf P6xCGcxyvNjrhVwDu5rMApM+cdZqutM70WK9HYXtxbsy170/AJm9WXLJLtDbqfxfh/DKgH8 WOcPnesggWizF57BjOigh/8qYvJUeem7IY1z8qo4vLCVqvBTDBVW2FTOqkLzalX+m1QJxPm JC6DtfkrpMafLNvrkwEiQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:OygaSbnlxQU=;FmZ9S8cvW/GAQsdns0p7iDPnjRN uUydp81z9fHW8ha16fPJZ+aMnUqJfeXzYbvkEBrwumEGy2sN+q0aG/8nYitxJkzF9MkBFInI8 +Owfxdl/lMLCyUc/xDwtVJOkvhdOwp34dyZhq70fZpVTkhv2sv/feAxiVIU2gbvRHP6TDsT0U QPx53Y0UekI6DFWuXwdMb8WgWPsgXaClM6KCNw8/SoTIoHUd4EnC0W0jJU9TsxqXQp360LFtO UCPZW8P4BlSG0Jtf6b33nGEI/fpaFFn53PVWfqeMxiZlIsswUGf4GhUwwi5nr7XG3yv80zTb8 iY5c1vZEDsiMP4nZTnpv1xcnXWcvBnuOGT/49KqojTCgVuBUgBQdxG/8Bd/GL/4p5GQ3nunBD rQHY5aP6PLn6BhTMOsxh8kk7Q+MBBE2r0OCOUyXciVHTpaeRhbK8fj83qp8we5qT/fhRCX8Ro nTiat2V4YcBFYH1tJP4SXM0fOFKfIOXpIyNshtxqxHJCTC8CNjM87KH4BmSs28GfzAa/yo6C2 Q0Var0FGdgfNyFJ9jjUiW4BQaz7lBvAGaS74wIwucQLkxPXIKFryh+7eDWNS4ldy4OFgv2Uo8 /CrRRfvO3at18Hj3Gj/78JQ3HNqMZb9LSyh03oIOxVzblpXdrcar5o/Wl/g2e17RZoHwGt70B 6OXdH3D433lNwq6e49pET6q3LECZ+BVzQePPhYiTzHwcjEiFY9GXWcDTdEJylKUmtb3/J4rWz EJq2NTGCSDCKinlIsUSHvXSSOXj7eEDwK78nP1Zu0HHWMDFsn5L6LmaWUWAWHdnSY1P/NV7fN eq+8dD9fs1CBRYVej4nwpWrg== Add support for Quectel RG650V which is based on Qualcomm SDX65 chip. The composition is DIAG / NMEA / AT / AT / QMI. T: Bus=02 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 4 Spd=5000 MxCh= 0 D: Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs= 1 P: Vendor=2c7c ProdID=0122 Rev=05.15 S: Manufacturer=Quectel S: Product=RG650V-EU S: SerialNumber=xxxxxxx C: #Ifs= 5 Cfg#= 1 Atr=a0 MxPwr=896mA I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option E: Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms E: Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option E: Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms E: Ad=82(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option E: Ad=03(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms E: Ad=83(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms E: Ad=84(I) Atr=03(Int.) MxPS= 10 Ivl=9ms I: If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option E: Ad=04(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms E: Ad=85(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms E: Ad=86(I) Atr=03(Int.) MxPS= 10 Ivl=9ms I: If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan E: Ad=05(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms E: Ad=87(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms E: Ad=88(I) Atr=03(Int.) MxPS= 8 Ivl=9ms Signed-off-by: BenoƮt Monin --- drivers/usb/serial/option.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c index 4f18f189f309..aeaad2e1a24a 100644 --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c @@ -251,6 +251,7 @@ static void option_instat_callback(struct urb *urb); #define QUECTEL_VENDOR_ID 0x2c7c /* These Quectel products use Quectel's vendor ID */ #define QUECTEL_PRODUCT_EC21 0x0121 +#define QUECTEL_PRODUCT_RG650V 0x0122 #define QUECTEL_PRODUCT_EM061K_LTA 0x0123 #define QUECTEL_PRODUCT_EM061K_LMS 0x0124 #define QUECTEL_PRODUCT_EC25 0x0125 @@ -1273,6 +1274,8 @@ static const struct usb_device_id option_ids[] = { { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG912Y, 0xff, 0, 0) }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG916Q, 0xff, 0x00, 0x00) }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500K, 0xff, 0x00, 0x00) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RG650V, 0xff, 0xff, 0x30) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RG650V, 0xff, 0, 0) }, { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6001) }, { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CMU_300) },