xref: /freebsd/sys/contrib/device-tree/Bindings/usb/realtek,rts5411.yaml (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
1aa1a8ff2SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
25956d97fSEmmanuel Vadot%YAML 1.2
35956d97fSEmmanuel Vadot---
45956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/usb/realtek,rts5411.yaml#
55956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65956d97fSEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Realtek RTS5411 USB 3.0 hub controller
85956d97fSEmmanuel Vadot
95956d97fSEmmanuel Vadotmaintainers:
105956d97fSEmmanuel Vadot  - Matthias Kaehlcke <mka@chromium.org>
115956d97fSEmmanuel Vadot
125956d97fSEmmanuel VadotallOf:
135956d97fSEmmanuel Vadot  - $ref: usb-device.yaml#
145956d97fSEmmanuel Vadot
155956d97fSEmmanuel Vadotproperties:
165956d97fSEmmanuel Vadot  compatible:
175956d97fSEmmanuel Vadot    items:
185956d97fSEmmanuel Vadot      - enum:
195956d97fSEmmanuel Vadot          - usbbda,5411
205956d97fSEmmanuel Vadot          - usbbda,411
215956d97fSEmmanuel Vadot
225956d97fSEmmanuel Vadot  reg: true
235956d97fSEmmanuel Vadot
2401950c46SEmmanuel Vadot  '#address-cells':
2501950c46SEmmanuel Vadot    const: 1
2601950c46SEmmanuel Vadot
2701950c46SEmmanuel Vadot  '#size-cells':
2801950c46SEmmanuel Vadot    const: 0
2901950c46SEmmanuel Vadot
305956d97fSEmmanuel Vadot  vdd-supply:
315956d97fSEmmanuel Vadot    description:
325956d97fSEmmanuel Vadot      phandle to the regulator that provides power to the hub.
335956d97fSEmmanuel Vadot
34b97ee269SEmmanuel Vadot  peer-hub:
35fac71e4eSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
365956d97fSEmmanuel Vadot    description:
37b97ee269SEmmanuel Vadot      phandle to the peer hub on the controller.
385956d97fSEmmanuel Vadot
3901950c46SEmmanuel Vadot  ports:
4001950c46SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
4101950c46SEmmanuel Vadot
4201950c46SEmmanuel Vadot    properties:
4301950c46SEmmanuel Vadot      port@1:
4401950c46SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
4501950c46SEmmanuel Vadot        description:
4601950c46SEmmanuel Vadot          1st downstream facing USB port
4701950c46SEmmanuel Vadot
4801950c46SEmmanuel Vadot      port@2:
4901950c46SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
5001950c46SEmmanuel Vadot        description:
5101950c46SEmmanuel Vadot          2nd downstream facing USB port
5201950c46SEmmanuel Vadot
5301950c46SEmmanuel Vadot      port@3:
5401950c46SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
5501950c46SEmmanuel Vadot        description:
5601950c46SEmmanuel Vadot          3rd downstream facing USB port
5701950c46SEmmanuel Vadot
5801950c46SEmmanuel Vadot      port@4:
5901950c46SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
6001950c46SEmmanuel Vadot        description:
6101950c46SEmmanuel Vadot          4th downstream facing USB port
6201950c46SEmmanuel Vadot
6301950c46SEmmanuel VadotpatternProperties:
6401950c46SEmmanuel Vadot  '^.*@[1-4]$':
6501950c46SEmmanuel Vadot    description: The hard wired USB devices
6601950c46SEmmanuel Vadot    type: object
6701950c46SEmmanuel Vadot    $ref: /schemas/usb/usb-device.yaml
68*7d0873ebSEmmanuel Vadot    additionalProperties: true
6901950c46SEmmanuel Vadot
705956d97fSEmmanuel Vadotrequired:
71b97ee269SEmmanuel Vadot  - peer-hub
725956d97fSEmmanuel Vadot  - compatible
735956d97fSEmmanuel Vadot  - reg
745956d97fSEmmanuel Vadot
755956d97fSEmmanuel VadotadditionalProperties: false
765956d97fSEmmanuel Vadot
775956d97fSEmmanuel Vadotexamples:
785956d97fSEmmanuel Vadot  - |
795956d97fSEmmanuel Vadot    usb {
805956d97fSEmmanuel Vadot        dr_mode = "host";
815956d97fSEmmanuel Vadot        #address-cells = <1>;
825956d97fSEmmanuel Vadot        #size-cells = <0>;
835956d97fSEmmanuel Vadot
845956d97fSEmmanuel Vadot        /* 2.0 hub on port 1 */
855956d97fSEmmanuel Vadot        hub_2_0: hub@1 {
865956d97fSEmmanuel Vadot            compatible = "usbbda,5411";
875956d97fSEmmanuel Vadot            reg = <1>;
885956d97fSEmmanuel Vadot            vdd-supply = <&pp3300_hub>;
89b97ee269SEmmanuel Vadot            peer-hub = <&hub_3_0>;
9001950c46SEmmanuel Vadot            #address-cells = <1>;
9101950c46SEmmanuel Vadot            #size-cells = <0>;
9201950c46SEmmanuel Vadot            /* USB 2.0 device on port 2 */
9301950c46SEmmanuel Vadot            device@2 {
9401950c46SEmmanuel Vadot                compatible = "usb123,4567";
9501950c46SEmmanuel Vadot                reg = <2>;
9601950c46SEmmanuel Vadot            };
975956d97fSEmmanuel Vadot        };
985956d97fSEmmanuel Vadot
995956d97fSEmmanuel Vadot        /* 3.0 hub on port 2 */
1005956d97fSEmmanuel Vadot        hub_3_0: hub@2 {
1015956d97fSEmmanuel Vadot            compatible = "usbbda,411";
1025956d97fSEmmanuel Vadot            reg = <2>;
1035956d97fSEmmanuel Vadot            vdd-supply = <&pp3300_hub>;
104b97ee269SEmmanuel Vadot            peer-hub = <&hub_2_0>;
10501950c46SEmmanuel Vadot
10601950c46SEmmanuel Vadot            ports {
10701950c46SEmmanuel Vadot                #address-cells = <1>;
10801950c46SEmmanuel Vadot                #size-cells = <0>;
10901950c46SEmmanuel Vadot                /* Type-A connector on port 4 */
11001950c46SEmmanuel Vadot                port@4 {
11101950c46SEmmanuel Vadot                    reg = <4>;
11201950c46SEmmanuel Vadot                    endpoint {
11301950c46SEmmanuel Vadot                      remote-endpoint = <&usb_a0_ss>;
11401950c46SEmmanuel Vadot                    };
11501950c46SEmmanuel Vadot                };
11601950c46SEmmanuel Vadot            };
1175956d97fSEmmanuel Vadot        };
1185956d97fSEmmanuel Vadot    };
119