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