All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next v2 0/2] net: phy: add LAN8742 phy support
@ 2022-04-27 12:19 Yuiko Oshino
  2022-04-27 12:19 ` [PATCH net-next v2 1/2] net: phy: microchip: update LAN88xx phy ID and phy ID mask Yuiko Oshino
  2022-04-27 12:19 ` [PATCH net-next v2 2/2] net: phy: smsc: add LAN8742 phy support Yuiko Oshino
  0 siblings, 2 replies; 6+ messages in thread
From: Yuiko Oshino @ 2022-04-27 12:19 UTC (permalink / raw)
  To: woojung.huh, yuiko.oshino, davem, netdev, andrew, ravi.hegde,
	UNGLinuxDriver

add LAN8742 phy support
update LAN88xx phy ID and phy ID mask so that it can coexist with LAN8742

The current phy IDs on the available hardware.
    LAN8742 0x0007C130, 0x0007C131
    LAN88xx 0x0007C132

v1->v2:
-removed "REVIEW REQUEST3" from the PATCH 1/2.

Yuiko Oshino (2):
  net: phy: microchip: update LAN88xx phy ID and phy ID mask.
  net: phy: smsc: add LAN8742 phy support.

 drivers/net/phy/microchip.c |  6 +++---
 drivers/net/phy/smsc.c      | 27 +++++++++++++++++++++++++++
 2 files changed, 30 insertions(+), 3 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH net-next v2 1/2] net: phy: microchip: update LAN88xx phy ID and phy ID mask.
  2022-04-27 12:19 [PATCH net-next v2 0/2] net: phy: add LAN8742 phy support Yuiko Oshino
@ 2022-04-27 12:19 ` Yuiko Oshino
  2022-04-27 15:36   ` Andrew Lunn
  2022-04-27 12:19 ` [PATCH net-next v2 2/2] net: phy: smsc: add LAN8742 phy support Yuiko Oshino
  1 sibling, 1 reply; 6+ messages in thread
From: Yuiko Oshino @ 2022-04-27 12:19 UTC (permalink / raw)
  To: woojung.huh, yuiko.oshino, davem, netdev, andrew, ravi.hegde,
	UNGLinuxDriver

update LAN88xx phy ID and phy ID mask because the existing code conflicts with the LAN8742 phy.

The current phy IDs on the available hardware.
        LAN8742 0x0007C130, 0x0007C131
        LAN88xx 0x0007C132

Signed-off-by: Yuiko Oshino <yuiko.oshino@microchip.com>
---
 drivers/net/phy/microchip.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/phy/microchip.c b/drivers/net/phy/microchip.c
index 9f1f2b6c97d4..131caf659ed2 100644
--- a/drivers/net/phy/microchip.c
+++ b/drivers/net/phy/microchip.c
@@ -344,8 +344,8 @@ static int lan88xx_config_aneg(struct phy_device *phydev)
 
 static struct phy_driver microchip_phy_driver[] = {
 {
-	.phy_id		= 0x0007c130,
-	.phy_id_mask	= 0xfffffff0,
+	.phy_id		= 0x0007c132,
+	.phy_id_mask	= 0xfffffff2,
 	.name		= "Microchip LAN88xx",
 
 	/* PHY_GBIT_FEATURES */
@@ -369,7 +369,7 @@ static struct phy_driver microchip_phy_driver[] = {
 module_phy_driver(microchip_phy_driver);
 
 static struct mdio_device_id __maybe_unused microchip_tbl[] = {
-	{ 0x0007c130, 0xfffffff0 },
+	{ 0x0007c132, 0xfffffff2 },
 	{ }
 };
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH net-next v2 2/2] net: phy: smsc: add LAN8742 phy support.
  2022-04-27 12:19 [PATCH net-next v2 0/2] net: phy: add LAN8742 phy support Yuiko Oshino
  2022-04-27 12:19 ` [PATCH net-next v2 1/2] net: phy: microchip: update LAN88xx phy ID and phy ID mask Yuiko Oshino
