Re: [PATCH v3 7/8] netdev: octeon-ethernet: Add Cavium Octeon III support.
From: Andrew Lunn <andrew@lunn.ch>
Date: 2017-11-09 22:24:07
Also in:
linux-devicetree, lkml, netdev
From: Andrew Lunn <andrew@lunn.ch>
Date: 2017-11-09 22:24:07
Also in:
linux-devicetree, lkml, netdev
+ priv->phy_np = of_parse_phandle(pdev->dev.of_node, "phy-handle", 0); + priv->phy_mode = of_get_phy_mode(pdev->dev.of_node); + /* If phy-mode absent, default to SGMII. */ + if (priv->phy_mode < 0) + priv->phy_mode = PHY_INTERFACE_MODE_SGMII; + + if (priv->phy_mode == PHY_INTERFACE_MODE_1000BASEX) + priv->mode_1000basex = true; + + if (of_phy_is_fixed_link(pdev->dev.of_node)) + priv->bgx_as_phy = true; +
...
+ priv->mode = bgx_port_get_mode(priv->node, priv->bgx, priv->index); +
It might be a good idea to verify priv->phy_mode and priv->mode are compatible.
+ switch (priv->mode) {
+ case PORT_MODE_SGMII:
+ case PORT_MODE_RGMII:
+ priv->get_link = bgx_port_get_sgmii_link;
+ priv->set_link = bgx_port_set_xgmii_link;
+ break;
+ case PORT_MODE_XAUI:
+ case PORT_MODE_RXAUI:
+ case PORT_MODE_XLAUI:
+ case PORT_MODE_XFI:
+ case PORT_MODE_10G_KR:
+ case PORT_MODE_40G_KR4:
+ priv->get_link = bgx_port_get_xaui_link;
+ priv->set_link = bgx_port_set_xaui_link;
+ break;Andrew