mbox series

[RFC,net-next,0/6] Add support for OPEN Alliance 10BASE-T1x MACPHY Serial Interface

Message ID 20230908142919.14849-1-Parthiban.Veerasooran@microchip.com (mailing list archive)
Headers show
Series Add support for OPEN Alliance 10BASE-T1x MACPHY Serial Interface | expand

Message

Parthiban Veerasooran Sept. 8, 2023, 2:29 p.m. UTC
This patch series contain the below updates,
- Adds support for OPEN Alliance 10BASE-T1x MACPHY Serial Interface in the
  net/ethernet/oa_tc6.c.
- Adds driver support for Microchip LAN8650/1 Rev.B0 10BASE-T1S MACPHY
  Ethernet driver in the net/ethernet/microchip/lan865x.c.

Parthiban Veerasooran (6):
  net: ethernet: implement OPEN Alliance control transaction interface
  net: ethernet: add mac-phy interrupt support with reset complete
    handling
  net: ethernet: implement OA TC6 configuration function
  net: ethernet: implement data transaction interface
  microchip: lan865x: add driver support for Microchip's LAN865X MACPHY
  microchip: lan865x: add device-tree support for Microchip's LAN865X
    MACPHY

 .../bindings/net/microchip,lan865x.yaml       |  54 ++
 Documentation/networking/oa-tc6-framework.rst | 231 +++++
 MAINTAINERS                                   |  15 +
 drivers/net/ethernet/microchip/Kconfig        |  10 +
 drivers/net/ethernet/microchip/Makefile       |   3 +
 drivers/net/ethernet/microchip/lan865x.c      | 589 +++++++++++++
 drivers/net/ethernet/oa_tc6.c                 | 807 ++++++++++++++++++
 include/linux/oa_tc6.h                        | 130 +++
 8 files changed, 1839 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/microchip,lan865x.yaml
 create mode 100644 Documentation/networking/oa-tc6-framework.rst
 create mode 100644 drivers/net/ethernet/microchip/lan865x.c
 create mode 100644 drivers/net/ethernet/oa_tc6.c
 create mode 100644 include/linux/oa_tc6.h

Comments

Krzysztof Kozlowski Sept. 10, 2023, 10:55 a.m. UTC | #1
On 08/09/2023 16:29, Parthiban Veerasooran wrote:
> This patch series contain the below updates,
> - Adds support for OPEN Alliance 10BASE-T1x MACPHY Serial Interface in the
>   net/ethernet/oa_tc6.c.
> - Adds driver support for Microchip LAN8650/1 Rev.B0 10BASE-T1S MACPHY
>   Ethernet driver in the net/ethernet/microchip/lan865x.c.

And why is this RFC? Do you mean by that it is buggy and not finished,
so we should not review?

Best regards,
Krzysztof
Parthiban Veerasooran Sept. 13, 2023, 1:26 p.m. UTC | #2
Hi Krzysztof,

On 10/09/23 4:25 pm, Krzysztof Kozlowski wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> On 08/09/2023 16:29, Parthiban Veerasooran wrote:
>> This patch series contain the below updates,
>> - Adds support for OPEN Alliance 10BASE-T1x MACPHY Serial Interface in the
>>    net/ethernet/oa_tc6.c.
>> - Adds driver support for Microchip LAN8650/1 Rev.B0 10BASE-T1S MACPHY
>>    Ethernet driver in the net/ethernet/microchip/lan865x.c.
> 
> And why is this RFC? Do you mean by that it is buggy and not finished,
> so we should not review?

No, this is not a buggy/unfinished patch series. I have added RFC as 
this is a new framework is being added in the kernel for supporting OPEN 
Alliance 10BASE-T1x MACPHY Serial Interface. So I want to get 
opinion/direction/comments from community members. Your valuable review 
comments are important to make this framework get added in the mainline.

To get more clarity on this activity, I have described my test setup and 
results here. My test setup has two 10BASE-T1S nodes (node 0 and node 
1). Node 0 is with LAN8650 MACPHY and node 1 is with EVB-LAN8670-USB.

---------------------------       ----------------------------
| LAN8650 MACPHY (node 0) |<----->| EVB-LAN8670-USB (node 1) |
---------------------------       ----------------------------

LAN8650 MACPHY has a MAC and 10BASE-T1S PHY embedded within a single 
chip. SPI interface for Host.

EVB-LAN8670-USB has a LAN9500A USB MAC and LAN8670 10BASE-T1S PHY. USB 
interface for Host.

Product links to refer:
LAN8650: https://www.microchip.com/en-us/product/lan8650
EVB-LAN8670-USB: https://www.microchip.com/en-us/development-tool/EV08L38A

Node 0: Acts as PLCA coordinator node.
Node 1: Acts as PLCA drop node.

Note: These products can support CSMA/CD as well.

We have already mainlined EVB-LAN8670-USB drivers. Please refer the 
below links.

Driver for LAN9500A USB MAC in the EVB-LAN8670-USB:
https://elixir.bootlin.com/linux/latest/source/drivers/net/usb/smsc95xx.c#L2106

Driver for LAN8670 10BASE-T1S PHY in the EVB-LAN8670-USB:
https://elixir.bootlin.com/linux/latest/source/drivers/net/phy/microchip_t1s.c#L273

Driver for LAN8650 10BASE-T1S MACPHY's Internal PHY:
https://elixir.bootlin.com/linux/latest/source/drivers/net/phy/microchip_t1s.c#L283

Herewith I have attached the ping and iperf3 test results with this 
driver for your reference. There are two terminals representing node 0 
and node 1. Left terminal is LAN8650 MACPHY and the right one is 
EVB-LAN-8670-USB.

ping_test.png: ping test result between two nodes.
iperf3_tx_test.png: iperf3 tx test where node 0 sends data to node 1.
iperf3_rx_test.png: iperf3 rx test where node 1 sends data to node 0.
iperf3_bidirection_test.png: iperf3 bidirectional test where both nodes 
       are sending and receiving.

