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