# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Genesys Logic USB hub controller maintainers: - Icenowy Zheng properties: compatible: enum: - usb5e3,608 - usb5e3,610 - usb5e3,620 - usb5e3,626 reg: true reset-gpios: description: GPIO controlling the RESET# pin. vdd-supply: description: The regulator that provides 3.3V or 5.0V core power to the hub. peer-hub: true ports: $ref: /schemas/graph.yaml#/properties/ports patternProperties: '^port@': $ref: /schemas/graph.yaml#/properties/port properties: reg: minimum: 1 maximum: 4 required: - compatible - reg allOf: - $ref: usb-hub.yaml# - if: properties: compatible: contains: enum: - usb5e3,608 then: properties: peer-hub: false vdd-supply: false - if: properties: compatible: contains: enum: - usb5e3,610 - usb5e3,620 then: properties: peer-hub: true vdd-supply: true unevaluatedProperties: false examples: - | #include 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>; }; }; - | #include usb { dr_mode = "host"; #address-cells = <1>; #size-cells = <0>; /* 2.0 hub on port 1 */ hub_2_0: hub@1 { compatible = "usb5e3,610"; reg = <1>; peer-hub = <&hub_3_0>; reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>; vdd-supply = <&vcc_5v>; }; /* 3.1 hub on port 4 */ hub_3_0: hub@2 { compatible = "usb5e3,620"; reg = <2>; peer-hub = <&hub_2_0>; reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>; vdd-supply = <&vcc_5v>; }; };