Hope this helps to get a clarity on this activity.

Best Regards,
Parthiban V
> 
> Best regards,
> Krzysztof
> 
>
Krzysztof Kozlowski Sept. 13, 2023, 3:45 p.m. UTC | #3
On 13/09/2023 15:26, Parthiban.Veerasooran@microchip.com wrote:
> Hi Krzysztof,
> 
> On 10/09/23 4:25 pm, Krzysztof Kozlowski wrote:
>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>
>> On 08/09/2023 16:29, Parthiban Veerasooran wrote:
>>> This patch series contain the below updates,
>>> - Adds support for OPEN Alliance 10BASE-T1x MACPHY Serial Interface in the
>>>    net/ethernet/oa_tc6.c.
>>> - Adds driver support for Microchip LAN8650/1 Rev.B0 10BASE-T1S MACPHY
>>>    Ethernet driver in the net/ethernet/microchip/lan865x.c.
>>
>> And why is this RFC? Do you mean by that it is buggy and not finished,
>> so we should not review?
> 
> No, this is not a buggy/unfinished patch series. I have added RFC as 

I don't understand how people name their stuff RFC. Some send totally
buggy and untested bindings under RFC and, after receiving feedback,
respond surprised - it was just RFC!

Other send RFC and expect review.

Just call it a PATCH. PATCH is Requesting for Comments.

Best regards,
Krzysztof
Alexander Dahl Sept. 15, 2023, 1:56 p.m. UTC | #4
Hello,

this is interesting, by chance I just looked at a chip claiming
similar features today, which already has a driver in kernel: Analog
Devices ADIN1110.

Am Fri, Sep 08, 2023 at 07:59:13PM +0530 schrieb Parthiban Veerasooran:
> This patch series contain the below updates,
> - Adds support for OPEN Alliance 10BASE-T1x MACPHY Serial Interface in the
>   net/ethernet/oa_tc6.c.

So this implements the "10BASE-T1x MAC-PHY Serial Interface
Specification" which is Ethernet over SPI if I understand correctly?
The above mentioned chip claims do use the same interface and the same
standard.  How does its driver work then?  Do you add code for a thing
already present in the kernel or does the other driver do something
completely different and I just misunderstood?

Can the drivers for ADIN1110 and for LAN865X share code because they
use the same specified interface?  The patch set does not look like
it?

(Added the other driver author to Cc.)

Greets
Alex

> - Adds driver support for Microchip LAN8650/1 Rev.B0 10BASE-T1S MACPHY
>   Ethernet driver in the net/ethernet/microchip/lan865x.c.
> 
> Parthiban Veerasooran (6):
>   net: ethernet: implement OPEN Alliance control transaction interface
>   net: ethernet: add mac-phy interrupt support with reset complete
>     handling
>   net: ethernet: implement OA TC6 configuration function
>   net: ethernet: implement data transaction interface
>   microchip: lan865x: add driver support for Microchip's LAN865X MACPHY
>   microchip: lan865x: add device-tree support for Microchip's LAN865X
>     MACPHY
> 
>  .../bindings/net/microchip,lan865x.yaml       |  54 ++
>  Documentation/networking/oa-tc6-framework.rst | 231 +++++
>  MAINTAINERS                                   |  15 +
>  drivers/net/ethernet/microchip/Kconfig        |  10 +
>  drivers/net/ethernet/microchip/Makefile       |   3 +
>  drivers/net/ethernet/microchip/lan865x.c      | 589 +++++++++++++
>  drivers/net/ethernet/oa_tc6.c                 | 807 ++++++++++++++++++
>  include/linux/oa_tc6.h                        | 130 +++
>  8 files changed, 1839 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/net/microchip,lan865x.yaml
>  create mode 100644 Documentation/networking/oa-tc6-framework.rst
>  create mode 100644 drivers/net/ethernet/microchip/lan865x.c
>  create mode 100644 drivers/net/ethernet/oa_tc6.c
>  create mode 100644 include/linux/oa_tc6.h
> 
> -- 
> 2.34.1
> 
>
Andrew Lunn Sept. 15, 2023, 2:22 p.m. UTC | #5
On Fri, Sep 15, 2023 at 03:56:59PM +0200, Alexander Dahl wrote:
> Hello,
> 
> this is interesting, by chance I just looked at a chip claiming
> similar features today, which already has a driver in kernel: Analog
> Devices ADIN1110.

Ah, interesting. I had no idea this driver/device is an OA TC6 device.

So ideally, we want the adin1110.c to also use the new framework, and
remove the duplicate code. Parthiban, please look at the driver and
make sure the APIs are such that Alexandru Tachici can swap his driver
to using it. Having two implementations should help make it clear what
is the same and what is different.

   Andrew
Parthiban Veerasooran Sept. 18, 2023, 6:12 a.m. UTC | #6
Hi Alexander,

Thanks for the information. Please see my reply below.

