[U-Boot] PATCH macb fix phy address
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Wed Nov 12 15:42:34 CET 2008
On 13:01 Wed 12 Nov , Giulio Benetti wrote:
> - Fixed finding phyter address
> - Added searching for other addresses if not found
>
> diff -urpN -X macb-exclude u-boot.orig/drivers/net/macb.c
> u-boot/drivers/net/macb.c
> --- u-boot.orig/drivers/net/macb.c 2008-08-12 16:08:38.000000000 +0200
> +++ u-boot/drivers/net/macb.c 2008-11-12 12:51:16.000000000 +0100
> @@ -1,5 +1,7 @@
> /*
> * Copyright (C) 2005-2006 Atmel Corporation
> + * Giulio Benetti <giulio.benetti at micronovasrl.com>
> + * Micronova srl <info at micronovasrl.com>
please remove, you do not do enough modification to add your copyright
> *
> * 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
> @@ -84,6 +86,8 @@ struct macb_dma_desc {
> #define TXBUF_WRAP 0x40000000
> #define TXBUF_USED 0x80000000
>
> +#define MAX_PHY_ADDRESS_NUMBER 32
> +
> struct macb_device {
> void *regs;
>
> @@ -325,8 +329,18 @@ static int macb_phy_init(struct macb_dev
> int i;
>
> /* Check if the PHY is up to snuff... */
> - phy_id = macb_mdio_read(macb, MII_PHYSID1);
> - if (phy_id == 0xffff) {
> + printf("%s: Finding PHYs\n", netdev->name);
> +
> + for(i = 0; i < MAX_PHY_ADDRESS_NUMBER; i++) {
> + lpa = macb_mdio_read(macb, MII_LPA);
> + phy_id = macb_mdio_read(macb, MII_PHYSID1);
> + if ((phy_id != 0xffff) && (lpa != 0xffff)) {
> + break;
> + }
> + macb->phy_addr++;
> + }
> +
> + if(i >= MAX_PHY_ADDRESS_NUMBER) {
please make this as an option
> printf("%s: No PHY present\n", netdev->name);
> return 0;
> }
>
> Signed-off-by: Giulio Benetti <giulio.benetti at micronovasrl.com>
>
please move to the comment
Best Regards,
J.
More information about the U-Boot
mailing list