1*c66ec88fSEmmanuel VadotNXP Layerscape PCIe Gen4 controller 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotThis PCIe controller is based on the Mobiveil PCIe IP and thus inherits all 4*c66ec88fSEmmanuel Vadotthe common properties defined in mobiveil-pcie.txt. 5*c66ec88fSEmmanuel Vadot 6*c66ec88fSEmmanuel VadotRequired properties: 7*c66ec88fSEmmanuel Vadot- compatible: should contain the platform identifier such as: 8*c66ec88fSEmmanuel Vadot "fsl,lx2160a-pcie" 9*c66ec88fSEmmanuel Vadot- reg: base addresses and lengths of the PCIe controller register blocks. 10*c66ec88fSEmmanuel Vadot "csr_axi_slave": Bridge config registers 11*c66ec88fSEmmanuel Vadot "config_axi_slave": PCIe controller registers 12*c66ec88fSEmmanuel Vadot- interrupts: A list of interrupt outputs of the controller. Must contain an 13*c66ec88fSEmmanuel Vadot entry for each entry in the interrupt-names property. 14*c66ec88fSEmmanuel Vadot- interrupt-names: It could include the following entries: 15*c66ec88fSEmmanuel Vadot "intr": The interrupt that is asserted for controller interrupts 16*c66ec88fSEmmanuel Vadot "aer": Asserted for aer interrupt when chip support the aer interrupt with 17*c66ec88fSEmmanuel Vadot none MSI/MSI-X/INTx mode,but there is interrupt line for aer. 18*c66ec88fSEmmanuel Vadot "pme": Asserted for pme interrupt when chip support the pme interrupt with 19*c66ec88fSEmmanuel Vadot none MSI/MSI-X/INTx mode,but there is interrupt line for pme. 20*c66ec88fSEmmanuel Vadot- dma-coherent: Indicates that the hardware IP block can ensure the coherency 21*c66ec88fSEmmanuel Vadot of the data transferred from/to the IP block. This can avoid the software 22*c66ec88fSEmmanuel Vadot cache flush/invalid actions, and improve the performance significantly. 23*c66ec88fSEmmanuel Vadot- msi-parent : See the generic MSI binding described in 24*c66ec88fSEmmanuel Vadot Documentation/devicetree/bindings/interrupt-controller/msi.txt. 25*c66ec88fSEmmanuel Vadot 26*c66ec88fSEmmanuel VadotExample: 27*c66ec88fSEmmanuel Vadot 28*c66ec88fSEmmanuel Vadot pcie@3400000 { 29*c66ec88fSEmmanuel Vadot compatible = "fsl,lx2160a-pcie"; 30*c66ec88fSEmmanuel Vadot reg = <0x00 0x03400000 0x0 0x00100000 /* controller registers */ 31*c66ec88fSEmmanuel Vadot 0x80 0x00000000 0x0 0x00001000>; /* configuration space */ 32*c66ec88fSEmmanuel Vadot reg-names = "csr_axi_slave", "config_axi_slave"; 33*c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, /* AER interrupt */ 34*c66ec88fSEmmanuel Vadot <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, /* PME interrupt */ 35*c66ec88fSEmmanuel Vadot <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */ 36*c66ec88fSEmmanuel Vadot interrupt-names = "aer", "pme", "intr"; 37*c66ec88fSEmmanuel Vadot #address-cells = <3>; 38*c66ec88fSEmmanuel Vadot #size-cells = <2>; 39*c66ec88fSEmmanuel Vadot device_type = "pci"; 40*c66ec88fSEmmanuel Vadot apio-wins = <8>; 41*c66ec88fSEmmanuel Vadot ppio-wins = <8>; 42*c66ec88fSEmmanuel Vadot dma-coherent; 43*c66ec88fSEmmanuel Vadot bus-range = <0x0 0xff>; 44*c66ec88fSEmmanuel Vadot msi-parent = <&its>; 45*c66ec88fSEmmanuel Vadot ranges = <0x82000000 0x0 0x40000000 0x80 0x40000000 0x0 0x40000000>; 46*c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 47*c66ec88fSEmmanuel Vadot interrupt-map-mask = <0 0 0 7>; 48*c66ec88fSEmmanuel Vadot interrupt-map = <0000 0 0 1 &gic 0 0 GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, 49*c66ec88fSEmmanuel Vadot <0000 0 0 2 &gic 0 0 GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, 50*c66ec88fSEmmanuel Vadot <0000 0 0 3 &gic 0 0 GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>, 51*c66ec88fSEmmanuel Vadot <0000 0 0 4 &gic 0 0 GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; 52*c66ec88fSEmmanuel Vadot }; 53