1*7c7c3a79SThippeswamy Havalige# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*7c7c3a79SThippeswamy Havalige%YAML 1.2 3*7c7c3a79SThippeswamy Havalige--- 4*7c7c3a79SThippeswamy Havalige$id: http://devicetree.org/schemas/pci/xlnx,nwl-pcie.yaml# 5*7c7c3a79SThippeswamy Havalige$schema: http://devicetree.org/meta-schemas/core.yaml# 6*7c7c3a79SThippeswamy Havalige 7*7c7c3a79SThippeswamy Havaligetitle: Xilinx NWL PCIe Root Port Bridge 8*7c7c3a79SThippeswamy Havalige 9*7c7c3a79SThippeswamy Havaligemaintainers: 10*7c7c3a79SThippeswamy Havalige - Thippeswamy Havalige <thippeswamy.havalige@amd.com> 11*7c7c3a79SThippeswamy Havalige 12*7c7c3a79SThippeswamy HavaligeallOf: 13*7c7c3a79SThippeswamy Havalige - $ref: /schemas/pci/pci-bus.yaml# 14*7c7c3a79SThippeswamy Havalige - $ref: /schemas/interrupt-controller/msi-controller.yaml# 15*7c7c3a79SThippeswamy Havalige 16*7c7c3a79SThippeswamy Havaligeproperties: 17*7c7c3a79SThippeswamy Havalige compatible: 18*7c7c3a79SThippeswamy Havalige const: xlnx,nwl-pcie-2.11 19*7c7c3a79SThippeswamy Havalige 20*7c7c3a79SThippeswamy Havalige reg: 21*7c7c3a79SThippeswamy Havalige items: 22*7c7c3a79SThippeswamy Havalige - description: PCIe bridge registers location. 23*7c7c3a79SThippeswamy Havalige - description: PCIe Controller registers location. 24*7c7c3a79SThippeswamy Havalige - description: PCIe Configuration space region. 25*7c7c3a79SThippeswamy Havalige 26*7c7c3a79SThippeswamy Havalige reg-names: 27*7c7c3a79SThippeswamy Havalige items: 28*7c7c3a79SThippeswamy Havalige - const: breg 29*7c7c3a79SThippeswamy Havalige - const: pcireg 30*7c7c3a79SThippeswamy Havalige - const: cfg 31*7c7c3a79SThippeswamy Havalige 32*7c7c3a79SThippeswamy Havalige interrupts: 33*7c7c3a79SThippeswamy Havalige items: 34*7c7c3a79SThippeswamy Havalige - description: interrupt asserted when miscellaneous interrupt is received 35*7c7c3a79SThippeswamy Havalige - description: unused interrupt(dummy) 36*7c7c3a79SThippeswamy Havalige - description: interrupt asserted when a legacy interrupt is received 37*7c7c3a79SThippeswamy Havalige - description: msi1 interrupt asserted when an MSI is received 38*7c7c3a79SThippeswamy Havalige - description: msi0 interrupt asserted when an MSI is received 39*7c7c3a79SThippeswamy Havalige 40*7c7c3a79SThippeswamy Havalige interrupt-names: 41*7c7c3a79SThippeswamy Havalige items: 42*7c7c3a79SThippeswamy Havalige - const: misc 43*7c7c3a79SThippeswamy Havalige - const: dummy 44*7c7c3a79SThippeswamy Havalige - const: intx 45*7c7c3a79SThippeswamy Havalige - const: msi1 46*7c7c3a79SThippeswamy Havalige - const: msi0 47*7c7c3a79SThippeswamy Havalige 48*7c7c3a79SThippeswamy Havalige interrupt-map-mask: 49*7c7c3a79SThippeswamy Havalige items: 50*7c7c3a79SThippeswamy Havalige - const: 0 51*7c7c3a79SThippeswamy Havalige - const: 0 52*7c7c3a79SThippeswamy Havalige - const: 0 53*7c7c3a79SThippeswamy Havalige - const: 7 54*7c7c3a79SThippeswamy Havalige 55*7c7c3a79SThippeswamy Havalige "#interrupt-cells": 56*7c7c3a79SThippeswamy Havalige const: 1 57*7c7c3a79SThippeswamy Havalige 58*7c7c3a79SThippeswamy Havalige msi-parent: 59*7c7c3a79SThippeswamy Havalige description: MSI controller the device is capable of using. 60*7c7c3a79SThippeswamy Havalige 61*7c7c3a79SThippeswamy Havalige interrupt-map: 62*7c7c3a79SThippeswamy Havalige maxItems: 4 63*7c7c3a79SThippeswamy Havalige 64*7c7c3a79SThippeswamy Havalige power-domains: 65*7c7c3a79SThippeswamy Havalige maxItems: 1 66*7c7c3a79SThippeswamy Havalige 67*7c7c3a79SThippeswamy Havalige iommus: 68*7c7c3a79SThippeswamy Havalige maxItems: 1 69*7c7c3a79SThippeswamy Havalige 70*7c7c3a79SThippeswamy Havalige dma-coherent: 71*7c7c3a79SThippeswamy Havalige description: optional, only needed if DMA operations are coherent. 72*7c7c3a79SThippeswamy Havalige 73*7c7c3a79SThippeswamy Havalige clocks: 74*7c7c3a79SThippeswamy Havalige maxItems: 1 75*7c7c3a79SThippeswamy Havalige description: optional, input clock specifier. 76*7c7c3a79SThippeswamy Havalige 77*7c7c3a79SThippeswamy Havalige legacy-interrupt-controller: 78*7c7c3a79SThippeswamy Havalige description: Interrupt controller node for handling legacy PCI interrupts. 79*7c7c3a79SThippeswamy Havalige type: object 80*7c7c3a79SThippeswamy Havalige properties: 81*7c7c3a79SThippeswamy Havalige "#address-cells": 82*7c7c3a79SThippeswamy Havalige const: 0 83*7c7c3a79SThippeswamy Havalige 84*7c7c3a79SThippeswamy Havalige "#interrupt-cells": 85*7c7c3a79SThippeswamy Havalige const: 1 86*7c7c3a79SThippeswamy Havalige 87*7c7c3a79SThippeswamy Havalige "interrupt-controller": true 88*7c7c3a79SThippeswamy Havalige 89*7c7c3a79SThippeswamy Havalige required: 90*7c7c3a79SThippeswamy Havalige - "#address-cells" 91*7c7c3a79SThippeswamy Havalige - "#interrupt-cells" 92*7c7c3a79SThippeswamy Havalige - interrupt-controller 93*7c7c3a79SThippeswamy Havalige 94*7c7c3a79SThippeswamy Havalige additionalProperties: false 95*7c7c3a79SThippeswamy Havalige 96*7c7c3a79SThippeswamy Havaligerequired: 97*7c7c3a79SThippeswamy Havalige - compatible 98*7c7c3a79SThippeswamy Havalige - reg 99*7c7c3a79SThippeswamy Havalige - reg-names 100*7c7c3a79SThippeswamy Havalige - interrupts 101*7c7c3a79SThippeswamy Havalige - "#interrupt-cells" 102*7c7c3a79SThippeswamy Havalige - interrupt-map 103*7c7c3a79SThippeswamy Havalige - interrupt-map-mask 104*7c7c3a79SThippeswamy Havalige - msi-controller 105*7c7c3a79SThippeswamy Havalige - power-domains 106*7c7c3a79SThippeswamy Havalige 107*7c7c3a79SThippeswamy HavaligeunevaluatedProperties: false 108*7c7c3a79SThippeswamy Havalige 109*7c7c3a79SThippeswamy Havaligeexamples: 110*7c7c3a79SThippeswamy Havalige - | 111*7c7c3a79SThippeswamy Havalige #include <dt-bindings/interrupt-controller/arm-gic.h> 112*7c7c3a79SThippeswamy Havalige #include <dt-bindings/interrupt-controller/irq.h> 113*7c7c3a79SThippeswamy Havalige #include <dt-bindings/power/xlnx-zynqmp-power.h> 114*7c7c3a79SThippeswamy Havalige soc { 115*7c7c3a79SThippeswamy Havalige #address-cells = <2>; 116*7c7c3a79SThippeswamy Havalige #size-cells = <2>; 117*7c7c3a79SThippeswamy Havalige nwl_pcie: pcie@fd0e0000 { 118*7c7c3a79SThippeswamy Havalige compatible = "xlnx,nwl-pcie-2.11"; 119*7c7c3a79SThippeswamy Havalige reg = <0x0 0xfd0e0000 0x0 0x1000>, 120*7c7c3a79SThippeswamy Havalige <0x0 0xfd480000 0x0 0x1000>, 121*7c7c3a79SThippeswamy Havalige <0x80 0x00000000 0x0 0x1000000>; 122*7c7c3a79SThippeswamy Havalige reg-names = "breg", "pcireg", "cfg"; 123*7c7c3a79SThippeswamy Havalige ranges = <0x02000000 0x0 0xe0000000 0x0 0xe0000000 0x0 0x10000000>, 124*7c7c3a79SThippeswamy Havalige <0x43000000 0x00000006 0x0 0x00000006 0x0 0x00000002 0x0>; 125*7c7c3a79SThippeswamy Havalige #address-cells = <3>; 126*7c7c3a79SThippeswamy Havalige #size-cells = <2>; 127*7c7c3a79SThippeswamy Havalige #interrupt-cells = <1>; 128*7c7c3a79SThippeswamy Havalige msi-controller; 129*7c7c3a79SThippeswamy Havalige device_type = "pci"; 130*7c7c3a79SThippeswamy Havalige interrupt-parent = <&gic>; 131*7c7c3a79SThippeswamy Havalige interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 116 IRQ_TYPE_EDGE_RISING>, 132*7c7c3a79SThippeswamy Havalige <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 115 IRQ_TYPE_EDGE_RISING>, 133*7c7c3a79SThippeswamy Havalige <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 134*7c7c3a79SThippeswamy Havalige interrupt-names = "misc", "dummy", "intx", "msi1", "msi0"; 135*7c7c3a79SThippeswamy Havalige interrupt-map-mask = <0x0 0x0 0x0 0x7>; 136*7c7c3a79SThippeswamy Havalige interrupt-map = <0x0 0x0 0x0 0x1 &pcie_intc 0x1>, 137*7c7c3a79SThippeswamy Havalige <0x0 0x0 0x0 0x2 &pcie_intc 0x2>, 138*7c7c3a79SThippeswamy Havalige <0x0 0x0 0x0 0x3 &pcie_intc 0x3>, 139*7c7c3a79SThippeswamy Havalige <0x0 0x0 0x0 0x4 &pcie_intc 0x4>; 140*7c7c3a79SThippeswamy Havalige msi-parent = <&nwl_pcie>; 141*7c7c3a79SThippeswamy Havalige power-domains = <&zynqmp_firmware PD_PCIE>; 142*7c7c3a79SThippeswamy Havalige iommus = <&smmu 0x4d0>; 143*7c7c3a79SThippeswamy Havalige pcie_intc: legacy-interrupt-controller { 144*7c7c3a79SThippeswamy Havalige interrupt-controller; 145*7c7c3a79SThippeswamy Havalige #address-cells = <0>; 146*7c7c3a79SThippeswamy Havalige #interrupt-cells = <1>; 147*7c7c3a79SThippeswamy Havalige }; 148*7c7c3a79SThippeswamy Havalige }; 149*7c7c3a79SThippeswamy Havalige }; 150