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

Marek Vasut marek.vasut at mailbox.org
Wed Jun 24 16:28:54 CEST 2026


On 6/24/26 4:15 PM, Quentin Schulz wrote:
> 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 at 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?
Why would Tom collect USB patches ?


More information about the U-Boot mailing list