xref: /freebsd/sys/contrib/device-tree/Bindings/pci/xlnx,axi-pcie-host.yaml (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
18bab661aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28bab661aSEmmanuel Vadot%YAML 1.2
38bab661aSEmmanuel Vadot---
48bab661aSEmmanuel Vadot$id: http://devicetree.org/schemas/pci/xlnx,axi-pcie-host.yaml#
58bab661aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68bab661aSEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Xilinx AXI PCIe Root Port Bridge
88bab661aSEmmanuel Vadot
98bab661aSEmmanuel Vadotmaintainers:
108bab661aSEmmanuel Vadot  - Thippeswamy Havalige <thippeswamy.havalige@amd.com>
118bab661aSEmmanuel Vadot
128bab661aSEmmanuel VadotallOf:
13*7d0873ebSEmmanuel Vadot  - $ref: /schemas/pci/pci-host-bridge.yaml#
148bab661aSEmmanuel Vadot
158bab661aSEmmanuel Vadotproperties:
168bab661aSEmmanuel Vadot  compatible:
178bab661aSEmmanuel Vadot    const: xlnx,axi-pcie-host-1.00.a
188bab661aSEmmanuel Vadot
198bab661aSEmmanuel Vadot  reg:
208bab661aSEmmanuel Vadot    maxItems: 1
218bab661aSEmmanuel Vadot
228bab661aSEmmanuel Vadot  interrupts:
238bab661aSEmmanuel Vadot    maxItems: 1
248bab661aSEmmanuel Vadot
258bab661aSEmmanuel Vadot  ranges:
268bab661aSEmmanuel Vadot    items:
278bab661aSEmmanuel Vadot      - description: |
288bab661aSEmmanuel Vadot          ranges for the PCI memory regions (I/O space region is not
298bab661aSEmmanuel Vadot          supported by hardware)
308bab661aSEmmanuel Vadot
318bab661aSEmmanuel Vadot  "#interrupt-cells":
328bab661aSEmmanuel Vadot    const: 1
338bab661aSEmmanuel Vadot
348bab661aSEmmanuel Vadot  interrupt-controller:
358bab661aSEmmanuel Vadot    description: identifies the node as an interrupt controller
368bab661aSEmmanuel Vadot    type: object
378bab661aSEmmanuel Vadot    properties:
388bab661aSEmmanuel Vadot      interrupt-controller: true
398bab661aSEmmanuel Vadot
408bab661aSEmmanuel Vadot      "#address-cells":
418bab661aSEmmanuel Vadot        const: 0
428bab661aSEmmanuel Vadot
438bab661aSEmmanuel Vadot      "#interrupt-cells":
448bab661aSEmmanuel Vadot        const: 1
458bab661aSEmmanuel Vadot
468bab661aSEmmanuel Vadot    required:
478bab661aSEmmanuel Vadot      - interrupt-controller
488bab661aSEmmanuel Vadot      - "#address-cells"
498bab661aSEmmanuel Vadot      - "#interrupt-cells"
508bab661aSEmmanuel Vadot
518bab661aSEmmanuel Vadot    additionalProperties: false
528bab661aSEmmanuel Vadot
538bab661aSEmmanuel Vadotrequired:
548bab661aSEmmanuel Vadot  - compatible
558bab661aSEmmanuel Vadot  - reg
568bab661aSEmmanuel Vadot  - ranges
578bab661aSEmmanuel Vadot  - interrupts
588bab661aSEmmanuel Vadot  - interrupt-map
598bab661aSEmmanuel Vadot  - "#interrupt-cells"
608bab661aSEmmanuel Vadot  - interrupt-controller
618bab661aSEmmanuel Vadot
628bab661aSEmmanuel VadotunevaluatedProperties: false
638bab661aSEmmanuel Vadot
648bab661aSEmmanuel Vadotexamples:
658bab661aSEmmanuel Vadot  - |
668bab661aSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
678bab661aSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
688bab661aSEmmanuel Vadot
698bab661aSEmmanuel Vadot    pcie@50000000 {
708bab661aSEmmanuel Vadot        compatible = "xlnx,axi-pcie-host-1.00.a";
718bab661aSEmmanuel Vadot        reg = <0x50000000 0x1000000>;
728bab661aSEmmanuel Vadot        #address-cells = <3>;
738bab661aSEmmanuel Vadot        #size-cells = <2>;
748bab661aSEmmanuel Vadot        #interrupt-cells = <1>;
758bab661aSEmmanuel Vadot        device_type = "pci";
768bab661aSEmmanuel Vadot        interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
778bab661aSEmmanuel Vadot        interrupt-map-mask = <0 0 0 7>;
788bab661aSEmmanuel Vadot        interrupt-map = <0 0 0 1 &pcie_intc 1>,
798bab661aSEmmanuel Vadot                        <0 0 0 2 &pcie_intc 2>,
808bab661aSEmmanuel Vadot                        <0 0 0 3 &pcie_intc 3>,
818bab661aSEmmanuel Vadot                        <0 0 0 4 &pcie_intc 4>;
828bab661aSEmmanuel Vadot        ranges = <0x02000000 0 0x60000000 0x60000000 0 0x10000000>;
838bab661aSEmmanuel Vadot        pcie_intc: interrupt-controller {
848bab661aSEmmanuel Vadot            interrupt-controller;
858bab661aSEmmanuel Vadot            #address-cells = <0>;
868bab661aSEmmanuel Vadot            #interrupt-cells = <1>;
878bab661aSEmmanuel Vadot        };
888bab661aSEmmanuel Vadot    };
89