diff options
author | Jingoo Han <jg1.han@samsung.com> | 2013-06-21 03:24:54 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2013-06-26 14:14:59 -0400 |
commit | 340cba6092c2c1688629d327b74e7eb746a571a7 (patch) | |
tree | f4e386a5c9ccffdacad81b1603a86242938ab859 /Documentation/devicetree/bindings/pci | |
parent | ece585df6ee6cbf7103b5e51485ad58d85fd84f2 (diff) |
pci: Add PCIe driver for Samsung Exynos
Exynos5440 has a PCIe controller which can be used as Root Complex.
This driver supports a PCIe controller as Root Complex mode.
Signed-off-by: Surendranath Gurivireddy Balla <suren.reddy@samsung.com>
Signed-off-by: Siva Reddy Kallam <siva.kallam@samsung.com>
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Cc: Pratyush Anand <pratyush.anand@st.com>
Cc: Mohit KUMAR <Mohit.KUMAR@st.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'Documentation/devicetree/bindings/pci')
-rw-r--r-- | Documentation/devicetree/bindings/pci/designware-pcie.txt | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/pci/designware-pcie.txt b/Documentation/devicetree/bindings/pci/designware-pcie.txt new file mode 100644 index 000000000000..e2371f5cdebe --- /dev/null +++ b/Documentation/devicetree/bindings/pci/designware-pcie.txt | |||
@@ -0,0 +1,73 @@ | |||
1 | * Synopsis Designware PCIe interface | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: should contain "snps,dw-pcie" to identify the | ||
5 | core, plus an identifier for the specific instance, such | ||
6 | as "samsung,exynos5440-pcie". | ||
7 | - reg: base addresses and lengths of the pcie controller, | ||
8 | the phy controller, additional register for the phy controller. | ||
9 | - interrupts: interrupt values for level interrupt, | ||
10 | pulse interrupt, special interrupt. | ||
11 | - clocks: from common clock binding: handle to pci clock. | ||
12 | - clock-names: from common clock binding: should be "pcie" and "pcie_bus". | ||
13 | - #address-cells: set to <3> | ||
14 | - #size-cells: set to <2> | ||
15 | - device_type: set to "pci" | ||
16 | - ranges: ranges for the PCI memory and I/O regions | ||
17 | - #interrupt-cells: set to <1> | ||
18 | - interrupt-map-mask and interrupt-map: standard PCI properties | ||
19 | to define the mapping of the PCIe interface to interrupt | ||
20 | numbers. | ||
21 | - reset-gpio: gpio pin number of power good signal | ||
22 | |||
23 | Example: | ||
24 | |||
25 | SoC specific DT Entry: | ||
26 | |||
27 | pcie@290000 { | ||
28 | compatible = "samsung,exynos5440-pcie", "snps,dw-pcie"; | ||
29 | reg = <0x290000 0x1000 | ||
30 | 0x270000 0x1000 | ||
31 | 0x271000 0x40>; | ||
32 | interrupts = <0 20 0>, <0 21 0>, <0 22 0>; | ||
33 | clocks = <&clock 28>, <&clock 27>; | ||
34 | clock-names = "pcie", "pcie_bus"; | ||
35 | #address-cells = <3>; | ||
36 | #size-cells = <2>; | ||
37 | device_type = "pci"; | ||
38 | ranges = <0x00000800 0 0x40000000 0x40000000 0 0x00001000 /* configuration space */ | ||
39 | 0x81000000 0 0 0x40001000 0 0x00010000 /* downstream I/O */ | ||
40 | 0x82000000 0 0x40011000 0x40011000 0 0x1ffef000>; /* non-prefetchable memory */ | ||
41 | #interrupt-cells = <1>; | ||
42 | interrupt-map-mask = <0 0 0 0>; | ||
43 | interrupt-map = <0x0 0 &gic 53>; | ||
44 | }; | ||
45 | |||
46 | pcie@2a0000 { | ||
47 | compatible = "samsung,exynos5440-pcie", "snps,dw-pcie"; | ||
48 | reg = <0x2a0000 0x1000 | ||
49 | 0x272000 0x1000 | ||
50 | 0x271040 0x40>; | ||
51 | interrupts = <0 23 0>, <0 24 0>, <0 25 0>; | ||
52 | clocks = <&clock 29>, <&clock 27>; | ||
53 | clock-names = "pcie", "pcie_bus"; | ||
54 | #address-cells = <3>; | ||
55 | #size-cells = <2>; | ||
56 | device_type = "pci"; | ||
57 | ranges = <0x00000800 0 0x60000000 0x60000000 0 0x00001000 /* configuration space */ | ||
58 | 0x81000000 0 0 0x60001000 0 0x00010000 /* downstream I/O */ | ||
59 | 0x82000000 0 0x60011000 0x60011000 0 0x1ffef000>; /* non-prefetchable memory */ | ||
60 | #interrupt-cells = <1>; | ||
61 | interrupt-map-mask = <0 0 0 0>; | ||
62 | interrupt-map = <0x0 0 &gic 56>; | ||
63 | }; | ||
64 | |||
65 | Board specific DT Entry: | ||
66 | |||
67 | pcie@290000 { | ||
68 | reset-gpio = <&pin_ctrl 5 0>; | ||
69 | }; | ||
70 | |||
71 | pcie@2a0000 { | ||
72 | reset-gpio = <&pin_ctrl 22 0>; | ||
73 | }; | ||