Subject: Re: [PATCH] net/phy: refactor RTL8211F initialization

From: Florian Fainelli <[email-masked]>
Date: Wed, 22 Apr 2015 21:39:29 -0700

Le 22/04/2015 20:53, [email-masked] a écrit :
>> -----Original Message-----
>> From: Florian Fainelli [mailto:[email-masked]]
>> Sent: Thursday, April 23, 2015 12:57 AM
>> To: Liu Shengzhou-B36685; [email-masked]; [email-masked]
>> Subject: Re: [PATCH] net/phy: refactor RTL8211F initialization
>>
>> On 22/04/15 03:22, Shengzhou Liu wrote:
>>> RTL8211F needs to enalbe TXDLY for RGMII during phy initialization, so
>>> move it to rtl8211f_config for early initialization.
>>>
>>> Signed-off-by: Shengzhou Liu <[email-masked]>
>>> cc: Joe Hershberger <[email-masked]>
>>> ---
>>>  drivers/net/phy/realtek.c | 25 +++++++++++++++++--------
>>>  1 file changed, 17 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c
>>> index 3917c82..d48095b 100644
>>> --- a/drivers/net/phy/realtek.c
>>> +++ b/drivers/net/phy/realtek.c
>>> @@ -43,6 +43,22 @@ static int rtl8211x_config(struct phy_device *phydev)
>>>  	return 0;
>>>  }
>>>
>>> +static int rtl8211f_config(struct phy_device *phydev) {
>>> +	phy_write(phydev, MDIO_DEVAD_NONE, MII_BMCR, BMCR_RESET);
>>
>> That part of the change is not documented but has to be, and you should use
>> genphy_soft_reset() which also takes care of waiting the required amount of
>> time before BMCR_RESET is cleared.
> 
> There is no genphy_soft_reset() in current u-boot tree. 

Did you mean to submit that against u-boot or Linux? If the latter,
there is absolutely no need to have the same file compile under u-boot
and Linux without changes, that is too restrictive. There is a
genphy_soft_reset() which takes care of waiting for BMCR_RESET to clear,
please use it, there is no guarantee otherwise that a PHY has completed
a reset.
--
Florian