@ 2022-04-27 12:19 ` Yuiko Oshino
  1 sibling, 0 replies; 6+ messages in thread
From: Yuiko Oshino @ 2022-04-27 12:19 UTC (permalink / raw)
  To: woojung.huh, yuiko.oshino, davem, netdev, andrew, ravi.hegde,
	UNGLinuxDriver

The current phy IDs on the available hardware.
        LAN8742 0x0007C130, 0x0007C131

Signed-off-by: Yuiko Oshino <yuiko.oshino@microchip.com>
---
 drivers/net/phy/smsc.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/drivers/net/phy/smsc.c b/drivers/net/phy/smsc.c
index d8cac02a79b9..2b3b5d0ad6f3 100644
--- a/drivers/net/phy/smsc.c
+++ b/drivers/net/phy/smsc.c
@@ -483,6 +483,32 @@ static struct phy_driver smsc_phy_driver[] = {
 
 	.suspend	= genphy_suspend,
 	.resume		= genphy_resume,
+}, {
+	.phy_id	= 0x0007c130,	/* 0x0007c130 and 0x0007c131 */
+	.phy_id_mask	= 0xfffffff2,
+	.name		= "Microchip LAN8742",
+
+	/* PHY_BASIC_FEATURES */
+	.flags		= PHY_RST_AFTER_CLK_EN,
+
+	.probe		= smsc_phy_probe,
+
+	/* basic functions */
+	.read_status	= lan87xx_read_status,
+	.config_init	= smsc_phy_config_init,
+	.soft_reset	= smsc_phy_reset,
+
+	/* IRQ related */
+	.config_intr	= smsc_phy_config_intr,
+	.handle_interrupt = smsc_phy_handle_interrupt,
+
+	/* Statistics */
+	.get_sset_count = smsc_get_sset_count,
+	.get_strings	= smsc_get_strings,
+	.get_stats	= smsc_get_stats,
+
+	.suspend	= genphy_suspend,
+	.resume	= genphy_resume,
 } };
 
 module_phy_driver(smsc_phy_driver);
@@ -498,6 +524,7 @@ static struct mdio_device_id __maybe_unused smsc_tbl[] = {
 	{ 0x0007c0d0, 0xfffffff0 },
 	{ 0x0007c0f0, 0xfffffff0 },
 	{ 0x0007c110, 0xfffffff0 },
+	{ 0x0007c130, 0xfffffff2 },
 	{ }
 };
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH net-next v2 1/2] net: phy: microchip: update LAN88xx phy ID and phy ID mask.
  2022-04-27 12:19 ` [PATCH net-next v2 1/2] net: phy: microchip: update LAN88xx phy ID and phy ID mask Yuiko Oshino
@ 2022-04-27 15:36   ` Andrew Lunn
  2022-04-27 16:02     ` Yuiko.Oshino
  0 siblings, 1 reply; 6+ messages in thread
From: Andrew Lunn @ 2022-04-27 15:36 UTC (permalink / raw)
  To: Yuiko Oshino; +Cc: woojung.huh, davem, netdev, ravi.hegde, UNGLinuxDriver

