xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun* Freescale i.MX6 PCIe interface
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunThis PCIe host controller is based on the Synopsys DesignWare PCIe IP
4*4882a593Smuzhiyunand thus inherits all the common properties defined in designware-pcie.txt.
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunRequired properties:
7*4882a593Smuzhiyun- compatible:
8*4882a593Smuzhiyun	- "fsl,imx6q-pcie"
9*4882a593Smuzhiyun	- "fsl,imx6sx-pcie",
10*4882a593Smuzhiyun	- "fsl,imx6qp-pcie"
11*4882a593Smuzhiyun	- "fsl,imx7d-pcie"
12*4882a593Smuzhiyun	- "fsl,imx8mq-pcie"
13*4882a593Smuzhiyun- reg: base address and length of the PCIe controller
14*4882a593Smuzhiyun- interrupts: A list of interrupt outputs of the controller. Must contain an
15*4882a593Smuzhiyun  entry for each entry in the interrupt-names property.
16*4882a593Smuzhiyun- interrupt-names: Must include the following entries:
17*4882a593Smuzhiyun	- "msi": The interrupt that is asserted when an MSI is received
18*4882a593Smuzhiyun- clock-names: Must include the following additional entries:
19*4882a593Smuzhiyun	- "pcie_phy"
20*4882a593Smuzhiyun
21*4882a593SmuzhiyunOptional properties:
22*4882a593Smuzhiyun- fsl,tx-deemph-gen1: Gen1 De-emphasis value. Default: 0
23*4882a593Smuzhiyun- fsl,tx-deemph-gen2-3p5db: Gen2 (3.5db) De-emphasis value. Default: 0
24*4882a593Smuzhiyun- fsl,tx-deemph-gen2-6db: Gen2 (6db) De-emphasis value. Default: 20
25*4882a593Smuzhiyun- fsl,tx-swing-full: Gen2 TX SWING FULL value. Default: 127
26*4882a593Smuzhiyun- fsl,tx-swing-low: TX launch amplitude swing_low value. Default: 127
27*4882a593Smuzhiyun- fsl,max-link-speed: Specify PCI gen for link capability. Must be '2' for
28*4882a593Smuzhiyun  gen2, otherwise will default to gen1. Note that the IMX6 LVDS clock outputs
29*4882a593Smuzhiyun  do not meet gen2 jitter requirements and thus for gen2 capability a gen2
30*4882a593Smuzhiyun  compliant clock generator should be used and configured.
31*4882a593Smuzhiyun- reset-gpio: Should specify the GPIO for controlling the PCI bus device reset
32*4882a593Smuzhiyun  signal. It's not polarity aware and defaults to active-low reset sequence
33*4882a593Smuzhiyun  (L=reset state, H=operation state).
34*4882a593Smuzhiyun- reset-gpio-active-high: If present then the reset sequence using the GPIO
35*4882a593Smuzhiyun  specified in the "reset-gpio" property is reversed (H=reset state,
36*4882a593Smuzhiyun  L=operation state).
37*4882a593Smuzhiyun- vpcie-supply: Should specify the regulator in charge of PCIe port power.
38*4882a593Smuzhiyun  The regulator will be enabled when initializing the PCIe host and
39*4882a593Smuzhiyun  disabled either as part of the init process or when shutting down the
40*4882a593Smuzhiyun  host.
41*4882a593Smuzhiyun
42*4882a593SmuzhiyunAdditional required properties for imx6sx-pcie:
43*4882a593Smuzhiyun- clock names: Must include the following additional entries:
44*4882a593Smuzhiyun	- "pcie_inbound_axi"
45*4882a593Smuzhiyun- power-domains: Must be set to phandles pointing to the DISPLAY and
46*4882a593Smuzhiyun  PCIE_PHY power domains
47*4882a593Smuzhiyun- power-domain-names: Must be "pcie", "pcie_phy"
48*4882a593Smuzhiyun
49*4882a593SmuzhiyunAdditional required properties for imx7d-pcie and imx8mq-pcie:
50*4882a593Smuzhiyun- power-domains: Must be set to a phandle pointing to PCIE_PHY power domain
51*4882a593Smuzhiyun- resets: Must contain phandles to PCIe-related reset lines exposed by SRC
52*4882a593Smuzhiyun  IP block
53*4882a593Smuzhiyun- reset-names: Must contain the following entries:
54*4882a593Smuzhiyun	       - "pciephy"
55*4882a593Smuzhiyun	       - "apps"
56*4882a593Smuzhiyun	       - "turnoff"
57*4882a593Smuzhiyun- fsl,imx7d-pcie-phy: A phandle to an fsl,imx7d-pcie-phy node.
58*4882a593Smuzhiyun
59*4882a593SmuzhiyunAdditional required properties for imx8mq-pcie:
60*4882a593Smuzhiyun- clock-names: Must include the following additional entries:
61*4882a593Smuzhiyun	- "pcie_aux"
62*4882a593Smuzhiyun
63*4882a593SmuzhiyunExample:
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun	pcie@01000000 {
66*4882a593Smuzhiyun		compatible = "fsl,imx6q-pcie", "snps,dw-pcie";
67*4882a593Smuzhiyun		reg = <0x01ffc000 0x04000>,
68*4882a593Smuzhiyun		      <0x01f00000 0x80000>;
69*4882a593Smuzhiyun		reg-names = "dbi", "config";
70*4882a593Smuzhiyun		#address-cells = <3>;
71*4882a593Smuzhiyun		#size-cells = <2>;
72*4882a593Smuzhiyun		device_type = "pci";
73*4882a593Smuzhiyun		ranges = <0x00000800 0 0x01f00000 0x01f00000 0 0x00080000
74*4882a593Smuzhiyun			  0x81000000 0 0          0x01f80000 0 0x00010000
75*4882a593Smuzhiyun			  0x82000000 0 0x01000000 0x01000000 0 0x00f00000>;
76*4882a593Smuzhiyun		num-lanes = <1>;
77*4882a593Smuzhiyun		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
78*4882a593Smuzhiyun		interrupt-names = "msi";
79*4882a593Smuzhiyun		#interrupt-cells = <1>;
80*4882a593Smuzhiyun		interrupt-map-mask = <0 0 0 0x7>;
81*4882a593Smuzhiyun		interrupt-map = <0 0 0 1 &intc GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
82*4882a593Smuzhiyun		                <0 0 0 2 &intc GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
83*4882a593Smuzhiyun		                <0 0 0 3 &intc GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
84*4882a593Smuzhiyun		                <0 0 0 4 &intc GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
85*4882a593Smuzhiyun		clocks = <&clks 144>, <&clks 206>, <&clks 189>;
86*4882a593Smuzhiyun		clock-names = "pcie", "pcie_bus", "pcie_phy";
87*4882a593Smuzhiyun	};
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun* Freescale i.MX7d PCIe PHY
90*4882a593Smuzhiyun
91*4882a593SmuzhiyunThis is the PHY associated with the IMX7d PCIe controller.  It's used by the
92*4882a593SmuzhiyunPCI-e controller via the fsl,imx7d-pcie-phy phandle.
93*4882a593Smuzhiyun
94*4882a593SmuzhiyunRequired properties:
95*4882a593Smuzhiyun- compatible:
96*4882a593Smuzhiyun	- "fsl,imx7d-pcie-phy"
97*4882a593Smuzhiyun- reg: base address and length of the PCIe PHY controller
98