xref: /freebsd/sys/contrib/device-tree/Bindings/phy/fsl,imx8-pcie-phy.yaml (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
1e67e8565SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2e67e8565SEmmanuel Vadot%YAML 1.2
3e67e8565SEmmanuel Vadot---
4e67e8565SEmmanuel Vadot$id: http://devicetree.org/schemas/phy/fsl,imx8-pcie-phy.yaml#
5e67e8565SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6e67e8565SEmmanuel Vadot
77ef62cebSEmmanuel Vadottitle: Freescale i.MX8 SoC series PCIe PHY
8e67e8565SEmmanuel Vadot
9e67e8565SEmmanuel Vadotmaintainers:
10e67e8565SEmmanuel Vadot  - Richard Zhu <hongxing.zhu@nxp.com>
11e67e8565SEmmanuel Vadot
12e67e8565SEmmanuel Vadotproperties:
13e67e8565SEmmanuel Vadot  "#phy-cells":
14e67e8565SEmmanuel Vadot    const: 0
15e67e8565SEmmanuel Vadot
16e67e8565SEmmanuel Vadot  compatible:
17e67e8565SEmmanuel Vadot    enum:
18e67e8565SEmmanuel Vadot      - fsl,imx8mm-pcie-phy
19*8bab661aSEmmanuel Vadot      - fsl,imx8mp-pcie-phy
20e67e8565SEmmanuel Vadot
21e67e8565SEmmanuel Vadot  reg:
22e67e8565SEmmanuel Vadot    maxItems: 1
23e67e8565SEmmanuel Vadot
24e67e8565SEmmanuel Vadot  clocks:
25e67e8565SEmmanuel Vadot    maxItems: 1
26e67e8565SEmmanuel Vadot
27e67e8565SEmmanuel Vadot  clock-names:
28e67e8565SEmmanuel Vadot    items:
29e67e8565SEmmanuel Vadot      - const: ref
30e67e8565SEmmanuel Vadot
31e67e8565SEmmanuel Vadot  resets:
32*8bab661aSEmmanuel Vadot    minItems: 1
33*8bab661aSEmmanuel Vadot    maxItems: 2
34e67e8565SEmmanuel Vadot
35e67e8565SEmmanuel Vadot  reset-names:
36*8bab661aSEmmanuel Vadot    oneOf:
37*8bab661aSEmmanuel Vadot      - items:          # for iMX8MM
38e67e8565SEmmanuel Vadot          - const: pciephy
39*8bab661aSEmmanuel Vadot      - items:          # for IMX8MP
40*8bab661aSEmmanuel Vadot          - const: pciephy
41*8bab661aSEmmanuel Vadot          - const: perst
42e67e8565SEmmanuel Vadot
43e67e8565SEmmanuel Vadot  fsl,refclk-pad-mode:
44e67e8565SEmmanuel Vadot    description: |
45e67e8565SEmmanuel Vadot      Specifies the mode of the refclk pad used. It can be UNUSED(PHY
46e67e8565SEmmanuel Vadot      refclock is derived from SoC internal source), INPUT(PHY refclock
47e67e8565SEmmanuel Vadot      is provided externally via the refclk pad) or OUTPUT(PHY refclock
48e67e8565SEmmanuel Vadot      is derived from SoC internal source and provided on the refclk pad).
49e67e8565SEmmanuel Vadot      Refer include/dt-bindings/phy/phy-imx8-pcie.h for the constants
50e67e8565SEmmanuel Vadot      to be used.
51e67e8565SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
52e67e8565SEmmanuel Vadot    enum: [ 0, 1, 2 ]
53e67e8565SEmmanuel Vadot
54e67e8565SEmmanuel Vadot  fsl,tx-deemph-gen1:
55e67e8565SEmmanuel Vadot    description: Gen1 De-emphasis value (optional).
56e67e8565SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
57e67e8565SEmmanuel Vadot    default: 0
58e67e8565SEmmanuel Vadot
59e67e8565SEmmanuel Vadot  fsl,tx-deemph-gen2:
60e67e8565SEmmanuel Vadot    description: Gen2 De-emphasis value (optional).
61e67e8565SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
62e67e8565SEmmanuel Vadot    default: 0
63e67e8565SEmmanuel Vadot
64e67e8565SEmmanuel Vadot  fsl,clkreq-unsupported:
65e67e8565SEmmanuel Vadot    type: boolean
66e67e8565SEmmanuel Vadot    description: A boolean property indicating the CLKREQ# signal is
67e67e8565SEmmanuel Vadot      not supported in the board design (optional)
68e67e8565SEmmanuel Vadot
69*8bab661aSEmmanuel Vadot  power-domains:
70*8bab661aSEmmanuel Vadot    description: PCIe PHY  power domain (optional).
71*8bab661aSEmmanuel Vadot    maxItems: 1
72*8bab661aSEmmanuel Vadot
73e67e8565SEmmanuel Vadotrequired:
74e67e8565SEmmanuel Vadot  - "#phy-cells"
75e67e8565SEmmanuel Vadot  - compatible
76e67e8565SEmmanuel Vadot  - reg
77e67e8565SEmmanuel Vadot  - clocks
78e67e8565SEmmanuel Vadot  - clock-names
79e67e8565SEmmanuel Vadot  - fsl,refclk-pad-mode
80e67e8565SEmmanuel Vadot
81e67e8565SEmmanuel VadotadditionalProperties: false
82e67e8565SEmmanuel Vadot
83e67e8565SEmmanuel Vadotexamples:
84e67e8565SEmmanuel Vadot  - |
85e67e8565SEmmanuel Vadot    #include <dt-bindings/clock/imx8mm-clock.h>
86e67e8565SEmmanuel Vadot    #include <dt-bindings/phy/phy-imx8-pcie.h>
87e67e8565SEmmanuel Vadot    #include <dt-bindings/reset/imx8mq-reset.h>
88e67e8565SEmmanuel Vadot
89e67e8565SEmmanuel Vadot    pcie_phy: pcie-phy@32f00000 {
90e67e8565SEmmanuel Vadot            compatible = "fsl,imx8mm-pcie-phy";
91e67e8565SEmmanuel Vadot            reg = <0x32f00000 0x10000>;
92e67e8565SEmmanuel Vadot            clocks = <&clk IMX8MM_CLK_PCIE1_PHY>;
93e67e8565SEmmanuel Vadot            clock-names = "ref";
94e67e8565SEmmanuel Vadot            assigned-clocks = <&clk IMX8MM_CLK_PCIE1_PHY>;
95e67e8565SEmmanuel Vadot            assigned-clock-rates = <100000000>;
96e67e8565SEmmanuel Vadot            assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_100M>;
97e67e8565SEmmanuel Vadot            resets = <&src IMX8MQ_RESET_PCIEPHY>;
98e67e8565SEmmanuel Vadot            reset-names = "pciephy";
99e67e8565SEmmanuel Vadot            fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
100e67e8565SEmmanuel Vadot            #phy-cells = <0>;
101e67e8565SEmmanuel Vadot    };
102e67e8565SEmmanuel Vadot...
103