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