Subject: Re: [PATCH net-master] net: phy: dp83848: Add the TI TLK05/06 PHY ID

From: Andrew Lunn <[email-masked]>
Date: Wed, 19 Feb 2020 19:48:47 +0100

On Wed, Feb 19, 2020 at 12:16:13PM -0600, Dan Murphy wrote:
> Add the TLK05/06 PHY ID to the DP83848 driver.  The TI website indicates
> 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 <[email-masked]>
> ---
>  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),

I'm pretty sure Andrew's comment is correct. Due to the mask, the
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