1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/usb/genesys,gl850g.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Genesys Logic USB hub controller 8 9maintainers: 10 - Icenowy Zheng <uwu@icenowy.me> 11 12properties: 13 compatible: 14 enum: 15 - usb5e3,608 16 - usb5e3,610 17 - usb5e3,620 18 - usb5e3,626 19 20 reg: true 21 22 reset-gpios: 23 description: GPIO controlling the RESET# pin. 24 25 vdd-supply: 26 description: 27 The regulator that provides 3.3V or 5.0V core power to the hub. 28 29 peer-hub: true 30 31 ports: 32 $ref: /schemas/graph.yaml#/properties/ports 33 34 patternProperties: 35 '^port@': 36 $ref: /schemas/graph.yaml#/properties/port 37 38 properties: 39 reg: 40 minimum: 1 41 maximum: 4 42 43required: 44 - compatible 45 - reg 46 47allOf: 48 - $ref: usb-hub.yaml# 49 - if: 50 properties: 51 compatible: 52 contains: 53 enum: 54 - usb5e3,608 55 then: 56 properties: 57 peer-hub: false 58 vdd-supply: false 59 60 - if: 61 properties: 62 compatible: 63 contains: 64 enum: 65 - usb5e3,610 66 - usb5e3,620 67 then: 68 properties: 69 peer-hub: true 70 vdd-supply: true 71 72unevaluatedProperties: false 73 74examples: 75 - | 76 #include <dt-bindings/gpio/gpio.h> 77 usb { 78 dr_mode = "host"; 79 #address-cells = <1>; 80 #size-cells = <0>; 81 82 hub: hub@1 { 83 compatible = "usb5e3,608"; 84 reg = <1>; 85 reset-gpios = <&pio 7 2 GPIO_ACTIVE_LOW>; 86 }; 87 }; 88 89 - | 90 #include <dt-bindings/gpio/gpio.h> 91 usb { 92 dr_mode = "host"; 93 #address-cells = <1>; 94 #size-cells = <0>; 95 96 /* 2.0 hub on port 1 */ 97 hub_2_0: hub@1 { 98 compatible = "usb5e3,610"; 99 reg = <1>; 100 peer-hub = <&hub_3_0>; 101 reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>; 102 vdd-supply = <&vcc_5v>; 103 }; 104 105 /* 3.1 hub on port 4 */ 106 hub_3_0: hub@2 { 107 compatible = "usb5e3,620"; 108 reg = <2>; 109 peer-hub = <&hub_2_0>; 110 reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>; 111 vdd-supply = <&vcc_5v>; 112 }; 113 }; 114