RE: [PATCH v2 3/3] net: macb: add support for high speed interface

From: Milind Parab
Date: Sat Dec 21 2019 - 06:08:54 EST


>>
>> Additional 3rd party I2C IP required (not part of GEM) for module
>> interrogation (MDIO to I2C handled by SW
>> +--------------+ +-----------+
>> | | | | | SFP+ |
>> | GEM MAC/DMA | <---> | SerDes | <---- SFI-----> | Optical |
>> | USX PCS| | | (PMA) | | Module |
>> +--------------+ +-----------+
>> ^
>> +--------+ |
>> | I2C | |
>> | Master | <-------------------------------------|
>> +--------+
>The kernel supports this through the sfp and phylink support. SFI is
>more commonly known as 10GBASE-R. Note that this is *not* USXGMII.
>Link status needs to come from the MAC side, so macb_mac_pcs_get_state()
>is required.
>
>> Rate determined by 10GBASE-T PHY capability through auto-negotiation.
>> I2C IP required
>> +--------------+ +-----------+
>> | | | | | SFP+ to |
>> | GEM MAC/DMA | <---> | SerDes | <---- SFI-----> | 10GBASE-T |
>> | USX PCS| | | (PMA) | | |
>> +--------------+ +-----------+
>> ^
>> +--------+ |
>> | I2C | |
>> | Master | <-------------------------------------|
>> +--------+
>
>The 10G copper module I have uses 10GBASE-R, 5000BASE-X, 2500BASE-X,
>and SGMII (without in-band status), dynamically switching between
>these depending on the results of the copper side negotiation.
>
>> USXGMII PHY. Uses MDIO or equivalent for status xfer
>> +-------------+ +--------+
>> | | | | | |
>> | GEM MAC/DMA | <---> | SerDes | <--- USXGMII ---> | PHY |
>> | USX PCS | | (PMA) | | |
>> +-------------+ +--------+
>> ^ ^
>> |_____________________ MDIO ______________________|
>
>Overall, please implement phylink properly for your MAC, rather than
>the current half-hearted approach that *will* break in various
>circumstances.
>

We would need more time to get back on the restructured implementation.
While we work on that, is it okay to accept patch 1/3 and patch 2/3?