[U-Boot] [PATCH] mx28evk: Convert to phylib framework

Marek Vasut marex at denx.de
Fri Jul 12 06:40:02 CEST 2013


Dear Fabio Estevam,

> From: Fabio Estevam <fabio.estevam at freescale.com>
> 
> mx28evk has a LAN8270 ethernet phy and we can use the phylib framework.
> 
> One of the advantages of converting to phylib is that we no longer see a
> timeout prior to the first transfer in the 'tftp' command.
> 
> Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
> ---
> After applying this patch I get:
> 
> U-Boot 2013.04-11810-gd6d75ec-dirty (Jul 12 2013 - 01:15:03)
> 
> CPU:   Freescale i.MX28 rev1.2 at 454 MHz
> BOOT:  SSP SD/MMC #0, 3V3
> DRAM:  128 MiB
> MMC:   MXS MMC: 0
> Video: MXSFB: 'videomode' variable not set!
> In:    serial
> Out:   serial
> Err:   serial
> Net:   Phy not found
> 
> I still get this 'Phy not found' message, but I think this is not related
> to the board code.

This is because PHYlib doesn't know your PHY. You might need to add a definition 
for it into drivers/net/phy/smsc.c

>  board/freescale/mx28evk/mx28evk.c | 15 +--------------
>  include/configs/mx28evk.h         |  3 ++-
>  2 files changed, 3 insertions(+), 15 deletions(-)
> 
> diff --git a/board/freescale/mx28evk/mx28evk.c
> b/board/freescale/mx28evk/mx28evk.c index 4edd9f4..cd81d58 100644
> --- a/board/freescale/mx28evk/mx28evk.c
> +++ b/board/freescale/mx28evk/mx28evk.c
> @@ -110,7 +110,6 @@ int board_eth_init(bd_t *bis)
>  {
>  	struct mxs_clkctrl_regs *clkctrl_regs =
>  		(struct mxs_clkctrl_regs *)MXS_CLKCTRL_BASE;
> -	struct eth_device *dev;
>  	int ret;
> 
>  	ret = cpu_eth_init(bis);
> @@ -133,24 +132,12 @@ int board_eth_init(bd_t *bis)
>  		return ret;
>  	}
> 
> -	ret = fecmxc_initialize_multi(bis, 1, 3, MXS_ENET1_BASE);
> +	ret = fecmxc_initialize_multi(bis, 1, 1, MXS_ENET1_BASE);

Are you sure the PHY address on the MII bus for FEC1 is 0x01 ?

[..]

Best regards,
Marek Vasut


More information about the U-Boot mailing list