xref: /freebsd/sys/contrib/device-tree/Bindings/pci/rcar-gen4-pci-ep.yaml (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1*84943d6fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*84943d6fSEmmanuel Vadot# Copyright (C) 2022-2023 Renesas Electronics Corp.
3*84943d6fSEmmanuel Vadot%YAML 1.2
4*84943d6fSEmmanuel Vadot---
5*84943d6fSEmmanuel Vadot$id: http://devicetree.org/schemas/pci/rcar-gen4-pci-ep.yaml#
6*84943d6fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
7*84943d6fSEmmanuel Vadot
8*84943d6fSEmmanuel Vadottitle: Renesas R-Car Gen4 PCIe Endpoint
9*84943d6fSEmmanuel Vadot
10*84943d6fSEmmanuel Vadotmaintainers:
11*84943d6fSEmmanuel Vadot  - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
12*84943d6fSEmmanuel Vadot
13*84943d6fSEmmanuel VadotallOf:
14*84943d6fSEmmanuel Vadot  - $ref: snps,dw-pcie-ep.yaml#
15*84943d6fSEmmanuel Vadot
16*84943d6fSEmmanuel Vadotproperties:
17*84943d6fSEmmanuel Vadot  compatible:
18*84943d6fSEmmanuel Vadot    items:
19*84943d6fSEmmanuel Vadot      - const: renesas,r8a779f0-pcie-ep   # R-Car S4-8
20*84943d6fSEmmanuel Vadot      - const: renesas,rcar-gen4-pcie-ep  # R-Car Gen4
21*84943d6fSEmmanuel Vadot
22*84943d6fSEmmanuel Vadot  reg:
23*84943d6fSEmmanuel Vadot    maxItems: 7
24*84943d6fSEmmanuel Vadot
25*84943d6fSEmmanuel Vadot  reg-names:
26*84943d6fSEmmanuel Vadot    items:
27*84943d6fSEmmanuel Vadot      - const: dbi
28*84943d6fSEmmanuel Vadot      - const: dbi2
29*84943d6fSEmmanuel Vadot      - const: atu
30*84943d6fSEmmanuel Vadot      - const: dma
31*84943d6fSEmmanuel Vadot      - const: app
32*84943d6fSEmmanuel Vadot      - const: phy
33*84943d6fSEmmanuel Vadot      - const: addr_space
34*84943d6fSEmmanuel Vadot
35*84943d6fSEmmanuel Vadot  interrupts:
36*84943d6fSEmmanuel Vadot    maxItems: 3
37*84943d6fSEmmanuel Vadot
38*84943d6fSEmmanuel Vadot  interrupt-names:
39*84943d6fSEmmanuel Vadot    items:
40*84943d6fSEmmanuel Vadot      - const: dma
41*84943d6fSEmmanuel Vadot      - const: sft_ce
42*84943d6fSEmmanuel Vadot      - const: app
43*84943d6fSEmmanuel Vadot
44*84943d6fSEmmanuel Vadot  clocks:
45*84943d6fSEmmanuel Vadot    maxItems: 2
46*84943d6fSEmmanuel Vadot
47*84943d6fSEmmanuel Vadot  clock-names:
48*84943d6fSEmmanuel Vadot    items:
49*84943d6fSEmmanuel Vadot      - const: core
50*84943d6fSEmmanuel Vadot      - const: ref
51*84943d6fSEmmanuel Vadot
52*84943d6fSEmmanuel Vadot  power-domains:
53*84943d6fSEmmanuel Vadot    maxItems: 1
54*84943d6fSEmmanuel Vadot
55*84943d6fSEmmanuel Vadot  resets:
56*84943d6fSEmmanuel Vadot    maxItems: 1
57*84943d6fSEmmanuel Vadot
58*84943d6fSEmmanuel Vadot  reset-names:
59*84943d6fSEmmanuel Vadot    items:
60*84943d6fSEmmanuel Vadot      - const: pwr
61*84943d6fSEmmanuel Vadot
62*84943d6fSEmmanuel Vadot  max-link-speed:
63*84943d6fSEmmanuel Vadot    maximum: 4
64*84943d6fSEmmanuel Vadot
65*84943d6fSEmmanuel Vadot  num-lanes:
66*84943d6fSEmmanuel Vadot    maximum: 4
67*84943d6fSEmmanuel Vadot
68*84943d6fSEmmanuel Vadot  max-functions:
69*84943d6fSEmmanuel Vadot    maximum: 2
70*84943d6fSEmmanuel Vadot
71*84943d6fSEmmanuel Vadotrequired:
72*84943d6fSEmmanuel Vadot  - compatible
73*84943d6fSEmmanuel Vadot  - reg
74*84943d6fSEmmanuel Vadot  - reg-names
75*84943d6fSEmmanuel Vadot  - interrupts
76*84943d6fSEmmanuel Vadot  - interrupt-names
77*84943d6fSEmmanuel Vadot  - clocks
78*84943d6fSEmmanuel Vadot  - clock-names
79*84943d6fSEmmanuel Vadot  - power-domains
80*84943d6fSEmmanuel Vadot  - resets
81*84943d6fSEmmanuel Vadot  - reset-names
82*84943d6fSEmmanuel Vadot
83*84943d6fSEmmanuel VadotunevaluatedProperties: false
84*84943d6fSEmmanuel Vadot
85*84943d6fSEmmanuel Vadotexamples:
86*84943d6fSEmmanuel Vadot  - |
87*84943d6fSEmmanuel Vadot    #include <dt-bindings/clock/r8a779f0-cpg-mssr.h>
88*84943d6fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
89*84943d6fSEmmanuel Vadot    #include <dt-bindings/power/r8a779f0-sysc.h>
90*84943d6fSEmmanuel Vadot
91*84943d6fSEmmanuel Vadot    soc {
92*84943d6fSEmmanuel Vadot        #address-cells = <2>;
93*84943d6fSEmmanuel Vadot        #size-cells = <2>;
94*84943d6fSEmmanuel Vadot
95*84943d6fSEmmanuel Vadot        pcie0_ep: pcie-ep@e65d0000 {
96*84943d6fSEmmanuel Vadot            compatible = "renesas,r8a779f0-pcie-ep", "renesas,rcar-gen4-pcie-ep";
97*84943d6fSEmmanuel Vadot            reg = <0 0xe65d0000 0 0x2000>, <0 0xe65d2000 0 0x1000>,
98*84943d6fSEmmanuel Vadot                  <0 0xe65d3000 0 0x2000>, <0 0xe65d5000 0 0x1200>,
99*84943d6fSEmmanuel Vadot                  <0 0xe65d6200 0 0x0e00>, <0 0xe65d7000 0 0x0400>,
100*84943d6fSEmmanuel Vadot                  <0 0xfe000000 0 0x400000>;
101*84943d6fSEmmanuel Vadot            reg-names = "dbi", "dbi2", "atu", "dma", "app", "phy", "addr_space";
102*84943d6fSEmmanuel Vadot            interrupts = <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>,
103*84943d6fSEmmanuel Vadot                         <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
104*84943d6fSEmmanuel Vadot                         <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>;
105*84943d6fSEmmanuel Vadot            interrupt-names = "dma", "sft_ce", "app";
106*84943d6fSEmmanuel Vadot            clocks = <&cpg CPG_MOD 624>, <&pcie0_clkref>;
107*84943d6fSEmmanuel Vadot            clock-names = "core", "ref";
108*84943d6fSEmmanuel Vadot            power-domains = <&sysc R8A779F0_PD_ALWAYS_ON>;
109*84943d6fSEmmanuel Vadot            resets = <&cpg 624>;
110*84943d6fSEmmanuel Vadot            reset-names = "pwr";
111*84943d6fSEmmanuel Vadot            max-link-speed = <4>;
112*84943d6fSEmmanuel Vadot            num-lanes = <2>;
113*84943d6fSEmmanuel Vadot            max-functions = /bits/ 8 <2>;
114*84943d6fSEmmanuel Vadot        };
115*84943d6fSEmmanuel Vadot    };
116