ucc_geth: eliminate max-speed, change interface-type to phy-connection-type
It was agreed that phy-connection-type was a better name for the interface-type property, so this patch renames it. Also, the max-speed property name was determined too generic, and is therefore eliminated in favour of phy-connection-type derivation logic. includes corrections to copyright text. Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
f2773a2959
commit
4e19b5c193
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) Freescale Semicondutor, Inc. 2006. All rights reserved.
|
* Copyright (C) 2006-2007 Freescale Semicondutor, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Author: Shlomi Gridish <gridish@freescale.com>
|
* Author: Shlomi Gridish <gridish@freescale.com>
|
||||||
* Li Yang <leoli@freescale.com>
|
* Li Yang <leoli@freescale.com>
|
||||||
@ -3737,21 +3737,21 @@ static int ucc_geth_close(struct net_device *dev)
|
|||||||
|
|
||||||
const struct ethtool_ops ucc_geth_ethtool_ops = { };
|
const struct ethtool_ops ucc_geth_ethtool_ops = { };
|
||||||
|
|
||||||
static phy_interface_t to_phy_interface(const char *interface_type)
|
static phy_interface_t to_phy_interface(const char *phy_connection_type)
|
||||||
{
|
{
|
||||||
if (strcasecmp(interface_type, "mii") == 0)
|
if (strcasecmp(phy_connection_type, "mii") == 0)
|
||||||
return PHY_INTERFACE_MODE_MII;
|
return PHY_INTERFACE_MODE_MII;
|
||||||
if (strcasecmp(interface_type, "gmii") == 0)
|
if (strcasecmp(phy_connection_type, "gmii") == 0)
|
||||||
return PHY_INTERFACE_MODE_GMII;
|
return PHY_INTERFACE_MODE_GMII;
|
||||||
if (strcasecmp(interface_type, "tbi") == 0)
|
if (strcasecmp(phy_connection_type, "tbi") == 0)
|
||||||
return PHY_INTERFACE_MODE_TBI;
|
return PHY_INTERFACE_MODE_TBI;
|
||||||
if (strcasecmp(interface_type, "rmii") == 0)
|
if (strcasecmp(phy_connection_type, "rmii") == 0)
|
||||||
return PHY_INTERFACE_MODE_RMII;
|
return PHY_INTERFACE_MODE_RMII;
|
||||||
if (strcasecmp(interface_type, "rgmii") == 0)
|
if (strcasecmp(phy_connection_type, "rgmii") == 0)
|
||||||
return PHY_INTERFACE_MODE_RGMII;
|
return PHY_INTERFACE_MODE_RGMII;
|
||||||
if (strcasecmp(interface_type, "rgmii-id") == 0)
|
if (strcasecmp(phy_connection_type, "rgmii-id") == 0)
|
||||||
return PHY_INTERFACE_MODE_RGMII_ID;
|
return PHY_INTERFACE_MODE_RGMII_ID;
|
||||||
if (strcasecmp(interface_type, "rtbi") == 0)
|
if (strcasecmp(phy_connection_type, "rtbi") == 0)
|
||||||
return PHY_INTERFACE_MODE_RTBI;
|
return PHY_INTERFACE_MODE_RTBI;
|
||||||
|
|
||||||
return PHY_INTERFACE_MODE_MII;
|
return PHY_INTERFACE_MODE_MII;
|
||||||
@ -3819,29 +3819,21 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma
|
|||||||
ug_info->phy_address = *prop;
|
ug_info->phy_address = *prop;
|
||||||
|
|
||||||
/* get the phy interface type, or default to MII */
|
/* get the phy interface type, or default to MII */
|
||||||
prop = of_get_property(np, "interface-type", NULL);
|
prop = of_get_property(np, "phy-connection-type", NULL);
|
||||||
if (!prop) {
|
if (!prop) {
|
||||||
/* handle interface property present in old trees */
|
/* handle interface property present in old trees */
|
||||||
prop = of_get_property(phy, "interface", NULL);
|
prop = of_get_property(phy, "interface", NULL);
|
||||||
if (prop != NULL)
|
if (prop != NULL) {
|
||||||
phy_interface = enet_to_phy_interface[*prop];
|
phy_interface = enet_to_phy_interface[*prop];
|
||||||
else
|
max_speed = enet_to_speed[*prop];
|
||||||
|
} else
|
||||||
phy_interface = PHY_INTERFACE_MODE_MII;
|
phy_interface = PHY_INTERFACE_MODE_MII;
|
||||||
} else {
|
} else {
|
||||||
phy_interface = to_phy_interface((const char *)prop);
|
phy_interface = to_phy_interface((const char *)prop);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* get speed, or derive from interface */
|
/* get speed, or derive from PHY interface */
|
||||||
prop = of_get_property(np, "max-speed", NULL);
|
if (max_speed == 0)
|
||||||
if (!prop) {
|
|
||||||
/* handle interface property present in old trees */
|
|
||||||
prop = of_get_property(phy, "interface", NULL);
|
|
||||||
if (prop != NULL)
|
|
||||||
max_speed = enet_to_speed[*prop];
|
|
||||||
} else {
|
|
||||||
max_speed = *prop;
|
|
||||||
}
|
|
||||||
if (!max_speed) {
|
|
||||||
switch (phy_interface) {
|
switch (phy_interface) {
|
||||||
case PHY_INTERFACE_MODE_GMII:
|
case PHY_INTERFACE_MODE_GMII:
|
||||||
case PHY_INTERFACE_MODE_RGMII:
|
case PHY_INTERFACE_MODE_RGMII:
|
||||||
@ -3854,9 +3846,9 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma
|
|||||||
max_speed = SPEED_100;
|
max_speed = SPEED_100;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (max_speed == SPEED_1000) {
|
if (max_speed == SPEED_1000) {
|
||||||
|
/* configure muram FIFOs for gigabit operation */
|
||||||
ug_info->uf_info.urfs = UCC_GETH_URFS_GIGA_INIT;
|
ug_info->uf_info.urfs = UCC_GETH_URFS_GIGA_INIT;
|
||||||
ug_info->uf_info.urfet = UCC_GETH_URFET_GIGA_INIT;
|
ug_info->uf_info.urfet = UCC_GETH_URFET_GIGA_INIT;
|
||||||
ug_info->uf_info.urfset = UCC_GETH_URFSET_GIGA_INIT;
|
ug_info->uf_info.urfset = UCC_GETH_URFSET_GIGA_INIT;
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
/*
|
/*
|
||||||
* drivers/net/ucc_geth_mii.c
|
* drivers/net/ucc_geth_mii.c
|
||||||
*
|
*
|
||||||
* Gianfar Ethernet Driver -- MIIM bus implementation
|
* QE UCC Gigabit Ethernet Driver -- MII Management Bus Implementation
|
||||||
* Provides Bus interface for MIIM regs
|
* Provides Bus interface for MII Management regs in the UCC register space
|
||||||
*
|
*
|
||||||
* Author: Li Yang
|
* Copyright (C) 2007 Freescale Semiconductor, Inc.
|
||||||
*
|
*
|
||||||
* Copyright (c) 2002-2004 Freescale Semiconductor, Inc.
|
* Authors: Li Yang <leoli@freescale.com>
|
||||||
|
* Kim Phillips <kim.phillips@freescale.com>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms of the GNU General Public License as published by the
|
* under the terms of the GNU General Public License as published by the
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
/*
|
/*
|
||||||
* drivers/net/ucc_geth_mii.h
|
* drivers/net/ucc_geth_mii.h
|
||||||
*
|
*
|
||||||
* Gianfar Ethernet Driver -- MII Management Bus Implementation
|
* QE UCC Gigabit Ethernet Driver -- MII Management Bus Implementation
|
||||||
* Driver for the MDIO bus controller in the Gianfar register space
|
* Provides Bus interface for MII Management regs in the UCC register space
|
||||||
*
|
*
|
||||||
* Author: Andy Fleming
|
* Copyright (C) 2007 Freescale Semiconductor, Inc.
|
||||||
* Maintainer: Kumar Gala
|
|
||||||
*
|
*
|
||||||
* Copyright (c) 2002-2004 Freescale Semiconductor, Inc.
|
* Authors: Li Yang <leoli@freescale.com>
|
||||||
|
* Kim Phillips <kim.phillips@freescale.com>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms of the GNU General Public License as published by the
|
* under the terms of the GNU General Public License as published by the
|
||||||
|
Loading…
Reference in New Issue
Block a user