[PATCH v2] usb: onboard-hub: Add support for Corechips SL6341 USB 2.0/3.0 hub controller

Quentin Schulz quentin.schulz at cherry.de
Wed Jun 24 16:15:42 CEST 2026


Hi Alexey, Tom,

On 5/12/26 3:55 PM, Alexey Charkov wrote:
> 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 <alchark at flipper.net>
> ---
> Changes in v2:
> - Fixed the comment to correctly indicate the USB 3.0 entry
> - Added an upstream commit reference for the DT binding
> - V for volts in captials (commit message, thanks Marek)
> - Reordered the compatibles by lexical order, not hex order (thanks Marek)
> - Link to v1: https://lore.kernel.org/r/20260512-sl6341-v1-1-2819ac19e050@flipper.net
> ---
>   common/usb_onboard_hub.c | 14 +++++++++++++-
>   1 file changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/common/usb_onboard_hub.c b/common/usb_onboard_hub.c
> index 6fc34489a98f..0684f7bfd479 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 */

Would be nice to have an additional newline after the opening curly 
bracket to avoid this unnecessary chunk in the diff next time we add 
support for yet another USB hub. It's also a bit surprising to add it 
first in the list instead of last, but eh, nothing too important.

Reviewed-by: Quentin Schulz <quentin.schulz at cherry.de>

@Tom, can you take this for next please?

Cheers,
Quentin


More information about the U-Boot mailing list