On Wed, Apr 27, 2022 at 05:19:56AM -0700, Yuiko Oshino wrote:
> update LAN88xx phy ID and phy ID mask because the existing code conflicts with the LAN8742 phy.
> 
> The current phy IDs on the available hardware.
>         LAN8742 0x0007C130, 0x0007C131
>         LAN88xx 0x0007C132
> 
> Signed-off-by: Yuiko Oshino <yuiko.oshino@microchip.com>
> ---
>  drivers/net/phy/microchip.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/phy/microchip.c b/drivers/net/phy/microchip.c
> index 9f1f2b6c97d4..131caf659ed2 100644
> --- a/drivers/net/phy/microchip.c
> +++ b/drivers/net/phy/microchip.c
> @@ -344,8 +344,8 @@ static int lan88xx_config_aneg(struct phy_device *phydev)
>  
>  static struct phy_driver microchip_phy_driver[] = {
>  {
> -	.phy_id		= 0x0007c130,
> -	.phy_id_mask	= 0xfffffff0,
> +	.phy_id		= 0x0007c132,
> +	.phy_id_mask	= 0xfffffff2,

Just so my comment on the previous version does not get lost, is this
the correct mask, because it is very odd. I think you really want
0xfffffffe?

    Andrew

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [PATCH net-next v2 1/2] net: phy: microchip: update LAN88xx phy ID and phy ID mask.
  2022-04-27 15:36   ` Andrew Lunn
@ 2022-04-27 16:02     ` Yuiko.Oshino
  2022-04-27 17:30       ` Andrew Lunn
  0 siblings, 1 reply; 6+ messages in thread
From: Yuiko.Oshino @ 2022-04-27 16:02 UTC (permalink / raw)
  To: andrew; +Cc: Woojung.Huh, davem, netdev, Ravi.Hegde, UNGLinuxDriver

>-----Original Message-----
>From: Andrew Lunn <andrew@lunn.ch>
>Sent: Wednesday, April 27, 2022 11:37 AM
>To: Yuiko Oshino - C18177 <Yuiko.Oshino@microchip.com>
>Cc: Woojung Huh - C21699 <Woojung.Huh@microchip.com>;
>davem@davemloft.net; netdev@vger.kernel.org; Ravi Hegde - C21689
><Ravi.Hegde@microchip.com>; UNGLinuxDriver
><UNGLinuxDriver@microchip.com>
>Subject: Re: [PATCH net-next v2 1/2] net: phy: microchip: update LAN88xx phy ID
>and phy ID mask.
>
>EXTERNAL EMAIL: Do not click links or open attachments unless you know the
>content is safe
>
>On Wed, Apr 27, 2022 at 05:19:56AM -0700, Yuiko Oshino wrote:
>> update LAN88xx phy ID and phy ID mask because the existing code conflicts
>with the LAN8742 phy.
>>
>> The current phy IDs on the available hardware.
>>         LAN8742 0x0007C130, 0x0007C131
>>         LAN88xx 0x0007C132
>>
>> Signed-off-by: Yuiko Oshino <yuiko.oshino@microchip.com>
>> ---
>>  drivers/net/phy/microchip.c | 6 +++---
>>  1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/net/phy/microchip.c b/drivers/net/phy/microchip.c
>> index 9f1f2b6c97d4..131caf659ed2 100644
>> --- a/drivers/net/phy/microchip.c
>> +++ b/drivers/net/phy/microchip.c
>> @@ -344,8 +344,8 @@ static int lan88xx_config_aneg(struct phy_device
>> *phydev)
>>
>>  static struct phy_driver microchip_phy_driver[] = {  {
>> -     .phy_id         = 0x0007c130,
>> -     .phy_id_mask    = 0xfffffff0,
>> +     .phy_id         = 0x0007c132,
>> +     .phy_id_mask    = 0xfffffff2,
>
>Just so my comment on the previous version does not get lost, is this the correct
>mask, because it is very odd. I think you really want 0xfffffffe?
>
>    Andrew

Hi Andrew,

thank you for your review.
Yes, 0xfffffff2 is correct for us.
We would like to have bits for future revisions of the hardware without updating the driver source code in the future.
If we use 0xfffffffe, then we need to submit a patch again when we have a new hardware revision.

Yuiko

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH net-next v2 1/2] net: phy: microchip: update LAN88xx phy ID and phy ID mask.
  2022-04-27 16:02     ` Yuiko.Oshino
@ 2022-04-27 17:30       ` Andrew Lunn
  0 siblings, 0 replies; 6+ messages in thread
From: Andrew Lunn @ 2022-04-27 17:30 UTC (permalink / raw)
  To: Yuiko.Oshino; +Cc: Woojung.Huh, davem, netdev, Ravi.Hegde, UNGLinuxDriver

> >> The current phy IDs on the available hardware.
> >>         LAN8742 0x0007C130, 0x0007C131
> >>         LAN88xx 0x0007C132
> >>
> >> Signed-off-by: Yuiko Oshino <yuiko.oshino@microchip.com>
> >> ---
> >>  drivers/net/phy/microchip.c | 6 +++---
> >>  1 file changed, 3 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/drivers/net/phy/microchip.c b/drivers/net/phy/microchip.c
> >> index 9f1f2b6c97d4..131caf659ed2 100644
> >> --- a/drivers/net/phy/microchip.c
> >> +++ b/drivers/net/phy/microchip.c
> >> @@ -344,8 +344,8 @@ static int lan88xx_config_aneg(struct phy_device
> >> *phydev)
> >>
> >>  static struct phy_driver microchip_phy_driver[] = {  {
> >> -     .phy_id         = 0x0007c130,
> >> -     .phy_id_mask    = 0xfffffff0,
> >> +     .phy_id         = 0x0007c132,
> >> +     .phy_id_mask    = 0xfffffff2,
> >
> >Just so my comment on the previous version does not get lost, is this the correct
> >mask, because it is very odd. I think you really want 0xfffffffe?
> >
> >    Andrew
> 
> Hi Andrew,
> 
> thank you for your review.
> Yes, 0xfffffff2 is correct for us.
> We would like to have bits for future revisions of the hardware without updating the driver source code in the future.
> If we use 0xfffffffe, then we need to submit a patch again when we have a new hardware revision.

This has some risks. Do you really have enough control over the
hardware people to say that:

LAN8742 0x0007C130, 0x0007C131, 0x0007C134, 0x0007C135, 0x0007C138, 0x0007C139, ...
LAN88xx 0x0007C132, 0x0007C133, 0x0007C136, 0x0007C137, 0x0007C13a, 0x0007C13b, ...

It seems safer to wait until there is new hardware and then update the
list given whatever they decide on is next.

At minimum, please add a comment in the code, otherwise you are going
to get asked, is this correct, it looks wrong?

     Andrew

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-04-27 17:30 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-27 12:19 [PATCH net-next v2 0/2] net: phy: add LAN8742 phy support Yuiko Oshino
2022-04-27 12:19 ` [PATCH net-next v2 1/2] net: phy: microchip: update LAN88xx phy ID and phy ID mask Yuiko Oshino
2022-04-27 15:36   ` Andrew Lunn
2022-04-27 16:02     ` Yuiko.Oshino
2022-04-27 17:30       ` Andrew Lunn
2022-04-27 12:19 ` [PATCH net-next v2 2/2] net: phy: smsc: add LAN8742 phy support Yuiko Oshino

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.