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