151d11d0aSYoshihiro Shimoda# SPDX-License-Identifier: GPL-2.0-only
251d11d0aSYoshihiro Shimoda%YAML 1.2
351d11d0aSYoshihiro Shimoda---
451d11d0aSYoshihiro Shimoda$id: http://devicetree.org/schemas/usb/renesas,usb3-peri.yaml#
551d11d0aSYoshihiro Shimoda$schema: http://devicetree.org/meta-schemas/core.yaml#
651d11d0aSYoshihiro Shimoda
751d11d0aSYoshihiro Shimodatitle: Renesas USB 3.0 Peripheral controller
851d11d0aSYoshihiro Shimoda
951d11d0aSYoshihiro Shimodamaintainers:
1051d11d0aSYoshihiro Shimoda  - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
1151d11d0aSYoshihiro Shimoda
1251d11d0aSYoshihiro Shimodaproperties:
1351d11d0aSYoshihiro Shimoda  compatible:
143c3ce77cSPhil Edworthy    oneOf:
153c3ce77cSPhil Edworthy      - items:
1651d11d0aSYoshihiro Shimoda          - enum:
1751d11d0aSYoshihiro Shimoda              - renesas,r8a774a1-usb3-peri # RZ/G2M
1851d11d0aSYoshihiro Shimoda              - renesas,r8a774b1-usb3-peri # RZ/G2N
1951d11d0aSYoshihiro Shimoda              - renesas,r8a774c0-usb3-peri # RZ/G2E
2009dc10a7SLad Prabhakar              - renesas,r8a774e1-usb3-peri # RZ/G2H
2151d11d0aSYoshihiro Shimoda              - renesas,r8a7795-usb3-peri  # R-Car H3
2251d11d0aSYoshihiro Shimoda              - renesas,r8a7796-usb3-peri  # R-Car M3-W
2368b1add4SYoshihiro Shimoda              - renesas,r8a77961-usb3-peri # R-Car M3-W+
2451d11d0aSYoshihiro Shimoda              - renesas,r8a77965-usb3-peri # R-Car M3-N
2551d11d0aSYoshihiro Shimoda              - renesas,r8a77990-usb3-peri # R-Car E3
2651d11d0aSYoshihiro Shimoda          - const: renesas,rcar-gen3-usb3-peri
2751d11d0aSYoshihiro Shimoda
283c3ce77cSPhil Edworthy      - items:
293c3ce77cSPhil Edworthy          - enum:
303c3ce77cSPhil Edworthy              - renesas,r9a09g011-usb3-peri # RZ/V2M
31*2c5502a4SBiju Das              - renesas,r9a09g055-usb3-peri # RZ/V2MA
323c3ce77cSPhil Edworthy          - const: renesas,rzv2m-usb3-peri
333c3ce77cSPhil Edworthy
3451d11d0aSYoshihiro Shimoda  reg:
3551d11d0aSYoshihiro Shimoda    maxItems: 1
3651d11d0aSYoshihiro Shimoda
3751d11d0aSYoshihiro Shimoda  interrupts:
3829218d6cSBiju Das    maxItems: 1
3951d11d0aSYoshihiro Shimoda
4051d11d0aSYoshihiro Shimoda  clocks:
413c3ce77cSPhil Edworthy    minItems: 1
423c3ce77cSPhil Edworthy    items:
433c3ce77cSPhil Edworthy      - description: Main clock
443c3ce77cSPhil Edworthy      - description: Register access clock
453c3ce77cSPhil Edworthy
463c3ce77cSPhil Edworthy  clock-names:
473c3ce77cSPhil Edworthy    minItems: 1
483c3ce77cSPhil Edworthy    items:
4929218d6cSBiju Das      - const: axi
503c3ce77cSPhil Edworthy      - const: reg
5151d11d0aSYoshihiro Shimoda
5251d11d0aSYoshihiro Shimoda  phys:
5351d11d0aSYoshihiro Shimoda    maxItems: 1
5451d11d0aSYoshihiro Shimoda
5551d11d0aSYoshihiro Shimoda  phy-names:
5651d11d0aSYoshihiro Shimoda    const: usb
5751d11d0aSYoshihiro Shimoda
5851d11d0aSYoshihiro Shimoda  power-domains:
5951d11d0aSYoshihiro Shimoda    maxItems: 1
6051d11d0aSYoshihiro Shimoda
6151d11d0aSYoshihiro Shimoda  resets:
6229218d6cSBiju Das    maxItems: 1
6351d11d0aSYoshihiro Shimoda
6451d11d0aSYoshihiro Shimoda  usb-role-switch:
6551d11d0aSYoshihiro Shimoda    $ref: /schemas/types.yaml#/definitions/flag
6651d11d0aSYoshihiro Shimoda    description: Support role switch.
6751d11d0aSYoshihiro Shimoda
6851d11d0aSYoshihiro Shimoda  companion:
6951d11d0aSYoshihiro Shimoda    $ref: /schemas/types.yaml#/definitions/phandle
7051d11d0aSYoshihiro Shimoda    description: phandle of a companion.
7151d11d0aSYoshihiro Shimoda
721c6e8ee6SBiju Das  ports:
735250f8f3SRob Herring    $ref: /schemas/graph.yaml#/properties/ports
7451d11d0aSYoshihiro Shimoda    description: |
7551d11d0aSYoshihiro Shimoda      any connector to the data bus of this controller should be modelled
7651d11d0aSYoshihiro Shimoda      using the OF graph bindings specified, if the "usb-role-switch"
7751d11d0aSYoshihiro Shimoda      property is used.
785250f8f3SRob Herring
791c6e8ee6SBiju Das    properties:
801c6e8ee6SBiju Das      port@0:
815250f8f3SRob Herring        $ref: /schemas/graph.yaml#/properties/port
821c6e8ee6SBiju Das        description: High Speed (HS) data bus.
831c6e8ee6SBiju Das
841c6e8ee6SBiju Das      port@1:
855250f8f3SRob Herring        $ref: /schemas/graph.yaml#/properties/port
861c6e8ee6SBiju Das        description: Super Speed (SS) data bus.
871c6e8ee6SBiju Das
881c6e8ee6SBiju Das    required:
891c6e8ee6SBiju Das      - port@0
901c6e8ee6SBiju Das      - port@1
9151d11d0aSYoshihiro Shimoda
9251d11d0aSYoshihiro Shimodarequired:
9351d11d0aSYoshihiro Shimoda  - compatible
9451d11d0aSYoshihiro Shimoda  - interrupts
9551d11d0aSYoshihiro Shimoda  - clocks
9651d11d0aSYoshihiro Shimoda
973c3ce77cSPhil EdworthyallOf:
983c3ce77cSPhil Edworthy  - if:
993c3ce77cSPhil Edworthy      properties:
1003c3ce77cSPhil Edworthy        compatible:
1013c3ce77cSPhil Edworthy          contains:
1023c3ce77cSPhil Edworthy            enum:
1033c3ce77cSPhil Edworthy              - renesas,rzv2m-usb3-peri
1043c3ce77cSPhil Edworthy    then:
1053c3ce77cSPhil Edworthy      properties:
1063c3ce77cSPhil Edworthy        clocks:
1073c3ce77cSPhil Edworthy          minItems: 2
1083c3ce77cSPhil Edworthy        clock-names:
1093c3ce77cSPhil Edworthy          minItems: 2
1103c3ce77cSPhil Edworthy      required:
1113c3ce77cSPhil Edworthy        - clock-names
1123c3ce77cSPhil Edworthy        - resets
1133c3ce77cSPhil Edworthy    else:
1143c3ce77cSPhil Edworthy      properties:
1153c3ce77cSPhil Edworthy        clocks:
1163c3ce77cSPhil Edworthy          maxItems: 1
1173c3ce77cSPhil Edworthy
11851d11d0aSYoshihiro ShimodaadditionalProperties: false
11951d11d0aSYoshihiro Shimoda
12051d11d0aSYoshihiro Shimodaexamples:
12151d11d0aSYoshihiro Shimoda  - |
12251d11d0aSYoshihiro Shimoda    #include <dt-bindings/clock/r8a774c0-cpg-mssr.h>
12351d11d0aSYoshihiro Shimoda    #include <dt-bindings/interrupt-controller/arm-gic.h>
12451d11d0aSYoshihiro Shimoda    #include <dt-bindings/power/r8a774c0-sysc.h>
12551d11d0aSYoshihiro Shimoda
12651d11d0aSYoshihiro Shimoda    usb3_peri0: usb@ee020000 {
12751d11d0aSYoshihiro Shimoda        compatible = "renesas,r8a774c0-usb3-peri", "renesas,rcar-gen3-usb3-peri";
128fba56184SRob Herring        reg = <0xee020000 0x400>;
12951d11d0aSYoshihiro Shimoda        interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
13051d11d0aSYoshihiro Shimoda        clocks = <&cpg CPG_MOD 328>;
13151d11d0aSYoshihiro Shimoda        companion = <&xhci0>;
13251d11d0aSYoshihiro Shimoda        usb-role-switch;
13351d11d0aSYoshihiro Shimoda
1341c6e8ee6SBiju Das        ports {
1351c6e8ee6SBiju Das                #address-cells = <1>;
1361c6e8ee6SBiju Das                #size-cells = <0>;
1371c6e8ee6SBiju Das                port@0 {
1381c6e8ee6SBiju Das                        reg = <0>;
1391c6e8ee6SBiju Das                        usb3_hs_ep: endpoint {
1401c6e8ee6SBiju Das                                remote-endpoint = <&hs_ep>;
1411c6e8ee6SBiju Das                        };
1421c6e8ee6SBiju Das                };
1431c6e8ee6SBiju Das                port@1 {
1441c6e8ee6SBiju Das                        reg = <1>;
14551d11d0aSYoshihiro Shimoda                        usb3_role_switch: endpoint {
1461c6e8ee6SBiju Das                                remote-endpoint = <&hd3ss3220_out_ep>;
1471c6e8ee6SBiju Das                        };
14851d11d0aSYoshihiro Shimoda                };
14951d11d0aSYoshihiro Shimoda        };
15051d11d0aSYoshihiro Shimoda    };
151