xref: /freebsd/sys/contrib/device-tree/Bindings/pci/rcar-pci-host.yaml (revision 5def4c47d4bd90b209b9b4a4ba9faec15846d8fd)
1*5def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*5def4c47SEmmanuel Vadot# Copyright (C) 2020 Renesas Electronics Corp.
3*5def4c47SEmmanuel Vadot%YAML 1.2
4*5def4c47SEmmanuel Vadot---
5*5def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/pci/rcar-pci-host.yaml#
6*5def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
7*5def4c47SEmmanuel Vadot
8*5def4c47SEmmanuel Vadottitle: Renesas R-Car PCIe Host
9*5def4c47SEmmanuel Vadot
10*5def4c47SEmmanuel Vadotmaintainers:
11*5def4c47SEmmanuel Vadot  - Marek Vasut <marek.vasut+renesas@gmail.com>
12*5def4c47SEmmanuel Vadot  - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
13*5def4c47SEmmanuel Vadot
14*5def4c47SEmmanuel VadotallOf:
15*5def4c47SEmmanuel Vadot  - $ref: pci-bus.yaml#
16*5def4c47SEmmanuel Vadot
17*5def4c47SEmmanuel Vadotproperties:
18*5def4c47SEmmanuel Vadot  compatible:
19*5def4c47SEmmanuel Vadot    oneOf:
20*5def4c47SEmmanuel Vadot      - items:
21*5def4c47SEmmanuel Vadot          - enum:
22*5def4c47SEmmanuel Vadot              - renesas,pcie-r8a7742      # RZ/G1H
23*5def4c47SEmmanuel Vadot              - renesas,pcie-r8a7743      # RZ/G1M
24*5def4c47SEmmanuel Vadot              - renesas,pcie-r8a7744      # RZ/G1N
25*5def4c47SEmmanuel Vadot              - renesas,pcie-r8a7790      # R-Car H2
26*5def4c47SEmmanuel Vadot              - renesas,pcie-r8a7791      # R-Car M2-W
27*5def4c47SEmmanuel Vadot              - renesas,pcie-r8a7793      # R-Car M2-N
28*5def4c47SEmmanuel Vadot          - const: renesas,pcie-rcar-gen2 # R-Car Gen2 and RZ/G1
29*5def4c47SEmmanuel Vadot      - items:
30*5def4c47SEmmanuel Vadot          - enum:
31*5def4c47SEmmanuel Vadot              - renesas,pcie-r8a774a1     # RZ/G2M
32*5def4c47SEmmanuel Vadot              - renesas,pcie-r8a774b1     # RZ/G2N
33*5def4c47SEmmanuel Vadot              - renesas,pcie-r8a774c0     # RZ/G2E
34*5def4c47SEmmanuel Vadot              - renesas,pcie-r8a774e1     # RZ/G2H
35*5def4c47SEmmanuel Vadot              - renesas,pcie-r8a7795      # R-Car H3
36*5def4c47SEmmanuel Vadot              - renesas,pcie-r8a7796      # R-Car M3-W
37*5def4c47SEmmanuel Vadot              - renesas,pcie-r8a77961     # R-Car M3-W+
38*5def4c47SEmmanuel Vadot              - renesas,pcie-r8a77965     # R-Car M3-N
39*5def4c47SEmmanuel Vadot              - renesas,pcie-r8a77980     # R-Car V3H
40*5def4c47SEmmanuel Vadot              - renesas,pcie-r8a77990     # R-Car E3
41*5def4c47SEmmanuel Vadot          - const: renesas,pcie-rcar-gen3 # R-Car Gen3 and RZ/G2
42*5def4c47SEmmanuel Vadot
43*5def4c47SEmmanuel Vadot  reg:
44*5def4c47SEmmanuel Vadot    maxItems: 1
45*5def4c47SEmmanuel Vadot
46*5def4c47SEmmanuel Vadot  interrupts:
47*5def4c47SEmmanuel Vadot    minItems: 3
48*5def4c47SEmmanuel Vadot    maxItems: 3
49*5def4c47SEmmanuel Vadot
50*5def4c47SEmmanuel Vadot  clocks:
51*5def4c47SEmmanuel Vadot    maxItems: 2
52*5def4c47SEmmanuel Vadot
53*5def4c47SEmmanuel Vadot  clock-names:
54*5def4c47SEmmanuel Vadot    items:
55*5def4c47SEmmanuel Vadot      - const: pcie
56*5def4c47SEmmanuel Vadot      - const: pcie_bus
57*5def4c47SEmmanuel Vadot
58*5def4c47SEmmanuel Vadot  power-domains:
59*5def4c47SEmmanuel Vadot    maxItems: 1
60*5def4c47SEmmanuel Vadot
61*5def4c47SEmmanuel Vadot  resets:
62*5def4c47SEmmanuel Vadot    maxItems: 1
63*5def4c47SEmmanuel Vadot
64*5def4c47SEmmanuel Vadot  phys:
65*5def4c47SEmmanuel Vadot    maxItems: 1
66*5def4c47SEmmanuel Vadot
67*5def4c47SEmmanuel Vadot  phy-names:
68*5def4c47SEmmanuel Vadot    const: pcie
69*5def4c47SEmmanuel Vadot
70*5def4c47SEmmanuel Vadotrequired:
71*5def4c47SEmmanuel Vadot  - compatible
72*5def4c47SEmmanuel Vadot  - reg
73*5def4c47SEmmanuel Vadot  - interrupts
74*5def4c47SEmmanuel Vadot  - clocks
75*5def4c47SEmmanuel Vadot  - clock-names
76*5def4c47SEmmanuel Vadot  - power-domains
77*5def4c47SEmmanuel Vadot  - resets
78*5def4c47SEmmanuel Vadot
79*5def4c47SEmmanuel VadotunevaluatedProperties: false
80*5def4c47SEmmanuel Vadot
81*5def4c47SEmmanuel Vadotexamples:
82*5def4c47SEmmanuel Vadot  - |
83*5def4c47SEmmanuel Vadot    #include <dt-bindings/clock/r8a7791-cpg-mssr.h>
84*5def4c47SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
85*5def4c47SEmmanuel Vadot    #include <dt-bindings/power/r8a7791-sysc.h>
86*5def4c47SEmmanuel Vadot
87*5def4c47SEmmanuel Vadot    soc {
88*5def4c47SEmmanuel Vadot        #address-cells = <2>;
89*5def4c47SEmmanuel Vadot        #size-cells = <2>;
90*5def4c47SEmmanuel Vadot
91*5def4c47SEmmanuel Vadot        pcie: pcie@fe000000 {
92*5def4c47SEmmanuel Vadot            compatible = "renesas,pcie-r8a7791", "renesas,pcie-rcar-gen2";
93*5def4c47SEmmanuel Vadot            reg = <0 0xfe000000 0 0x80000>;
94*5def4c47SEmmanuel Vadot             #address-cells = <3>;
95*5def4c47SEmmanuel Vadot             #size-cells = <2>;
96*5def4c47SEmmanuel Vadot             bus-range = <0x00 0xff>;
97*5def4c47SEmmanuel Vadot             device_type = "pci";
98*5def4c47SEmmanuel Vadot             ranges = <0x01000000 0 0x00000000 0 0xfe100000 0 0x00100000>,
99*5def4c47SEmmanuel Vadot                      <0x02000000 0 0xfe200000 0 0xfe200000 0 0x00200000>,
100*5def4c47SEmmanuel Vadot                      <0x02000000 0 0x30000000 0 0x30000000 0 0x08000000>,
101*5def4c47SEmmanuel Vadot                      <0x42000000 0 0x38000000 0 0x38000000 0 0x08000000>;
102*5def4c47SEmmanuel Vadot             dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 0 0x40000000>,
103*5def4c47SEmmanuel Vadot                          <0x42000000 2 0x00000000 2 0x00000000 0 0x40000000>;
104*5def4c47SEmmanuel Vadot             interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
105*5def4c47SEmmanuel Vadot                          <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
106*5def4c47SEmmanuel Vadot                          <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
107*5def4c47SEmmanuel Vadot             #interrupt-cells = <1>;
108*5def4c47SEmmanuel Vadot             interrupt-map-mask = <0 0 0 0>;
109*5def4c47SEmmanuel Vadot             interrupt-map = <0 0 0 0 &gic GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
110*5def4c47SEmmanuel Vadot             clocks = <&cpg CPG_MOD 319>, <&pcie_bus_clk>;
111*5def4c47SEmmanuel Vadot             clock-names = "pcie", "pcie_bus";
112*5def4c47SEmmanuel Vadot             power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
113*5def4c47SEmmanuel Vadot             resets = <&cpg 319>;
114*5def4c47SEmmanuel Vadot         };
115*5def4c47SEmmanuel Vadot    };
116