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