]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
usb: misc: onboard_usb_dev: Add Corechips SL6341 USB 2.0/3.0 hub
authorAlexey Charkov <alchark@flipper.net>
Wed, 11 Mar 2026 15:20:23 +0000 (19:20 +0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Mar 2026 15:03:47 +0000 (16:03 +0100)
Add the ID entries and platform data for the Corechips SL6341 onboard
USB 2.0/3.0 hub controller, which requires a reset pin and a power supply
for proper operation.

Signed-off-by: Alexey Charkov <alchark@flipper.net>
Link: https://patch.msgid.link/20260311-sl6341-v1-3-0a890056f054@flipper.net
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/misc/onboard_usb_dev.c
drivers/usb/misc/onboard_usb_dev.h

index ba37eb99efbaf5237d4998a0fdb1c65b56628f2b..6dd73f23e9be8417acd00aaf374b4006531bc84a 100644 (file)
@@ -565,6 +565,7 @@ static struct platform_driver onboard_dev_driver = {
 /************************** USB driver **************************/
 
 #define VENDOR_ID_BISON                0x5986
+#define VENDOR_ID_CORECHIPS    0x3431
 #define VENDOR_ID_CYPRESS      0x04b4
 #define VENDOR_ID_GENESYS      0x05e3
 #define VENDOR_ID_MICROCHIP    0x0424
@@ -649,6 +650,8 @@ static void onboard_dev_usbdev_disconnect(struct usb_device *udev)
 
 static const struct usb_device_id onboard_dev_id_table[] = {
        { 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 */
        { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6500) }, /* CYUSB330x 3.0 HUB */
        { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6502) }, /* CYUSB330x 2.0 HUB */
        { USB_DEVICE(VENDOR_ID_CYPRESS, 0x6503) }, /* CYUSB33{0,1}x 2.0 HUB, Vendor Mode */
index 35d15b0346649840496187c8e1910bc6b92b8a20..88f297fd796a53630af0bfece9325ffb4eea0709 100644 (file)
@@ -80,6 +80,13 @@ static const struct onboard_dev_pdata bison_intcamera_data = {
        .is_hub = false,
 };
 
+static const struct onboard_dev_pdata corechips_sl6341_data = {
+       .reset_us = 10000,
+       .num_supplies = 2,
+       .supply_names = { "vdd1v1", "vdd3v3" },
+       .is_hub = true,
+};
+
 static const struct onboard_dev_pdata cypress_hx3_data = {
        .reset_us = 10000,
        .num_supplies = 2,
@@ -165,6 +172,8 @@ static const struct of_device_id onboard_dev_match[] = {
        { .compatible = "usb2109,817", .data = &vialab_vl817_data, },
        { .compatible = "usb2109,2817", .data = &vialab_vl817_data, },
        { .compatible = "usb20b1,0013", .data = &xmos_xvf3500_data, },
+       { .compatible = "usb3431,6241", .data = &corechips_sl6341_data, },
+       { .compatible = "usb3431,6341", .data = &corechips_sl6341_data, },
        { .compatible = "usb5986,1198", .data = &bison_intcamera_data, },
        {}
 };