blob: ffb34339b637051b845954e375108ee6eeffa004 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2# Copyright (C) 2022-2023 Renesas Electronics Corp.
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/pci/rcar-gen4-pci-host.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: Renesas R-Car Gen4 PCIe Host
9
10maintainers:
11 - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
12
13allOf:
14 - $ref: snps,dw-pcie.yaml#
15
16properties:
17 compatible:
18 items:
19 - const: renesas,r8a779f0-pcie # R-Car S4-8
20 - const: renesas,rcar-gen4-pcie # R-Car Gen4
21
22 reg:
23 maxItems: 7
24
25 reg-names:
26 items:
27 - const: dbi
28 - const: dbi2
29 - const: atu
30 - const: dma
31 - const: app
32 - const: phy
33 - const: config
34
35 interrupts:
36 maxItems: 4
37
38 interrupt-names:
39 items:
40 - const: msi
41 - const: dma
42 - const: sft_ce
43 - const: app
44
45 clocks:
46 maxItems: 2
47
48 clock-names:
49 items:
50 - const: core
51 - const: ref
52
53 power-domains:
54 maxItems: 1
55
56 resets:
57 maxItems: 1
58
59 reset-names:
60 items:
61 - const: pwr
62
63 max-link-speed:
64 maximum: 4
65
66 num-lanes:
67 maximum: 4
68
69required:
70 - compatible
71 - reg
72 - reg-names
73 - interrupts
74 - interrupt-names
75 - clocks
76 - clock-names
77 - power-domains
78 - resets
79 - reset-names
80
81unevaluatedProperties: false
82
83examples:
84 - |
85 #include <dt-bindings/clock/r8a779f0-cpg-mssr.h>
86 #include <dt-bindings/interrupt-controller/arm-gic.h>
87 #include <dt-bindings/power/r8a779f0-sysc.h>
88
89 soc {
90 #address-cells = <2>;
91 #size-cells = <2>;
92
93 pcie: pcie@e65d0000 {
94 compatible = "renesas,r8a779f0-pcie", "renesas,rcar-gen4-pcie";
95 reg = <0 0xe65d0000 0 0x1000>, <0 0xe65d2000 0 0x0800>,
96 <0 0xe65d3000 0 0x2000>, <0 0xe65d5000 0 0x1200>,
97 <0 0xe65d6200 0 0x0e00>, <0 0xe65d7000 0 0x0400>,
98 <0 0xfe000000 0 0x400000>;
99 reg-names = "dbi", "dbi2", "atu", "dma", "app", "phy", "config";
100 interrupts = <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>,
101 <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>,
102 <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
103 <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>;
104 interrupt-names = "msi", "dma", "sft_ce", "app";
105 clocks = <&cpg CPG_MOD 624>, <&pcie0_clkref>;
106 clock-names = "core", "ref";
107 power-domains = <&sysc R8A779F0_PD_ALWAYS_ON>;
108 resets = <&cpg 624>;
109 reset-names = "pwr";
110 max-link-speed = <4>;
111 num-lanes = <2>;
112 #address-cells = <3>;
113 #size-cells = <2>;
114 bus-range = <0x00 0xff>;
115 device_type = "pci";
116 ranges = <0x01000000 0 0x00000000 0 0xfe000000 0 0x00400000>,
117 <0x02000000 0 0x30000000 0 0x30000000 0 0x10000000>;
118 dma-ranges = <0x42000000 0 0x00000000 0 0x00000000 1 0x00000000>;
119 #interrupt-cells = <1>;
120 interrupt-map-mask = <0 0 0 7>;
121 interrupt-map = <0 0 0 1 &gic GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>,
122 <0 0 0 2 &gic GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>,
123 <0 0 0 3 &gic GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>,
124 <0 0 0 4 &gic GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>;
125 snps,enable-cdm-check;
126 };
127 };