PCI: histb: Add an optional regulator for PCIe port power control
[muen/linux.git] / Documentation / devicetree / bindings / pci / hisilicon-histb-pcie.txt
1 HiSilicon STB PCIe host bridge DT description
2
3 The HiSilicon STB PCIe host controller is based on the DesignWare PCIe core.
4 It shares common functions with the DesignWare PCIe core driver and inherits
5 common properties defined in
6 Documentation/devicetree/bindings/pci/designware-pcie.txt.
7
8 Additional properties are described here:
9
10 Required properties
11 - compatible: Should be one of the following strings:
12                 "hisilicon,hi3798cv200-pcie"
13 - reg: Should contain sysctl, rc_dbi, config registers location and length.
14 - reg-names: Must include the following entries:
15   "control": control registers of PCIe controller;
16   "rc-dbi": configuration space of PCIe controller;
17   "config": configuration transaction space of PCIe controller.
18 - bus-range: PCI bus numbers covered.
19 - interrupts: MSI interrupt.
20 - interrupt-names: Must include "msi" entries.
21 - clocks: List of phandle and clock specifier pairs as listed in clock-names
22   property.
23 - clock-name: Must include the following entries:
24   "aux": auxiliary gate clock;
25   "pipe": pipe gate clock;
26   "sys": sys gate clock;
27   "bus": bus gate clock.
28 - resets: List of phandle and reset specifier pairs as listed in reset-names
29   property.
30 - reset-names: Must include the following entries:
31   "soft": soft reset;
32   "sys": sys reset;
33   "bus": bus reset.
34
35 Optional properties:
36 - reset-gpios: The gpio to generate PCIe PERST# assert and deassert signal.
37 - vpcie-supply: The regulator in charge of PCIe port power.
38 - phys: List of phandle and phy mode specifier, should be 0.
39 - phy-names: Must be "phy".
40
41 Example:
42         pcie@f9860000 {
43                 compatible = "hisilicon,hi3798cv200-pcie";
44                 reg = <0xf9860000 0x1000>,
45                       <0xf0000000 0x2000>,
46                       <0xf2000000 0x01000000>;
47                 reg-names = "control", "rc-dbi", "config";
48                 #address-cells = <3>;
49                 #size-cells = <2>;
50                 device_type = "pci";
51                 bus-range = <0 15>;
52                 num-lanes = <1>;
53                 ranges=<0x81000000 0 0 0xf4000000 0 0x00010000
54                         0x82000000 0 0xf3000000 0xf3000000 0 0x01000000>;
55                 interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
56                 interrupt-names = "msi";
57                 #interrupt-cells = <1>;
58                 interrupt-map-mask = <0 0 0 0>;
59                 interrupt-map = <0 0 0 0 &gic GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
60                 clocks = <&crg PCIE_AUX_CLK>,
61                          <&crg PCIE_PIPE_CLK>,
62                          <&crg PCIE_SYS_CLK>,
63                          <&crg PCIE_BUS_CLK>;
64                 clock-names = "aux", "pipe", "sys", "bus";
65                 resets = <&crg 0x18c 6>, <&crg 0x18c 5>, <&crg 0x18c 4>;
66                 reset-names = "soft", "sys", "bus";
67                 phys = <&combphy1 PHY_TYPE_PCIE>;
68                 phy-names = "phy";
69         };