aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/pci
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/devicetree/bindings/pci')
-rw-r--r--Documentation/devicetree/bindings/pci/designware-pcie.txt74
-rw-r--r--Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt38
-rw-r--r--Documentation/devicetree/bindings/pci/samsung,exynos5440-pcie.txt65
3 files changed, 109 insertions, 68 deletions
diff --git a/Documentation/devicetree/bindings/pci/designware-pcie.txt b/Documentation/devicetree/bindings/pci/designware-pcie.txt
index d6fae13ff062..d0d15ee42834 100644
--- a/Documentation/devicetree/bindings/pci/designware-pcie.txt
+++ b/Documentation/devicetree/bindings/pci/designware-pcie.txt
@@ -1,15 +1,7 @@
1* Synopsys Designware PCIe interface 1* Synopsys Designware PCIe interface
2 2
3Required properties: 3Required properties:
4- compatible: should contain "snps,dw-pcie" to identify the 4- compatible: should contain "snps,dw-pcie" to identify the core.
5 core, plus an identifier for the specific instance, such
6 as "samsung,exynos5440-pcie" or "fsl,imx6q-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> 5- #address-cells: set to <3>
14- #size-cells: set to <2> 6- #size-cells: set to <2>
15- device_type: set to "pci" 7- device_type: set to "pci"
@@ -19,65 +11,11 @@ Required properties:
19 to define the mapping of the PCIe interface to interrupt 11 to define the mapping of the PCIe interface to interrupt
20 numbers. 12 numbers.
21- num-lanes: number of lanes to use 13- num-lanes: number of lanes to use
14- clocks: Must contain an entry for each entry in clock-names.
15 See ../clocks/clock-bindings.txt for details.
16- clock-names: Must include the following entries:
17 - "pcie"
18 - "pcie_bus"
22 19
23Optional properties: 20Optional properties:
24- reset-gpio: gpio pin number of power good signal 21- reset-gpio: gpio pin number of power good signal
25
26Optional properties for fsl,imx6q-pcie
27- power-on-gpio: gpio pin number of power-enable signal
28- wake-up-gpio: gpio pin number of incoming wakeup signal
29- disable-gpio: gpio pin number of outgoing rfkill/endpoint disable signal
30
31Example:
32
33SoC specific DT Entry:
34
35 pcie@290000 {
36 compatible = "samsung,exynos5440-pcie", "snps,dw-pcie";
37 reg = <0x290000 0x1000
38 0x270000 0x1000
39 0x271000 0x40>;
40 interrupts = <0 20 0>, <0 21 0>, <0 22 0>;
41 clocks = <&clock 28>, <&clock 27>;
42 clock-names = "pcie", "pcie_bus";
43 #address-cells = <3>;
44 #size-cells = <2>;
45 device_type = "pci";
46 ranges = <0x00000800 0 0x40000000 0x40000000 0 0x00001000 /* configuration space */
47 0x81000000 0 0 0x40001000 0 0x00010000 /* downstream I/O */
48 0x82000000 0 0x40011000 0x40011000 0 0x1ffef000>; /* non-prefetchable memory */
49 #interrupt-cells = <1>;
50 interrupt-map-mask = <0 0 0 0>;
51 interrupt-map = <0x0 0 &gic 53>;
52 num-lanes = <4>;
53 };
54
55 pcie@2a0000 {
56 compatible = "samsung,exynos5440-pcie", "snps,dw-pcie";
57 reg = <0x2a0000 0x1000
58 0x272000 0x1000
59 0x271040 0x40>;
60 interrupts = <0 23 0>, <0 24 0>, <0 25 0>;
61 clocks = <&clock 29>, <&clock 27>;
62 clock-names = "pcie", "pcie_bus";
63 #address-cells = <3>;
64 #size-cells = <2>;
65 device_type = "pci";
66 ranges = <0x00000800 0 0x60000000 0x60000000 0 0x00001000 /* configuration space */
67 0x81000000 0 0 0x60001000 0 0x00010000 /* downstream I/O */
68 0x82000000 0 0x60011000 0x60011000 0 0x1ffef000>; /* non-prefetchable memory */
69 #interrupt-cells = <1>;
70 interrupt-map-mask = <0 0 0 0>;
71 interrupt-map = <0x0 0 &gic 56>;
72 num-lanes = <4>;
73 };
74
75Board specific DT Entry:
76
77 pcie@290000 {
78 reset-gpio = <&pin_ctrl 5 0>;
79 };
80
81 pcie@2a0000 {
82 reset-gpio = <&pin_ctrl 22 0>;
83 };
diff --git a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
new file mode 100644
index 000000000000..9455fd0ec830
--- /dev/null
+++ b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
@@ -0,0 +1,38 @@
1* Freescale i.MX6 PCIe interface
2
3This PCIe host controller is based on the Synopsis Designware PCIe IP
4and thus inherits all the common properties defined in designware-pcie.txt.
5
6Required properties:
7- compatible: "fsl,imx6q-pcie"
8- reg: base addresse and length 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 - "msi": The interrupt that is asserted when an MSI is received
13- clock-names: Must include the following additional entries:
14 - "pcie_phy"
15
16Example:
17
18 pcie@0x01000000 {
19 compatible = "fsl,imx6q-pcie", "snps,dw-pcie";
20 reg = <0x01ffc000 0x4000>;
21 #address-cells = <3>;
22 #size-cells = <2>;
23 device_type = "pci";
24 ranges = <0x00000800 0 0x01f00000 0x01f00000 0 0x00080000
25 0x81000000 0 0 0x01f80000 0 0x00010000
26 0x82000000 0 0x01000000 0x01000000 0 0x00f00000>;
27 num-lanes = <1>;
28 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
29 interrupt-names = "msi";
30 #interrupt-cells = <1>;
31 interrupt-map-mask = <0 0 0 0x7>;
32 interrupt-map = <0 0 0 1 &intc GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
33 <0 0 0 2 &intc GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
34 <0 0 0 3 &intc GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
35 <0 0 0 4 &intc GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
36 clocks = <&clks 144>, <&clks 206>, <&clks 189>;
37 clock-names = "pcie", "pcie_bus", "pcie_phy";
38 };
diff --git a/Documentation/devicetree/bindings/pci/samsung,exynos5440-pcie.txt b/Documentation/devicetree/bindings/pci/samsung,exynos5440-pcie.txt
new file mode 100644
index 000000000000..4f9d23d2ed67
--- /dev/null
+++ b/Documentation/devicetree/bindings/pci/samsung,exynos5440-pcie.txt
@@ -0,0 +1,65 @@
1* Samsung Exynos 5440 PCIe interface
2
3This PCIe host controller is based on the Synopsis Designware PCIe IP
4and thus inherits all the common properties defined in designware-pcie.txt.
5
6Required properties:
7- compatible: "samsung,exynos5440-pcie"
8- reg: base addresses and lengths of the pcie controller,
9 the phy controller, additional register for the phy controller.
10- interrupts: A list of interrupt outputs for level interrupt,
11 pulse interrupt, special interrupt.
12
13Example:
14
15SoC specific DT Entry:
16
17 pcie@290000 {
18 compatible = "samsung,exynos5440-pcie", "snps,dw-pcie";
19 reg = <0x290000 0x1000
20 0x270000 0x1000
21 0x271000 0x40>;
22 interrupts = <0 20 0>, <0 21 0>, <0 22 0>;
23 clocks = <&clock 28>, <&clock 27>;
24 clock-names = "pcie", "pcie_bus";
25 #address-cells = <3>;
26 #size-cells = <2>;
27 device_type = "pci";
28 ranges = <0x00000800 0 0x40000000 0x40000000 0 0x00001000 /* configuration space */
29 0x81000000 0 0 0x40001000 0 0x00010000 /* downstream I/O */
30 0x82000000 0 0x40011000 0x40011000 0 0x1ffef000>; /* non-prefetchable memory */
31 #interrupt-cells = <1>;
32 interrupt-map-mask = <0 0 0 0>;
33 interrupt-map = <0 0 0 0 &gic GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
34 num-lanes = <4>;
35 };
36
37 pcie@2a0000 {
38 compatible = "samsung,exynos5440-pcie", "snps,dw-pcie";
39 reg = <0x2a0000 0x1000
40 0x272000 0x1000
41 0x271040 0x40>;
42 interrupts = <0 23 0>, <0 24 0>, <0 25 0>;
43 clocks = <&clock 29>, <&clock 27>;
44 clock-names = "pcie", "pcie_bus";
45 #address-cells = <3>;
46 #size-cells = <2>;
47 device_type = "pci";
48 ranges = <0x00000800 0 0x60000000 0x60000000 0 0x00001000 /* configuration space */
49 0x81000000 0 0 0x60001000 0 0x00010000 /* downstream I/O */
50 0x82000000 0 0x60011000 0x60011000 0 0x1ffef000>; /* non-prefetchable memory */
51 #interrupt-cells = <1>;
52 interrupt-map-mask = <0 0 0 0>;
53 interrupt-map = <0 0 0 0 &gic GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
54 num-lanes = <4>;
55 };
56
57Board specific DT Entry:
58
59 pcie@290000 {
60 reset-gpio = <&pin_ctrl 5 0>;
61 };
62
63 pcie@2a0000 {
64 reset-gpio = <&pin_ctrl 22 0>;
65 };