blob: b7fa3b97986d5fff391bf4ff1a01bdd25ce096e9 [file] [log] [blame]
Gabriele Paoloni5930fe42015-11-27 01:17:05 +08001HiSilicon Hip05 and Hip06 PCIe host bridge DT description
Zhou Wang500a1d92015-10-29 20:02:51 -05002
3HiSilicon PCIe host controller is based on Designware PCI core.
4It shares common functions with PCIe Designware core driver and inherits
5common properties defined in
6Documentation/devicetree/bindings/pci/designware-pci.txt.
7
8Additional properties are described here:
9
Gabriele Paoloni5930fe42015-11-27 01:17:05 +080010Required properties
11- compatible: Should contain "hisilicon,hip05-pcie" or "hisilicon,hip06-pcie".
Zhou Wang500a1d92015-10-29 20:02:51 -050012- reg: Should contain rc_dbi, config registers location and length.
13- reg-names: Must include the following entries:
14 "rc_dbi": controller configuration registers;
15 "config": PCIe configuration space registers.
16- msi-parent: Should be its_pcie which is an ITS receiving MSI interrupts.
17- port-id: Should be 0, 1, 2 or 3.
18
19Optional properties:
20- status: Either "ok" or "disabled".
21- dma-coherent: Present if DMA operations are coherent.
22
Gabriele Paoloni5930fe42015-11-27 01:17:05 +080023Hip05 Example (note that Hip06 is the same except compatible):
Zhou Wang500a1d92015-10-29 20:02:51 -050024 pcie@0xb0080000 {
25 compatible = "hisilicon,hip05-pcie", "snps,dw-pcie";
26 reg = <0 0xb0080000 0 0x10000>, <0x220 0x00000000 0 0x2000>;
27 reg-names = "rc_dbi", "config";
28 bus-range = <0 15>;
29 msi-parent = <&its_pcie>;
30 #address-cells = <3>;
31 #size-cells = <2>;
32 device_type = "pci";
33 dma-coherent;
34 ranges = <0x82000000 0 0x00000000 0x220 0x00000000 0 0x10000000>;
35 num-lanes = <8>;
36 port-id = <1>;
Geert Uytterhoeven332bea12016-04-20 17:32:16 +020037 #interrupt-cells = <1>;
38 interrupt-map-mask = <0xf800 0 0 7>;
39 interrupt-map = <0x0 0 0 1 &mbigen_pcie 1 10
40 0x0 0 0 2 &mbigen_pcie 2 11
41 0x0 0 0 3 &mbigen_pcie 3 12
42 0x0 0 0 4 &mbigen_pcie 4 13>;
Zhou Wang500a1d92015-10-29 20:02:51 -050043 status = "ok";
44 };
Dongdong Liua2ec1996092017-02-06 14:25:04 +080045
46HiSilicon Hip06/Hip07 PCIe host bridge DT (almost-ECAM) description.
47The properties and their meanings are identical to those described in
48host-generic-pci.txt except as listed below.
49
50Properties of the host controller node that differ from
51host-generic-pci.txt:
52
53- compatible : Must be "hisilicon,pcie-almost-ecam"
54
55- reg : Two entries: First the ECAM configuration space for any
56 other bus underneath the root bus. Second, the base
57 and size of the HiSilicon host bridge registers include
58 the RC's own config space.
59
60Example:
61 pcie0: pcie@a0090000 {
62 compatible = "hisilicon,pcie-almost-ecam";
63 reg = <0 0xb0000000 0 0x2000000>, /* ECAM configuration space */
64 <0 0xa0090000 0 0x10000>; /* host bridge registers */
65 bus-range = <0 31>;
66 msi-map = <0x0000 &its_dsa 0x0000 0x2000>;
67 msi-map-mask = <0xffff>;
68 #address-cells = <3>;
69 #size-cells = <2>;
70 device_type = "pci";
71 dma-coherent;
72 ranges = <0x02000000 0 0xb2000000 0x0 0xb2000000 0 0x5ff0000
73 0x01000000 0 0 0 0xb7ff0000 0 0x10000>;
74 #interrupt-cells = <1>;
75 interrupt-map-mask = <0xf800 0 0 7>;
76 interrupt-map = <0x0 0 0 1 &mbigen_pcie0 650 4
77 0x0 0 0 2 &mbigen_pcie0 650 4
78 0x0 0 0 3 &mbigen_pcie0 650 4
79 0x0 0 0 4 &mbigen_pcie0 650 4>;
80 status = "ok";
81 };