# 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: $ref: /schemas/types.yaml#/definitions/phandle description: For onboard hub controllers that support USB 3.x and USB 2.0 hubs with shared resets and power supplies, this property is used to identify the hubs with which these are shared. required: - compatible - reg allOf: - $ref: usb-device.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 additionalProperties: 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>; }; };