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

Michal Simek monstr at monstr.eu
Sat Nov 20 10:23:18 CET 2010


Hi Stephan,

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
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.

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.

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.

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.

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
>
>


More information about the U-Boot mailing list