Thread (12 messages) 12 messages, 3 authors, 2008-05-01

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help