[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