Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1209964pxb; Fri, 26 Feb 2021 05:31:03 -0800 (PST) X-Google-Smtp-Source: ABdhPJwWdozFpzBxbNKFIWPkSdxeRa6M/3DxW8ChPae7hzMkADh4D1U2NB1QOiqGaHSW5Y8e2ggs X-Received: by 2002:aa7:db88:: with SMTP id u8mr3298090edt.329.1614346263668; Fri, 26 Feb 2021 05:31:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614346263; cv=none; d=google.com; s=arc-20160816; b=RfHyLlDf5aYCXAi8gmVAt1fY2Ny096XOhP9a6koNfxotTj/S4LVdi7rq2/NWV6ZkKG 13Xmh/6bE3rekanEd5f1h5MTJF+k99tmBZ0YZkAQYkqoQly6WZE7zCsvozkpA0PLKSjO WkaYLLNh5g+y6mlOIA0sYMoTLutxZOyaYzbiJgv+MxMRaCltbpkGCMnB61T+uog62v8j k7AKpmuh8cWRe2fi3f09fwoGQp0e4PzC6JobrHmvr/kuwzqmqVH35+hfhq3E25kYZCGt 5yPCT3l67lO6iNEV1wuTBZbyvzd0hSsNapE4YY9zCmpltB0Kt7S1Ee4g6HiJhywbqCHP oBng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=s8QmykEf9REShRUzhTdTBD8XFznMsNRQpXs2xsJHCmw=; b=NyNJbroonuBSqBjaOYkTskUEWmnO8YT6n8Icpc5Ju26QWS9MfiOp10Nnflba6J8JMh SZI0ZdOFrNg2JsPOuN/coS3yJfuZP6BX/eAwEsQYYmQQC2LrkHUuwxawGGbYjG5mRJ+o 95bSZ/QobWgjgjHV34w7QmWQEJRu3LeYE5IXVbJFOsQb7zvn9mskjKlyfzzSrrLdHT5V buvhFV8M/P4cXAHIzwengXbhi+WK5YEHTCv73Rf8t9g1C4PXRdnCLllm0SZr+Ab3XCe5 KMdKofkjsYkhCQQbXyEWLxxZgu5MDEK9S0YvC0XZ5dEhm6JjFyEuX0THdbP+ha17ym0o UirA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=G9PLcAvU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id rp21si6087630ejb.563.2021.02.26.05.30.40; Fri, 26 Feb 2021 05:31:03 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=G9PLcAvU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229954AbhBZN30 (ORCPT + 99 others); Fri, 26 Feb 2021 08:29:26 -0500 Received: from mail.kernel.org ([198.145.29.99]:53012 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229886AbhBZN3S (ORCPT ); Fri, 26 Feb 2021 08:29:18 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 4873F64F03; Fri, 26 Feb 2021 13:28:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1614346117; bh=kFtDE0hhRB3jqoqlNzIz1b+FRsGJSaHnpl8grjpv4OM=; h=From:To:Cc:Subject:Date:From; b=G9PLcAvUfrIZyYu9DiM6E3kapgitVkf2Sd932NaAmV793P/IwYcDgEPmMGHf5JxdX 8qLqD9dLEf57P4/BByUKBjD4NiRXSc9X5A88bVbd/hFgX7LmhtZxIGO49zQXpLv9B7 nFAY36LiBN8aUUaveSSnKstR8HSkEy9u+mIhYX3B208XdqmhJqwpXmuMpBWKNxywcU HAWQEwHCQWT3pqxWfVayeWfYq0dOWlUP/oEnubHzZCZ6j8V8M3MHQ3sQlBt2pCo8G1 12DEKRZdxfKhwAkgE7AeiBa9yandFEWuBDt1j/55++mh7SZCTazLIYstLV/x0Rmz11 kMLueMMZW45Kg== Received: by mail.kernel.org with local (Exim 4.94) (envelope-from ) id 1lFdAY-002nbo-GZ; Fri, 26 Feb 2021 14:28:34 +0100 From: Mauro Carvalho Chehab To: Johan Hovold Cc: Mauro Carvalho Chehab , Greg Kroah-Hartman , Oliver Neukum , linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org Subject: [PATCH 0/7] Add support for the other MaxLinear/Exar UARTs Date: Fri, 26 Feb 2021 14:28:26 +0100 Message-Id: X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: Mauro Carvalho Chehab Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The current version of the xr_serial driver handles one one of the several MaxLinear/Exar UARTs and UART bridges. There are currently 12 such models. Only one is currently supported. This series apply on the top of linux-next + the bug fix patch sent today: https://lore.kernel.org/lkml/20210226100826.18987-1-johan@kernel.org/ They were tested only on XR21B1410 and XR21B1424 models, although I'm pretty much confident that the other models will also work, as they're very close to either one of those. Patch 1 is just a cleanup for the registers namespace. It removes the model number from registers that are used on multiple versions of the chipset. Patch 2 adds a table to be used to map the register for each specific variant of this chipset; Patch 3 adds support for XR21B1412 and XR21B1414. The only difference on those devices is that they support multiple UART ports. Patch 4 adds support for XR21B142X, which uses a mix of data and control interfaces to setup the line discipline. Patch 5 adds support for XR21B1410 variant. This one is identical to XR21B1411, except that it uses a different register set; Patch 6 adds support for XR2280X devices: https://www.maxlinear.com/product/interface/bridges/usb-ethernet-bridges/xr22800 Such devices are compound devices that are similar to the USB UARTs from programming PoV. The only difference is the register set. Patch 7 updates the CDC ignore list. After this series, all MaxLinear USB UARTs described at: https://www.maxlinear.com/products/interface/uarts/usb-uarts Should be supported, except for XR21B1421. This one have just a control interface, and uses standard HID protocol. No idea how to support it. Also, I don't have such device to test ;-) In order to write this patch series, I used the datasheets, plus the Linux driver source code, available at MaxLinear, and a previous port made by Patong Yang: https://lore.kernel.org/linux-usb/20180404070634.nhspvmxcjwfgjkcv@advantechmxl-desktop Regards, Mauro Mauro Carvalho Chehab (7): USB: serial: xr: simplify its namespace USB: serial: xr: use a table for device-specific settings USB: serial: xr: add support for multi-port XR21V141X variants USB: serial: xr: add support for XR21B142X devices USB: serial: xr: add support for USB: serial: xr: add support for XR2280X devices USB: cdc-acm: add other non-standard xr_serial models to ignore list drivers/usb/class/cdc-acm.c | 17 +- drivers/usb/serial/xr_serial.c | 694 +++++++++++++++++++++++++-------- 2 files changed, 556 insertions(+), 155 deletions(-) -- 2.29.2