|
@@ -2096,8 +2096,9 @@ static void netcp_ethss_link_state_action(struct gbe_priv *gbe_dev,
|
|
|
ALE_PORT_STATE_FORWARD);
|
|
|
|
|
|
if (ndev && slave->open &&
|
|
|
- slave->link_interface != SGMII_LINK_MAC_PHY &&
|
|
|
- slave->link_interface != XGMII_LINK_MAC_PHY)
|
|
|
+ ((slave->link_interface != SGMII_LINK_MAC_PHY) &&
|
|
|
+ (slave->link_interface != RGMII_LINK_MAC_PHY) &&
|
|
|
+ (slave->link_interface != XGMII_LINK_MAC_PHY)))
|
|
|
netif_carrier_on(ndev);
|
|
|
} else {
|
|
|
writel(mac_control, GBE_REG_ADDR(slave, emac_regs,
|
|
@@ -2106,8 +2107,9 @@ static void netcp_ethss_link_state_action(struct gbe_priv *gbe_dev,
|
|
|
ALE_PORT_STATE,
|
|
|
ALE_PORT_STATE_DISABLE);
|
|
|
if (ndev &&
|
|
|
- slave->link_interface != SGMII_LINK_MAC_PHY &&
|
|
|
- slave->link_interface != XGMII_LINK_MAC_PHY)
|
|
|
+ ((slave->link_interface != SGMII_LINK_MAC_PHY) &&
|
|
|
+ (slave->link_interface != RGMII_LINK_MAC_PHY) &&
|
|
|
+ (slave->link_interface != XGMII_LINK_MAC_PHY)))
|
|
|
netif_carrier_off(ndev);
|
|
|
}
|
|
|
|
|
@@ -2921,6 +2923,7 @@ static int init_slave(struct gbe_priv *gbe_dev, struct gbe_slave *slave,
|
|
|
|
|
|
slave->open = false;
|
|
|
if ((slave->link_interface == SGMII_LINK_MAC_PHY) ||
|
|
|
+ (slave->link_interface == RGMII_LINK_MAC_PHY) ||
|
|
|
(slave->link_interface == XGMII_LINK_MAC_PHY))
|
|
|
slave->phy_node = of_parse_phandle(node, "phy-handle", 0);
|
|
|
slave->port_num = gbe_get_slave_port(gbe_dev, slave->slave_num);
|
|
@@ -3082,6 +3085,9 @@ static void init_secondary_ports(struct gbe_priv *gbe_dev,
|
|
|
if (slave->link_interface == SGMII_LINK_MAC_PHY) {
|
|
|
phy_mode = PHY_INTERFACE_MODE_SGMII;
|
|
|
slave->phy_port_t = PORT_MII;
|
|
|
+ } else if (slave->link_interface == RGMII_LINK_MAC_PHY) {
|
|
|
+ phy_mode = PHY_INTERFACE_MODE_RGMII;
|
|
|
+ slave->phy_port_t = PORT_MII;
|
|
|
} else {
|
|
|
phy_mode = PHY_INTERFACE_MODE_NA;
|
|
|
slave->phy_port_t = PORT_FIBRE;
|
|
@@ -3089,6 +3095,7 @@ static void init_secondary_ports(struct gbe_priv *gbe_dev,
|
|
|
|
|
|
for_each_sec_slave(slave, gbe_dev) {
|
|
|
if ((slave->link_interface != SGMII_LINK_MAC_PHY) &&
|
|
|
+ (slave->link_interface != RGMII_LINK_MAC_PHY) &&
|
|
|
(slave->link_interface != XGMII_LINK_MAC_PHY))
|
|
|
continue;
|
|
|
slave->phy =
|