Re: [PATCH] [POWERPC] mpc5200: Allow for fixed speed MII configurations
From: Wolfgang Grandegger <hidden>
Date: 2008-05-01 16:38:15
Also in:
linuxppc-dev
Hi Grant, Grant Likely wrote:
On Tue, Apr 29, 2008 at 5:06 PM, Grant Likely [off-list ref] wrote:quoted
From: Grant Likely <redacted> Various improvements for configuring the MPC5200 MII link from the device tree: * Look for 'current-speed' property for fixed speed MII links * Look for 'fsl,7-wire-mode' property for boards using the 7 wire mode * move definition of private data structure out of the header file Signed-off-by: Grant Likely [off-list ref]Any more comments on this patch? I want to push it to Paulus, but I'd like to have someone ack it first. Wolfgang, you used the previous version of this patch. Does this one work for you?
Sorry for the late answer. The patch works fine (under Linux 2.6.24) on my board with a 3-port Micrel ethernet switch. There is still a minor issue, though: [...deletions...]
quoted
diff --git a/drivers/net/fec_mpc52xx.c b/drivers/net/fec_mpc52xx.c index d21b7ab..eeb4433 100644 --- a/drivers/net/fec_mpc52xx.c +++ b/drivers/net/fec_mpc52xx.c
[...deletions...]
quoted
@@ -950,24 +976,36 @@ mpc52xx_fec_probe(struct of_device *op, const struct of_device_id *match) priv->msg_enable = netif_msg_init(debug, MPC52xx_MESSAGES_DEFAULT); priv->duplex = DUPLEX_FULL;
More concerning this line below.
quoted
- /* is the phy present in device tree? */ - ph = of_get_property(op->node, "phy-handle", NULL); - if (ph) { - const unsigned int *prop; - struct device_node *phy_dn; - priv->has_phy = 1; - - phy_dn = of_find_node_by_phandle(*ph); - prop = of_get_property(phy_dn, "reg", NULL); - priv->phy_addr = *prop; + /* + * Link mode configuration + */ - of_node_put(phy_dn); + /* Start with safe defaults for link connection */ + priv->phy_addr = FEC5200_PHYADDR_NONE; + priv->speed = 100; + priv->duplex = 0;
priv->duplex is re-defined here. And instead of "0" we should use DUPLEX_HALF. Wolfgang.