usb: misc: onboard_dev: Add WCH CH334 USB2.0 Hub (1a86:8091)
Subsystems (2)
v2 cover usb: misc: onboard_dev: Add WCH CH334 USB2.0 Hub (1a86:8091)
From: Chaoyi Chen <[email protected]>
Hi,
This series add support for WCH CH334/CH335 USB2.0 Hub (1a86:8091).
Changes in v2:
- Link to v1: https://lore.kernel.org/all/[email protected]/
- Add missing driver (PATCH 2).
- Fix the incorrect reset GPIO polarity.
- Use a more meaningful supply name.
Chaoyi Chen (2):
dt-bindings: usb: Add binding for WCH CH334/CH335 hub controller
usb: misc: onboard_dev: Add WCH CH334 USB2.0 Hub (1a86:8091)
.../devicetree/bindings/usb/wch,ch334.yaml | 65 +++++++++++++++++++ drivers/usb/misc/onboard_usb_dev.h | 8 +++ 2 files changed, 73 insertions(+) create mode 100644 Documentation/devicetree/bindings/usb/wch,ch334.yaml
--
2.51.1
PATCH v2 1/2 dt-bindings: usb: Add binding for WCH CH334/CH335 hub controller
From: Chaoyi Chen <[email protected]>
The WCH CH334/CH335[0] are USB2.0 protocol compliant 4-port USB HUB controller chips, supporting USB2.0 high-speed and full-speed for upstream ports, and USB2.0 high-speed 480Mbps, full-speed 12Mbps and low-speed 1.5Mbps for downstream ports, supporting not only low-cost STT mode (single TT schedules 4 downstream ports in time share), but also supports high performance MTT mode (4 TTs each corresponding to 1 port, concurrent processing).
Add a device tree binding for it.
[0]: https://www.wch-ic.com/downloads/CH334DS1_PDF.html
---
Changes in v2:
- Fix the incorrect reset GPIO polarity.
- Use a more meaningful supply name.
--- .../devicetree/bindings/usb/wch,ch334.yaml | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 Documentation/devicetree/bindings/usb/wch,ch334.yaml
Documentation/devicetree/bindings/usb/wch,ch334.yaml new file +65 -0
@@ -0,0 +1,65 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/usb/wch,ch334.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: WCH CH334/CH335 USB 2.0 Hub Controller + +maintainers: + - Chaoyi Chen <[email protected]> + +allOf: + - $ref: usb-hub.yaml# + +properties: + compatible: + enum: + - usb1a86,8091 + + reg: true + + reset-gpios: + description: GPIO controlling the RESET# pin. + + vdd33-supply: + description: + The regulator that provides 3.3V core power to the hub. + + v5-supply: + description: + The regulator that provides 3.3V or 5V 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 + +additionalProperties: false + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + usb { + #address-cells = <1>; + #size-cells = <0>; + + hub: hub@1 { + compatible = "usb1a86,8091"; + reg = <1>; + reset-gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; + v5-supply = <&vcc_3v3>; + vdd33-supply = <&vcc_3v3>; + }; + };
Signature · 1 line
2.51.1
Re: [PATCH v2 1/2] dt-bindings: usb: Add binding for WCH CH334/CH335 hub controller
Quoted 15 lines · Chaoyi Chen
From: Chaoyi Chen <[email protected]>
The WCH CH334/CH335[0] are USB2.0 protocol compliant 4-port USB HUB controller chips, supporting USB2.0 high-speed and full-speed for upstream ports, and USB2.0 high-speed 480Mbps, full-speed 12Mbps and low-speed 1.5Mbps for downstream ports, supporting not only low-cost STT mode (single TT schedules 4 downstream ports in time share), but also supports high performance MTT mode (4 TTs each corresponding to 1 port, concurrent processing).
Add a device tree binding for it.
[0]: https://www.wch-ic.com/downloads/CH334DS1_PDF.html
Signed-off-by Chaoyi Chen <[email protected]>
Quoted 9 lines
---
Changes in v2:
- Fix the incorrect reset GPIO polarity.
- Use a more meaningful supply name.--- .../devicetree/bindings/usb/wch,ch334.yaml | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 Documentation/devicetree/bindings/usb/wch,ch334.yaml
PATCH v2 2/2 usb: misc: onboard_dev: Add WCH CH334 USB2.0 Hub (1a86:8091)
In reply to Chaoyi ChenFrom: Chaoyi Chen <[email protected]>
The WCH CH334/CH335[0] are USB2.0 protocol compliant 4-port USB HUB controller chips, supporting USB2.0 high-speed and full-speed for upstream ports, and USB2.0 high-speed 480Mbps, full-speed 12Mbps and low-speed 1.5Mbps for downstream ports, supporting not only low-cost STT mode (single TT schedules 4 downstream ports in time share), but also supports high performance MTT mode (4 TTs each corresponding to 1 port, concurrent processing).
[0]: https://www.wch-ic.com/downloads/CH334DS1_PDF.html
--- drivers/usb/misc/onboard_usb_dev.h | 8 ++++++++ 1 file changed, 8 insertions(+)
drivers/usb/misc/onboard_usb_dev.h +8 -0
@@ -115,6 +115,13 @@ static const struct onboard_dev_pdata vialab_vl817_data = { .is_hub = true, }; +static const struct onboard_dev_pdata wch_ch334_data = { + .reset_us =14000 , + .num_supplies =2 , + .supply_names = {"vdd33" ,"v5" }, + .is_hub = true, +}; +static const struct onboard_dev_pdata xmos_xvf3500_data = { .reset_us =1 , .num_supplies =2 ,
@@ -146,6 +153,7 @@ static const struct of_device_id onboard_dev_match[] = { { .compatible = "usbbda,5411", .data = &realtek_rts5411_data, }, { .compatible = "usbbda,414", .data = &realtek_rts5411_data, }, { .compatible = "usbbda,5414", .data = &realtek_rts5411_data, }, + { .compatible = "usb1a86,8091", .data = &wch_ch334_data, }, { .compatible = "usb1da0,5511", .data = ¶de_ps5511_data, }, { .compatible = "usb1da0,55a1", .data = ¶de_ps5511_data, }, { .compatible = "usb2109,817", .data = &vialab_vl817_data, },
Signature · 1 line
2.51.1