[U-Boot] [RFC] CONFIG_RESET_PHY_R feature is broken
Albert ARIBAUD
albert.aribaud at free.fr
Wed Aug 18 12:30:07 CEST 2010
Le 18/08/2010 10:47, Ilya Yanok a écrit :
> Hello Albert,
>
> Albert ARIBAUD<albert.aribaud<at> free.fr> writes:
>
>> At the moment your problem is not being able to reset the PHY at times
>> other than boot, i.e. the 'PHY API' would be limited to reset_phy()
>> which is pretty much board-specific anyway.
>
> The problem is the PHY being reseted by the driver and going to unworking state.
> We need the board-specific quirk to bring PHY back to life and driver knows
> nothing about this quirk.
>
>> What prevents simply adding
>> calls to reset_phy() to the driver?
>
> Yes, we can just add calls to reset_phy() to the driver and we actually have
> this solution as a simplest one in our options list. But this solution seems to
> be imperfect: there are more drivers using 'on demand' PHY init, we need to add
> calls to reset_phy() to each of them. Furthermore, if somebody will want to
> switch some driver from early PHY initialization to on demand intialization he
> will have to remember about adding reset_phy() call. So it is error prone.
>
> So we'd like to discuss if there are cleaner solutions.
Seems to me the user may want to choose at compile time, not boot time
-- through a configuration option like CONFIG_NET_ONDEMAND_PHY_INIT;
then drivers can conditionally compile code for support of on-demand or
early init (or both; I'm not sure why on-demand phy int would prohibit
doing an early init the first time and as wolfgang points out, early
init makes sense for background link negociation while u-boot starts).
> Regards, Ilya.
>
> PS could use please reply not only to the ML but to me also? Thanks!
Done this time. However I suggest you keep an eye on the list for all
messages, at least all subjects, just to see if something of interest to
you is happening that you would not know of otherwise.
Amicalement,
--
Albert.
More information about the U-Boot
mailing list