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: 30 $ref: /schemas/types.yaml#/definitions/phandle 31 description: 32 For onboard hub controllers that support USB 3.x and USB 2.0 hubs 33 with shared resets and power supplies, this property is used to identify 34 the hubs with which these are shared. 35 36required: 37 - compatible 38 - reg 39 40allOf: 41 - $ref: usb-device.yaml# 42 - if: 43 properties: 44 compatible: 45 contains: 46 enum: 47 - usb5e3,608 48 then: 49 properties: 50 peer-hub: false 51 vdd-supply: false 52 53 - if: 54 properties: 55 compatible: 56 contains: 57 enum: 58 - usb5e3,610 59 - usb5e3,620 60 then: 61 properties: 62 peer-hub: true 63 vdd-supply: true 64 65patternProperties: 66 "^.*@[0-9a-f]{1,2}$": 67 description: The hard wired USB devices 68 type: object 69 $ref: /schemas/usb/usb-device.yaml 70 additionalProperties: 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