[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200219184847.GD3281@lunn.ch>
Date: Wed, 19 Feb 2020 19:48:47 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Dan Murphy <dmurphy@...com>
Cc: f.fainelli@...il.com, hkallweit1@...il.com, linux@...linux.org.uk,
davem@...emloft.net, linux-kernel@...r.kernel.org,
netdev@...r.kernel.org, afd@...com
Subject: Re: [PATCH net-master] net: phy: dp83848: Add the TI TLK05/06 PHY ID
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 <dmurphy@...com>
> ---
> 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
Powered by blists - more mailing lists