xref: /linux/Documentation/devicetree/bindings/phy/microchip,sparx5-serdes.yaml (revision 8be98d2f2a0a262f8bf8a0bc1fdf522b3c7aab17)
1*13f99ac6SSteen Hegelund# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*13f99ac6SSteen Hegelund%YAML 1.2
3*13f99ac6SSteen Hegelund---
4*13f99ac6SSteen Hegelund$id: http://devicetree.org/schemas/phy/microchip,sparx5-serdes.yaml#
5*13f99ac6SSteen Hegelund$schema: http://devicetree.org/meta-schemas/core.yaml#
6*13f99ac6SSteen Hegelund
7*13f99ac6SSteen Hegelundtitle: Microchip Sparx5 Serdes controller
8*13f99ac6SSteen Hegelund
9*13f99ac6SSteen Hegelundmaintainers:
10*13f99ac6SSteen Hegelund  - Steen Hegelund <steen.hegelund@microchip.com>
11*13f99ac6SSteen Hegelund
12*13f99ac6SSteen Hegelunddescription: |
13*13f99ac6SSteen Hegelund  The Sparx5 SERDES interfaces share the same basic functionality, but
14*13f99ac6SSteen Hegelund  support different operating modes and line rates.
15*13f99ac6SSteen Hegelund
16*13f99ac6SSteen Hegelund  The following list lists the SERDES features:
17*13f99ac6SSteen Hegelund
18*13f99ac6SSteen Hegelund  * RX Adaptive Decision Feedback Equalizer (DFE)
19*13f99ac6SSteen Hegelund  * Programmable continuous time linear equalizer (CTLE)
20*13f99ac6SSteen Hegelund  * Rx variable gain control
21*13f99ac6SSteen Hegelund  * Rx built-in fault detector (loss-of-lock/loss-of-signal)
22*13f99ac6SSteen Hegelund  * Adjustable tx de-emphasis (FFE)
23*13f99ac6SSteen Hegelund  * Tx output amplitude control
24*13f99ac6SSteen Hegelund  * Supports rx eye monitor
25*13f99ac6SSteen Hegelund  * Multiple loopback modes
26*13f99ac6SSteen Hegelund  * Prbs generator and checker
27*13f99ac6SSteen Hegelund  * Polarity inversion control
28*13f99ac6SSteen Hegelund
29*13f99ac6SSteen Hegelund  SERDES6G:
30*13f99ac6SSteen Hegelund
31*13f99ac6SSteen Hegelund  The SERDES6G is a high-speed SERDES interface, which can operate at
32*13f99ac6SSteen Hegelund  the following data rates:
33*13f99ac6SSteen Hegelund
34*13f99ac6SSteen Hegelund  * 100 Mbps (100BASE-FX)
35*13f99ac6SSteen Hegelund  * 1.25 Gbps (SGMII/1000BASE-X/1000BASE-KX)
36*13f99ac6SSteen Hegelund  * 3.125 Gbps (2.5GBASE-X/2.5GBASE-KX)
37*13f99ac6SSteen Hegelund  * 5.15625 Gbps (5GBASE-KR/5G-USXGMII)
38*13f99ac6SSteen Hegelund
39*13f99ac6SSteen Hegelund  SERDES10G
40*13f99ac6SSteen Hegelund
41*13f99ac6SSteen Hegelund  The SERDES10G is a high-speed SERDES interface, which can operate at
42*13f99ac6SSteen Hegelund  the following data rates:
43*13f99ac6SSteen Hegelund
44*13f99ac6SSteen Hegelund  * 100 Mbps (100BASE-FX)
45*13f99ac6SSteen Hegelund  * 1.25 Gbps (SGMII/1000BASE-X/1000BASE-KX)
46*13f99ac6SSteen Hegelund  * 3.125 Gbps (2.5GBASE-X/2.5GBASE-KX)
47*13f99ac6SSteen Hegelund  * 5 Gbps (QSGMII/USGMII)
48*13f99ac6SSteen Hegelund  * 5.15625 Gbps (5GBASE-KR/5G-USXGMII)
49*13f99ac6SSteen Hegelund  * 10 Gbps (10G-USGMII)
50*13f99ac6SSteen Hegelund  * 10.3125 Gbps (10GBASE-R/10GBASE-KR/USXGMII)
51*13f99ac6SSteen Hegelund
52*13f99ac6SSteen Hegelund  SERDES25G
53*13f99ac6SSteen Hegelund
54*13f99ac6SSteen Hegelund  The SERDES25G is a high-speed SERDES interface, which can operate at
55*13f99ac6SSteen Hegelund  the following data rates:
56*13f99ac6SSteen Hegelund
57*13f99ac6SSteen Hegelund  * 1.25 Gbps (SGMII/1000BASE-X/1000BASE-KX)
58*13f99ac6SSteen Hegelund  * 3.125 Gbps (2.5GBASE-X/2.5GBASE-KX)
59*13f99ac6SSteen Hegelund  * 5 Gbps (QSGMII/USGMII)
60*13f99ac6SSteen Hegelund  * 5.15625 Gbps (5GBASE-KR/5G-USXGMII)
61*13f99ac6SSteen Hegelund  * 10 Gbps (10G-USGMII)
62*13f99ac6SSteen Hegelund  * 10.3125 Gbps (10GBASE-R/10GBASE-KR/USXGMII)
63*13f99ac6SSteen Hegelund  * 25.78125 Gbps (25GBASE-KR/25GBASE-CR/25GBASE-SR/25GBASE-LR/25GBASE-ER)
64*13f99ac6SSteen Hegelund
65*13f99ac6SSteen Hegelundproperties:
66*13f99ac6SSteen Hegelund  $nodename:
67*13f99ac6SSteen Hegelund    pattern: "^serdes@[0-9a-f]+$"
68*13f99ac6SSteen Hegelund
69*13f99ac6SSteen Hegelund  compatible:
70*13f99ac6SSteen Hegelund    const: microchip,sparx5-serdes
71*13f99ac6SSteen Hegelund
72*13f99ac6SSteen Hegelund  reg:
73*13f99ac6SSteen Hegelund    minItems: 1
74*13f99ac6SSteen Hegelund
75*13f99ac6SSteen Hegelund  '#phy-cells':
76*13f99ac6SSteen Hegelund    const: 1
77*13f99ac6SSteen Hegelund    description: |
78*13f99ac6SSteen Hegelund      - The main serdes input port
79*13f99ac6SSteen Hegelund
80*13f99ac6SSteen Hegelund  clocks:
81*13f99ac6SSteen Hegelund    maxItems: 1
82*13f99ac6SSteen Hegelund
83*13f99ac6SSteen Hegelundrequired:
84*13f99ac6SSteen Hegelund  - compatible
85*13f99ac6SSteen Hegelund  - reg
86*13f99ac6SSteen Hegelund  - '#phy-cells'
87*13f99ac6SSteen Hegelund  - clocks
88*13f99ac6SSteen Hegelund
89*13f99ac6SSteen HegelundadditionalProperties: false
90*13f99ac6SSteen Hegelund
91*13f99ac6SSteen Hegelundexamples:
92*13f99ac6SSteen Hegelund  - |
93*13f99ac6SSteen Hegelund    serdes: serdes@10808000 {
94*13f99ac6SSteen Hegelund      compatible = "microchip,sparx5-serdes";
95*13f99ac6SSteen Hegelund      #phy-cells = <1>;
96*13f99ac6SSteen Hegelund      clocks = <&sys_clk>;
97*13f99ac6SSteen Hegelund      reg = <0x10808000 0x5d0000>;
98*13f99ac6SSteen Hegelund    };
99*13f99ac6SSteen Hegelund
100*13f99ac6SSteen Hegelund...
101