[U-Boot] [PATCH v2] Marvell MV88E61XX Switch Driver support

Prafulla Wadaskar prafulla at marvell.com
Thu Apr 9 12:13:36 CEST 2009


 

> -----Original Message-----
> From: Andy Fleming [mailto:afleming at gmail.com] 
> Sent: Thursday, April 09, 2009 4:43 AM
> To: Prafulla Wadaskar
> Cc: u-boot at lists.denx.de; Ashish Karkare; Ronen Shitrit
> Subject: Re: [U-Boot] [PATCH v2] Marvell MV88E61XX Switch 
> Driver support
> 
> On Wed, Apr 8, 2009 at 1:30 PM, Prafulla Wadaskar 
> <prafulla at marvell.com> wrote:
> > --- /dev/null
> > +++ b/drivers/net/mv88e61xx.c
> > @@ -0,0 +1,291 @@
> > +/*
> > + * (C) Copyright 2009
> > + * Marvell Semiconductor <www.marvell.com>
> > + * Prafulla Wadaskar <prafulla at marvell.com>
> > + *
> > + * See file CREDITS for list of people who contributed to this
> > + * project.
> > + *
> > + * 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 Free Software Foundation; either version 2 of
> > + * the License, or (at your option) any later version.
> > + *
> > + * This program is distributed in the hope that it will be useful,
> > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> > + * GNU General Public License for more details.
> > + *
> > + * You should have received a copy of the GNU General 
> Public License
> > + * along with this program; if not, write to the Free Software
> > + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
> > + * MA 02110-1301 USA
> > + */
> > +
> > +#include <common.h>
> > +
> > +#if defined (CONFIG_SWITCH_MV88E61XX)
> > +
> > +/* Enabled ports can be enabled in board header file */
> > +#if defined (CONFIG_MV88E61XX_ENABLED_PORTS)
> > +#define MV88E61XX_ENABLED_PORTS CONFIG_MV88E61XX_ENABLED_PORTS
> > +#else
> > +#define MV88E61XX_ENABLED_PORTS (BIT0 | BIT1 | BIT2 | \
> > +                                 BIT3 | BIT4 | BIT5)
> > +#endif
> > +
> > +#if defined (CONFIG_88E6161)
> > +#define MV88E61XX_NAME                 "88E6161"
> > +#elif defined (CONFIG_88E6165)
> > +#define MV88E61XX_NAME                 "88E6165"
> > +#else
> > +#define MV88E61XX_NAME                 "88E61XX"
> > +#endif
> 
> 
> Is this discoverable at runtime?  What if there's a system that
> supports using multiple different types of MV88E61xx?  I know it's a
> bit of a crazy idea, but board designers like to screw around with
> software developers like that.
Yes... I have done it, you will find it in PATCH v3

> 
> 
> > +
> > +#define MV88E61XX_PHY_TIMEOUT          100000
> > +#define MV88E61XX_MAX_PORTS_NUM                0x6
> 
> Is this a limitation of the 88e61xx architecture, or just the max
> number on all of the currently shipping versions?
No this represents how many maximum ports there are in 6161/6165 and those are 6

> 
> > +
> > +#ifdef CONFIG_KIRKWOOD_EGIGA
> > +#define smi_wr_reg     eth_smi_reg_write
> > +#define smi_rd_reg     eth_smi_reg_read
> > +#else /* add new interface above this */
> > +#error Unsupported interface
> > +#endif
> 
> This sort of thing is discouraged.  Why does this driver need to know
> about the ethernet controller?  Perhaps function pointers are needed?
> 
Yes this is removed and the interface is addressed through miiphy_read/write
Thanks ...
Regards..
Prafulla . .

> Andy
> 


More information about the U-Boot mailing list