Commit 4e19b5c1 authored by Kim Phillips's avatar Kim Phillips Committed by Jeff Garzik

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: default avatarKim Phillips <kim.phillips@freescale.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent f2773a29
/* /*
* 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) ...@@ -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 ...@@ -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 ...@@ -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;
......
/* /*
* 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
......
/* /*
* 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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment