1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/usb/usb-hub.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Generic USB Hub 8 9maintainers: 10 - Pin-yen Lin <treapking@chromium.org> 11 12allOf: 13 - $ref: usb-device.yaml# 14 15properties: 16 '#address-cells': 17 const: 1 18 19 peer-hub: 20 $ref: /schemas/types.yaml#/definitions/phandle 21 description: 22 phandle to the peer hub on the controller. 23 24 ports: 25 $ref: /schemas/graph.yaml#/properties/ports 26 description: 27 The downstream facing USB ports 28 29 patternProperties: 30 "^port@[1-9a-f][0-9a-f]*$": 31 $ref: /schemas/graph.yaml#/properties/port 32 33patternProperties: 34 '^.*@[1-9a-f][0-9a-f]*$': 35 description: The hard wired USB devices 36 type: object 37 $ref: /schemas/usb/usb-device.yaml 38 additionalProperties: true 39 40required: 41 - compatible 42 - reg 43 44additionalProperties: true 45 46examples: 47 - | 48 usb { 49 #address-cells = <1>; 50 #size-cells = <0>; 51 52 /* 2.0 hub on port 1 */ 53 hub_2_0: hub@1 { 54 compatible = "usb123,4567"; 55 reg = <1>; 56 peer-hub = <&hub_3_0>; 57 #address-cells = <1>; 58 #size-cells = <0>; 59 /* USB 2.0 device on port 5 */ 60 device@5 { 61 reg = <5>; 62 compatible = "usb765,4321"; 63 }; 64 }; 65 66 /* 3.0 hub on port 2 */ 67 hub_3_0: hub@2 { 68 compatible = "usb123,abcd"; 69 reg = <2>; 70 peer-hub = <&hub_2_0>; 71 72 ports { 73 #address-cells = <1>; 74 #size-cells = <0>; 75 /* Type-A connector on port 3 */ 76 port@3 { 77 reg = <3>; 78 endpoint { 79 remote-endpoint = <&usb_a0_ss>; 80 }; 81 }; 82 }; 83 }; 84 }; 85