Linux USB
 help / color / mirror / Atom feed
* [PATCH 0/3] Add binding and driver for Corechips SL6341 USB 2.0/3.0 Hub Controller
@ 2026-03-11 15:20 Alexey Charkov
  2026-03-11 15:20 ` [PATCH 1/3] dt-bindings: vendor-prefixes: Add Shenzhen Corechips Microelectronics Alexey Charkov
                   ` (2 more replies)
  0 siblings, 3 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

Corechips SL6341 is a USB 2.0/3.0 hub controller with integrated power
management and support for up to 4 downstream ports.

This adds the vendor prefix for Corechips, a binding document for the hub,
as well as requisite entries in the onboard_usb_dev driver to let it
request the supply regulator(s) and the optional reset GPIO.

At least 1v1 supply is required for the device to operate, and external
3v3 may be used depending on the board design.

The reset GPIO may be provided in either the USB 2.0 or in the USB 3.0
node but not both (the chip has only a single physical reset pin).

Signed-off-by: Alexey Charkov <alchark@flipper.net>
---
Alexey Charkov (3):
      dt-bindings: vendor-prefixes: Add Shenzhen Corechips Microelectronics
      dt-bindings: usb: Add Corechips SL6341 USB2.0/3.0 hub controller
      usb: misc: onboard_usb_dev: Add Corechips SL6341 USB 2.0/3.0 hub

 .../devicetree/bindings/usb/corechips,sl6341.yaml  | 79 ++++++++++++++++++++++
 .../devicetree/bindings/vendor-prefixes.yaml       |  2 +
 drivers/usb/misc/onboard_usb_dev.c                 |  3 +
 drivers/usb/misc/onboard_usb_dev.h                 |  9 +++
 4 files changed, 93 insertions(+)
---
base-commit: 7109a2155340cc7b21f27e832ece6df03592f2e8
change-id: 20260311-sl6341-1e5c939c384f

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


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [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

* Re: [PATCH 1/3] dt-bindings: vendor-prefixes: Add Shenzhen Corechips Microelectronics
  2026-03-11 15:20 ` [PATCH 1/3] dt-bindings: vendor-prefixes: Add Shenzhen Corechips Microelectronics Alexey Charkov
@ 2026-03-11 18:44   ` Conor Dooley
  0 siblings, 0 replies; 6+ messages in thread
From: Conor Dooley @ 2026-03-11 18:44 UTC (permalink / raw)
  To: Alexey Charkov
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Greg Kroah-Hartman, Matthias Kaehlcke, devicetree, linux-kernel,
	linux-usb

[-- Attachment #1: Type: text/plain, Size: 373 bytes --]

On Wed, Mar 11, 2026 at 07:20:21PM +0400, Alexey Charkov wrote:
> 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>

Sure.
Acked-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: not-applicable

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/3] dt-bindings: usb: Add Corechips SL6341 USB2.0/3.0 hub controller
  2026-03-11 15:20 ` [PATCH 2/3] dt-bindings: usb: Add Corechips SL6341 USB2.0/3.0 hub controller Alexey Charkov
@ 2026-03-13 23:50   ` Rob Herring (Arm)
  0 siblings, 0 replies; 6+ messages in thread
From: Rob Herring (Arm) @ 2026-03-13 23:50 UTC (permalink / raw)
  To: Alexey Charkov
  Cc: linux-kernel, Conor Dooley, Matthias Kaehlcke, devicetree,
	linux-usb, Greg Kroah-Hartman, Krzysztof Kozlowski


On Wed, 11 Mar 2026 19:20:22 +0400, Alexey Charkov wrote:
> 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(+)
> 

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-03-13 23:50 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 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-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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox