| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/phy/fsl,imx8-pcie-phy.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Freescale i.MX8 SoC series PCIe PHY |
| |
| maintainers: |
| - Richard Zhu <hongxing.zhu@nxp.com> |
| |
| properties: |
| "#phy-cells": |
| const: 0 |
| |
| compatible: |
| enum: |
| - fsl,imx8mm-pcie-phy |
| - fsl,imx8mp-pcie-phy |
| |
| reg: |
| maxItems: 1 |
| |
| clocks: |
| maxItems: 1 |
| |
| clock-names: |
| items: |
| - const: ref |
| |
| resets: |
| minItems: 1 |
| maxItems: 2 |
| |
| reset-names: |
| oneOf: |
| - items: # for iMX8MM |
| - const: pciephy |
| - items: # for IMX8MP |
| - const: pciephy |
| - const: perst |
| |
| fsl,refclk-pad-mode: |
| description: | |
| Specifies the mode of the refclk pad used. It can be UNUSED(PHY |
| refclock is derived from SoC internal source), INPUT(PHY refclock |
| is provided externally via the refclk pad) or OUTPUT(PHY refclock |
| is derived from SoC internal source and provided on the refclk pad). |
| Refer include/dt-bindings/phy/phy-imx8-pcie.h for the constants |
| to be used. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| enum: [ 0, 1, 2 ] |
| |
| fsl,tx-deemph-gen1: |
| description: Gen1 De-emphasis value (optional). |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| default: 0 |
| |
| fsl,tx-deemph-gen2: |
| description: Gen2 De-emphasis value (optional). |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| default: 0 |
| |
| fsl,clkreq-unsupported: |
| type: boolean |
| description: A boolean property indicating the CLKREQ# signal is |
| not supported in the board design (optional) |
| |
| power-domains: |
| description: PCIe PHY power domain (optional). |
| maxItems: 1 |
| |
| required: |
| - "#phy-cells" |
| - compatible |
| - reg |
| - clocks |
| - clock-names |
| - fsl,refclk-pad-mode |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/clock/imx8mm-clock.h> |
| #include <dt-bindings/phy/phy-imx8-pcie.h> |
| #include <dt-bindings/reset/imx8mq-reset.h> |
| |
| pcie_phy: pcie-phy@32f00000 { |
| compatible = "fsl,imx8mm-pcie-phy"; |
| reg = <0x32f00000 0x10000>; |
| clocks = <&clk IMX8MM_CLK_PCIE1_PHY>; |
| clock-names = "ref"; |
| assigned-clocks = <&clk IMX8MM_CLK_PCIE1_PHY>; |
| assigned-clock-rates = <100000000>; |
| assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_100M>; |
| resets = <&src IMX8MQ_RESET_PCIEPHY>; |
| reset-names = "pciephy"; |
| fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>; |
| #phy-cells = <0>; |
| }; |
| ... |