blob: 99a386ea691c2b89e8f3abef701ee3621885bd1d [file] [log] [blame]
Minghuan Lian62d0ff832014-11-05 16:45:11 +08001Freescale Layerscape PCIe controller
2
Minghuan Lian5192ec72015-10-16 15:19:19 +08003This PCIe host controller is based on the Synopsys DesignWare PCIe IP
Minghuan Lian62d0ff832014-11-05 16:45:11 +08004and thus inherits all the common properties defined in designware-pcie.txt.
5
Minghuan Lian5192ec72015-10-16 15:19:19 +08006This controller derives its clocks from the Reset Configuration Word (RCW)
7which is used to describe the PLL settings at the time of chip-reset.
8
9Also as per the available Reference Manuals, there is no specific 'version'
10register available in the Freescale PCIe controller register set,
11which can allow determining the underlying DesignWare PCIe controller version
12information.
13
Minghuan Lian62d0ff832014-11-05 16:45:11 +080014Required properties:
Minghuan Lian5192ec72015-10-16 15:19:19 +080015- compatible: should contain the platform identifier such as:
Xiaowei Baoe1a6ba52019-02-21 11:16:17 +080016 RC mode:
Hou Zhiqiangac8ed282018-11-07 05:35:22 +000017 "fsl,ls1021a-pcie"
18 "fsl,ls2080a-pcie", "fsl,ls2085a-pcie"
Hou Zhiqiang8f893572017-08-04 14:41:33 +080019 "fsl,ls2088a-pcie"
Hou Zhiqiang03fc6132017-08-04 14:41:34 +080020 "fsl,ls1088a-pcie"
Mingkai Hu1d770402016-10-25 20:36:56 +080021 "fsl,ls1046a-pcie"
Hou Zhiqiang8ff77542018-11-07 05:35:17 +000022 "fsl,ls1043a-pcie"
Hou Zhiqianga335b122017-09-19 17:26:56 +080023 "fsl,ls1012a-pcie"
Xiaowei Baod8725e32019-09-02 11:43:17 +080024 "fsl,ls1028a-pcie"
Xiaowei Baoe1a6ba52019-02-21 11:16:17 +080025 EP mode:
26 "fsl,ls1046a-pcie-ep", "fsl,ls-pcie-ep"
Bjorn Helgaas96291d52017-09-01 16:35:50 -050027- reg: base addresses and lengths of the PCIe controller register blocks.
Minghuan Lian62d0ff832014-11-05 16:45:11 +080028- interrupts: A list of interrupt outputs of the controller. Must contain an
29 entry for each entry in the interrupt-names property.
30- interrupt-names: Must include the following entries:
31 "intr": The interrupt that is asserted for controller interrupts
32- fsl,pcie-scfg: Must include two entries.
33 The first entry must be a link to the SCFG device node
34 The second entry must be '0' or '1' based on physical PCIe controller index.
35 This is used to get SCFG PEXN registers
Liu Gang2f082b12016-06-07 14:55:45 +080036- dma-coherent: Indicates that the hardware IP block can ensure the coherency
37 of the data transferred from/to the IP block. This can avoid the software
38 cache flush/invalid actions, and improve the performance significantly.
Minghuan Lian62d0ff832014-11-05 16:45:11 +080039
40Example:
41
42 pcie@3400000 {
Hou Zhiqiangac8ed282018-11-07 05:35:22 +000043 compatible = "fsl,ls1021a-pcie";
Minghuan Lian62d0ff832014-11-05 16:45:11 +080044 reg = <0x00 0x03400000 0x0 0x00010000 /* controller registers */
45 0x40 0x00000000 0x0 0x00002000>; /* configuration space */
46 reg-names = "regs", "config";
47 interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
48 interrupt-names = "intr";
49 fsl,pcie-scfg = <&scfg 0>;
50 #address-cells = <3>;
51 #size-cells = <2>;
52 device_type = "pci";
Liu Gang2f082b12016-06-07 14:55:45 +080053 dma-coherent;
Minghuan Lian62d0ff832014-11-05 16:45:11 +080054 num-lanes = <4>;
55 bus-range = <0x0 0xff>;
56 ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */
57 0xc2000000 0x0 0x20000000 0x40 0x20000000 0x0 0x20000000 /* prefetchable memory */
58 0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
59 #interrupt-cells = <1>;
60 interrupt-map-mask = <0 0 0 7>;
61 interrupt-map = <0000 0 0 1 &gic GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
62 <0000 0 0 2 &gic GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
63 <0000 0 0 3 &gic GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
64 <0000 0 0 4 &gic GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
65 };