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

title: Renesas RZ/V2M USB 3.1 DRD controller

maintainers:
  - Biju Das <biju.das.jz@bp.renesas.com>

description: |
  The RZ/V2{M, MA} USB3.1 DRD module supports the following functions
  * Role swapping function by the ID pin of the Micro-AB receptacle
  * Battery Charging Specification Revision 1.2

properties:
  compatible:
    items:
      - enum:
          - renesas,r9a09g011-usb3drd  # RZ/V2M
          - renesas,r9a09g055-usb3drd  # RZ/V2MA
      - const: renesas,rzv2m-usb3drd

  reg:
    maxItems: 1

  interrupts:
    items:
      - description: Dual Role Device (DRD)
      - description: Battery Charging
      - description: Global Purpose Input

  interrupt-names:
    items:
      - const: drd
      - const: bc
      - const: gpi

  clocks:
    items:
      - description: Peripheral AXI clock
      - description: APB clock

  clock-names:
    items:
      - const: axi
      - const: reg

  power-domains:
    maxItems: 1

  resets:
    maxItems: 1

  ranges: true

  '#address-cells':
    enum: [ 1, 2 ]

  '#size-cells':
    enum: [ 1, 2 ]

patternProperties:
  "^usb3peri@[0-9a-f]+$":
    type: object
    $ref: /schemas/usb/renesas,usb3-peri.yaml

  "^usb@[0-9a-f]+$":
    type: object
    $ref: renesas,usb-xhci.yaml#

required:
  - compatible
  - reg
  - interrupts
  - interrupt-names
  - clocks
  - clock-names
  - power-domains
  - resets

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/r9a09g011-cpg.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    usb3drd: usb@85070400 {
        compatible = "renesas,r9a09g011-usb3drd", "renesas,rzv2m-usb3drd";
        reg = <0x85070400 0x100>;
        interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>;
        interrupt-names = "drd", "bc", "gpi";
        clocks = <&cpg CPG_MOD R9A09G011_USB_ACLK_P>,
                 <&cpg CPG_MOD R9A09G011_USB_PCLK>;
        clock-names = "axi", "reg";
        power-domains = <&cpg>;
        resets = <&cpg R9A09G011_USB_DRD_RESET>;
        ranges;
        #address-cells = <1>;
        #size-cells = <1>;

        usb3host: usb@85060000 {
           compatible = "renesas,r9a09g011-xhci",
                        "renesas,rzv2m-xhci";
           reg = <0x85060000 0x2000>;
           interrupts = <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>;
           clocks = <&cpg CPG_MOD R9A09G011_USB_ACLK_H>,
                    <&cpg CPG_MOD R9A09G011_USB_PCLK>;
           clock-names = "axi", "reg";
           power-domains = <&cpg>;
           resets = <&cpg R9A09G011_USB_ARESETN_H>;
        };

        usb3peri: usb3peri@85070000 {
           compatible = "renesas,r9a09g011-usb3-peri",
                        "renesas,rzv2m-usb3-peri";
           reg = <0x85070000 0x400>;
           interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
           clocks = <&cpg CPG_MOD R9A09G011_USB_ACLK_P>,
                    <&cpg CPG_MOD R9A09G011_USB_PCLK>;
           clock-names = "axi", "reg";
           power-domains = <&cpg>;
           resets = <&cpg R9A09G011_USB_ARESETN_P>;
        };
    };
