1*ae5de77eSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0 2*ae5de77eSEmmanuel Vadot%YAML 1.2 3*ae5de77eSEmmanuel Vadot--- 4*ae5de77eSEmmanuel Vadot$id: http://devicetree.org/schemas/pci/marvell,armada8k-pcie.yaml# 5*ae5de77eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*ae5de77eSEmmanuel Vadot 7*ae5de77eSEmmanuel Vadottitle: Marvell Armada 7K/8K PCIe interface 8*ae5de77eSEmmanuel Vadot 9*ae5de77eSEmmanuel Vadotmaintainers: 10*ae5de77eSEmmanuel Vadot - Thomas Petazzoni <thomas.petazzoni@bootlin.com> 11*ae5de77eSEmmanuel Vadot 12*ae5de77eSEmmanuel Vadotdescription: 13*ae5de77eSEmmanuel Vadot This PCIe host controller is based on the Synopsys DesignWare PCIe IP. 14*ae5de77eSEmmanuel Vadot 15*ae5de77eSEmmanuel Vadotselect: 16*ae5de77eSEmmanuel Vadot properties: 17*ae5de77eSEmmanuel Vadot compatible: 18*ae5de77eSEmmanuel Vadot contains: 19*ae5de77eSEmmanuel Vadot enum: 20*ae5de77eSEmmanuel Vadot - marvell,armada8k-pcie 21*ae5de77eSEmmanuel Vadot required: 22*ae5de77eSEmmanuel Vadot - compatible 23*ae5de77eSEmmanuel Vadot 24*ae5de77eSEmmanuel VadotallOf: 25*ae5de77eSEmmanuel Vadot - $ref: snps,dw-pcie.yaml# 26*ae5de77eSEmmanuel Vadot 27*ae5de77eSEmmanuel Vadotproperties: 28*ae5de77eSEmmanuel Vadot compatible: 29*ae5de77eSEmmanuel Vadot items: 30*ae5de77eSEmmanuel Vadot - enum: 31*ae5de77eSEmmanuel Vadot - marvell,armada8k-pcie 32*ae5de77eSEmmanuel Vadot - const: snps,dw-pcie 33*ae5de77eSEmmanuel Vadot 34*ae5de77eSEmmanuel Vadot reg: 35*ae5de77eSEmmanuel Vadot maxItems: 2 36*ae5de77eSEmmanuel Vadot 37*ae5de77eSEmmanuel Vadot reg-names: 38*ae5de77eSEmmanuel Vadot items: 39*ae5de77eSEmmanuel Vadot - const: ctrl 40*ae5de77eSEmmanuel Vadot - const: config 41*ae5de77eSEmmanuel Vadot 42*ae5de77eSEmmanuel Vadot clocks: 43*ae5de77eSEmmanuel Vadot minItems: 1 44*ae5de77eSEmmanuel Vadot maxItems: 2 45*ae5de77eSEmmanuel Vadot 46*ae5de77eSEmmanuel Vadot clock-names: 47*ae5de77eSEmmanuel Vadot items: 48*ae5de77eSEmmanuel Vadot - const: core 49*ae5de77eSEmmanuel Vadot - const: reg 50*ae5de77eSEmmanuel Vadot 51*ae5de77eSEmmanuel Vadot interrupts: 52*ae5de77eSEmmanuel Vadot maxItems: 1 53*ae5de77eSEmmanuel Vadot 54*ae5de77eSEmmanuel Vadot msi-parent: 55*ae5de77eSEmmanuel Vadot maxItems: 1 56*ae5de77eSEmmanuel Vadot 57*ae5de77eSEmmanuel Vadot phys: 58*ae5de77eSEmmanuel Vadot minItems: 1 59*ae5de77eSEmmanuel Vadot maxItems: 4 60*ae5de77eSEmmanuel Vadot 61*ae5de77eSEmmanuel Vadot phy-names: 62*ae5de77eSEmmanuel Vadot minItems: 1 63*ae5de77eSEmmanuel Vadot maxItems: 4 64*ae5de77eSEmmanuel Vadot 65*ae5de77eSEmmanuel Vadot marvell,reset-gpio: 66*ae5de77eSEmmanuel Vadot maxItems: 1 67*ae5de77eSEmmanuel Vadot deprecated: true 68*ae5de77eSEmmanuel Vadot 69*ae5de77eSEmmanuel Vadotrequired: 70*ae5de77eSEmmanuel Vadot - interrupt-map 71*ae5de77eSEmmanuel Vadot - clocks 72*ae5de77eSEmmanuel Vadot - msi-parent 73*ae5de77eSEmmanuel Vadot 74*ae5de77eSEmmanuel VadotunevaluatedProperties: false 75*ae5de77eSEmmanuel Vadot 76*ae5de77eSEmmanuel Vadotexamples: 77*ae5de77eSEmmanuel Vadot - | 78*ae5de77eSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 79*ae5de77eSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 80*ae5de77eSEmmanuel Vadot 81*ae5de77eSEmmanuel Vadot pcie@f2600000 { 82*ae5de77eSEmmanuel Vadot compatible = "marvell,armada8k-pcie", "snps,dw-pcie"; 83*ae5de77eSEmmanuel Vadot reg = <0xf2600000 0x10000>, <0xf6f00000 0x80000>; 84*ae5de77eSEmmanuel Vadot reg-names = "ctrl", "config"; 85*ae5de77eSEmmanuel Vadot #address-cells = <3>; 86*ae5de77eSEmmanuel Vadot #size-cells = <2>; 87*ae5de77eSEmmanuel Vadot #interrupt-cells = <1>; 88*ae5de77eSEmmanuel Vadot device_type = "pci"; 89*ae5de77eSEmmanuel Vadot dma-coherent; 90*ae5de77eSEmmanuel Vadot msi-parent = <&gic_v2m0>; 91*ae5de77eSEmmanuel Vadot 92*ae5de77eSEmmanuel Vadot ranges = <0x81000000 0 0xf9000000 0xf9000000 0 0x10000>, /* downstream I/O */ 93*ae5de77eSEmmanuel Vadot <0x82000000 0 0xf6000000 0xf6000000 0 0xf00000>; /* non-prefetchable memory */ 94*ae5de77eSEmmanuel Vadot interrupt-map-mask = <0 0 0 0>; 95*ae5de77eSEmmanuel Vadot interrupt-map = <0 0 0 0 &gic 0 GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 96*ae5de77eSEmmanuel Vadot interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 97*ae5de77eSEmmanuel Vadot num-lanes = <1>; 98*ae5de77eSEmmanuel Vadot clocks = <&cpm_syscon0 1 13>; 99*ae5de77eSEmmanuel Vadot }; 100*ae5de77eSEmmanuel Vadot... 101