[U-Boot] [PATCH 3/6] net: phy: realtek: Use generic genphy_parse_link() for RTL8211E

Michal Simek monstr at monstr.eu
Mon Feb 22 16:15:50 CET 2016


On 13.2.2016 11:39, Michal Simek wrote:
> The problem with current implementation is that SPDDONE bit is 1
> but link bit is zero. That's why phydev->link is setup to 0
> which ending up in driver failure that link is not up.
> 
> Log:
> Zynq> dhcp
> ethernet at e000b000 Waiting for PHY auto negotiation to complete.......
> done
> ethernet at e000b000: No link.
> 
> There is at least 1ms delay between spddone bit and link up.
> 
> Use genphy_read_status() instead of realtek implemenation which is
> working with page 11. Linux driver is also using generic implementation.
> 
> Signed-off-by: Michal Simek <monstr at monstr.eu>
> ---
> 
>  drivers/net/phy/realtek.c | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c
> index bba48da4099f..259a87fcc59e 100644
> --- a/drivers/net/phy/realtek.c
> +++ b/drivers/net/phy/realtek.c
> @@ -203,6 +203,14 @@ static int rtl8211x_startup(struct phy_device *phydev)
>  	return 0;
>  }
>  
> +static int rtl8211e_startup(struct phy_device *phydev)
> +{
> +	genphy_update_link(phydev);
> +	genphy_parse_link(phydev);
> +
> +	return 0;
> +}
> +
>  static int rtl8211f_startup(struct phy_device *phydev)
>  {
>  	/* Read the Status (2x to make sure link is right) */
> @@ -230,7 +238,7 @@ static struct phy_driver RTL8211E_driver = {
>  	.mask = 0xffffff,
>  	.features = PHY_GBIT_FEATURES,
>  	.config = &rtl8211x_config,
> -	.startup = &rtl8211x_startup,
> +	.startup = &rtl8211e_startup,
>  	.shutdown = &genphy_shutdown,
>  };
>  

Applied to zynq repo.

Thanks,
Michal

-- 
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160222/cef3a863/attachment.sig>


More information about the U-Boot mailing list