diff options
| author | Alexey Charkov <[email protected]> | 2026-05-12 17:55:28 +0400 |
|---|---|---|
| committer | Marek Vasut <[email protected]> | 2026-06-25 00:06:47 +0200 |
| commit | f519a74a32b076e548f2637e9a00b8d3110d8bfe (patch) | |
| tree | fe66ade4f396c3982b553836bb982da00ef7b84f | |
| parent | fcda974e36033ad5331a9b4a4a551af4e141ad7d (diff) | |
usb: onboard-hub: Add support for Corechips SL6341 USB 2.0/3.0 hub controller
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 [1]
Signed-off-by: Alexey Charkov <[email protected]>
Reviewed-by: Marek Vasut <[email protected]>
Reviewed-by: Quentin Schulz <[email protected]>
| -rw-r--r-- | common/usb_onboard_hub.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/common/usb_onboard_hub.c b/common/usb_onboard_hub.c index 6fc34489a98..0684f7bfd47 100644 --- a/common/usb_onboard_hub.c +++ b/common/usb_onboard_hub.c @@ -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 */ |
