]> asedeno.scripts.mit.edu Git - linux.git/blob - Documentation/devicetree/bindings/pci/ti-pci.txt
dt-bindings: PCI: dra7xx: Add SoC specific compatible strings
[linux.git] / Documentation / devicetree / bindings / pci / ti-pci.txt
1 TI PCI Controllers
2
3 PCIe DesignWare Controller
4  - compatible: Should be "ti,dra7-pcie" for RC (deprecated)
5                Should be "ti,dra7-pcie-ep" for EP (deprecated)
6                Should be "ti,dra746-pcie-rc" for dra74x/dra76 in RC mode
7                Should be "ti,dra746-pcie-ep" for dra74x/dra76 in EP mode
8                Should be "ti,dra726-pcie-rc" for dra72x in RC mode
9                Should be "ti,dra726-pcie-ep" for dra72x in EP mode
10  - phys : list of PHY specifiers (used by generic PHY framework)
11  - phy-names : must be "pcie-phy0", "pcie-phy1", "pcie-phyN".. based on the
12                number of PHYs as specified in *phys* property.
13  - ti,hwmods : Name of the hwmod associated to the pcie, "pcie<X>",
14                where <X> is the instance number of the pcie from the HW spec.
15  - num-lanes as specified in ../designware-pcie.txt
16
17 HOST MODE
18 =========
19  - reg : Two register ranges as listed in the reg-names property
20  - reg-names : The first entry must be "ti-conf" for the TI-specific registers
21                The second entry must be "rc-dbics" for the DesignWare PCIe
22                registers
23                The third entry must be "config" for the PCIe configuration space
24  - interrupts : Two interrupt entries must be specified. The first one is for
25                 main interrupt line and the second for MSI interrupt line.
26  - #address-cells,
27    #size-cells,
28    #interrupt-cells,
29    device_type,
30    ranges,
31    interrupt-map-mask,
32    interrupt-map : as specified in ../designware-pcie.txt
33  - ti,syscon-unaligned-access: phandle to the syscon DT node. The 1st argument
34                                should contain the register offset within syscon
35                                and the 2nd argument should contain the bit field
36                                for setting the bit to enable unaligned
37                                access.
38
39 DEVICE MODE
40 ===========
41  - reg : Four register ranges as listed in the reg-names property
42  - reg-names : "ti-conf" for the TI-specific registers
43                "ep_dbics" for the standard configuration registers as
44                 they are locally accessed within the DIF CS space
45                "ep_dbics2" for the standard configuration registers as
46                 they are locally accessed within the DIF CS2 space
47                "addr_space" used to map remote RC address space
48  - interrupts : one interrupt entries must be specified for main interrupt.
49  - num-ib-windows : number of inbound address translation windows
50  - num-ob-windows : number of outbound address translation windows
51  - ti,syscon-unaligned-access: phandle to the syscon DT node. The 1st argument
52                                should contain the register offset within syscon
53                                and the 2nd argument should contain the bit field
54                                for setting the bit to enable unaligned
55                                access.
56
57 Optional Property:
58  - gpios : Should be added if a GPIO line is required to drive PERST# line
59
60 NOTE: Two DT nodes may be added for each PCI controller; one for host
61 mode and another for device mode. So in order for PCI to
62 work in host mode, EP mode DT node should be disabled and in order to PCI to
63 work in EP mode, host mode DT node should be disabled. Host mode and EP
64 mode are mutually exclusive.
65
66 Example:
67 axi {
68         compatible = "simple-bus";
69         #size-cells = <1>;
70         #address-cells = <1>;
71         ranges = <0x51000000 0x51000000 0x3000
72                   0x0        0x20000000 0x10000000>;
73         pcie@51000000 {
74                 compatible = "ti,dra7-pcie";
75                 reg = <0x51000000 0x2000>, <0x51002000 0x14c>, <0x1000 0x2000>;
76                 reg-names = "rc_dbics", "ti_conf", "config";
77                 interrupts = <0 232 0x4>, <0 233 0x4>;
78                 #address-cells = <3>;
79                 #size-cells = <2>;
80                 device_type = "pci";
81                 ranges = <0x81000000 0 0          0x03000 0 0x00010000
82                           0x82000000 0 0x20013000 0x13000 0 0xffed000>;
83                 #interrupt-cells = <1>;
84                 num-lanes = <1>;
85                 ti,hwmods = "pcie1";
86                 phys = <&pcie1_phy>;
87                 phy-names = "pcie-phy0";
88                 interrupt-map-mask = <0 0 0 7>;
89                 interrupt-map = <0 0 0 1 &pcie_intc 1>,
90                                 <0 0 0 2 &pcie_intc 2>,
91                                 <0 0 0 3 &pcie_intc 3>,
92                                 <0 0 0 4 &pcie_intc 4>;
93                 pcie_intc: interrupt-controller {
94                         interrupt-controller;
95                         #address-cells = <0>;
96                         #interrupt-cells = <1>;
97                 };
98         };
99 };