# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pci/xilinx-versal-cpm.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: CPM Host Controller device tree for Xilinx Versal SoCs

maintainers:
  - Bharat Kumar Gogada <bharat.kumar.gogada@amd.com>

allOf:
  - $ref: /schemas/pci/pci-host-bridge.yaml#

properties:
  compatible:
    enum:
      - xlnx,versal-cpm-host-1.00
      - xlnx,versal-cpm5-host
      - xlnx,versal-cpm5-host1
      - xlnx,versal-cpm5nc-host

  reg:
    items:
      - description: CPM system level control and status registers.
      - description: Configuration space region and bridge registers.
      - description: CPM5 control and status registers.
    minItems: 2

  reg-names:
    items:
      - const: cpm_slcr
      - const: cfg
      - const: cpm_csr
    minItems: 2

  interrupts:
    maxItems: 1

  msi-map:
    description:
      Maps a Requester ID to an MSI controller and associated MSI sideband data.

  ranges:
    maxItems: 2

  "#interrupt-cells":
    const: 1

  interrupt-controller:
    description: Interrupt controller node for handling legacy PCI interrupts.
    type: object
    additionalProperties: false

    properties:
      "#address-cells":
        const: 0

      "#interrupt-cells":
        const: 1

      interrupt-controller: true

required:
  - reg
  - reg-names
  - "#interrupt-cells"
  - interrupts
  - interrupt-map
  - interrupt-map-mask
  - bus-range
  - msi-map
  - interrupt-controller

unevaluatedProperties: false

examples:
  - |
    versal {
        #address-cells = <2>;
        #size-cells = <2>;
        pcie@fca10000 {
            compatible = "xlnx,versal-cpm-host-1.00";
            device_type = "pci";
            #address-cells = <3>;
            #interrupt-cells = <1>;
            #size-cells = <2>;
            interrupts = <0 72 4>;
            interrupt-parent = <&gic>;
            interrupt-map-mask = <0 0 0 7>;
            interrupt-map = <0 0 0 1 &pcie_intc_0 0>,
                            <0 0 0 2 &pcie_intc_0 1>,
                            <0 0 0 3 &pcie_intc_0 2>,
                            <0 0 0 4 &pcie_intc_0 3>;
            bus-range = <0x00 0xff>;
            ranges = <0x02000000 0x0 0xe0010000 0x0 0xe0010000 0x0 0x10000000>,
                     <0x43000000 0x80 0x00000000 0x80 0x00000000 0x0 0x80000000>;
            msi-map = <0x0 &its_gic 0x0 0x10000>;
            reg = <0x0 0xfca10000 0x0 0x1000>,
                  <0x6 0x00000000 0x0 0x10000000>;
            reg-names = "cpm_slcr", "cfg";
            pcie_intc_0: interrupt-controller {
                    #address-cells = <0>;
                    #interrupt-cells = <1>;
                    interrupt-controller;
            };
        };

        pcie@fcdd0000 {
            compatible = "xlnx,versal-cpm5-host";
            device_type = "pci";
            #address-cells = <3>;
            #interrupt-cells = <1>;
            #size-cells = <2>;
            interrupts = <0 72 4>;
            interrupt-parent = <&gic>;
            interrupt-map-mask = <0 0 0 7>;
            interrupt-map = <0 0 0 1 &pcie_intc_1 0>,
                            <0 0 0 2 &pcie_intc_1 1>,
                            <0 0 0 3 &pcie_intc_1 2>,
                            <0 0 0 4 &pcie_intc_1 3>;
            bus-range = <0x00 0xff>;
            ranges = <0x02000000 0x0 0xe0000000 0x0 0xe0000000 0x0 0x10000000>,
                     <0x43000000 0x80 0x00000000 0x80 0x00000000 0x0 0x80000000>;
            msi-map = <0x0 &its_gic 0x0 0x10000>;
            reg = <0x00 0xfcdd0000 0x00 0x1000>,
                  <0x06 0x00000000 0x00 0x1000000>,
                  <0x00 0xfce20000 0x00 0x1000000>;
            reg-names = "cpm_slcr", "cfg", "cpm_csr";

            pcie_intc_1: interrupt-controller {
                #address-cells = <0>;
                #interrupt-cells = <1>;
                interrupt-controller;
            };
        };
    };
