On Wed, Feb 19, 2020 at 12:16:13PM -0600, Dan Murphy wrote:Yes Andrew D is correct.
Add the TLK05/06 PHY ID to the DP83848 driver. The TI website indicatesI'm pretty sure Andrew's comment is correct. Due to the mask, the
that the DP83822 device is a drop in replacement for the TLK05 device
but the TLK device does not have WoL support. The TLK device is
register compatible to the DP83848 and the DP83848 does not support WoL
either. So this PHY can be associated with the DP83848 driver.
The initial TLKx PHY ID in the driver is a legacy ID and the public data
sheet indicates a new PHY ID. So not to break any kernels out there
both IDs will continue to be supported in this driver.
Signed-off-by: Dan Murphy <dmurphy@xxxxxx>
---
drivers/net/phy/dp83848.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/net/phy/dp83848.c b/drivers/net/phy/dp83848.c
index 54c7c1b44e4d..66907cfa816a 100644
--- a/drivers/net/phy/dp83848.c
+++ b/drivers/net/phy/dp83848.c
@@ -12,6 +12,7 @@
#define TI_DP83620_PHY_ID 0x20005ce0
#define NS_DP83848C_PHY_ID 0x20005c90
#define TLK10X_PHY_ID 0x2000a210
+#define TLK105_06_PHY_ID 0x2000a211
/* Registers */
#define DP83848_MICR 0x11 /* MII Interrupt Control Register */
@@ -85,6 +86,7 @@ static struct mdio_device_id __maybe_unused dp83848_tbl[] = {
{ NS_DP83848C_PHY_ID, 0xfffffff0 },
{ TI_DP83620_PHY_ID, 0xfffffff0 },
{ TLK10X_PHY_ID, 0xfffffff0 },
+ { TLK105_06_PHY_ID, 0xfffffff0 },
{ }
};
MODULE_DEVICE_TABLE(mdio, dp83848_tbl);
@@ -115,6 +117,8 @@ static struct phy_driver dp83848_driver[] = {
dp83848_config_init),
DP83848_PHY_DRIVER(TLK10X_PHY_ID, "TI TLK10X 10/100 Mbps PHY",
NULL),
+ DP83848_PHY_DRIVER(TLK105_06_PHY_ID, "TI TLK105/06 10/100 Mbps PHY",
+ NULL),
TLK10X_PHY_ID entry will hit.
What you can do is change the order and the mask. Put TLK105_06_PHY_ID
before TLK10X_PHY_ID and have an exact match, no mask.
Andrew