GNU Linux-libre 4.14.266-gnu1
[releases.git] / Documentation / devicetree / bindings / pci / pci-thunder-pem.txt
1 * ThunderX PEM PCIe host controller
2
3 Firmware-initialized PCI host controller found on some Cavium
4 ThunderX processors.
5
6 The properties and their meanings are identical to those described in
7 host-generic-pci.txt except as listed below.
8
9 Properties of the host controller node that differ from
10 host-generic-pci.txt:
11
12 - compatible     : Must be "cavium,pci-host-thunder-pem"
13
14 - reg            : Two entries: First the configuration space for down
15                    stream devices base address and size, as accessed
16                    from the parent bus. Second, the register bank of
17                    the PEM device PCIe bridge.
18
19 Example:
20
21     pci@87e0,c2000000 {
22         compatible = "cavium,pci-host-thunder-pem";
23         device_type = "pci";
24         msi-parent = <&its>;
25         msi-map = <0 &its 0x10000 0x10000>;
26         bus-range = <0x8f 0xc7>;
27         #size-cells = <2>;
28         #address-cells = <3>;
29
30         reg = <0x8880 0x8f000000 0x0 0x39000000>,  /* Configuration space */
31               <0x87e0 0xc2000000 0x0 0x00010000>; /* PEM space */
32         ranges = <0x01000000 0x00 0x00020000 0x88b0 0x00020000 0x00 0x00010000>, /* I/O */
33                  <0x03000000 0x00 0x10000000 0x8890 0x10000000 0x0f 0xf0000000>, /* mem64 */
34                  <0x43000000 0x10 0x00000000 0x88a0 0x00000000 0x10 0x00000000>, /* mem64-pref */
35                  <0x03000000 0x87e0 0xc2f00000 0x87e0 0xc2000000 0x00 0x00100000>; /* mem64 PEM BAR4 */
36
37         #interrupt-cells = <1>;
38         interrupt-map-mask = <0 0 0 7>;
39         interrupt-map = <0 0 0 1 &gic0 0 0 0 24 4>, /* INTA */
40                         <0 0 0 2 &gic0 0 0 0 25 4>, /* INTB */
41                         <0 0 0 3 &gic0 0 0 0 26 4>, /* INTC */
42                         <0 0 0 4 &gic0 0 0 0 27 4>; /* INTD */
43     };