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 queued up for upstream release with Linux 7.1 Link: https://github.com/torvalds/linux/blob/master/Documentation/devicetree/bindings/usb/corechips%2Csl6341.yaml Signed-off-by: Alexey Charkov <[email protected]> --- common/usb_onboard_hub.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/common/usb_onboard_hub.c b/common/usb_onboard_hub.c index 6fc34489a98f..d15d7bbff87d 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, @@ -299,6 +305,12 @@ static const struct udevice_id usb_onboard_hub_ids[] = { }, { .compatible = "usb4b4,6506", /* Cypress HX3 USB 2.0 */ .data = (ulong)&usbhx3_data, + }, { + .compatible = "usb3431,6241", /* Corechips SL6341 USB 2.0 */ + .data = (ulong)&corechips_sl6341_data, + }, { + .compatible = "usb3431,6341", /* Corechips SL6341 USB 2.0 */ + .data = (ulong)&corechips_sl6341_data, }, { /* sentinel */ } }; --- base-commit: 5732bd0f457b4c671e46574d64d4acb099c0f0a5 change-id: 20260512-sl6341-d7898a895c4e Best regards, -- Alexey Charkov <[email protected]>

