* [PATCH 1/3] dt-bindings: vendor-prefixes: Add Shenzhen Corechips Microelectronics
2026-03-11 15:20 [PATCH 0/3] Add binding and driver for Corechips SL6341 USB 2.0/3.0 Hub Controller Alexey Charkov
@ 2026-03-11 15:20 ` Alexey Charkov
2026-03-11 18:44 ` Conor Dooley
2026-03-11 15:20 ` [PATCH 2/3] dt-bindings: usb: Add Corechips SL6341 USB2.0/3.0 hub controller Alexey Charkov
2026-03-11 15:20 ` [PATCH 3/3] usb: misc: onboard_usb_dev: Add Corechips SL6341 USB 2.0/3.0 hub Alexey Charkov
2 siblings, 1 reply; 6+ messages in thread
From: Alexey Charkov @ 2026-03-11 15:20 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Greg Kroah-Hartman, Matthias Kaehlcke
Cc: devicetree, linux-kernel, linux-usb, Alexey Charkov
Add Shenzhen Corechips Microelectronics Co., Ltd., which is a company
producing chips for USB accessories
Link: http://www.corechip-sz.com/enproducts.asp
Signed-off-by: Alexey Charkov <alchark@flipper.net>
---
Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 04b7d1aaaef1..5f1a804a96de 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -361,6 +361,8 @@ patternProperties:
description: CORERIVER Semiconductor Co.,Ltd.
"^corpro,.*":
description: Chengdu Corpro Technology Co., Ltd.
+ "^corechips,.*":
+ description: Shenzhen Corechips Microelectronics Co., Ltd.
"^cortina,.*":
description: Cortina Systems, Inc.
"^cosmic,.*":
--
2.52.0
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 2/3] dt-bindings: usb: Add Corechips SL6341 USB2.0/3.0 hub controller
2026-03-11 15:20 [PATCH 0/3] Add binding and driver for Corechips SL6341 USB 2.0/3.0 Hub Controller Alexey Charkov
2026-03-11 15:20 ` [PATCH 1/3] dt-bindings: vendor-prefixes: Add Shenzhen Corechips Microelectronics Alexey Charkov
@ 2026-03-11 15:20 ` Alexey Charkov
2026-03-13 23:50 ` Rob Herring (Arm)
2026-03-11 15:20 ` [PATCH 3/3] usb: misc: onboard_usb_dev: Add Corechips SL6341 USB 2.0/3.0 hub Alexey Charkov
2 siblings, 1 reply; 6+ messages in thread
From: Alexey Charkov @ 2026-03-11 15:20 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Greg Kroah-Hartman, Matthias Kaehlcke
Cc: devicetree, linux-kernel, linux-usb, Alexey Charkov
Corechips SL6341 is a 4-port low-power USB 3.2 Gen 1x1 hub controller
supporting SS, HS, FS and LS connections and integrating a 5V to 3.3V
built-in LDO to enable its IO to be powered directly from the 5V USB VBUS.
External 1v1 VDD supply is still required for its core power.
Signed-off-by: Alexey Charkov <alchark@flipper.net>
---
.../devicetree/bindings/usb/corechips,sl6341.yaml | 79 ++++++++++++++++++++++
1 file changed, 79 insertions(+)
diff --git a/Documentation/devicetree/bindings/usb/corechips,sl6341.yaml b/Documentation/devicetree/bindings/usb/corechips,sl6341.yaml
new file mode 100644
index 000000000000..82996791aaf1
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/corechips,sl6341.yaml
@@ -0,0 +1,79 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/corechips,sl6341.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Corechips SL6341 USB 2.0/3.0 Hub Controller
+
+maintainers:
+ - Alexey Charkov <alchark@flipper.net>
+
+allOf:
+ - $ref: usb-hub.yaml#
+
+properties:
+ compatible:
+ enum:
+ - usb3431,6241
+ - usb3431,6341
+
+ reg: true
+
+ peer-hub: true
+
+ reset-gpios:
+ description: GPIO controlling the RSTN pin.
+
+ vdd1v1-supply:
+ description:
+ The regulator that provides 1.1V core power to the hub.
+
+ vdd3v3-supply:
+ description:
+ The regulator that provides 3.3V IO power to the hub.
+
+ ports:
+ $ref: /schemas/graph.yaml#/properties/ports
+
+ patternProperties:
+ '^port@':
+ $ref: /schemas/graph.yaml#/properties/port
+
+ properties:
+ reg:
+ minimum: 1
+ maximum: 4
+
+required:
+ - compatible
+ - reg
+ - vdd1v1-supply
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ usb {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* 2.0 hub */
+ hub_2_0: hub@1 {
+ compatible = "usb3431,6241";
+ reg = <1>;
+ peer-hub = <&hub_3_0>;
+ reset-gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
+ vdd1v1-supply = <&vdd1v1_hub>;
+ };
+
+ /* 3.0 hub */
+ hub_3_0: hub@2 {
+ compatible = "usb3431,6341";
+ reg = <2>;
+ peer-hub = <&hub_2_0>;
+ reset-gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
+ vdd1v1-supply = <&vdd1v1_hub>;
+ };
+ };
--
2.52.0
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 3/3] usb: misc: onboard_usb_dev: Add Corechips SL6341 USB 2.0/3.0 hub
2026-03-11 15:20 [PATCH 0/3] Add binding and driver for Corechips SL6341 USB 2.0/3.0 Hub Controller Alexey Charkov
2026-03-11 15:20 ` [PATCH 1/3] dt-bindings: vendor-prefixes: Add Shenzhen Corechips Microelectronics Alexey Charkov
2026-03-11 15:20 ` [PATCH 2/3] dt-bindings: usb: Add Corechips SL6341 USB2.0/3.0 hub controller Alexey Charkov
@ 2026-03-11 15:20 ` Alexey Charkov
2 siblings, 0 replies; 6+ messages in thread
From: Alexey Charkov @ 2026-03-11 15:20 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Greg Kroah-Hartman, Matthias Kaehlcke
Cc: devicetree, linux-kernel, linux-usb, Alexey Charkov
Add the ID entries and platform data for the Corechips SL6341 onboard
USB 2.0/3.0 hub controller, which requires a reset pin and a power supply
for proper operation.
Signed-off-by: Alexey Charkov <alchark@flipper.net>
---
drivers/usb/misc/onboard_usb_dev.c | 3 +++
drivers/usb/misc/onboard_usb_dev.h | 9 +++++++++
2 files changed, 12 insertions(+)
diff --git a/drivers/usb/misc/onboard_usb_dev.c b/drivers/usb/misc/onboard_usb_dev.c
index ba37eb99efba..6dd73f23e9be 100644
--- a/drivers/usb/misc/onboard_usb_dev.c
+++ b/drivers/usb/misc/onboard_usb_dev.c
@@ -565,6 +565,7 @@ static struct platform_driver onboard_dev_driver = {
/************************** USB driver **************************/
#define VENDOR_ID_BISON 0x5986
+#define VENDOR_ID_CORECHIPS 0x3431
#define VENDOR_ID_CYPRESS 0x04b4
#define VENDOR_ID_GENESYS 0x05e3
#define VENDOR_ID_MICROCHIP 0x0424
@@ -649,6 +650,8 @@ static void onboard_dev_usbdev_disconnect(struct usb_device *udev)
static const struct usb_device_id onboard_dev_id_table[] = {
{ USB_DEVICE(VENDOR_ID_BISON, 0x1198) }, /* Bison Electronics Inc. Integrated Camera */
+ { USB_DEVICE(VENDOR_ID_CORECHIPS, 0x6241) }, /* SL6341 2.0 HUB */
+ { USB_DEVICE(VENDOR_ID_CORECHIPS, 0x6341) }, /* SL6341 3.0 HUB */
{ USB_DEVICE(VENDOR_ID_CYPRESS, 0x6500) }, /* CYUSB330x 3.0 HUB */
{ USB_DEVICE(VENDOR_ID_CYPRESS, 0x6502) }, /* CYUSB330x 2.0 HUB */
{ USB_DEVICE(VENDOR_ID_CYPRESS, 0x6503) }, /* CYUSB33{0,1}x 2.0 HUB, Vendor Mode */
diff --git a/drivers/usb/misc/onboard_usb_dev.h b/drivers/usb/misc/onboard_usb_dev.h
index 1a1e86e60e04..8f74db0b8001 100644
--- a/drivers/usb/misc/onboard_usb_dev.h
+++ b/drivers/usb/misc/onboard_usb_dev.h
@@ -80,6 +80,13 @@ static const struct onboard_dev_pdata bison_intcamera_data = {
.is_hub = false,
};
+static const struct onboard_dev_pdata corechips_sl6341_data = {
+ .reset_us = 10000,
+ .num_supplies = 2,
+ .supply_names = { "vdd1v1", "vdd3v3" },
+ .is_hub = true,
+};
+
static const struct onboard_dev_pdata cypress_hx3_data = {
.reset_us = 10000,
.num_supplies = 2,
@@ -159,6 +166,8 @@ static const struct of_device_id onboard_dev_match[] = {
{ .compatible = "usb2109,817", .data = &vialab_vl817_data, },
{ .compatible = "usb2109,2817", .data = &vialab_vl817_data, },
{ .compatible = "usb20b1,0013", .data = &xmos_xvf3500_data, },
+ { .compatible = "usb3431,6241", .data = &corechips_sl6341_data, },
+ { .compatible = "usb3431,6341", .data = &corechips_sl6341_data, },
{ .compatible = "usb5986,1198", .data = &bison_intcamera_data, },
{}
};
--
2.52.0
^ permalink raw reply related [flat|nested] 6+ messages in thread