[PATCH 6/8] usb: misc: onboard_usb_dev: add support for the ASIX AX88179
From: Dmitry Baryshkov <hidden>
Date: 2026-08-10 00:43:02
Also in:
linux-devicetree, linux-usb, lkml
Subsystem:
onboard usb hub driver, the rest, usb subsystem · Maintainers:
Matthias Kaehlcke, Linus Torvalds, Greg Kroah-Hartman
The ASIX AX88179 USB 3.0 Gigabit Ethernet controller on the APQ8074 Dragonboard has its RESET_N pin wired to a PMIC GPIO, so it stays in reset until the OS releases it and the device never enumerates. Add the AX88179 (0b95:1790) to the onboard USB device driver as a non-hub device with a single vdd supply and a conservative 1 ms reset pulse. Assisted-by: Claude:claude-fable-5 Signed-off-by: Dmitry Baryshkov <redacted> --- drivers/usb/misc/onboard_usb_dev.c | 2 ++ drivers/usb/misc/onboard_usb_dev.h | 8 ++++++++ 2 files changed, 10 insertions(+)
diff --git a/drivers/usb/misc/onboard_usb_dev.c b/drivers/usb/misc/onboard_usb_dev.c
index 37ebbccce35b..8139fe3f2cf5 100644
--- a/drivers/usb/misc/onboard_usb_dev.c
+++ b/drivers/usb/misc/onboard_usb_dev.c@@ -564,6 +564,7 @@ static struct platform_driver onboard_dev_driver = { /************************** USB driver **************************/ +#define VENDOR_ID_ASIX 0x0b95 #define VENDOR_ID_BISON 0x5986 #define VENDOR_ID_CORECHIPS 0x3431 #define VENDOR_ID_CYPRESS 0x04b4
@@ -650,6 +651,7 @@ static void onboard_dev_usbdev_disconnect(struct usb_device *udev) } static const struct usb_device_id onboard_dev_id_table[] = { + { USB_DEVICE(VENDOR_ID_ASIX, 0x1790) }, /* AX88179 USB 3.0 Gigabit Ethernet */ { USB_DEVICE(VENDOR_ID_BISON, 0x1198) }, /* Bison Electronics Inc. Integrated Camera */ { USB_DEVICE(VENDOR_ID_CORECHIPS, 0x6241) }, /* SL6341 2.0 HUB */ { USB_DEVICE(VENDOR_ID_CORECHIPS, 0x6341) }, /* SL6341 3.0 HUB */
diff --git a/drivers/usb/misc/onboard_usb_dev.h b/drivers/usb/misc/onboard_usb_dev.h
index 7961b9ffa99e..27efccbe2286 100644
--- a/drivers/usb/misc/onboard_usb_dev.h
+++ b/drivers/usb/misc/onboard_usb_dev.h@@ -59,6 +59,13 @@ static const struct onboard_dev_pdata realtek_rtl8188etv_data = { .is_hub = false, }; +static const struct onboard_dev_pdata asix_ax88179_data = { + .reset_us = 1000, + .num_supplies = 1, + .supply_names = { "vdd" }, + .is_hub = false, +}; + static const struct onboard_dev_pdata ti_tusb8020b_data = { .reset_us = 3000, .num_supplies = 1,
@@ -159,6 +166,7 @@ static const struct of_device_id onboard_dev_match[] = { { .compatible = "usb5e3,620", .data = &genesys_gl852g_data, }, { .compatible = "usb5e3,625", .data = &genesys_gl3590_data, }, { .compatible = "usb5e3,626", .data = &genesys_gl852g_data, }, + { .compatible = "usbb95,1790", .data = &asix_ax88179_data, }, { .compatible = "usbbda,179", .data = &realtek_rtl8188etv_data, }, { .compatible = "usbbda,411", .data = &realtek_rts5411_data, }, { .compatible = "usbbda,5411", .data = &realtek_rts5411_data, },
--
2.47.3