diff options
author | Alexandru Gagniuc <alex.g@adaptrum.com> | 2017-07-07 11:36:57 -0700 |
---|---|---|
committer | Joe Hershberger <joe.hershberger@ni.com> | 2017-08-07 15:18:30 -0500 |
commit | d397f7c45b0b87a7e1083c57a320c559e7848268 (patch) | |
tree | a2600e0594c196b43548178246c5692483432634 /include | |
parent | cb543d30df00d4db67f429dfa5515227e7af4014 (diff) | |
download | u-boot-d397f7c45b0b87a7e1083c57a320c559e7848268.zip u-boot-d397f7c45b0b87a7e1083c57a320c559e7848268.tar.gz u-boot-d397f7c45b0b87a7e1083c57a320c559e7848268.tar.bz2 |
net: phy: micrel: Separate KSZ9000 drivers from KSZ8000 drivers
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 <alex.g@adaptrum.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/phy.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/phy.h b/include/phy.h index 4f2094b..a0b1f12 100644 --- a/include/phy.h +++ b/include/phy.h @@ -266,7 +266,8 @@ int phy_davicom_init(void); int phy_et1011c_init(void); int phy_lxt_init(void); int phy_marvell_init(void); -int phy_micrel_init(void); +int phy_micrel_ksz8xxx_init(void); +int phy_micrel_ksz90x1_init(void); int phy_natsemi_init(void); int phy_realtek_init(void); int phy_smsc_init(void); |