On 15/09/23 7:26 pm, Alexander Dahl wrote:
> [Some people who received this message don't often get email from ada@thorsis.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
> 
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> Hello,
> 
> this is interesting, by chance I just looked at a chip claiming
> similar features today, which already has a driver in kernel: Analog
> Devices ADIN1110.
Microchip's LAN865x is a 10BASE-T1S MACPHY and Analog Devices's ADIN1110 
is a 10BASE-T1L MACPHY. So as you said 10BASE-T1x MAC_PHY Serial 
Interface Specification defined by OPEN Alliance TC6 group can be 
applicable for both of the devices. I also noticed that ADI's datasheet 
says ADIN1110 supports OPEN Alliance 10BASE-T1x MAC-PHY serial
interface.
https://www.analog.com/media/en/technical-documentation/data-sheets/adin1110.pdf

But in my first glance in their driver code, I don't see any code block 
which implements 10BASE-T1x MAC_PHY Serial Interface Specification 
defined by OPEN Alliance TC6 group. Or do I miss anything here?. My code 
reference is below FYR,
https://elixir.bootlin.com/linux/v6.6-rc2/source/drivers/net/ethernet/adi/adin1110.c

OPEN Alliance 10BASE-T1x MAC_PHY Serial Interface Specification cab be 
downloaded from the below link,
https://opensig.org/automotive-ethernet-specifications/

I think Alexandru Tachici from ADI would be able to give us more 
information on this direction.
> 
> Am Fri, Sep 08, 2023 at 07:59:13PM +0530 schrieb Parthiban Veerasooran:
>> This patch series contain the below updates,
>> - Adds support for OPEN Alliance 10BASE-T1x MACPHY Serial Interface in the
>>    net/ethernet/oa_tc6.c.
> 
> So this implements the "10BASE-T1x MAC-PHY Serial Interface
> Specification" which is Ethernet over SPI if I understand correctly?
> The above mentioned chip claims do use the same interface and the same
> standard.  How does its driver work then?  Do you add code for a thing
> already present in the kernel or does the other driver do something
> completely different and I just misunderstood?
As I mentioned above, in my first glance in their driver code, I don't 
see any code block which implements 10BASE-T1x MAC_PHY Serial Interface 
Specification defined by OPEN Alliance TC6 group. Let's Alexandru 
Tachici from ADI gives us more info on this.
> 
> Can the drivers for ADIN1110 and for LAN865X share code because they
> use the same specified interface?  The patch set does not look like
> it?
Of course, if their device supports OPEN Alliance then we can use this 
oa_tc6.c framework to support other 10BASE-T1x MACPHY's as well.
> 
> (Added the other driver author to Cc.)
Ok thanks.

Best Regards,
Parthiban V
> 
> Greets
> Alex
> 
>> - Adds driver support for Microchip LAN8650/1 Rev.B0 10BASE-T1S MACPHY
>>    Ethernet driver in the net/ethernet/microchip/lan865x.c.
>>
>> Parthiban Veerasooran (6):
>>    net: ethernet: implement OPEN Alliance control transaction interface
>>    net: ethernet: add mac-phy interrupt support with reset complete
>>      handling
>>    net: ethernet: implement OA TC6 configuration function
>>    net: ethernet: implement data transaction interface
>>    microchip: lan865x: add driver support for Microchip's LAN865X MACPHY
>>    microchip: lan865x: add device-tree support for Microchip's LAN865X
>>      MACPHY
>>
>>   .../bindings/net/microchip,lan865x.yaml       |  54 ++
>>   Documentation/networking/oa-tc6-framework.rst | 231 +++++
>>   MAINTAINERS                                   |  15 +
>>   drivers/net/ethernet/microchip/Kconfig        |  10 +
>>   drivers/net/ethernet/microchip/Makefile       |   3 +
>>   drivers/net/ethernet/microchip/lan865x.c      | 589 +++++++++++++
>>   drivers/net/ethernet/oa_tc6.c                 | 807 ++++++++++++++++++
>>   include/linux/oa_tc6.h                        | 130 +++
>>   8 files changed, 1839 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/net/microchip,lan865x.yaml
>>   create mode 100644 Documentation/networking/oa-tc6-framework.rst
>>   create mode 100644 drivers/net/ethernet/microchip/lan865x.c
>>   create mode 100644 drivers/net/ethernet/oa_tc6.c
>>   create mode 100644 include/linux/oa_tc6.h
>>
>> --
>> 2.34.1
>>
>>
Parthiban Veerasooran Sept. 18, 2023, 6:16 a.m. UTC | #7
Hi Andrew,

Sure. Thanks for the suggestion. I hope my previous reply for 
Alexander's email clarifies the below comment as well.

It would be nice if Alexandru Tachici gives us more clarity on their 
device and driver.

Best Regards,
Parthiban V

On 15/09/23 7:52 pm, Andrew Lunn wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> On Fri, Sep 15, 2023 at 03:56:59PM +0200, Alexander Dahl wrote:
>> Hello,
>>
>> this is interesting, by chance I just looked at a chip claiming
>> similar features today, which already has a driver in kernel: Analog
>> Devices ADIN1110.
> 
> Ah, interesting. I had no idea this driver/device is an OA TC6 device.
> 
> So ideally, we want the adin1110.c to also use the new framework, and
> remove the duplicate code. Parthiban, please look at the driver and
> make sure the APIs are such that Alexandru Tachici can swap his driver
> to using it. Having two implementations should help make it clear what
> is the same and what is different.
> 
>     Andrew
>
Parthiban Veerasooran Sept. 18, 2023, 9:02 a.m. UTC | #8
Hi Lennart,

I am forwarding this email to you as we are not able to reach the module 
author Alexandru Tachici <alexandru.tachici@analog.com> and getting the 
below email delivery error.

----cut here-----
Delivery has failed to these recipients or groups:

alexandru.tachici@analog.com<mailto:alexandru.tachici@analog.com>
The email address you entered couldn't be found. Please check the
recipient's email address and try to resend the message. If the problem
continues, please contact your email admin.
----cut here------

We got your your email address from the commit 
bc93e19d088bb14e116756ab270deea6ee62d782. Regarding the below topic, are 
you the right contact parson to continue further on this topic or else 
do you have any other contact to approach? Please let us know.

Best Regards,
Parthiban V
-------- Forwarded Message --------
Subject: Re: [RFC PATCH net-next 0/6] Add support for OPEN Alliance 
10BASE-T1x MACPHY Serial Interface
Date: Mon, 18 Sep 2023 11:42:33 +0530
From: Parthiban Veerasooran <Parthiban.Veerasooran@microchip.com>
To: ada@thorsis.com, Alexandru Tachici <alexandru.tachici@analog.com>, 
Andrew Lunn <andrew@lunn.ch>
CC: davem@davemloft.net, edumazet@google.com, kuba@kernel.org, 
pabeni@redhat.com, robh+dt@kernel.org, 
krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, corbet@lwn.net, 
steen.hegelund@microchip.com, rdunlap@infradead.org, horms@kernel.org, 
casper.casan@gmail.com, netdev@vger.kernel.org, 
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, 
linux-doc@vger.kernel.org, horatiu.vultur@microchip.com, 
Woojung.Huh@microchip.com, Nicolas.Ferre@microchip.com, 
UNGLinuxDriver@microchip.com, Thorsten.Kummermehr@microchip.com

Hi Alexander,

Thanks for the information. Please see my reply below.

On 15/09/23 7:26 pm, Alexander Dahl wrote:
> [Some people who received this message don't often get email from ada@thorsis.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
> 
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> Hello,
> 
> this is interesting, by chance I just looked at a chip claiming
> similar features today, which already has a driver in kernel: Analog
> Devices ADIN1110.
Microchip's LAN865x is a 10BASE-T1S MACPHY and Analog Devices's ADIN1110 
is a 10BASE-T1L MACPHY. So as you said 10BASE-T1x MAC_PHY Serial 
Interface Specification defined by OPEN Alliance TC6 group can be 
applicable for both of the devices. I also noticed that ADI's datasheet 
says ADIN1110 supports OPEN Alliance 10BASE-T1x MAC-PHY serial
interface.
https://www.analog.com/media/en/technical-documentation/data-sheets/adin1110.pdf

But in my first glance in their driver code, I don't see any code block 
which implements 10BASE-T1x MAC_PHY Serial Interface Specification 
defined by OPEN Alliance TC6 group. Or do I miss anything here?. My code 
reference is below FYR,
https://elixir.bootlin.com/linux/v6.6-rc2/source/drivers/net/ethernet/adi/adin1110.c

OPEN Alliance 10BASE-T1x MAC_PHY Serial Interface Specification cab be 
downloaded from the below link,
https://opensig.org/automotive-ethernet-specifications/

I think Alexandru Tachici from ADI would be able to give us more 
information on this direction.
> 
> Am Fri, Sep 08, 2023 at 07:59:13PM +0530 schrieb Parthiban Veerasooran:
>> This patch series contain the below updates,
>> - Adds support for OPEN Alliance 10BASE-T1x MACPHY Serial Interface in the
>>    net/ethernet/oa_tc6.c.
> 
> So this implements the "10BASE-T1x MAC-PHY Serial Interface
> Specification" which is Ethernet over SPI if I understand correctly?
> The above mentioned chip claims do use the same interface and the same
> standard.  How does its driver work then?  Do you add code for a thing
> already present in the kernel or does the other driver do something
> completely different and I just misunderstood?
As I mentioned above, in my first glance in their driver code, I don't 
see any code block which implements 10BASE-T1x MAC_PHY Serial Interface 
Specification defined by OPEN Alliance TC6 group. Let's Alexandru 
Tachici from ADI gives us more info on this.
> 
> Can the drivers for ADIN1110 and for LAN865X share code because they
> use the same specified interface?  The patch set does not look like
> it?
Of course, if their device supports OPEN Alliance then we can use this 
oa_tc6.c framework to support other 10BASE-T1x MACPHY's as well.
> 
> (Added the other driver author to Cc.)
Ok thanks.

Best Regards,
Parthiban V
> 
> Greets
> Alex
> 
>> - Adds driver support for Microchip LAN8650/1 Rev.B0 10BASE-T1S MACPHY
>>    Ethernet driver in the net/ethernet/microchip/lan865x.c.
>>
>> Parthiban Veerasooran (6):
>>    net: ethernet: implement OPEN Alliance control transaction interface
>>    net: ethernet: add mac-phy interrupt support with reset complete
>>      handling
>>    net: ethernet: implement OA TC6 configuration function
>>    net: ethernet: implement data transaction interface
>>    microchip: lan865x: add driver support for Microchip's LAN865X MACPHY
>>    microchip: lan865x: add device-tree support for Microchip's LAN865X
>>      MACPHY
>>
>>   .../bindings/net/microchip,lan865x.yaml       |  54 ++
>>   Documentation/networking/oa-tc6-framework.rst | 231 +++++
>>   MAINTAINERS                                   |  15 +
>>   drivers/net/ethernet/microchip/Kconfig        |  10 +
>>   drivers/net/ethernet/microchip/Makefile       |   3 +
>>   drivers/net/ethernet/microchip/lan865x.c      | 589 +++++++++++++
>>   drivers/net/ethernet/oa_tc6.c                 | 807 ++++++++++++++++++
>>   include/linux/oa_tc6.h                        | 130 +++
>>   8 files changed, 1839 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/net/microchip,lan865x.yaml
>>   create mode 100644 Documentation/networking/oa-tc6-framework.rst
>>   create mode 100644 drivers/net/ethernet/microchip/lan865x.c
>>   create mode 100644 drivers/net/ethernet/oa_tc6.c
>>   create mode 100644 include/linux/oa_tc6.h
>>
>> --
>> 2.34.1
>>
>>
Parthiban Veerasooran Sept. 18, 2023, 9:23 a.m. UTC | #9
Hi Krzysztof,

On 13/09/23 9:15 pm, Krzysztof Kozlowski wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> On 13/09/2023 15:26, Parthiban.Veerasooran@microchip.com wrote:
>> Hi Krzysztof,
>>
>> On 10/09/23 4:25 pm, Krzysztof Kozlowski wrote:
>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>>
>>> On 08/09/2023 16:29, Parthiban Veerasooran wrote:
>>>> This patch series contain the below updates,
>>>> - Adds support for OPEN Alliance 10BASE-T1x MACPHY Serial Interface in the
>>>>     net/ethernet/oa_tc6.c.
>>>> - Adds driver support for Microchip LAN8650/1 Rev.B0 10BASE-T1S MACPHY
>>>>     Ethernet driver in the net/ethernet/microchip/lan865x.c.
>>>
>>> And why is this RFC? Do you mean by that it is buggy and not finished,
>>> so we should not review?
>>
>> No, this is not a buggy/unfinished patch series. I have added RFC as
> 
> I don't understand how people name their stuff RFC. Some send totally
> buggy and untested bindings under RFC and, after receiving feedback,
> respond surprised - it was just RFC!
> 
> Other send RFC and expect review.
> 
> Just call it a PATCH. PATCH is Requesting for Comments.
Ok, I understand your point. From the next version of patches, I will 
remove RFC.

Best Regards,
Parthiban V
> 
> Best regards,
> Krzysztof
> 
>
Parthiban Veerasooran Sept. 19, 2023, 9:03 a.m. UTC | #10
Hi,

@Andrew: As you pointed out in another email, I have included Jay 
Monkman as well in this email to discuss further.

@Jay Monkman: Yesterday, Andrew noticed that you submitted a patch 
series for NCN26010 which is a 10BASE-T1S MACPHY which uses OPEN 
Alliance spec.

@Michael Hennerich: I am forwarding this email to you so that you will 
get the history behind this conversation. Please have a look in the 
below email for the clarification we need.

Microchip's product link is below,

https://www.microchip.com/en-us/product/lan8650

We already pushed the driver patches for supporting the above 
Microchip's LAN865x MACPHY and the OPEN Alliance spec to the mainline 
and it is under review. Please refer the below link to get a complete 
picture of this patch series.

https://lore.kernel.org/netdev/20230913152625.73e32789@wsk/T/

We have developed 10BASE-T1x MAC_PHY Serial Interface Specification 
defined by OPEN Alliance TC6 group as a separate framework/generic lib 
and included in this patch series so that all the 10BASE-T1x MACPHY 
vendors can make use of it.

As Andrew suggested, it would be nice if we all work together to make it 
better. Please feel free to share your comments/ideas to improve the 
framework.

 From my next reply on-wards I will include Michael.Hennerich, Ciprian 
Regus and Jay Monkman in the "--to" or "--cc" so that we can share our 
ideas and comments.

I have brought everyone in this email so that we all in sync discussing 
the same topic and sharing our ideas. Please stick with this email or 
other patch series email for further communications to share all our ideas.

I hope this helps. Please let me know if you have any query on this.

Best Regards,
Parthiban V

-------- Forwarded Message --------
Subject: Fwd: [RFC PATCH net-next 0/6] Add support for OPEN Alliance 
10BASE-T1x MACPHY Serial Interface
Date: Mon, 18 Sep 2023 14:32:24 +0530
From: Parthiban Veerasooran <Parthiban.Veerasooran@microchip.com>
To: Lennart Franzen <lennart@lfdomain.com>, Alexander Dahl 
<ada@thorsis.com>, Andrew Lunn <andrew@lunn.ch>
CC: davem@davemloft.net, edumazet@google.com, kuba@kernel.org, 
pabeni@redhat.com, robh+dt@kernel.org, 
krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, corbet@lwn.net, 
steen.hegelund@microchip.com, rdunlap@infradead.org, horms@kernel.org, 
casper.casan@gmail.com, netdev@vger.kernel.org, 
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, 
linux-doc@vger.kernel.org, horatiu.vultur@microchip.com, 
Woojung.Huh@microchip.com, Nicolas.Ferre@microchip.com, 
UNGLinuxDriver@microchip.com, Thorsten.Kummermehr@microchip.com

Hi Lennart,

I am forwarding this email to you as we are not able to reach the module 
author Alexandru Tachici <alexandru.tachici@analog.com> and getting the 
below email delivery error.

----cut here-----
Delivery has failed to these recipients or groups:

alexandru.tachici@analog.com<mailto:alexandru.tachici@analog.com>
The email address you entered couldn't be found. Please check the
recipient's email address and try to resend the message. If the problem
continues, please contact your email admin.
----cut here------

We got your your email address from the commit 
bc93e19d088bb14e116756ab270deea6ee62d782. Regarding the below topic, are 
you the right contact parson to continue further on this topic or else 
do you have any other contact to approach? Please let us know.

Best Regards,
Parthiban V
-------- Forwarded Message --------
Subject: Re: [RFC PATCH net-next 0/6] Add support for OPEN Alliance 
10BASE-T1x MACPHY Serial Interface
Date: Mon, 18 Sep 2023 11:42:33 +0530
From: Parthiban Veerasooran <Parthiban.Veerasooran@microchip.com>
To: ada@thorsis.com, Alexandru Tachici <alexandru.tachici@analog.com>, 
Andrew Lunn <andrew@lunn.ch>
CC: davem@davemloft.net, edumazet@google.com, kuba@kernel.org, 
pabeni@redhat.com, robh+dt@kernel.org, 
krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, corbet@lwn.net, 
steen.hegelund@microchip.com, rdunlap@infradead.org, horms@kernel.org, 
casper.casan@gmail.com, netdev@vger.kernel.org, 
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, 
linux-doc@vger.kernel.org, horatiu.vultur@microchip.com, 
Woojung.Huh@microchip.com, Nicolas.Ferre@microchip.com, 
UNGLinuxDriver@microchip.com, Thorsten.Kummermehr@microchip.com

Hi Alexander,

Thanks for the information. Please see my reply below.

On 15/09/23 7:26 pm, Alexander Dahl wrote:
> [Some people who received this message don't often get email from ada@thorsis.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
> 
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> Hello,
> 
> this is interesting, by chance I just looked at a chip claiming
> similar features today, which already has a driver in kernel: Analog
> Devices ADIN1110.
Microchip's LAN865x is a 10BASE-T1S MACPHY and Analog Devices's ADIN1110 
is a 10BASE-T1L MACPHY. So as you said 10BASE-T1x MAC_PHY Serial 
Interface Specification defined by OPEN Alliance TC6 group can be 
applicable for both of the devices. I also noticed that ADI's datasheet 
says ADIN1110 supports OPEN Alliance 10BASE-T1x MAC-PHY serial
interface.
https://www.analog.com/media/en/technical-documentation/data-sheets/adin1110.pdf

But in my first glance in their driver code, I don't see any code block 
which implements 10BASE-T1x MAC_PHY Serial Interface Specification 
defined by OPEN Alliance TC6 group. Or do I miss anything here?. My code 
reference is below FYR,
https://elixir.bootlin.com/linux/v6.6-rc2/source/drivers/net/ethernet/adi/adin1110.c

OPEN Alliance 10BASE-T1x MAC_PHY Serial Interface Specification cab be 
downloaded from the below link,
https://opensig.org/automotive-ethernet-specifications/

I think Alexandru Tachici from ADI would be able to give us more 
information on this direction.
> 
> Am Fri, Sep 08, 2023 at 07:59:13PM +0530 schrieb Parthiban Veerasooran:
>> This patch series contain the below updates,
>> - Adds support for OPEN Alliance 10BASE-T1x MACPHY Serial Interface in the
>>    net/ethernet/oa_tc6.c.
> 
> So this implements the "10BASE-T1x MAC-PHY Serial Interface
> Specification" which is Ethernet over SPI if I understand correctly?
> The above mentioned chip claims do use the same interface and the same
> standard.  How does its driver work then?  Do you add code for a thing
> already present in the kernel or does the other driver do something
> completely different and I just misunderstood?
As I mentioned above, in my first glance in their driver code, I don't 
see any code block which implements 10BASE-T1x MAC_PHY Serial Interface 
Specification defined by OPEN Alliance TC6 group. Let's Alexandru 
Tachici from ADI gives us more info on this.
> 
> Can the drivers for ADIN1110 and for LAN865X share code because they
> use the same specified interface?  The patch set does not look like
> it?
Of course, if their device supports OPEN Alliance then we can use this 
oa_tc6.c framework to support other 10BASE-T1x MACPHY's as well.
> 
> (Added the other driver author to Cc.)
Ok thanks.

Best Regards,
Parthiban V
> 
> Greets
> Alex
> 
>> - Adds driver support for Microchip LAN8650/1 Rev.B0 10BASE-T1S MACPHY
>>    Ethernet driver in the net/ethernet/microchip/lan865x.c.
>>
>> Parthiban Veerasooran (6):
>>    net: ethernet: implement OPEN Alliance control transaction interface
>>    net: ethernet: add mac-phy interrupt support with reset complete
>>      handling
>>    net: ethernet: implement OA TC6 configuration function
>>    net: ethernet: implement data transaction interface
>>    microchip: lan865x: add driver support for Microchip's LAN865X MACPHY
>>    microchip: lan865x: add device-tree support for Microchip's LAN865X
>>      MACPHY
>>
>>   .../bindings/net/microchip,lan865x.yaml       |  54 ++
>>   Documentation/networking/oa-tc6-framework.rst | 231 +++++
>>   MAINTAINERS                                   |  15 +
>>   drivers/net/ethernet/microchip/Kconfig        |  10 +
>>   drivers/net/ethernet/microchip/Makefile       |   3 +
>>   drivers/net/ethernet/microchip/lan865x.c      | 589 +++++++++++++
>>   drivers/net/ethernet/oa_tc6.c                 | 807 ++++++++++++++++++
>>   include/linux/oa_tc6.h                        | 130 +++
>>   8 files changed, 1839 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/net/microchip,lan865x.yaml
>>   create mode 100644 Documentation/networking/oa-tc6-framework.rst
>>   create mode 100644 drivers/net/ethernet/microchip/lan865x.c
>>   create mode 100644 drivers/net/ethernet/oa_tc6.c
>>   create mode 100644 include/linux/oa_tc6.h
>>
>> --
>> 2.34.1
>>
>>
Jay Monkman Sept. 19, 2023, 4:23 p.m. UTC | #11
>  From my next reply on-wards I will include Michael.Hennerich, Ciprian 
> Regus and Jay Monkman in the "--to" or "--cc" so that we can share our 
> ideas and comments.

Thanks for including me. Can you also include
Piergiorgio Beruto <piergiorgio.beruto@gmail.com>
He is also involved in developing the driver for onsemi's device.


Jay Monkman
Hennerich, Michael Sept. 19, 2023, 6:09 p.m. UTC | #12
> -----Original Message-----
> From: Parthiban.Veerasooran@microchip.com
> <Parthiban.Veerasooran@microchip.com>
> Sent: Dienstag, 19. September 2023 11:04
> To: Hennerich, Michael <Michael.Hennerich@analog.com>; Regus, Ciprian
> <Ciprian.Regus@analog.com>; andrew@lunn.ch; jtm@lopingdog.com
> Cc: davem@davemloft.net; edumazet@google.com; kuba@kernel.org;
> pabeni@redhat.com; robh+dt@kernel.org;
> krzysztof.kozlowski+dt@linaro.org; conor+dt@kernel.org; corbet@lwn.net;
> Steen.Hegelund@microchip.com; rdunlap@infradead.org;
> horms@kernel.org; casper.casan@gmail.com; netdev@vger.kernel.org;
> devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; linux-
> doc@vger.kernel.org; Horatiu.Vultur@microchip.com;
> Woojung.Huh@microchip.com; Nicolas.Ferre@microchip.com;
> UNGLinuxDriver@microchip.com; Thorsten.Kummermehr@microchip.com;
> ada@thorsis.com
> Subject: Fwd: [RFC PATCH net-next 0/6] Add support for OPEN Alliance
> 10BASE-T1x MACPHY Serial Interface
> 
> 
> Hi,
> 
> @Andrew: As you pointed out in another email, I have included Jay
> Monkman as well in this email to discuss further.
> 
> @Jay Monkman: Yesterday, Andrew noticed that you submitted a patch
> series for NCN26010 which is a 10BASE-T1S MACPHY which uses OPEN
> Alliance spec.
> 
> @Michael Hennerich: I am forwarding this email to you so that you will get
> the history behind this conversation. Please have a look in the below email
> for the clarification we need.
> 
> Microchip's product link is below,
> 
> https://urldefense.com/v3/__https://www.microchip.com/en-
> us/product/lan8650__;!!A3Ni8CS0y2Y!5NnVuSzLYTgWJs0VW1cJjMAU2tR1j6
> ucjHFmGLl52wzcuOYJoxo3Itq5kSPqVg90KxBFbe_wLoTJeEofKEWagrJ46WjzIF
> 7hQuY$
> 
> We already pushed the driver patches for supporting the above Microchip's
> LAN865x MACPHY and the OPEN Alliance spec to the mainline and it is under
> review. Please refer the below link to get a complete picture of this patch
> series.
> 
> https://urldefense.com/v3/__https://lore.kernel.org/netdev/202309131526
> 25.73e32789@wsk/T/__;!!A3Ni8CS0y2Y!5NnVuSzLYTgWJs0VW1cJjMAU2tR1
> j6ucjHFmGLl52wzcuOYJoxo3Itq5kSPqVg90KxBFbe_wLoTJeEofKEWagrJ46Wjz
> AjlY1vs$
> 
> We have developed 10BASE-T1x MAC_PHY Serial Interface Specification
> defined by OPEN Alliance TC6 group as a separate framework/generic lib and
> included in this patch series so that all the 10BASE-T1x MACPHY vendors can
> make use of it.
> 
> As Andrew suggested, it would be nice if we all work together to make it
> better. Please feel free to share your comments/ideas to improve the
> framework.

There was some side conversation off-list to this topic as well - our developer Alexandru who mainlined 
the ADIN1110 driver also worked on the TC6-10BASE-T1x MACPHY version.
Since this came after he finished the standard SPI version, the non OA version was mainlined 
first. He aimed to send his implementation to the mailing list almost a year ago, but wanted to polish it a bit
more. And how this always happens he got sidetracked by some other project and then unfortunately left.

Our Open Alliance implementation was tested and also this wiki landing page was created:
https://wiki.analog.com/resources/tools-software/linux-drivers/net-mac-phy/open_alliance

The patches and files can be found on the tip of this branch here:
https://github.com/analogdevicesinc/linux/commits/adin1110-open-alliance

So this might be an alternative implementation. I'm sure we'll settle a common one.
Ciprian will take over responsibilities from Alexandru.

Best regards,
Michael

 
> 
>  From my next reply on-wards I will include Michael.Hennerich, Ciprian Regus
> and Jay Monkman in the "--to" or "--cc" so that we can share our ideas and
> comments.
> 
> I have brought everyone in this email so that we all in sync discussing the
> same topic and sharing our ideas. Please stick with this email or other patch
> series email for further communications to share all our ideas.
> 
> I hope this helps. Please let me know if you have any query on this.
> 
> Best Regards,
> Parthiban V
> 
> -------- Forwarded Message --------
> Subject: Fwd: [RFC PATCH net-next 0/6] Add support for OPEN Alliance
> 10BASE-T1x MACPHY Serial Interface
> Date: Mon, 18 Sep 2023 14:32:24 +0530
> From: Parthiban Veerasooran <Parthiban.Veerasooran@microchip.com>
> To: Lennart Franzen <lennart@lfdomain.com>, Alexander Dahl
> <ada@thorsis.com>, Andrew Lunn <andrew@lunn.ch>
> CC: davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
> pabeni@redhat.com, robh+dt@kernel.org,
> krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, corbet@lwn.net,
> steen.hegelund@microchip.com, rdunlap@infradead.org,
> horms@kernel.org, casper.casan@gmail.com, netdev@vger.kernel.org,
> devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-
> doc@vger.kernel.org, horatiu.vultur@microchip.com,
> Woojung.Huh@microchip.com, Nicolas.Ferre@microchip.com,
> UNGLinuxDriver@microchip.com, Thorsten.Kummermehr@microchip.com
> 
> Hi Lennart,
> 
> I am forwarding this email to you as we are not able to reach the module
> author Alexandru Tachici <alexandru.tachici@analog.com> and getting the
> below email delivery error.
> 
> ----cut here-----
> Delivery has failed to these recipients or groups:
> 
> alexandru.tachici@analog.com<mailto:alexandru.tachici@analog.com>
> The email address you entered couldn't be found. Please check the
> recipient's email address and try to resend the message. If the problem
> continues, please contact your email admin.
> ----cut here------
> 
> We got your your email address from the commit
> bc93e19d088bb14e116756ab270deea6ee62d782. Regarding the below
> topic, are you the right contact parson to continue further on this topic or
> else do you have any other contact to approach? Please let us know.
> 
> Best Regards,
> Parthiban V
> -------- Forwarded Message --------
> Subject: Re: [RFC PATCH net-next 0/6] Add support for OPEN Alliance
> 10BASE-T1x MACPHY Serial Interface
> Date: Mon, 18 Sep 2023 11:42:33 +0530
> From: Parthiban Veerasooran <Parthiban.Veerasooran@microchip.com>
> To: ada@thorsis.com, Alexandru Tachici <alexandru.tachici@analog.com>,
> Andrew Lunn <andrew@lunn.ch>
> CC: davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
> pabeni@redhat.com, robh+dt@kernel.org,
> krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, corbet@lwn.net,
> steen.hegelund@microchip.com, rdunlap@infradead.org,
> horms@kernel.org, casper.casan@gmail.com, netdev@vger.kernel.org,
> devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-
> doc@vger.kernel.org, horatiu.vultur@microchip.com,
> Woojung.Huh@microchip.com, Nicolas.Ferre@microchip.com,
> UNGLinuxDriver@microchip.com, Thorsten.Kummermehr@microchip.com
> 
> Hi Alexander,
> 
> Thanks for the information. Please see my reply below.
> 
> On 15/09/23 7:26 pm, Alexander Dahl wrote:
> > [Some people who received this message don't often get email from
> > ada@thorsis.com. Learn why this is important at
> > https://urldefense.com/v3/__https://aka.ms/LearnAboutSenderIdentificat
> >
> ion__;!!A3Ni8CS0y2Y!5NnVuSzLYTgWJs0VW1cJjMAU2tR1j6ucjHFmGLl52wzc
> uOYJox
> > o3Itq5kSPqVg90KxBFbe_wLoTJeEofKEWagrJ46WjzdmvJN08$  ]
> >
> > EXTERNAL EMAIL: Do not click links or open attachments unless you know
> > the content is safe
> >
> > Hello,
> >
> > this is interesting, by chance I just looked at a chip claiming
> > similar features today, which already has a driver in kernel: Analog
> > Devices ADIN1110.
> Microchip's LAN865x is a 10BASE-T1S MACPHY and Analog Devices's
> ADIN1110 is a 10BASE-T1L MACPHY. So as you said 10BASE-T1x MAC_PHY
> Serial Interface Specification defined by OPEN Alliance TC6 group can be
> applicable for both of the devices. I also noticed that ADI's datasheet says
> ADIN1110 supports OPEN Alliance 10BASE-T1x MAC-PHY serial interface.
> https://www.analog.com/media/en/technical-documentation/data-
> sheets/adin1110.pdf
> 
> But in my first glance in their driver code, I don't see any code block which
> implements 10BASE-T1x MAC_PHY Serial Interface Specification defined by
> OPEN Alliance TC6 group. Or do I miss anything here?. My code reference is
> below FYR,
> https://urldefense.com/v3/__https://elixir.bootlin.com/linux/v6.6-
> rc2/source/drivers/net/ethernet/adi/adin1110.c__;!!A3Ni8CS0y2Y!5NnVuSzL
> YTgWJs0VW1cJjMAU2tR1j6ucjHFmGLl52wzcuOYJoxo3Itq5kSPqVg90KxBFbe_
> wLoTJeEofKEWagrJ46Wjz-SM4EnA$
> 
> OPEN Alliance 10BASE-T1x MAC_PHY Serial Interface Specification cab be
> downloaded from the below link,
> https://urldefense.com/v3/__https://opensig.org/automotive-ethernet-
> specifications/__;!!A3Ni8CS0y2Y!5NnVuSzLYTgWJs0VW1cJjMAU2tR1j6ucjHF
> mGLl52wzcuOYJoxo3Itq5kSPqVg90KxBFbe_wLoTJeEofKEWagrJ46Wjz3BeXFz
> c$
> 
> I think Alexandru Tachici from ADI would be able to give us more information
> on this direction.
> >
> > Am Fri, Sep 08, 2023 at 07:59:13PM +0530 schrieb Parthiban Veerasooran:
> >> This patch series contain the below updates,
> >> - Adds support for OPEN Alliance 10BASE-T1x MACPHY Serial Interface in
> the
> >>    net/ethernet/oa_tc6.c.
> >
> > So this implements the "10BASE-T1x MAC-PHY Serial Interface
> > Specification" which is Ethernet over SPI if I understand correctly?
> > The above mentioned chip claims do use the same interface and the same
> > standard.  How does its driver work then?  Do you add code for a thing
> > already present in the kernel or does the other driver do something
> > completely different and I just misunderstood?
> As I mentioned above, in my first glance in their driver code, I don't see any
> code block which implements 10BASE-T1x MAC_PHY Serial Interface
> Specification defined by OPEN Alliance TC6 group. Let's Alexandru Tachici
> from ADI gives us more info on this.
> >
> > Can the drivers for ADIN1110 and for LAN865X share code because they
> > use the same specified interface?  The patch set does not look like
> > it?
> Of course, if their device supports OPEN Alliance then we can use this
> oa_tc6.c framework to support other 10BASE-T1x MACPHY's as well.
> >
> > (Added the other driver author to Cc.)
> Ok thanks.
> 
> Best Regards,
> Parthiban V
> >
> > Greets
> > Alex
> >
> >> - Adds driver support for Microchip LAN8650/1 Rev.B0 10BASE-T1S
> MACPHY
> >>    Ethernet driver in the net/ethernet/microchip/lan865x.c.
> >>
> >> Parthiban Veerasooran (6):
> >>    net: ethernet: implement OPEN Alliance control transaction interface
> >>    net: ethernet: add mac-phy interrupt support with reset complete
> >>      handling
> >>    net: ethernet: implement OA TC6 configuration function
> >>    net: ethernet: implement data transaction interface
> >>    microchip: lan865x: add driver support for Microchip's LAN865X
> MACPHY
> >>    microchip: lan865x: add device-tree support for Microchip's LAN865X
> >>      MACPHY
> >>
> >>   .../bindings/net/microchip,lan865x.yaml       |  54 ++
> >>   Documentation/networking/oa-tc6-framework.rst | 231 +++++
> >>   MAINTAINERS                                   |  15 +
> >>   drivers/net/ethernet/microchip/Kconfig        |  10 +
> >>   drivers/net/ethernet/microchip/Makefile       |   3 +
> >>   drivers/net/ethernet/microchip/lan865x.c      | 589 +++++++++++++
> >>   drivers/net/ethernet/oa_tc6.c                 | 807 ++++++++++++++++++
> >>   include/linux/oa_tc6.h                        | 130 +++
> >>   8 files changed, 1839 insertions(+)
> >>   create mode 100644
> Documentation/devicetree/bindings/net/microchip,lan865x.yaml
> >>   create mode 100644 Documentation/networking/oa-tc6-framework.rst
> >>   create mode 100644 drivers/net/ethernet/microchip/lan865x.c
> >>   create mode 100644 drivers/net/ethernet/oa_tc6.c
> >>   create mode 100644 include/linux/oa_tc6.h
> >>
> >> --
> >> 2.34.1
> >>
> >>