From patchwork Sat Jun 29 01:54:45 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mank Wang X-Patchwork-Id: 13716768 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2131.outbound.protection.outlook.com [40.107.236.131]) (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 91D342033E for ; Sat, 29 Jun 2024 01:54:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.236.131 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719626091; cv=fail; b=eb05txjy8a+SwK3lhPtCoOKTYPZ44SetZJIQPjrKeZOD3P2tARQ968YywTlz+dWUbXmD3cZq/6KrVob1Rwvzu6M8uIgEeDitUGQAqLghjCDprUmw+df1nVGdeFsi3RMFp9sFluNwU846TcBT0GaYSqu23n86mm9p7cBOmJOzNNs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719626091; c=relaxed/simple; bh=TwK+4gzQiGXG3pHUdBZKroa4uvB+ZeuPEOdm5RdRfHo=; h=Content-Type:From:To:CC:Subject:Date:Message-ID:MIME-Version; b=AVNdm1nWtX6btcLC9moxeAKObwpd/J1VWqnRtIWODJwlgN4aN89GysctvGIlGki5SUJOfudYQwiEotntD7hkfi9Y6Pph/lFu5/HsA0qOK/C1xJRxDSPpnjvVqgPayjfQJ++eunNm5An/0/mOx7sqCVVfDF47/wrYGMPaf9WwVQk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=netprisma.us; spf=pass smtp.mailfrom=netprisma.us; arc=fail smtp.client-ip=40.107.236.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=netprisma.us Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=netprisma.us ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LVrDFaX79pvlFIweFzTFUnE2qcFqvwkgBn9C2nFzGySB7UJsJ/0aTF1LLXWMUi1eRVv5mJn+NPnJ6ks/shGotTP4PEf2TxYt7B1akGnNeX3IaQZYs1xHOzvxrsKSFSPWSaw79qPaw38uF7zIbbjW2MPpW3haLTKibJ8IvwEadWFgLLKb4okHWllzfSFlq+OIKJPztDvV78d20DS4UannyVGBC6od/p+R7q7grqotcakVtcbXcY+f5jaPwDcBkT7YV0dHwgud2qV2ExWKdiWUSRbr/fDnRljBc8thRHnD8/RvK760ZnqoQ21G40npblyuUfS1nistNOFtF0PxNb33ug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=GPgYzl39EXpgkHTx08/Wv1xyo6XMMNL3Kh79k+D2BZs=; b=ShmjO7iJoP1PpkMLvroQKgT8J0JxYkgY8Qk/IujtA2MxJnagPOs9NkitR0Ch1l5l0GPoCWgmukjqLkri8tKHLHW+BzZ8V14VHt+J5Bo+kZslNlwspS7C9/gXGo7mT0z6uADD51Pm2DgTWtZKo28VJPGnswPY4X6S3aRigYdwXq4B+46JUu2gSmw+PfVwbH8mZ/QQwMpGKGo02S2jWT0uIk7dKwxqERMOK8LoiOmFvVtpJwCTa1aaQDEmx0X+0AQse2wNY+FmN8dVOUFUWRsRpotqnLVH8SvoxYyfIjrfFFKtomnpy+Fmdhld8vHGb9FH1ZdbL/ykdF68lHzdT3lHtA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=netprisma.us; dmarc=pass action=none header.from=netprisma.us; dkim=pass header.d=netprisma.us; arc=none Received: from CH3PR22MB4385.namprd22.prod.outlook.com (2603:10b6:610:1a9::11) by SN4PR22MB3255.namprd22.prod.outlook.com (2603:10b6:806:212::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7698.37; Sat, 29 Jun 2024 01:54:45 +0000 Received: from CH3PR22MB4385.namprd22.prod.outlook.com ([fe80::e03a:7b82:8bac:c700]) by CH3PR22MB4385.namprd22.prod.outlook.com ([fe80::e03a:7b82:8bac:c700%3]) with mapi id 15.20.7698.032; Sat, 29 Jun 2024 01:54:45 +0000 From: Mank Wang To: "johan@kernel.org" CC: "gregkh@linuxfoundation.org" , "linux-usb@vger.kernel.org" Subject: [PATCH V2] USB: serial: option: add Netprisma LCUK54 series modules Thread-Topic: [PATCH V2] USB: serial: option: add Netprisma LCUK54 series modules Thread-Index: AdrJx0mN/5eNyi/CQ/e5rAnywDPfLQ== Date: Sat, 29 Jun 2024 01:54:45 +0000 Message-ID: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=netprisma.us; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH3PR22MB4385:EE_|SN4PR22MB3255:EE_ x-ms-office365-filtering-correlation-id: 69f1d852-8f9d-47a4-be99-08dc97de73a2 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|80162021|38070700018; x-microsoft-antispam-message-info: 58MH2CisaawkkpqzCK9mU0M4TvPC+C7DXsjwXn2DUtRKkHVJ2YlgU3NCHRKxVHmT2cYLNbpW1SU4GOhhEIMgSD2S5TMVeWI59pMtJ9/ws5BIUCzhT1/87liNNnZ8xOVUWIccAK/TAFfwJ4x+uajN6I4RwP9cmH3czbvYa6qao7SGUM6Sp0p46m1ird5DLPZbjgdxK8CPej0AnQFfg1vOtiAJY9Yz3C6rF/pSEUrYuy0RdR2KKPdrcrSmrAfZ3fgPkFlMohbuzqD1+K5O7fpx9xwvreQMoKCtjhDqlEtAI4LvKU6hvWGuccizyUjR66uvgn6Bw9Dxu9G0XXG84pM4ngandV8aKC1KWIILIR6dNo07s2nRullBZTYlYOQcyCbOOkmarNNjKppurYuyYrjY5yGiQiPMXtgZ/MeMh3CFMKztuFYT2i17WvlpeiQfWzWGZpubpZPS7ynAG/E83KEMYFyjHH9K6qitXo0f5OssEpduHos36r5dvAWBMvDDua4WgOdtGrCQU2I320/gZX/K4SU7h601Du2o8Z27KZqIKKsIfYopvS11G5Gi1CdlELikDKv3gmxk+VCZAPDgULap31XrRsAZc04vPF4jhZJzxVjUUEvzS3Y21OXZt3L0gMc62c7vxZEy+cmP/NbC7OFZi/L3JLNDzJMED8C9UOVblG0+sZCeA0cX2l32Dywz1rz6IPMBTHQ2paxHcLrtH7PJMnJfL5kj8ZWGr6427qMr/csXmi7tIGcH5nnR8ZTOxAns8gnvJdpr/OIyJE34B3Iyz06NV2T8ksEL95HdFdZT7rmodAA8dUHneRU4EpkUXROOv21nPITH0trzTaqkSPMOtgIsW95waF7lTA3v+JmGclXEsoIHsgoOYjfu9fwsdWnq7juPtyPg3RXZz8UMN1jZiGpF2Pc+T7EjLfZaLkYTMMHQhiwK6mC9NwKGACFvdptPQ/KkDYT+OEwc6fLKFNif7D2n/f9WAt3V4apVzJ6Gg1V7PDK2V2M8yM5xxILGXN7OIkA9paxDqamTp7RejiDN/hiUhz3M9GjI1fA/2lLy+w8031n0bDpLpapCVM7YBe6oxYMOu9nOx4WO5hrtz7dA3k7r6VZYJrx/1Yr374R4C0UBAI0oBnHc7bA1RGj2v9qdU8EJ2SrfOZtaFX6YACg335Dp+x6XBpPwO28x3MlfCRVYV4nqvLza/p6zf83IAhFlZgD7Q6nAlEPiTfYjL1zFGZ4URkHyZ61anJQe1qxKU38jxzDvzPLpvH4Eh5QSYqddXDhVCNGkxENNtBYJ6P312O+k+xnMjNy7ikpc7qE/y5mhSlx3Wcs8ybKDw6scWIiIkP1CF5FSXZzXcZXBGxx8PD+Fg8fdz7K0iUXOSZKEVHhECuEvopUjc4eLqNC98QqQHcWGUB8e42acOfmedj1/m8bTqf1VJ4l/p/V4EyyNji0= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR22MB4385.namprd22.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(80162021)(38070700018);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: h/35kR5NdfYVScrfSuDfUWefrT9skz5+oijJFbiQ0s4BjerPPCAkakqxkhtDETbFL6Joi/pHJ0ivmSiVXukys8IqTa1e/7MjkKtn9Unvj/BfoHoxQiH2lokA29tsDZYM/3kVIxEXdr9iwgfZ2SzxV1rNCsKMgkef4GDujOYMZsk2gUecR5K3w810LRPpR7pFo2JaQB0C4HPQCjsfPW7U1gBU1PnmKqYI1b2TsKOEHhaNh4RwrB4jh7sB7OaScSIYVVC6cyd2P+hxOe9yMV9zrq7TFXpYjtIefeRs7127LJlP847HZeeP0OBNGO019cYUb/+om4/4HUHEwxbVvb9iJymv6ZExpFOMx41cmYfoypJqRllefXi1k8VSsJMuAbApu0Yc5uqNOzgLvuAbKHmk5Ae2TIttoG27i9HKcMHEAN4XuZ2+ukxYJvsxZAtHw21rQ7UK5nmqSFMFZCHEpQ5s4hrnFuCgb4V8wi4iiprJPSMOpslMK0NnMSpq/+oyEzaFnlBfzt5Pl6mhwH26XqiAOyI97hVYC/wyx/aYNzbJy03GSEhfxu7/o6htCFR58HO8vqsZAq9nKXttoAX6jYRJYFz3jg8d5yocy3FUgD3mWbXvXjZQcMtWhX4pyUkuEzxt2qGFzNMnWkTZ31E0tc/qLPoP6lxj3jVq2/zC98XED3DBcb4n/NgLHFsdYoCEokki2bJjhvmQefHJSoYeHUCx/dRG9dJaWuwEkGIn7w9vtqsx8anMZMaoXUd9esbhH2DV/nR/H4nwH7UJmLfWaN2oLkSAOQEdpsrvcpLk0I64sQcU4gXLpdT0oObudFf5v2wyj9JAH18LMi2C/IBKEzlLAfT7OHMJL8FcZeNdNpElnaLcdBgPdF4VkiM/MOqTYN8I8Z14jrx35X6wLKomsxbYNkTxX1bMgK16r67m+iAdwgUiIUbVhMrLiNGqgAbZ1/4tNrFajLp3MzqDZTFvfM5niZ/M4XFi0RXV3iV32i/LTvR9mpurVQT7+nVyzlId8oqcTUuQyYzhMONuerVwa+TKXgZUQ5woZvsx4YddaG1GJb2gfovCkwD+PAlQcsBgk6hvKcrDt9lPhljdntVvxakRL2hEe5X1KLpPLuKtJAl8kyfLWnQygTGArLVcBFa3n+tZ6tiY9efsZ9iC2PZ+ACrXjDAx1/8ve2Pfu7kLdi+W9vefDDjjr0n6CTLnbbzpfQXCt1T7GohgLJBXZoaDasIDYhJ18AWF1dCWPVXmkdMrbsSE3DcepdQrAw3I6s8zck5uGiP3gGV0/bLEETvDTwIxF+x7YLkEp8dwNo1FSqwsiWfURlA8/Wbo9rJWvqV1bPWIV295DeWBJFVWhhlW5b6t9ho6ic6BBYK924wD7ZjprdqsK8nQQFUb8d7d6hSg2hKI47KcLEqzfSzHKQC4MAq6kdzxHdvFqhlNU7y4CTZVpMTGuIpn0dLY/CmfcXrtSZwlMy8kdFxHhZsjz+Pk82T2Tr01zSyhwrvQIiTL9IiRC1g547bPrQd7M/jSPuGnllrA3Fn1Y2zXQsYR1v4BAG4vRd8D1M967EWC0pFzd3lT1YhS2IUjIrYEh7fgS26dmi91 Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-OriginatorOrg: netprisma.us X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH3PR22MB4385.namprd22.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 69f1d852-8f9d-47a4-be99-08dc97de73a2 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jun 2024 01:54:45.8234 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fdc90941-0026-4225-aaa0-15fff5e87036 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 5T3ePbqa3gngj7siv/8yKN9NwdB7YkT0WDfA2Txbnfbu4HcF4HY/B+mKe7WByNCr9c3+R97NgreS0u60Jtg+Iw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR22MB3255 Add support for Netprisma LCUK54 series modules. LCUK54-WRD-LWW(0x3731/0x0100): NetPrisma LCUK54-WWD for Global LCUK54-WRD-LWW(0x3731/0x0101): NetPrisma LCUK54-WRD for Global SKU LCUK54-WRD-LCN(0x3731/0x0106): NetPrisma LCUK54-WRD for China SKU LCUK54-WRD-LWW(0x3731/0x0111): NetPrisma LCUK54-WWD for SA LCUK54-WRD-LWW(0x3731/0x0112): NetPrisma LCUK54-WWD for EU LCUK54-WRD-LWW(0x3731/0x0113): NetPrisma LCUK54-WWD for NA LCUK54-WWD-LCN(0x3731/0x0115): NetPrisma LCUK54-WWD for China EDU LCUK54-WWD-LWW(0x3731/0x0116): NetPrisma LCUK54-WWD for Golbal EDU Above products use the exact same interface layout and option driver: MBIM + GNSS + DIAG + NMEA + AT + QDSS + DPL T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 5 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=3731 ProdID=0101 Rev= 5.04 S: Manufacturer=NetPrisma S: Product=LCUK54-WRD S: SerialNumber=b6250c36 C:* #Ifs= 8 Cfg#= 1 Atr=a0 MxPwr=500mA A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00 I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=32ms I: If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim E: Ad=8e(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=0f(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 2 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=82(I) Atr=03(Int.) MxPS= 64 Ivl=32ms I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=40 Driver=option E: Ad=85(I) Atr=03(Int.) MxPS= 10 Ivl=32ms E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option E: Ad=87(I) Atr=03(Int.) MxPS= 10 Ivl=32ms E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 6 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=70 Driver=(none) E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 7 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=80 Driver=(none) E: Ad=8f(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms --- V1 -> V2: 1.Use comments instead of product macro definitions. 2.Add more NetPrisma LCUK54 products for different regions. Signed-off-by: Mank Wang --- drivers/usb/serial/option.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c index 8a5846d4adf6..e4007901eb40 100644 --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c @@ -2328,6 +2328,30 @@ static const struct usb_device_id option_ids[] = { { USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID, TOZED_PRODUCT_LT70C, 0xff, 0, 0) }, { USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID, LUAT_PRODUCT_AIR720U, 0xff, 0, 0) }, { USB_DEVICE_AND_INTERFACE_INFO(MEIGSMART_VENDOR_ID, MEIGSMART_PRODUCT_SLM320, 0xff, 0, 0) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0100, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for Global */ + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0100, 0xff, 0x00, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0100, 0xff, 0xff, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0101, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WRD for Global SKU */ + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0101, 0xff, 0x00, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0101, 0xff, 0xff, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0106, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WRD for China SKU */ + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0106, 0xff, 0x00, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0106, 0xff, 0xff, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0111, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for SA */ + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0111, 0xff, 0x00, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0111, 0xff, 0xff, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0112, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for EU */ + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0112, 0xff, 0x00, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0112, 0xff, 0xff, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0113, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for NA */ + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0113, 0xff, 0x00, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0113, 0xff, 0xff, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0115, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for China EDU */ + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0115, 0xff, 0x00, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0115, 0xff, 0xff, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0116, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for Golbal EDU */ + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0116, 0xff, 0x00, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0116, 0xff, 0xff, 0x40) }, { } /* Terminating entry */ }; MODULE_DEVICE_TABLE(usb, option_ids);