# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/pci/xlnx,xdma-host.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Xilinx XDMA PL PCIe Root Port Bridge maintainers: - Thippeswamy Havalige allOf: - $ref: /schemas/pci/pci-host-bridge.yaml# properties: compatible: enum: - xlnx,xdma-host-3.00 - xlnx,qdma-host-3.00 reg: items: - description: configuration region and XDMA bridge register. - description: QDMA bridge register. minItems: 1 reg-names: items: - const: cfg - const: breg minItems: 1 ranges: maxItems: 2 interrupts: items: - description: interrupt asserted when miscellaneous interrupt is received. - description: msi0 interrupt asserted when an MSI is received. - description: msi1 interrupt asserted when an MSI is received. interrupt-names: items: - const: misc - const: msi0 - const: msi1 interrupt-map-mask: items: - const: 0 - const: 0 - const: 0 - const: 7 interrupt-map: maxItems: 4 "#interrupt-cells": const: 1 interrupt-controller: description: identifies the node as an interrupt controller type: object properties: interrupt-controller: true "#address-cells": const: 0 "#interrupt-cells": const: 1 required: - interrupt-controller - "#address-cells" - "#interrupt-cells" additionalProperties: false required: - compatible - reg - ranges - interrupts - interrupt-map - interrupt-map-mask - "#interrupt-cells" - interrupt-controller if: properties: compatible: contains: enum: - xlnx,qdma-host-3.00 then: properties: reg: minItems: 2 reg-names: minItems: 2 required: - reg-names else: properties: reg: maxItems: 1 reg-names: maxItems: 1 unevaluatedProperties: false examples: - | #include #include soc { #address-cells = <2>; #size-cells = <2>; pcie@a0000000 { compatible = "xlnx,xdma-host-3.00"; reg = <0x0 0xa0000000 0x0 0x10000000>; ranges = <0x2000000 0x0 0xb0000000 0x0 0xb0000000 0x0 0x1000000>, <0x43000000 0x5 0x0 0x5 0x0 0x0 0x1000000>; #address-cells = <3>; #size-cells = <2>; #interrupt-cells = <1>; device_type = "pci"; interrupt-parent = <&gic>; interrupts = , , ; interrupt-names = "misc", "msi0", "msi1"; interrupt-map-mask = <0x0 0x0 0x0 0x7>; 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>; pcie_intc_0: interrupt-controller { #address-cells = <0>; #interrupt-cells = <1>; interrupt-controller; }; }; };