xref: /linux/Documentation/devicetree/bindings/phy/mediatek,mt7988-xfi-tphy.yaml (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
1f482f76cSDaniel Golle# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2f482f76cSDaniel Golle%YAML 1.2
3f482f76cSDaniel Golle---
4f482f76cSDaniel Golle$id: http://devicetree.org/schemas/phy/mediatek,mt7988-xfi-tphy.yaml#
5f482f76cSDaniel Golle$schema: http://devicetree.org/meta-schemas/core.yaml#
6f482f76cSDaniel Golle
7f482f76cSDaniel Golletitle: MediaTek MT7988 XFI T-PHY
8f482f76cSDaniel Golle
9f482f76cSDaniel Gollemaintainers:
10f482f76cSDaniel Golle  - Daniel Golle <daniel@makrotopia.org>
11f482f76cSDaniel Golle
12f482f76cSDaniel Golledescription:
13f482f76cSDaniel Golle  The MediaTek XFI SerDes T-PHY provides the physical SerDes lanes
14f482f76cSDaniel Golle  used by the (10G/5G) USXGMII PCS and (1G/2.5G) LynxI PCS found in
15f482f76cSDaniel Golle  MediaTek's 10G-capabale MT7988 SoC.
16f482f76cSDaniel Golle  In MediaTek's SDK sources, this unit is referred to as "pextp".
17f482f76cSDaniel Golle
18f482f76cSDaniel Golleproperties:
19f482f76cSDaniel Golle  compatible:
20f482f76cSDaniel Golle    const: mediatek,mt7988-xfi-tphy
21f482f76cSDaniel Golle
22f482f76cSDaniel Golle  reg:
23f482f76cSDaniel Golle    maxItems: 1
24f482f76cSDaniel Golle
25f482f76cSDaniel Golle  clocks:
26f482f76cSDaniel Golle    items:
27f482f76cSDaniel Golle      - description: XFI PHY clock
28f482f76cSDaniel Golle      - description: XFI register clock
29f482f76cSDaniel Golle
30f482f76cSDaniel Golle  clock-names:
31f482f76cSDaniel Golle    items:
32f482f76cSDaniel Golle      - const: xfipll
33f482f76cSDaniel Golle      - const: topxtal
34f482f76cSDaniel Golle
35f482f76cSDaniel Golle  resets:
36f482f76cSDaniel Golle    items:
37f482f76cSDaniel Golle      - description: Reset controller corresponding to the phy instance.
38f482f76cSDaniel Golle
39f482f76cSDaniel Golle  mediatek,usxgmii-performance-errata:
40f482f76cSDaniel Golle    $ref: /schemas/types.yaml#/definitions/flag
41f482f76cSDaniel Golle    description:
42f482f76cSDaniel Golle      One instance of the T-PHY on MT7988 suffers from a performance
43f482f76cSDaniel Golle      problem in 10GBase-R mode which needs a work-around in the driver.
44*a7fcc232SYu-Chun Lin      This flag enables a work-around adjusting an analog phy setting and
45f482f76cSDaniel Golle      is required for XFI Port0 of the MT7988 SoC to be in compliance with
46f482f76cSDaniel Golle      the SFP specification.
47f482f76cSDaniel Golle
48f482f76cSDaniel Golle  "#phy-cells":
49f482f76cSDaniel Golle    const: 0
50f482f76cSDaniel Golle
51f482f76cSDaniel Gollerequired:
52f482f76cSDaniel Golle  - compatible
53f482f76cSDaniel Golle  - reg
54f482f76cSDaniel Golle  - clocks
55f482f76cSDaniel Golle  - clock-names
56f482f76cSDaniel Golle  - resets
57f482f76cSDaniel Golle  - "#phy-cells"
58f482f76cSDaniel Golle
59f482f76cSDaniel GolleadditionalProperties: false
60f482f76cSDaniel Golle
61f482f76cSDaniel Golleexamples:
62f482f76cSDaniel Golle  - |
63f482f76cSDaniel Golle    #include <dt-bindings/clock/mediatek,mt7988-clk.h>
64f482f76cSDaniel Golle    soc {
65f482f76cSDaniel Golle      #address-cells = <2>;
66f482f76cSDaniel Golle      #size-cells = <2>;
67f482f76cSDaniel Golle
68f482f76cSDaniel Golle      phy@11f20000 {
69f482f76cSDaniel Golle        compatible = "mediatek,mt7988-xfi-tphy";
70f482f76cSDaniel Golle        reg = <0 0x11f20000 0 0x10000>;
71f482f76cSDaniel Golle        clocks = <&xfi_pll CLK_XFIPLL_PLL_EN>,
72f482f76cSDaniel Golle                 <&topckgen CLK_TOP_XFI_PHY_0_XTAL_SEL>;
73f482f76cSDaniel Golle        clock-names = "xfipll", "topxtal";
74f482f76cSDaniel Golle        resets = <&watchdog 14>;
75f482f76cSDaniel Golle        mediatek,usxgmii-performance-errata;
76f482f76cSDaniel Golle        #phy-cells = <0>;
77f482f76cSDaniel Golle      };
78f482f76cSDaniel Golle    };
79f482f76cSDaniel Golle
80f482f76cSDaniel Golle...
81