[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b971e2ef-5e4d-4300-b813-97ebd18ba54c@lunn.ch>
Date: Fri, 10 Mar 2023 17:50:19 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Parthiban.Veerasooran@...rochip.com
Cc: netdev@...r.kernel.org, Jan.Huber@...rochip.com,
Thorsten.Kummermehr@...rochip.com
Subject: Re: RFC: Adding Microchip's LAN865x 10BASE-T1S MAC-PHY driver
support to Linux
On Fri, Mar 10, 2023 at 11:13:23AM +0000, Parthiban.Veerasooran@...rochip.com wrote:
> Hi All,
>
> I would like to add Microchip's LAN865x 10BASE-T1S MAC-PHY driver
> support to Linux kernel.
> (Product link: https://www.microchip.com/en-us/product/LAN8650)
>
> The LAN8650 combines a Media Access Controller (MAC) and an Ethernet PHY
> to access 10BASE‑T1S networks. The common standard Serial Peripheral
> Interface (SPI) is used so that the transfer of Ethernet packets and
> LAN8650 control/status commands are performed over a single, serial
> interface.
>
> Ethernet packets are segmented and transferred over the serial interface
> according to the OPEN Alliance 10BASE‑T1x MAC‑PHY Serial Interface
> specification designed by TC6.
> (link: https://www.opensig.org/Automotive-Ethernet-Specifications/)
> The serial interface protocol can simultaneously transfer both transmit
> and receive packets between the host and the LAN8650.
>
> Basically the driver comprises of two parts. One part is to interface
> with networking subsystem and SPI subsystem. The other part is a TC6
> state machine which implements the Ethernet packets segmentation
> according to OPEN Alliance 10BASE‑T1x MAC‑PHY Serial Interface
> specification.
I only spent about 5 minutes glancing through the standards document,
but i guess i would disagree with this. I would say 90% is shared code
which probably wants to live in net/ethernet, and the remaining 10% is
code for where the silicon vendor has extra registers that need to be
used, workarounds for silicon bugs, etc. I guess hardware statistics
would also be in this part of code, since they don't seem to be in the
standard.
Please also make sure you keep with the Linux network architecture. I
would expect the shared code includes a linux MDIO bus driver, so the
existing PHY drivers can be used. PTP time stamping should be done the
standard Linux way. PLCA is configured using the netlink methods
recently added, etc. And it looks like all this should be in the
shared code, since it is all part of the standard.
Andrew
Powered by blists - more mailing lists