184943d6fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 284943d6fSEmmanuel Vadot%YAML 1.2 384943d6fSEmmanuel Vadot--- 484943d6fSEmmanuel Vadot$id: http://devicetree.org/schemas/pci/xlnx,xdma-host.yaml# 584943d6fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 684943d6fSEmmanuel Vadot 784943d6fSEmmanuel Vadottitle: Xilinx XDMA PL PCIe Root Port Bridge 884943d6fSEmmanuel Vadot 984943d6fSEmmanuel Vadotmaintainers: 1084943d6fSEmmanuel Vadot - Thippeswamy Havalige <thippeswamy.havalige@amd.com> 1184943d6fSEmmanuel Vadot 1284943d6fSEmmanuel VadotallOf: 137d0873ebSEmmanuel Vadot - $ref: /schemas/pci/pci-host-bridge.yaml# 1484943d6fSEmmanuel Vadot 1584943d6fSEmmanuel Vadotproperties: 1684943d6fSEmmanuel Vadot compatible: 17*b2d2a78aSEmmanuel Vadot enum: 18*b2d2a78aSEmmanuel Vadot - xlnx,xdma-host-3.00 19*b2d2a78aSEmmanuel Vadot - xlnx,qdma-host-3.00 2084943d6fSEmmanuel Vadot 2184943d6fSEmmanuel Vadot reg: 22*b2d2a78aSEmmanuel Vadot items: 23*b2d2a78aSEmmanuel Vadot - description: configuration region and XDMA bridge register. 24*b2d2a78aSEmmanuel Vadot - description: QDMA bridge register. 25*b2d2a78aSEmmanuel Vadot minItems: 1 26*b2d2a78aSEmmanuel Vadot 27*b2d2a78aSEmmanuel Vadot reg-names: 28*b2d2a78aSEmmanuel Vadot items: 29*b2d2a78aSEmmanuel Vadot - const: cfg 30*b2d2a78aSEmmanuel Vadot - const: breg 31*b2d2a78aSEmmanuel Vadot minItems: 1 3284943d6fSEmmanuel Vadot 3384943d6fSEmmanuel Vadot ranges: 3484943d6fSEmmanuel Vadot maxItems: 2 3584943d6fSEmmanuel Vadot 3684943d6fSEmmanuel Vadot interrupts: 3784943d6fSEmmanuel Vadot items: 3884943d6fSEmmanuel Vadot - description: interrupt asserted when miscellaneous interrupt is received. 3984943d6fSEmmanuel Vadot - description: msi0 interrupt asserted when an MSI is received. 4084943d6fSEmmanuel Vadot - description: msi1 interrupt asserted when an MSI is received. 4184943d6fSEmmanuel Vadot 4284943d6fSEmmanuel Vadot interrupt-names: 4384943d6fSEmmanuel Vadot items: 4484943d6fSEmmanuel Vadot - const: misc 4584943d6fSEmmanuel Vadot - const: msi0 4684943d6fSEmmanuel Vadot - const: msi1 4784943d6fSEmmanuel Vadot 4884943d6fSEmmanuel Vadot interrupt-map-mask: 4984943d6fSEmmanuel Vadot items: 5084943d6fSEmmanuel Vadot - const: 0 5184943d6fSEmmanuel Vadot - const: 0 5284943d6fSEmmanuel Vadot - const: 0 5384943d6fSEmmanuel Vadot - const: 7 5484943d6fSEmmanuel Vadot 5584943d6fSEmmanuel Vadot interrupt-map: 5684943d6fSEmmanuel Vadot maxItems: 4 5784943d6fSEmmanuel Vadot 5884943d6fSEmmanuel Vadot "#interrupt-cells": 5984943d6fSEmmanuel Vadot const: 1 6084943d6fSEmmanuel Vadot 6184943d6fSEmmanuel Vadot interrupt-controller: 6284943d6fSEmmanuel Vadot description: identifies the node as an interrupt controller 6384943d6fSEmmanuel Vadot type: object 6484943d6fSEmmanuel Vadot properties: 6584943d6fSEmmanuel Vadot interrupt-controller: true 6684943d6fSEmmanuel Vadot 6784943d6fSEmmanuel Vadot "#address-cells": 6884943d6fSEmmanuel Vadot const: 0 6984943d6fSEmmanuel Vadot 7084943d6fSEmmanuel Vadot "#interrupt-cells": 7184943d6fSEmmanuel Vadot const: 1 7284943d6fSEmmanuel Vadot 7384943d6fSEmmanuel Vadot required: 7484943d6fSEmmanuel Vadot - interrupt-controller 7584943d6fSEmmanuel Vadot - "#address-cells" 7684943d6fSEmmanuel Vadot - "#interrupt-cells" 7784943d6fSEmmanuel Vadot 7884943d6fSEmmanuel Vadot additionalProperties: false 7984943d6fSEmmanuel Vadot 8084943d6fSEmmanuel Vadotrequired: 8184943d6fSEmmanuel Vadot - compatible 8284943d6fSEmmanuel Vadot - reg 8384943d6fSEmmanuel Vadot - ranges 8484943d6fSEmmanuel Vadot - interrupts 8584943d6fSEmmanuel Vadot - interrupt-map 8684943d6fSEmmanuel Vadot - interrupt-map-mask 8784943d6fSEmmanuel Vadot - "#interrupt-cells" 8884943d6fSEmmanuel Vadot - interrupt-controller 8984943d6fSEmmanuel Vadot 90*b2d2a78aSEmmanuel Vadotif: 91*b2d2a78aSEmmanuel Vadot properties: 92*b2d2a78aSEmmanuel Vadot compatible: 93*b2d2a78aSEmmanuel Vadot contains: 94*b2d2a78aSEmmanuel Vadot enum: 95*b2d2a78aSEmmanuel Vadot - xlnx,qdma-host-3.00 96*b2d2a78aSEmmanuel Vadotthen: 97*b2d2a78aSEmmanuel Vadot properties: 98*b2d2a78aSEmmanuel Vadot reg: 99*b2d2a78aSEmmanuel Vadot minItems: 2 100*b2d2a78aSEmmanuel Vadot reg-names: 101*b2d2a78aSEmmanuel Vadot minItems: 2 102*b2d2a78aSEmmanuel Vadot required: 103*b2d2a78aSEmmanuel Vadot - reg-names 104*b2d2a78aSEmmanuel Vadotelse: 105*b2d2a78aSEmmanuel Vadot properties: 106*b2d2a78aSEmmanuel Vadot reg: 107*b2d2a78aSEmmanuel Vadot maxItems: 1 108*b2d2a78aSEmmanuel Vadot reg-names: 109*b2d2a78aSEmmanuel Vadot maxItems: 1 110*b2d2a78aSEmmanuel Vadot 11184943d6fSEmmanuel VadotunevaluatedProperties: false 11284943d6fSEmmanuel Vadot 11384943d6fSEmmanuel Vadotexamples: 11484943d6fSEmmanuel Vadot 11584943d6fSEmmanuel Vadot - | 11684943d6fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 11784943d6fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 11884943d6fSEmmanuel Vadot 11984943d6fSEmmanuel Vadot soc { 12084943d6fSEmmanuel Vadot #address-cells = <2>; 12184943d6fSEmmanuel Vadot #size-cells = <2>; 12284943d6fSEmmanuel Vadot pcie@a0000000 { 12384943d6fSEmmanuel Vadot compatible = "xlnx,xdma-host-3.00"; 12484943d6fSEmmanuel Vadot reg = <0x0 0xa0000000 0x0 0x10000000>; 12584943d6fSEmmanuel Vadot ranges = <0x2000000 0x0 0xb0000000 0x0 0xb0000000 0x0 0x1000000>, 12684943d6fSEmmanuel Vadot <0x43000000 0x5 0x0 0x5 0x0 0x0 0x1000000>; 12784943d6fSEmmanuel Vadot #address-cells = <3>; 12884943d6fSEmmanuel Vadot #size-cells = <2>; 12984943d6fSEmmanuel Vadot #interrupt-cells = <1>; 13084943d6fSEmmanuel Vadot device_type = "pci"; 13184943d6fSEmmanuel Vadot interrupt-parent = <&gic>; 13284943d6fSEmmanuel Vadot interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>, 13384943d6fSEmmanuel Vadot <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 13484943d6fSEmmanuel Vadot interrupt-names = "misc", "msi0", "msi1"; 13584943d6fSEmmanuel Vadot interrupt-map-mask = <0x0 0x0 0x0 0x7>; 13684943d6fSEmmanuel Vadot interrupt-map = <0 0 0 1 &pcie_intc_0 0>, 13784943d6fSEmmanuel Vadot <0 0 0 2 &pcie_intc_0 1>, 13884943d6fSEmmanuel Vadot <0 0 0 3 &pcie_intc_0 2>, 13984943d6fSEmmanuel Vadot <0 0 0 4 &pcie_intc_0 3>; 14084943d6fSEmmanuel Vadot pcie_intc_0: interrupt-controller { 14184943d6fSEmmanuel Vadot #address-cells = <0>; 14284943d6fSEmmanuel Vadot #interrupt-cells = <1>; 14384943d6fSEmmanuel Vadot interrupt-controller; 14484943d6fSEmmanuel Vadot }; 14584943d6fSEmmanuel Vadot }; 14684943d6fSEmmanuel Vadot }; 147