diff options
author | Minghuan Lian <Minghuan.Lian@freescale.com> | 2014-11-05 03:45:11 -0500 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2014-11-13 11:31:52 -0500 |
commit | 62d0ff83c6e2221662fa0dccf2de096bdc7a2fc4 (patch) | |
tree | a28f30c8b8bb8585e1ede12217ac18efe2041f61 /Documentation/devicetree/bindings/pci | |
parent | f114040e3ea6e07372334ade75d1ee0775c355e1 (diff) |
PCI: layerscape: Add Freescale Layerscape PCIe driver
Add support for Freescale Layerscape PCIe controller. This driver re-uses
the Synopsis DesignWare core code.
[bhelgaas: add Kconfig dependency on CONFIG_ARM]
Signed-off-by: Minghuan Lian <Minghuan.Lian@freescale.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'Documentation/devicetree/bindings/pci')
-rw-r--r-- | Documentation/devicetree/bindings/pci/layerscape-pci.txt | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/pci/layerscape-pci.txt b/Documentation/devicetree/bindings/pci/layerscape-pci.txt new file mode 100644 index 000000000000..6286f049bf18 --- /dev/null +++ b/Documentation/devicetree/bindings/pci/layerscape-pci.txt | |||
@@ -0,0 +1,42 @@ | |||
1 | Freescale Layerscape PCIe controller | ||
2 | |||
3 | This PCIe host controller is based on the Synopsis Designware PCIe IP | ||
4 | and thus inherits all the common properties defined in designware-pcie.txt. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: should contain the platform identifier such as "fsl,ls1021a-pcie" | ||
8 | - reg: base addresses and lengths of the PCIe controller | ||
9 | - interrupts: A list of interrupt outputs of the controller. Must contain an | ||
10 | entry for each entry in the interrupt-names property. | ||
11 | - interrupt-names: Must include the following entries: | ||
12 | "intr": The interrupt that is asserted for controller interrupts | ||
13 | - fsl,pcie-scfg: Must include two entries. | ||
14 | The first entry must be a link to the SCFG device node | ||
15 | The second entry must be '0' or '1' based on physical PCIe controller index. | ||
16 | This is used to get SCFG PEXN registers | ||
17 | |||
18 | Example: | ||
19 | |||
20 | pcie@3400000 { | ||
21 | compatible = "fsl,ls1021a-pcie", "snps,dw-pcie"; | ||
22 | reg = <0x00 0x03400000 0x0 0x00010000 /* controller registers */ | ||
23 | 0x40 0x00000000 0x0 0x00002000>; /* configuration space */ | ||
24 | reg-names = "regs", "config"; | ||
25 | interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */ | ||
26 | interrupt-names = "intr"; | ||
27 | fsl,pcie-scfg = <&scfg 0>; | ||
28 | #address-cells = <3>; | ||
29 | #size-cells = <2>; | ||
30 | device_type = "pci"; | ||
31 | num-lanes = <4>; | ||
32 | bus-range = <0x0 0xff>; | ||
33 | ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */ | ||
34 | 0xc2000000 0x0 0x20000000 0x40 0x20000000 0x0 0x20000000 /* prefetchable memory */ | ||
35 | 0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ | ||
36 | #interrupt-cells = <1>; | ||
37 | interrupt-map-mask = <0 0 0 7>; | ||
38 | interrupt-map = <0000 0 0 1 &gic GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>, | ||
39 | <0000 0 0 2 &gic GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, | ||
40 | <0000 0 0 3 &gic GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>, | ||
41 | <0000 0 0 4 &gic GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; | ||
42 | }; | ||