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