xref: /linux/Documentation/devicetree/bindings/usb/parade,ps5511.yaml (revision e7e86d7697c6ed1dbbde18d7185c35b6967945ed)
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/parade,ps5511.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Parade PS5511 4+1 Port USB 3.2 Gen 1 Hub Controller
8
9maintainers:
10  - Pin-yen Lin <treapking@chromium.org>
11
12properties:
13  compatible:
14    enum:
15      - usb1da0,5511
16      - usb1da0,55a1
17
18  reset-gpios:
19    items:
20      - description: GPIO specifier for RESETB pin.
21
22  vddd11-supply:
23    description:
24      1V1 power supply to the hub
25
26  vdd33-supply:
27    description:
28      3V3 power supply to the hub
29
30  peer-hub: true
31
32  ports:
33    $ref: /schemas/graph.yaml#/properties/ports
34
35    patternProperties:
36      '^port@':
37        $ref: /schemas/graph.yaml#/properties/port
38
39        properties:
40          reg:
41            minimum: 1
42            maximum: 5
43
44additionalProperties:
45  properties:
46    reg:
47      minimum: 1
48      maximum: 5
49
50required:
51  - peer-hub
52
53allOf:
54  - $ref: usb-hub.yaml#
55  - if:
56      not:
57        properties:
58          compatible:
59            enum:
60              - usb1da0,55a1
61    then:
62      properties:
63        ports:
64          properties:
65            port@5: false
66
67      patternProperties:
68        '^.*@5$': false
69
70examples:
71  - |
72    usb {
73        #address-cells = <1>;
74        #size-cells = <0>;
75
76        /* 2.0 hub on port 1 */
77        hub_2_0: hub@1 {
78            compatible = "usb1da0,55a1";
79            reg = <1>;
80            peer-hub = <&hub_3_0>;
81            #address-cells = <1>;
82            #size-cells = <0>;
83            /* USB 2.0 device on port 5 */
84            device@5 {
85                reg = <5>;
86                compatible = "usb123,4567";
87            };
88        };
89
90        /* 3.0 hub on port 2 */
91        hub_3_0: hub@2 {
92            compatible = "usb1da0,5511";
93            reg = <2>;
94            peer-hub = <&hub_2_0>;
95
96            ports {
97                #address-cells = <1>;
98                #size-cells = <0>;
99                /* Type-A connector on port 3 */
100                port@3 {
101                    reg = <3>;
102                    endpoint {
103                        remote-endpoint = <&usb_a0_ss>;
104                    };
105                };
106            };
107        };
108    };
109