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

Alexey Charkov alchark at flipper.net
Tue May 12 15:55:28 CEST 2026


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 */
+		.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 */

---
base-commit: 5732bd0f457b4c671e46574d64d4acb099c0f0a5
change-id: 20260512-sl6341-d7898a895c4e

Best regards,
-- 
Alexey Charkov <alchark at flipper.net>



More information about the U-Boot mailing list