[PATCH 7/8] usb: eth: Bind ASIX AX88179A/AX88772D/AX88279 to CDC ECM/NCM driver

Jonas Karlman jonas at kwiboo.se
Sat Jul 11 18:08:05 CEST 2026


The ASIX AX88179A, AX88772D and AX88279 USB Ethernet controller
revisions has both CDC ECM and CDC NCM support.

  AX88179:  0b95:1790 1.00
  AX88179A: 0b95:1790 2.00
  AX88772D: 0b95:1790 3.00
  AX88279:  0b95:1790 4.00

Prefer using the CDC NCM or CDC ECM driver for the 2.00-4.00 version
range of the 0b95:1790 ASIX USB Ethernet controllers.

Signed-off-by: Jonas Karlman <jonas at kwiboo.se>
---
 drivers/usb/eth/asix88179.c | 5 +++++
 drivers/usb/eth/cdc_ecm.c   | 3 +++
 drivers/usb/eth/cdc_ncm.c   | 3 +++
 3 files changed, 11 insertions(+)

diff --git a/drivers/usb/eth/asix88179.c b/drivers/usb/eth/asix88179.c
index 69d3073b669a..5f496afa5f21 100644
--- a/drivers/usb/eth/asix88179.c
+++ b/drivers/usb/eth/asix88179.c
@@ -691,7 +691,12 @@ U_BOOT_DRIVER(ax88179_eth) = {
 };
 
 static const struct usb_device_id ax88179_eth_id_table[] = {
+#if IS_ENABLED(CONFIG_USB_ETHER_CDC_ECM) || IS_ENABLED(CONFIG_USB_ETHER_CDC_NCM)
+	{ USB_DEVICE_VER(0x0b95, 0x1790, 0, 0x0100),
+		.driver_info = FLAG_TYPE_AX88179 },
+#else
 	{ USB_DEVICE(0x0b95, 0x1790), .driver_info = FLAG_TYPE_AX88179 },
+#endif
 	{ USB_DEVICE(0x0b95, 0x178a), .driver_info = FLAG_TYPE_AX88178a },
 	{ USB_DEVICE(0x2001, 0x4a00), .driver_info = FLAG_TYPE_DLINK_DUB1312 },
 	{ USB_DEVICE(0x0df6, 0x0072), .driver_info = FLAG_TYPE_SITECOM },
diff --git a/drivers/usb/eth/cdc_ecm.c b/drivers/usb/eth/cdc_ecm.c
index 115152e4964a..3d2212be73cc 100644
--- a/drivers/usb/eth/cdc_ecm.c
+++ b/drivers/usb/eth/cdc_ecm.c
@@ -276,6 +276,9 @@ U_BOOT_DRIVER(usb_cdc_2_ecm) = {
 };
 
 static const struct usb_device_id cdc_ecm_id_table[] = {
+	/* ASIX AX88179A, AX88772D, AX88279 */
+	{ USB_DEVICE_VER(0x0b95, 0x1790, 0x0200, 0x0400), },
+	/* CDC ECM */
 	{ USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ETHERNET,
 			     USB_CDC_PROTO_NONE), },
 	{ /* sentinel */ }
diff --git a/drivers/usb/eth/cdc_ncm.c b/drivers/usb/eth/cdc_ncm.c
index 2ce3ac37b2f0..eb2ec5e6babd 100644
--- a/drivers/usb/eth/cdc_ncm.c
+++ b/drivers/usb/eth/cdc_ncm.c
@@ -472,6 +472,9 @@ U_BOOT_DRIVER(usb_cdc_1_ncm) = {
 };
 
 static const struct usb_device_id cdc_ncm_id_table[] = {
+	/* ASIX AX88179A, AX88772D, AX88279 */
+	{ USB_DEVICE_VER(0x0b95, 0x1790, 0x0200, 0x0400), },
+	/* CDC NCM */
 	{ USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_NCM,
 			     USB_CDC_PROTO_NONE), },
 	{ /* sentinel */ }
-- 
2.54.0



More information about the U-Boot mailing list