The Genesys Logic GL850G is a USB 2.0 Single TT hub controller that
features 4 downstream ports, an internal 5V-to-3.3V LDO regulator (can
be bypassed) and an external reset pin.
Add a device tree binding for its USB protocol part. The internal LDO is
not covered by this and can just be modelled as a fixed regulator.
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
---
.../bindings/usb/genesys,gl850g.yaml | 48 +++++++++++++++++++
1 file changed, 48 insertions(+)
create mode 100644 Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
diff --git a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
new file mode 100644
index 000000000000..d1fe539db399
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
@@ -0,0 +1,48 @@
+# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/realtek,rts5411.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Genesys Logic GL850G USB 2.0 hub controller
+
+maintainers:
+ - Icenowy Zheng <uwu@icenowy.me>
+
+allOf:
+ - $ref: usb-device.yaml#
+
+properties:
+ compatible:
+ items:
+ - enum:
+ - usb5e3,608
+
+ reg: true
+
+ reset-gpios:
+ description: GPIO specifier for GRST# pin.
+
+ vdd-supply:
+ description:
+ phandle to the regulator that provides power to the hub.
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ usb {
+ dr_mode = "host";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ hub: hub@1 {
+ compatible = "usb5e3,608";
+ reg = <1>;
+ reset-gpios = <&pio 7 2 GPIO_ACTIVE_LOW>;
+ };
+ };
--
2.37.1
On 27/11/2022 08:31, Icenowy Zheng wrote:
> The Genesys Logic GL850G is a USB 2.0 Single TT hub controller that
> features 4 downstream ports, an internal 5V-to-3.3V LDO regulator (can
> be bypassed) and an external reset pin.
Subject: drop second, redundant "binding for".
Few nits below.
>
> Add a device tree binding for its USB protocol part. The internal LDO is
> not covered by this and can just be modelled as a fixed regulator.
>
> Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
> ---
> .../bindings/usb/genesys,gl850g.yaml | 48 +++++++++++++++++++
> 1 file changed, 48 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
>
> diff --git a/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> new file mode 100644
> index 000000000000..d1fe539db399
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/genesys,gl850g.yaml
> @@ -0,0 +1,48 @@
> +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/usb/realtek,rts5411.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Genesys Logic GL850G USB 2.0 hub controller
> +
> +maintainers:
> + - Icenowy Zheng <uwu@icenowy.me>
> +
> +allOf:
> + - $ref: usb-device.yaml#
> +
> +properties:
> + compatible:
> + items:
Drop items, you have only one item.
> + - enum:
> + - usb5e3,608
> +
> + reg: true
> +
> + reset-gpios:
> + description: GPIO specifier for GRST# pin.
Drop "GPIO specifier for", so just "GRST# pin". No need to describe
DeviceTree syntax.
> +
> + vdd-supply:
> + description:
> + phandle to the regulator that provides power to the hub.
Also drop "phandle to"
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + usb {
> + dr_mode = "host";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + hub: hub@1 {
> + compatible = "usb5e3,608";
> + reg = <1>;
> + reset-gpios = <&pio 7 2 GPIO_ACTIVE_LOW>;
Missing header.
Does not look like you tested the bindings. Please run `make
dt_binding_check` (see
Documentation/devicetree/bindings/writing-schema.rst for instructions).
> + };
> + };
Best regards,
Krzysztof
On Sun, 27 Nov 2022 15:31:36 +0800, Icenowy Zheng wrote: > The Genesys Logic GL850G is a USB 2.0 Single TT hub controller that > features 4 downstream ports, an internal 5V-to-3.3V LDO regulator (can > be bypassed) and an external reset pin. > > Add a device tree binding for its USB protocol part. The internal LDO is > not covered by this and can just be modelled as a fixed regulator. > > Signed-off-by: Icenowy Zheng <uwu@icenowy.me> > --- > .../bindings/usb/genesys,gl850g.yaml | 48 +++++++++++++++++++ > 1 file changed, 48 insertions(+) > create mode 100644 Documentation/devicetree/bindings/usb/genesys,gl850g.yaml > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: ./Documentation/devicetree/bindings/usb/genesys,gl850g.yaml: $id: relative path/filename doesn't match actual path or filename expected: http://devicetree.org/schemas/usb/genesys,gl850g.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/usb/realtek,rts5411.yaml: duplicate '$id' value 'http://devicetree.org/schemas/usb/realtek,rts5411.yaml#' Error: Documentation/devicetree/bindings/usb/genesys,gl850g.example.dts:26.41-42 syntax error FATAL ERROR: Unable to parse input tree make[1]: *** [scripts/Makefile.lib:406: Documentation/devicetree/bindings/usb/genesys,gl850g.example.dtb] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:1492: dt_binding_check] Error 2 doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20221127073140.2093897-3-uwu@icenowy.me This check can fail if there are any dependencies. The base for a patch series is generally the most recent rc1. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command.
© 2016 - 2025 Red Hat, Inc.