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