xref: /freebsd-src/sys/contrib/device-tree/Bindings/pci/rcar-gen4-pci-ep.yaml (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
184943d6fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
284943d6fSEmmanuel Vadot# Copyright (C) 2022-2023 Renesas Electronics Corp.
384943d6fSEmmanuel Vadot%YAML 1.2
484943d6fSEmmanuel Vadot---
584943d6fSEmmanuel Vadot$id: http://devicetree.org/schemas/pci/rcar-gen4-pci-ep.yaml#
684943d6fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
784943d6fSEmmanuel Vadot
884943d6fSEmmanuel Vadottitle: Renesas R-Car Gen4 PCIe Endpoint
984943d6fSEmmanuel Vadot
1084943d6fSEmmanuel Vadotmaintainers:
1184943d6fSEmmanuel Vadot  - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
1284943d6fSEmmanuel Vadot
1384943d6fSEmmanuel VadotallOf:
1484943d6fSEmmanuel Vadot  - $ref: snps,dw-pcie-ep.yaml#
1584943d6fSEmmanuel Vadot
1684943d6fSEmmanuel Vadotproperties:
1784943d6fSEmmanuel Vadot  compatible:
1884943d6fSEmmanuel Vadot    items:
197d0873ebSEmmanuel Vadot      - enum:
207d0873ebSEmmanuel Vadot          - renesas,r8a779f0-pcie-ep      # R-Car S4-8
217d0873ebSEmmanuel Vadot          - renesas,r8a779g0-pcie-ep      # R-Car V4H
22*b2d2a78aSEmmanuel Vadot          - renesas,r8a779h0-pcie-ep      # R-Car V4M
2384943d6fSEmmanuel Vadot      - const: renesas,rcar-gen4-pcie-ep  # R-Car Gen4
2484943d6fSEmmanuel Vadot
2584943d6fSEmmanuel Vadot  reg:
2684943d6fSEmmanuel Vadot    maxItems: 7
2784943d6fSEmmanuel Vadot
2884943d6fSEmmanuel Vadot  reg-names:
2984943d6fSEmmanuel Vadot    items:
3084943d6fSEmmanuel Vadot      - const: dbi
3184943d6fSEmmanuel Vadot      - const: dbi2
3284943d6fSEmmanuel Vadot      - const: atu
3384943d6fSEmmanuel Vadot      - const: dma
3484943d6fSEmmanuel Vadot      - const: app
3584943d6fSEmmanuel Vadot      - const: phy
3684943d6fSEmmanuel Vadot      - const: addr_space
3784943d6fSEmmanuel Vadot
3884943d6fSEmmanuel Vadot  interrupts:
3984943d6fSEmmanuel Vadot    maxItems: 3
4084943d6fSEmmanuel Vadot
4184943d6fSEmmanuel Vadot  interrupt-names:
4284943d6fSEmmanuel Vadot    items:
4384943d6fSEmmanuel Vadot      - const: dma
4484943d6fSEmmanuel Vadot      - const: sft_ce
4584943d6fSEmmanuel Vadot      - const: app
4684943d6fSEmmanuel Vadot
4784943d6fSEmmanuel Vadot  clocks:
4884943d6fSEmmanuel Vadot    maxItems: 2
4984943d6fSEmmanuel Vadot
5084943d6fSEmmanuel Vadot  clock-names:
5184943d6fSEmmanuel Vadot    items:
5284943d6fSEmmanuel Vadot      - const: core
5384943d6fSEmmanuel Vadot      - const: ref
5484943d6fSEmmanuel Vadot
5584943d6fSEmmanuel Vadot  power-domains:
5684943d6fSEmmanuel Vadot    maxItems: 1
5784943d6fSEmmanuel Vadot
5884943d6fSEmmanuel Vadot  resets:
5984943d6fSEmmanuel Vadot    maxItems: 1
6084943d6fSEmmanuel Vadot
6184943d6fSEmmanuel Vadot  reset-names:
6284943d6fSEmmanuel Vadot    items:
6384943d6fSEmmanuel Vadot      - const: pwr
6484943d6fSEmmanuel Vadot
6584943d6fSEmmanuel Vadot  max-link-speed:
6684943d6fSEmmanuel Vadot    maximum: 4
6784943d6fSEmmanuel Vadot
6884943d6fSEmmanuel Vadot  num-lanes:
6984943d6fSEmmanuel Vadot    maximum: 4
7084943d6fSEmmanuel Vadot
7184943d6fSEmmanuel Vadot  max-functions:
7284943d6fSEmmanuel Vadot    maximum: 2
7384943d6fSEmmanuel Vadot
7484943d6fSEmmanuel Vadotrequired:
7584943d6fSEmmanuel Vadot  - compatible
7684943d6fSEmmanuel Vadot  - reg
7784943d6fSEmmanuel Vadot  - reg-names
7884943d6fSEmmanuel Vadot  - interrupts
7984943d6fSEmmanuel Vadot  - interrupt-names
8084943d6fSEmmanuel Vadot  - clocks
8184943d6fSEmmanuel Vadot  - clock-names
8284943d6fSEmmanuel Vadot  - power-domains
8384943d6fSEmmanuel Vadot  - resets
8484943d6fSEmmanuel Vadot  - reset-names
8584943d6fSEmmanuel Vadot
8684943d6fSEmmanuel VadotunevaluatedProperties: false
8784943d6fSEmmanuel Vadot
8884943d6fSEmmanuel Vadotexamples:
8984943d6fSEmmanuel Vadot  - |
9084943d6fSEmmanuel Vadot    #include <dt-bindings/clock/r8a779f0-cpg-mssr.h>
9184943d6fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
9284943d6fSEmmanuel Vadot    #include <dt-bindings/power/r8a779f0-sysc.h>
9384943d6fSEmmanuel Vadot
9484943d6fSEmmanuel Vadot    soc {
9584943d6fSEmmanuel Vadot        #address-cells = <2>;
9684943d6fSEmmanuel Vadot        #size-cells = <2>;
9784943d6fSEmmanuel Vadot
9884943d6fSEmmanuel Vadot        pcie0_ep: pcie-ep@e65d0000 {
9984943d6fSEmmanuel Vadot            compatible = "renesas,r8a779f0-pcie-ep", "renesas,rcar-gen4-pcie-ep";
10084943d6fSEmmanuel Vadot            reg = <0 0xe65d0000 0 0x2000>, <0 0xe65d2000 0 0x1000>,
10184943d6fSEmmanuel Vadot                  <0 0xe65d3000 0 0x2000>, <0 0xe65d5000 0 0x1200>,
10284943d6fSEmmanuel Vadot                  <0 0xe65d6200 0 0x0e00>, <0 0xe65d7000 0 0x0400>,
10384943d6fSEmmanuel Vadot                  <0 0xfe000000 0 0x400000>;
10484943d6fSEmmanuel Vadot            reg-names = "dbi", "dbi2", "atu", "dma", "app", "phy", "addr_space";
10584943d6fSEmmanuel Vadot            interrupts = <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>,
10684943d6fSEmmanuel Vadot                         <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
10784943d6fSEmmanuel Vadot                         <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>;
10884943d6fSEmmanuel Vadot            interrupt-names = "dma", "sft_ce", "app";
10984943d6fSEmmanuel Vadot            clocks = <&cpg CPG_MOD 624>, <&pcie0_clkref>;
11084943d6fSEmmanuel Vadot            clock-names = "core", "ref";
11184943d6fSEmmanuel Vadot            power-domains = <&sysc R8A779F0_PD_ALWAYS_ON>;
11284943d6fSEmmanuel Vadot            resets = <&cpg 624>;
11384943d6fSEmmanuel Vadot            reset-names = "pwr";
11484943d6fSEmmanuel Vadot            max-link-speed = <4>;
11584943d6fSEmmanuel Vadot            num-lanes = <2>;
11684943d6fSEmmanuel Vadot            max-functions = /bits/ 8 <2>;
11784943d6fSEmmanuel Vadot        };
11884943d6fSEmmanuel Vadot    };
119