[U-Boot] [PATCH 2/2] net: Add National DP83865 PHY to LL TEMAC driver

Stephan Linz linz at li-pro.net
Sat Nov 20 19:48:04 CET 2010


Am Samstag, 20. November 2010, um 10:23:18 schrieb Michal Simek:
> Hi Stephan,

Hi Michal,
Hi Ben (see last questen to you below),

>
> 2010/11/19 Stephan Linz <linz at li-pro.net>
>
> > Adding the missing phy-id for the National 10/100/1000 MBit
> > PHY DP83865 used on the Xilinx Spartan-3A DSP evaluation board
> > SP3ADSP1800.
>
> I understand that you want to add support for PHY which is on xilinx
> development

right.

> board but here is one design problem.
> Is this really way how to add support for PHYs? As you can suggest the
> answer is NO.

Yes of course, that is my opinion too.

>
> I was talking about with Ben some months ago and there is only one solution
> which can be acceptable. The solution is phy lib. Not sure if Ben did any
> basic tests with
> it but this is sensible way how to do it.

@Ben: last question to you: Did you any basic tests with the new phy library? 
Is there any documentation?

>
> The main reason is that Xilinx have several development boards and every
> custom board
> can have different phy and I don't want to see that we will add support for
> it directly to driver.

Yes I know. This will be a problem if we do not use the phy library.

>
> In general I agree that it is necessary to support more PHYs at least all
> which are on
> Xilinx development boards but I can't agree with adding it directly to the
> driver.

I accept your decision and will maintain my own patch set until we can use the 
new phy library.

Other question for the transitional time to use the phy lib. Can we introduce 
a LL TEMAC configuration for the board specific phy id? Example:

<include/configs/microblaze-generic.h>
#define CONFIG_XILINX_LL_TEMAC_PHYID	0x1410cc2

<drivers/net/xilinx_ll_temac.c>
#ifndef CONFIG_XILINX_LL_TEMAC_PHYID
#error define phyid in configuration
#endif

xps_ll_temac_phy_ctrl():
if (i == CONFIG_XILINX_LL_TEMAC_PHYID) {
   ....
}


Best regards,
Stephan

>
> Regards,
> Michal
>
> > Signed-off-by: Stephan Linz <linz at li-pro.net>
> > ---
> >  drivers/net/xilinx_ll_temac.c |    9 +++++++--
> >  1 files changed, 7 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/net/xilinx_ll_temac.c
> > b/drivers/net/xilinx_ll_temac.c index a72e072..b19a74a 100644
> > --- a/drivers/net/xilinx_ll_temac.c
> > +++ b/drivers/net/xilinx_ll_temac.c
> > @@ -287,8 +287,11 @@ static int xps_ll_temac_phy_ctrl(struct eth_device
> > *dev)
> >                return 1;
> >        }
> >
> > -       /* Marwell 88e1111 id - ml50x */
> > -       if (i == 0x1410cc2) {
> > +       /*
> > +        * Marwell 88e1111 id - ml50x, ml605
> > +        * National DP83865 id - sp3adsp1800
> > +        */
> > +       if (i == 0x1410cc2 || i == 0x20005c7a) {
> >                result = xps_ll_temac_hostif_get(dev, 0, phy_addr, 5);
> >                if ((result & 0x8000) == 0x8000) {
> >                        xps_ll_temac_indirect_set(dev, 0, EMMC,
> > 0x80000000); @@ -305,6 +308,8 @@ static int xps_ll_temac_phy_ctrl(struct
> > eth_device *dev)
> >                }
> >                return 1;
> >        }
> > +
> > +       printf("Unsupported PHY\n");
> >        return 0;
> >  }
> >
> > --
> > 1.6.0.4


-- 
Viele Grüße,
Stephan Linz
______________________________________________________________________________
OpenDCC: http://www.li-pro.net/opendcc.phtml
PC/M: http://www.li-pro.net/pcm.phtml
CDK4AVR: http://cdk4avr.sourceforge.net/
CDK4NIOS: http://cdk4nios.sourceforge.net/
CDK4MSP: http://cdk4msp.sourceforge.net/
CPM4L: http://download.opensuse.org/repositories/home:/rexut:/CPM4L


More information about the U-Boot mailing list