[PATCH 0/4] can: usb: Add driver for HMS IXXAT USB-to-CAN adapters
Stéphane Grosjean <[email protected]> Thu, 23 Jul 2026 09:29:35 +0200
| Newsgroups | org.kernel.vger.linux-can |
|---|---|
| Message-ID | <[email protected]> |
From: Stéphane Grosjean <[email protected]> This series adds a SocketCAN driver for the HMS Networks IXXAT family of USB-to-CAN and USB-to-CAN FD interface adapters. The driver supports two USB communication layers: - CL1: the protocol for classic CAN 2.0b devices with legacy firmware - CL2: the newer protocol used by recent device firmware versions Supported devices (VID 0x08d8 and 0x08db): USB-to-CAN Compact / Embedded / Professional / Automotive / Plugin (CL1) USB-to-CAN FD Compact / Professional / Automotive / MiniPCIe (CL2) USB-to-CAN/FD Pro / Standard / Standard Card / Pro Module / Standard Module (CL2) USB-to-CAR, CAN-IDM101, CAN-IDM200 (CL2) Supported CAN control modes (device-dependent): listen-only, loopback, triple-sampling, bus-error reporting, CAN FD (ISO 11898-1:2015), non-ISO CAN FD, one-shot Additional features: - Hardware receive timestamps propagated via skb_hwtstamps - Bus error counter (do_get_berr_counter) - TX echo via the SocketCAN echo skb mechanism (up to 32 in flight) - Up to 5 independent CAN channels per physical device - Automatic protocol layer selection based on firmware version Signed-off-by: Stéphane Grosjean <[email protected]> Stéphane Grosjean (4): can: usb: ixxat_usb: add shared header can: usb: ixxat_usb: add CL1 legacy protocol layer can: usb: ixxat_usb: add CL2/V2 protocol layer with CAN can: usb: ixxat_usb: add core driver and Kconfig/Makefile drivers/net/can/usb/Kconfig | 17 + drivers/net/can/usb/Makefile | 1 + drivers/net/can/usb/ixxat_usb/Makefile | 3 + drivers/net/can/usb/ixxat_usb/ixxat_usb_cl1.c | 188 ++ drivers/net/can/usb/ixxat_usb/ixxat_usb_cl2.c | 347 +++ .../net/can/usb/ixxat_usb/ixxat_usb_core.c | 2567 +++++++++++++++++ .../net/can/usb/ixxat_usb/ixxat_usb_core.h | 862 ++++++ 7 files changed, 3985 insertions(+) create mode 100644 drivers/net/can/usb/ixxat_usb/Makefile create mode 100644 drivers/net/can/usb/ixxat_usb/ixxat_usb_cl1.c create mode 100644 drivers/net/can/usb/ixxat_usb/ixxat_usb_cl2.c create mode 100644 drivers/net/can/usb/ixxat_usb/ixxat_usb_core.c create mode 100644 drivers/net/can/usb/ixxat_usb/ixxat_usb_core.h -- 2.53.0