]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
usb: onboard-hub: Add support for Corechips SL6341 USB 2.0/3.0 hub controller
authorAlexey Charkov <alchark@flipper.net>
Tue, 12 May 2026 13:55:28 +0000 (17:55 +0400)
committerMarek Vasut <marek.vasut+usb@mailbox.org>
Wed, 24 Jun 2026 22:06:47 +0000 (00:06 +0200)
Corechips SL6341 is a 4-port USB 2.0 and 3.0 hub controller. It always
requires external 1V1 power and can optionally use external 3V3 power
(or alternatively it has a 5V->3V3 LDO built in to derive 3V3 power from
VBUS). It also exposes a reset pin.

Device tree bindings are merged for upstream release with Linux 7.1 as
commit bfcb86e58f3a ("dt-bindings: usb: Add Corechips SL6341 USB2.0/3.0
hub controller") [1]

Link: https://github.com/torvalds/linux/commit/bfcb86e58f3a58d05b95970d81b94cb011982780
Signed-off-by: Alexey Charkov <alchark@flipper.net>
Reviewed-by: Marek Vasut <marek.vasut+usb@mailbox.org>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
common/usb_onboard_hub.c

index 6fc34489a98fa7ae3e1ac0f58bc182ac22e7ab30..0684f7bfd479cd119fe2ef135957d8fe732b7e0d 100644 (file)
@@ -262,6 +262,12 @@ static int usb_onboard_hub_remove(struct udevice *dev)
        return ret;
 }
 
+static const struct onboard_hub_data corechips_sl6341_data = {
+       .reset_us = 10000,
+       .num_supplies = 2,
+       .supply_names = { "vdd1v1-supply", "vdd3v3-supply" },
+};
+
 static const struct onboard_hub_data usb2514_data = {
        .power_on_delay_us = 500,
        .reset_us = 1,
@@ -285,7 +291,13 @@ static const struct onboard_hub_data usbhx3_data = {
 
 static const struct udevice_id usb_onboard_hub_ids[] = {
        /* Use generic usbVID,PID dt-bindings (usb-device.yaml) */
-       {       .compatible = "usb424,2514",    /* USB2514B USB 2.0 */
+       {       .compatible = "usb3431,6241",   /* Corechips SL6341 USB 2.0 */
+               .data = (ulong)&corechips_sl6341_data,
+       }, {
+               .compatible = "usb3431,6341",   /* Corechips SL6341 USB 3.0 */
+               .data = (ulong)&corechips_sl6341_data,
+       }, {
+               .compatible = "usb424,2514",    /* USB2514B USB 2.0 */
                .data = (ulong)&usb2514_data,
        }, {
                .compatible = "usb424,2744",    /* USB2744 USB 2.0 */