# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/realtek,rts5411.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Realtek RTS5411 USB 3.0 hub controller

maintainers:
  - Matthias Kaehlcke <mka@chromium.org>

allOf:
  - $ref: usb-device.yaml#

properties:
  compatible:
    items:
      - enum:
          - usbbda,5411
          - usbbda,411

  reg: true

  '#address-cells':
    const: 1

  '#size-cells':
    const: 0

  vdd-supply:
    description:
      phandle to the regulator that provides power to the hub.

  peer-hub:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      phandle to the peer hub on the controller.

  ports:
    $ref: /schemas/graph.yaml#/properties/ports

    properties:
      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          1st downstream facing USB port

      port@2:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          2nd downstream facing USB port

      port@3:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          3rd downstream facing USB port

      port@4:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          4th downstream facing USB port

patternProperties:
  '^.*@[1-4]$':
    description: The hard wired USB devices
    type: object
    $ref: /schemas/usb/usb-device.yaml

required:
  - peer-hub
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    usb {
        dr_mode = "host";
        #address-cells = <1>;
        #size-cells = <0>;

        /* 2.0 hub on port 1 */
        hub_2_0: hub@1 {
            compatible = "usbbda,5411";
            reg = <1>;
            vdd-supply = <&pp3300_hub>;
            peer-hub = <&hub_3_0>;
            #address-cells = <1>;
            #size-cells = <0>;
            /* USB 2.0 device on port 2 */
            device@2 {
                compatible = "usb123,4567";
                reg = <2>;
            };
        };

        /* 3.0 hub on port 2 */
        hub_3_0: hub@2 {
            compatible = "usbbda,411";
            reg = <2>;
            vdd-supply = <&pp3300_hub>;
            peer-hub = <&hub_2_0>;

            ports {
                #address-cells = <1>;
                #size-cells = <0>;
                /* Type-A connector on port 4 */
                port@4 {
                    reg = <4>;
                    endpoint {
                      remote-endpoint = <&usb_a0_ss>;
                    };
                };
            };
        };
    };
