On 07/07/2017 01:46 PM, Tom Rini wrote:
On Fri, Jul 07, 2017 at 10:13:09PM +0200, Marek Vasut wrote:
On 07/07/2017 08:36 PM, Alexandru Gagniuc wrote:
The KS8721BL and KSZ9021 PHYs are software-incompatible, yet they
share the same ID. Drivers for bothe PHYs cannot safely coexist, so
the solution was to use #ifdefs to select between the two drivers.
As a result KSZ9031, which has a unique ID, is now caught in the
crossfire. Unless CONFIG_PHY_MICREL_KSZ9031 is defined, the KSZ9031
will not function properly, as some essential configuration code is
ifdef'd-out.
To prevent such situations, move the KSZ9000 drivers to a separate
file, and place them under a separate Kconfig option. While it is
possible to enable both KSZ8000 and KSZ9000 drivers at the same time,
the assumption is that it is highly unlikely for a system to contain
both a KSZ8000 and a KSZ9000 PHY, and that only one of the drivers
will be enabled at any given time.
Signed-off-by: Alexandru Gagniuc <ale...@adaptrum.com>
The solution would be to either specify the PHY type in DT or platform
data. This shuffling of ifdefs is IMO pointless.
That sounds like a good long term solution since we can't do things like
that until phylib is DMified.
Don't forget about the simplicity of being able to probe the PHY.
AFAICT, it's only micrel that messed things up this way.
Alex
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot