162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/pci/fsl,imx6q-pcie-common.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Freescale i.MX6 PCIe RC/EP controller 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Lucas Stach <l.stach@pengutronix.de> 1162306a36Sopenharmony_ci - Richard Zhu <hongxing.zhu@nxp.com> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_cidescription: 1462306a36Sopenharmony_ci Generic Freescale i.MX PCIe Root Port and Endpoint controller 1562306a36Sopenharmony_ci properties. 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciproperties: 1862306a36Sopenharmony_ci clocks: 1962306a36Sopenharmony_ci minItems: 3 2062306a36Sopenharmony_ci maxItems: 4 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci clock-names: 2362306a36Sopenharmony_ci minItems: 3 2462306a36Sopenharmony_ci maxItems: 4 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci num-lanes: 2762306a36Sopenharmony_ci const: 1 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci fsl,imx7d-pcie-phy: 3062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/phandle 3162306a36Sopenharmony_ci description: A phandle to an fsl,imx7d-pcie-phy node. Additional 3262306a36Sopenharmony_ci required properties for imx7d-pcie, imx7d-pcie-ep, imx8mq-pcie, 3362306a36Sopenharmony_ci and imx8mq-pcie-ep. 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci power-domains: 3662306a36Sopenharmony_ci minItems: 1 3762306a36Sopenharmony_ci items: 3862306a36Sopenharmony_ci - description: The phandle pointing to the DISPLAY domain for 3962306a36Sopenharmony_ci imx6sx-pcie, imx6sx-pcie-ep, to PCIE_PHY power domain for 4062306a36Sopenharmony_ci imx7d-pcie, imx7d-pcie-ep, imx8mq-pcie and imx8mq-pcie-ep. 4162306a36Sopenharmony_ci - description: The phandle pointing to the PCIE_PHY power domains 4262306a36Sopenharmony_ci for imx6sx-pcie and imx6sx-pcie-ep. 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci power-domain-names: 4562306a36Sopenharmony_ci minItems: 1 4662306a36Sopenharmony_ci items: 4762306a36Sopenharmony_ci - const: pcie 4862306a36Sopenharmony_ci - const: pcie_phy 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci resets: 5162306a36Sopenharmony_ci minItems: 2 5262306a36Sopenharmony_ci maxItems: 3 5362306a36Sopenharmony_ci description: Phandles to PCIe-related reset lines exposed by SRC 5462306a36Sopenharmony_ci IP block. Additional required by imx7d-pcie, imx7d-pcie-ep, 5562306a36Sopenharmony_ci imx8mq-pcie, and imx8mq-pcie-ep. 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci reset-names: 5862306a36Sopenharmony_ci minItems: 2 5962306a36Sopenharmony_ci maxItems: 3 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci fsl,tx-deemph-gen1: 6262306a36Sopenharmony_ci description: Gen1 De-emphasis value (optional required). 6362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 6462306a36Sopenharmony_ci default: 0 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci fsl,tx-deemph-gen2-3p5db: 6762306a36Sopenharmony_ci description: Gen2 (3.5db) De-emphasis value (optional required). 6862306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 6962306a36Sopenharmony_ci default: 0 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci fsl,tx-deemph-gen2-6db: 7262306a36Sopenharmony_ci description: Gen2 (6db) De-emphasis value (optional required). 7362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 7462306a36Sopenharmony_ci default: 20 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci fsl,tx-swing-full: 7762306a36Sopenharmony_ci description: Gen2 TX SWING FULL value (optional required). 7862306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 7962306a36Sopenharmony_ci default: 127 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci fsl,tx-swing-low: 8262306a36Sopenharmony_ci description: TX launch amplitude swing_low value (optional required). 8362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 8462306a36Sopenharmony_ci default: 127 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci fsl,max-link-speed: 8762306a36Sopenharmony_ci description: Specify PCI Gen for link capability (optional required). 8862306a36Sopenharmony_ci Note that the IMX6 LVDS clock outputs do not meet gen2 jitter 8962306a36Sopenharmony_ci requirements and thus for gen2 capability a gen2 compliant clock 9062306a36Sopenharmony_ci generator should be used and configured. 9162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 9262306a36Sopenharmony_ci enum: [1, 2, 3, 4] 9362306a36Sopenharmony_ci default: 1 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci phys: 9662306a36Sopenharmony_ci maxItems: 1 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci phy-names: 9962306a36Sopenharmony_ci const: pcie-phy 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci vpcie-supply: 10262306a36Sopenharmony_ci description: Should specify the regulator in charge of PCIe port power. 10362306a36Sopenharmony_ci The regulator will be enabled when initializing the PCIe host and 10462306a36Sopenharmony_ci disabled either as part of the init process or when shutting down 10562306a36Sopenharmony_ci the host (optional required). 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci vph-supply: 10862306a36Sopenharmony_ci description: Should specify the regulator in charge of VPH one of 10962306a36Sopenharmony_ci the three PCIe PHY powers. This regulator can be supplied by both 11062306a36Sopenharmony_ci 1.8v and 3.3v voltage supplies (optional required). 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_cirequired: 11362306a36Sopenharmony_ci - clocks 11462306a36Sopenharmony_ci - clock-names 11562306a36Sopenharmony_ci - num-lanes 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ciallOf: 11862306a36Sopenharmony_ci - if: 11962306a36Sopenharmony_ci properties: 12062306a36Sopenharmony_ci compatible: 12162306a36Sopenharmony_ci contains: 12262306a36Sopenharmony_ci enum: 12362306a36Sopenharmony_ci - fsl,imx6sx-pcie 12462306a36Sopenharmony_ci - fsl,imx6sx-pcie-ep 12562306a36Sopenharmony_ci then: 12662306a36Sopenharmony_ci properties: 12762306a36Sopenharmony_ci clock-names: 12862306a36Sopenharmony_ci items: 12962306a36Sopenharmony_ci - {} 13062306a36Sopenharmony_ci - {} 13162306a36Sopenharmony_ci - const: pcie_phy 13262306a36Sopenharmony_ci - const: pcie_inbound_axi 13362306a36Sopenharmony_ci power-domains: 13462306a36Sopenharmony_ci minItems: 2 13562306a36Sopenharmony_ci power-domain-names: 13662306a36Sopenharmony_ci minItems: 2 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_ci - if: 13962306a36Sopenharmony_ci properties: 14062306a36Sopenharmony_ci compatible: 14162306a36Sopenharmony_ci contains: 14262306a36Sopenharmony_ci enum: 14362306a36Sopenharmony_ci - fsl,imx8mq-pcie 14462306a36Sopenharmony_ci - fsl,imx8mq-pcie-ep 14562306a36Sopenharmony_ci then: 14662306a36Sopenharmony_ci properties: 14762306a36Sopenharmony_ci clock-names: 14862306a36Sopenharmony_ci items: 14962306a36Sopenharmony_ci - {} 15062306a36Sopenharmony_ci - {} 15162306a36Sopenharmony_ci - const: pcie_phy 15262306a36Sopenharmony_ci - const: pcie_aux 15362306a36Sopenharmony_ci - if: 15462306a36Sopenharmony_ci properties: 15562306a36Sopenharmony_ci compatible: 15662306a36Sopenharmony_ci not: 15762306a36Sopenharmony_ci contains: 15862306a36Sopenharmony_ci enum: 15962306a36Sopenharmony_ci - fsl,imx6sx-pcie 16062306a36Sopenharmony_ci - fsl,imx8mq-pcie 16162306a36Sopenharmony_ci - fsl,imx6sx-pcie-ep 16262306a36Sopenharmony_ci - fsl,imx8mq-pcie-ep 16362306a36Sopenharmony_ci then: 16462306a36Sopenharmony_ci properties: 16562306a36Sopenharmony_ci clocks: 16662306a36Sopenharmony_ci maxItems: 3 16762306a36Sopenharmony_ci clock-names: 16862306a36Sopenharmony_ci maxItems: 3 16962306a36Sopenharmony_ci 17062306a36Sopenharmony_ci - if: 17162306a36Sopenharmony_ci properties: 17262306a36Sopenharmony_ci compatible: 17362306a36Sopenharmony_ci contains: 17462306a36Sopenharmony_ci enum: 17562306a36Sopenharmony_ci - fsl,imx6q-pcie 17662306a36Sopenharmony_ci - fsl,imx6qp-pcie 17762306a36Sopenharmony_ci - fsl,imx7d-pcie 17862306a36Sopenharmony_ci - fsl,imx6q-pcie-ep 17962306a36Sopenharmony_ci - fsl,imx6qp-pcie-ep 18062306a36Sopenharmony_ci - fsl,imx7d-pcie-ep 18162306a36Sopenharmony_ci then: 18262306a36Sopenharmony_ci properties: 18362306a36Sopenharmony_ci clock-names: 18462306a36Sopenharmony_ci maxItems: 3 18562306a36Sopenharmony_ci contains: 18662306a36Sopenharmony_ci const: pcie_phy 18762306a36Sopenharmony_ci 18862306a36Sopenharmony_ci - if: 18962306a36Sopenharmony_ci properties: 19062306a36Sopenharmony_ci compatible: 19162306a36Sopenharmony_ci contains: 19262306a36Sopenharmony_ci enum: 19362306a36Sopenharmony_ci - fsl,imx8mm-pcie 19462306a36Sopenharmony_ci - fsl,imx8mp-pcie 19562306a36Sopenharmony_ci - fsl,imx8mm-pcie-ep 19662306a36Sopenharmony_ci - fsl,imx8mp-pcie-ep 19762306a36Sopenharmony_ci then: 19862306a36Sopenharmony_ci properties: 19962306a36Sopenharmony_ci clock-names: 20062306a36Sopenharmony_ci maxItems: 3 20162306a36Sopenharmony_ci contains: 20262306a36Sopenharmony_ci const: pcie_aux 20362306a36Sopenharmony_ci - if: 20462306a36Sopenharmony_ci properties: 20562306a36Sopenharmony_ci compatible: 20662306a36Sopenharmony_ci contains: 20762306a36Sopenharmony_ci enum: 20862306a36Sopenharmony_ci - fsl,imx6q-pcie 20962306a36Sopenharmony_ci - fsl,imx6qp-pcie 21062306a36Sopenharmony_ci - fsl,imx6q-pcie-ep 21162306a36Sopenharmony_ci - fsl,imx6qp-pcie-ep 21262306a36Sopenharmony_ci then: 21362306a36Sopenharmony_ci properties: 21462306a36Sopenharmony_ci power-domains: false 21562306a36Sopenharmony_ci power-domain-names: false 21662306a36Sopenharmony_ci 21762306a36Sopenharmony_ci - if: 21862306a36Sopenharmony_ci not: 21962306a36Sopenharmony_ci properties: 22062306a36Sopenharmony_ci compatible: 22162306a36Sopenharmony_ci contains: 22262306a36Sopenharmony_ci enum: 22362306a36Sopenharmony_ci - fsl,imx6sx-pcie 22462306a36Sopenharmony_ci - fsl,imx6q-pcie 22562306a36Sopenharmony_ci - fsl,imx6qp-pcie 22662306a36Sopenharmony_ci - fsl,imx6sx-pcie-ep 22762306a36Sopenharmony_ci - fsl,imx6q-pcie-ep 22862306a36Sopenharmony_ci - fsl,imx6qp-pcie-ep 22962306a36Sopenharmony_ci then: 23062306a36Sopenharmony_ci properties: 23162306a36Sopenharmony_ci power-domains: 23262306a36Sopenharmony_ci maxItems: 1 23362306a36Sopenharmony_ci power-domain-names: false 23462306a36Sopenharmony_ci 23562306a36Sopenharmony_ci - if: 23662306a36Sopenharmony_ci properties: 23762306a36Sopenharmony_ci compatible: 23862306a36Sopenharmony_ci contains: 23962306a36Sopenharmony_ci enum: 24062306a36Sopenharmony_ci - fsl,imx6q-pcie 24162306a36Sopenharmony_ci - fsl,imx6sx-pcie 24262306a36Sopenharmony_ci - fsl,imx6qp-pcie 24362306a36Sopenharmony_ci - fsl,imx7d-pcie 24462306a36Sopenharmony_ci - fsl,imx8mq-pcie 24562306a36Sopenharmony_ci - fsl,imx6q-pcie-ep 24662306a36Sopenharmony_ci - fsl,imx6sx-pcie-ep 24762306a36Sopenharmony_ci - fsl,imx6qp-pcie-ep 24862306a36Sopenharmony_ci - fsl,imx7d-pcie-ep 24962306a36Sopenharmony_ci - fsl,imx8mq-pcie-ep 25062306a36Sopenharmony_ci then: 25162306a36Sopenharmony_ci properties: 25262306a36Sopenharmony_ci resets: 25362306a36Sopenharmony_ci minItems: 3 25462306a36Sopenharmony_ci reset-names: 25562306a36Sopenharmony_ci items: 25662306a36Sopenharmony_ci - const: pciephy 25762306a36Sopenharmony_ci - const: apps 25862306a36Sopenharmony_ci - const: turnoff 25962306a36Sopenharmony_ci else: 26062306a36Sopenharmony_ci properties: 26162306a36Sopenharmony_ci resets: 26262306a36Sopenharmony_ci maxItems: 2 26362306a36Sopenharmony_ci reset-names: 26462306a36Sopenharmony_ci items: 26562306a36Sopenharmony_ci - const: apps 26662306a36Sopenharmony_ci - const: turnoff 26762306a36Sopenharmony_ci 26862306a36Sopenharmony_ciadditionalProperties: true 26962306a36Sopenharmony_ci 27062306a36Sopenharmony_ci... 271