Removed the compatible string "snps,dw-pcie", it is for the reference platform driver for PCI RC IP Protoyping Kits based on the ARC SDP, so it is not suitable for all platform with designware PCIe controller, and platform vendors have themselves' drivers. The compatible string "snsp,dw-pcie" was added by mistake and it's not matched that time, but it is matched because PCIe drivers has been collected recently. Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
62 lines
2.6 KiB
Plaintext
62 lines
2.6 KiB
Plaintext
Freescale Layerscape PCIe controller
|
|
|
|
This PCIe host controller is based on the Synopsys DesignWare PCIe IP
|
|
and thus inherits all the common properties defined in designware-pcie.txt.
|
|
|
|
This controller derives its clocks from the Reset Configuration Word (RCW)
|
|
which is used to describe the PLL settings at the time of chip-reset.
|
|
|
|
Also as per the available Reference Manuals, there is no specific 'version'
|
|
register available in the Freescale PCIe controller register set,
|
|
which can allow determining the underlying DesignWare PCIe controller version
|
|
information.
|
|
|
|
Required properties:
|
|
- compatible: should contain the platform identifier such as:
|
|
"fsl,ls1021a-pcie"
|
|
"fsl,ls2080a-pcie", "fsl,ls2085a-pcie"
|
|
"fsl,ls2088a-pcie"
|
|
"fsl,ls1088a-pcie"
|
|
"fsl,ls1046a-pcie"
|
|
"fsl,ls1043a-pcie"
|
|
"fsl,ls1012a-pcie"
|
|
- reg: base addresses and lengths of the PCIe controller register blocks.
|
|
- interrupts: A list of interrupt outputs of the controller. Must contain an
|
|
entry for each entry in the interrupt-names property.
|
|
- interrupt-names: Must include the following entries:
|
|
"intr": The interrupt that is asserted for controller interrupts
|
|
- fsl,pcie-scfg: Must include two entries.
|
|
The first entry must be a link to the SCFG device node
|
|
The second entry must be '0' or '1' based on physical PCIe controller index.
|
|
This is used to get SCFG PEXN registers
|
|
- dma-coherent: Indicates that the hardware IP block can ensure the coherency
|
|
of the data transferred from/to the IP block. This can avoid the software
|
|
cache flush/invalid actions, and improve the performance significantly.
|
|
|
|
Example:
|
|
|
|
pcie@3400000 {
|
|
compatible = "fsl,ls1021a-pcie";
|
|
reg = <0x00 0x03400000 0x0 0x00010000 /* controller registers */
|
|
0x40 0x00000000 0x0 0x00002000>; /* configuration space */
|
|
reg-names = "regs", "config";
|
|
interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
|
|
interrupt-names = "intr";
|
|
fsl,pcie-scfg = <&scfg 0>;
|
|
#address-cells = <3>;
|
|
#size-cells = <2>;
|
|
device_type = "pci";
|
|
dma-coherent;
|
|
num-lanes = <4>;
|
|
bus-range = <0x0 0xff>;
|
|
ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */
|
|
0xc2000000 0x0 0x20000000 0x40 0x20000000 0x0 0x20000000 /* prefetchable memory */
|
|
0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
|
|
#interrupt-cells = <1>;
|
|
interrupt-map-mask = <0 0 0 7>;
|
|
interrupt-map = <0000 0 0 1 &gic GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
|
|
<0000 0 0 2 &gic GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
|
|
<0000 0 0 3 &gic GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
|
|
<0000 0 0 4 &gic GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|