On Fri, Oct 23, 2020 at 05:39:07PM +0200, Parshuram Thombare wrote:
> This patch adds support for 10GBASE-R interface to the linux driver for
> Cadence's ethernet controller.
> This controller has separate MAC's and PCS'es for low and high speed paths.
> High speed PCS supports 100M, 1G, 2.5G, 5G and 10G through rate adaptation
> implementation. However, since it doesn't support auto negotiation, linux
> driver is modified to support 10GBASE-R instead of USXGMII. 
> 
> Signed-off-by: Parshuram Thombare <pthom...@cadence.com>

Thanks, this mostly looks good - only one comment.

> @@ -588,6 +670,13 @@ static void macb_mac_config(struct phylink_config 
> *config, unsigned int mode,
>       if (old_ctrl ^ ctrl)
>               macb_or_gem_writel(bp, NCFGR, ctrl);
>  
> +     if (bp->phy_interface == PHY_INTERFACE_MODE_10GBASER) {
> +             gem_writel(bp, NCFGR, GEM_BIT(PCSSEL) |
> +                        (gem_readl(bp, NCFGR) & ~GEM_BIT(SGMIIEN)));
> +             gem_writel(bp, NCR, gem_readl(bp, NCR) |
> +                        GEM_BIT(ENABLE_HS_MAC));
> +     }

If we configure 10GBASE-R, then you clear the SGMIIEN bit and then
enable the HS MAC. Can we go back to non-10GBASE-R after that? Should
the code reverse those actions here?

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

Reply via email to