18c2ecf20Sopenharmony_ci* Freescale i.MX6 PCIe interface
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciThis PCIe host controller is based on the Synopsys DesignWare PCIe IP
48c2ecf20Sopenharmony_ciand thus inherits all the common properties defined in designware-pcie.txt.
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciRequired properties:
78c2ecf20Sopenharmony_ci- compatible:
88c2ecf20Sopenharmony_ci	- "fsl,imx6q-pcie"
98c2ecf20Sopenharmony_ci	- "fsl,imx6sx-pcie",
108c2ecf20Sopenharmony_ci	- "fsl,imx6qp-pcie"
118c2ecf20Sopenharmony_ci	- "fsl,imx7d-pcie"
128c2ecf20Sopenharmony_ci	- "fsl,imx8mq-pcie"
138c2ecf20Sopenharmony_ci- reg: base address and length of the PCIe controller
148c2ecf20Sopenharmony_ci- interrupts: A list of interrupt outputs of the controller. Must contain an
158c2ecf20Sopenharmony_ci  entry for each entry in the interrupt-names property.
168c2ecf20Sopenharmony_ci- interrupt-names: Must include the following entries:
178c2ecf20Sopenharmony_ci	- "msi": The interrupt that is asserted when an MSI is received
188c2ecf20Sopenharmony_ci- clock-names: Must include the following additional entries:
198c2ecf20Sopenharmony_ci	- "pcie_phy"
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ciOptional properties:
228c2ecf20Sopenharmony_ci- fsl,tx-deemph-gen1: Gen1 De-emphasis value. Default: 0
238c2ecf20Sopenharmony_ci- fsl,tx-deemph-gen2-3p5db: Gen2 (3.5db) De-emphasis value. Default: 0
248c2ecf20Sopenharmony_ci- fsl,tx-deemph-gen2-6db: Gen2 (6db) De-emphasis value. Default: 20
258c2ecf20Sopenharmony_ci- fsl,tx-swing-full: Gen2 TX SWING FULL value. Default: 127
268c2ecf20Sopenharmony_ci- fsl,tx-swing-low: TX launch amplitude swing_low value. Default: 127
278c2ecf20Sopenharmony_ci- fsl,max-link-speed: Specify PCI gen for link capability. Must be '2' for
288c2ecf20Sopenharmony_ci  gen2, otherwise will default to gen1. Note that the IMX6 LVDS clock outputs
298c2ecf20Sopenharmony_ci  do not meet gen2 jitter requirements and thus for gen2 capability a gen2
308c2ecf20Sopenharmony_ci  compliant clock generator should be used and configured.
318c2ecf20Sopenharmony_ci- reset-gpio: Should specify the GPIO for controlling the PCI bus device reset
328c2ecf20Sopenharmony_ci  signal. It's not polarity aware and defaults to active-low reset sequence
338c2ecf20Sopenharmony_ci  (L=reset state, H=operation state).
348c2ecf20Sopenharmony_ci- reset-gpio-active-high: If present then the reset sequence using the GPIO
358c2ecf20Sopenharmony_ci  specified in the "reset-gpio" property is reversed (H=reset state,
368c2ecf20Sopenharmony_ci  L=operation state).
378c2ecf20Sopenharmony_ci- vpcie-supply: Should specify the regulator in charge of PCIe port power.
388c2ecf20Sopenharmony_ci  The regulator will be enabled when initializing the PCIe host and
398c2ecf20Sopenharmony_ci  disabled either as part of the init process or when shutting down the
408c2ecf20Sopenharmony_ci  host.
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ciAdditional required properties for imx6sx-pcie:
438c2ecf20Sopenharmony_ci- clock names: Must include the following additional entries:
448c2ecf20Sopenharmony_ci	- "pcie_inbound_axi"
458c2ecf20Sopenharmony_ci- power-domains: Must be set to phandles pointing to the DISPLAY and
468c2ecf20Sopenharmony_ci  PCIE_PHY power domains
478c2ecf20Sopenharmony_ci- power-domain-names: Must be "pcie", "pcie_phy"
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ciAdditional required properties for imx7d-pcie and imx8mq-pcie:
508c2ecf20Sopenharmony_ci- power-domains: Must be set to a phandle pointing to PCIE_PHY power domain
518c2ecf20Sopenharmony_ci- resets: Must contain phandles to PCIe-related reset lines exposed by SRC
528c2ecf20Sopenharmony_ci  IP block
538c2ecf20Sopenharmony_ci- reset-names: Must contain the following entries:
548c2ecf20Sopenharmony_ci	       - "pciephy"
558c2ecf20Sopenharmony_ci	       - "apps"
568c2ecf20Sopenharmony_ci	       - "turnoff"
578c2ecf20Sopenharmony_ci- fsl,imx7d-pcie-phy: A phandle to an fsl,imx7d-pcie-phy node.
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ciAdditional required properties for imx8mq-pcie:
608c2ecf20Sopenharmony_ci- clock-names: Must include the following additional entries:
618c2ecf20Sopenharmony_ci	- "pcie_aux"
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ciExample:
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci	pcie@01000000 {
668c2ecf20Sopenharmony_ci		compatible = "fsl,imx6q-pcie", "snps,dw-pcie";
678c2ecf20Sopenharmony_ci		reg = <0x01ffc000 0x04000>,
688c2ecf20Sopenharmony_ci		      <0x01f00000 0x80000>;
698c2ecf20Sopenharmony_ci		reg-names = "dbi", "config";
708c2ecf20Sopenharmony_ci		#address-cells = <3>;
718c2ecf20Sopenharmony_ci		#size-cells = <2>;
728c2ecf20Sopenharmony_ci		device_type = "pci";
738c2ecf20Sopenharmony_ci		ranges = <0x00000800 0 0x01f00000 0x01f00000 0 0x00080000
748c2ecf20Sopenharmony_ci			  0x81000000 0 0          0x01f80000 0 0x00010000
758c2ecf20Sopenharmony_ci			  0x82000000 0 0x01000000 0x01000000 0 0x00f00000>;
768c2ecf20Sopenharmony_ci		num-lanes = <1>;
778c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
788c2ecf20Sopenharmony_ci		interrupt-names = "msi";
798c2ecf20Sopenharmony_ci		#interrupt-cells = <1>;
808c2ecf20Sopenharmony_ci		interrupt-map-mask = <0 0 0 0x7>;
818c2ecf20Sopenharmony_ci		interrupt-map = <0 0 0 1 &intc GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
828c2ecf20Sopenharmony_ci		                <0 0 0 2 &intc GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
838c2ecf20Sopenharmony_ci		                <0 0 0 3 &intc GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
848c2ecf20Sopenharmony_ci		                <0 0 0 4 &intc GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
858c2ecf20Sopenharmony_ci		clocks = <&clks 144>, <&clks 206>, <&clks 189>;
868c2ecf20Sopenharmony_ci		clock-names = "pcie", "pcie_bus", "pcie_phy";
878c2ecf20Sopenharmony_ci	};
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ci* Freescale i.MX7d PCIe PHY
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ciThis is the PHY associated with the IMX7d PCIe controller.  It's used by the
928c2ecf20Sopenharmony_ciPCI-e controller via the fsl,imx7d-pcie-phy phandle.
938c2ecf20Sopenharmony_ci
948c2ecf20Sopenharmony_ciRequired properties:
958c2ecf20Sopenharmony_ci- compatible:
968c2ecf20Sopenharmony_ci	- "fsl,imx7d-pcie-phy"
978c2ecf20Sopenharmony_ci- reg: base address and length of the PCIe PHY controller
98