# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) 2022-2023 Renesas Electronics Corp.
%YAML 1.2
---
$id: http://devicetree.org/schemas/pci/rcar-gen4-pci-ep.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Renesas R-Car Gen4 PCIe Endpoint

maintainers:
  - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>

allOf:
  - $ref: snps,dw-pcie-ep.yaml#

properties:
  compatible:
    items:
      - enum:
          - renesas,r8a779f0-pcie-ep      # R-Car S4-8
          - renesas,r8a779g0-pcie-ep      # R-Car V4H
          - renesas,r8a779h0-pcie-ep      # R-Car V4M
      - const: renesas,rcar-gen4-pcie-ep  # R-Car Gen4

  reg:
    maxItems: 7

  reg-names:
    items:
      - const: dbi
      - const: dbi2
      - const: atu
      - const: dma
      - const: app
      - const: phy
      - const: addr_space

  interrupts:
    maxItems: 3

  interrupt-names:
    items:
      - const: dma
      - const: sft_ce
      - const: app

  clocks:
    maxItems: 2

  clock-names:
    items:
      - const: core
      - const: ref

  power-domains:
    maxItems: 1

  resets:
    maxItems: 1

  reset-names:
    items:
      - const: pwr

  max-link-speed:
    maximum: 4

  num-lanes:
    maximum: 4

  max-functions:
    maximum: 2

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

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/clock/r8a779f0-cpg-mssr.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/power/r8a779f0-sysc.h>

    soc {
        #address-cells = <2>;
        #size-cells = <2>;

        pcie0_ep: pcie-ep@e65d0000 {
            compatible = "renesas,r8a779f0-pcie-ep", "renesas,rcar-gen4-pcie-ep";
            reg = <0 0xe65d0000 0 0x2000>, <0 0xe65d2000 0 0x1000>,
                  <0 0xe65d3000 0 0x2000>, <0 0xe65d5000 0 0x1200>,
                  <0 0xe65d6200 0 0x0e00>, <0 0xe65d7000 0 0x0400>,
                  <0 0xfe000000 0 0x400000>;
            reg-names = "dbi", "dbi2", "atu", "dma", "app", "phy", "addr_space";
            interrupts = <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>;
            interrupt-names = "dma", "sft_ce", "app";
            clocks = <&cpg CPG_MOD 624>, <&pcie0_clkref>;
            clock-names = "core", "ref";
            power-domains = <&sysc R8A779F0_PD_ALWAYS_ON>;
            resets = <&cpg 624>;
            reset-names = "pwr";
            max-link-speed = <4>;
            num-lanes = <2>;
            max-functions = /bits/ 8 <2>;
        };
    };
