xref: /linux/Documentation/devicetree/bindings/pci/xlnx,axi-pcie-host.yaml (revision c771600c6af14749609b49565ffb4cac2959710d)
1560e9ce1SThippeswamy Havalige# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2560e9ce1SThippeswamy Havalige%YAML 1.2
3560e9ce1SThippeswamy Havalige---
4560e9ce1SThippeswamy Havalige$id: http://devicetree.org/schemas/pci/xlnx,axi-pcie-host.yaml#
5560e9ce1SThippeswamy Havalige$schema: http://devicetree.org/meta-schemas/core.yaml#
6560e9ce1SThippeswamy Havalige
7560e9ce1SThippeswamy Havaligetitle: Xilinx AXI PCIe Root Port Bridge
8560e9ce1SThippeswamy Havalige
9560e9ce1SThippeswamy Havaligemaintainers:
10560e9ce1SThippeswamy Havalige  - Thippeswamy Havalige <thippeswamy.havalige@amd.com>
11560e9ce1SThippeswamy Havalige
12560e9ce1SThippeswamy HavaligeallOf:
13*5db62b7dSKrzysztof Kozlowski  - $ref: /schemas/pci/pci-host-bridge.yaml#
14560e9ce1SThippeswamy Havalige
15560e9ce1SThippeswamy Havaligeproperties:
16560e9ce1SThippeswamy Havalige  compatible:
17560e9ce1SThippeswamy Havalige    const: xlnx,axi-pcie-host-1.00.a
18560e9ce1SThippeswamy Havalige
19560e9ce1SThippeswamy Havalige  reg:
20560e9ce1SThippeswamy Havalige    maxItems: 1
21560e9ce1SThippeswamy Havalige
22560e9ce1SThippeswamy Havalige  interrupts:
23560e9ce1SThippeswamy Havalige    maxItems: 1
24560e9ce1SThippeswamy Havalige
25560e9ce1SThippeswamy Havalige  ranges:
26560e9ce1SThippeswamy Havalige    items:
27560e9ce1SThippeswamy Havalige      - description: |
28560e9ce1SThippeswamy Havalige          ranges for the PCI memory regions (I/O space region is not
29560e9ce1SThippeswamy Havalige          supported by hardware)
30560e9ce1SThippeswamy Havalige
31560e9ce1SThippeswamy Havalige  "#interrupt-cells":
32560e9ce1SThippeswamy Havalige    const: 1
33560e9ce1SThippeswamy Havalige
34560e9ce1SThippeswamy Havalige  interrupt-controller:
35560e9ce1SThippeswamy Havalige    description: identifies the node as an interrupt controller
36560e9ce1SThippeswamy Havalige    type: object
37560e9ce1SThippeswamy Havalige    properties:
38560e9ce1SThippeswamy Havalige      interrupt-controller: true
39560e9ce1SThippeswamy Havalige
40560e9ce1SThippeswamy Havalige      "#address-cells":
41560e9ce1SThippeswamy Havalige        const: 0
42560e9ce1SThippeswamy Havalige
43560e9ce1SThippeswamy Havalige      "#interrupt-cells":
44560e9ce1SThippeswamy Havalige        const: 1
45560e9ce1SThippeswamy Havalige
46560e9ce1SThippeswamy Havalige    required:
47560e9ce1SThippeswamy Havalige      - interrupt-controller
48560e9ce1SThippeswamy Havalige      - "#address-cells"
49560e9ce1SThippeswamy Havalige      - "#interrupt-cells"
50560e9ce1SThippeswamy Havalige
51560e9ce1SThippeswamy Havalige    additionalProperties: false
52560e9ce1SThippeswamy Havalige
53560e9ce1SThippeswamy Havaligerequired:
54560e9ce1SThippeswamy Havalige  - compatible
55560e9ce1SThippeswamy Havalige  - reg
56560e9ce1SThippeswamy Havalige  - ranges
57560e9ce1SThippeswamy Havalige  - interrupts
58560e9ce1SThippeswamy Havalige  - interrupt-map
59560e9ce1SThippeswamy Havalige  - "#interrupt-cells"
60560e9ce1SThippeswamy Havalige  - interrupt-controller
61560e9ce1SThippeswamy Havalige
62560e9ce1SThippeswamy HavaligeunevaluatedProperties: false
63560e9ce1SThippeswamy Havalige
64560e9ce1SThippeswamy Havaligeexamples:
65560e9ce1SThippeswamy Havalige  - |
66560e9ce1SThippeswamy Havalige    #include <dt-bindings/interrupt-controller/arm-gic.h>
67560e9ce1SThippeswamy Havalige    #include <dt-bindings/interrupt-controller/irq.h>
68560e9ce1SThippeswamy Havalige
69560e9ce1SThippeswamy Havalige    pcie@50000000 {
70560e9ce1SThippeswamy Havalige        compatible = "xlnx,axi-pcie-host-1.00.a";
71560e9ce1SThippeswamy Havalige        reg = <0x50000000 0x1000000>;
72560e9ce1SThippeswamy Havalige        #address-cells = <3>;
73560e9ce1SThippeswamy Havalige        #size-cells = <2>;
74560e9ce1SThippeswamy Havalige        #interrupt-cells = <1>;
75560e9ce1SThippeswamy Havalige        device_type = "pci";
76560e9ce1SThippeswamy Havalige        interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
77560e9ce1SThippeswamy Havalige        interrupt-map-mask = <0 0 0 7>;
78560e9ce1SThippeswamy Havalige        interrupt-map = <0 0 0 1 &pcie_intc 1>,
79560e9ce1SThippeswamy Havalige                        <0 0 0 2 &pcie_intc 2>,
80560e9ce1SThippeswamy Havalige                        <0 0 0 3 &pcie_intc 3>,
81560e9ce1SThippeswamy Havalige                        <0 0 0 4 &pcie_intc 4>;
82560e9ce1SThippeswamy Havalige        ranges = <0x02000000 0 0x60000000 0x60000000 0 0x10000000>;
83560e9ce1SThippeswamy Havalige        pcie_intc: interrupt-controller {
84560e9ce1SThippeswamy Havalige            interrupt-controller;
85560e9ce1SThippeswamy Havalige            #address-cells = <0>;
86560e9ce1SThippeswamy Havalige            #interrupt-cells = <1>;
87560e9ce1SThippeswamy Havalige        };
88560e9ce1SThippeswamy Havalige    };
89