Messages in this thread | | | From | Ramón N.Rodriguez <> | Subject | [PATCH 0/3] net: microchip_t1s: additional phy support and collision detect handling | Date | Mon, 27 Nov 2023 11:40:42 +0100 |
| |
Hi,
This patch series adds support for LAN867x Rev.C and sets the collision enable bit conditionally on plca enable for LAN865X and LAN867X phys.
The addition of Rev.C support is pretty straight forward (but weird), it follows the recommended magic and unexplained steps in Microchip Application Note 1699.
The second change, conditionally setting collision detection has a significant impact on link performance. Having both PLCA and collision detection enabled led to a lot of dropped packets in the setup I've been developing on. The datasheets recommends disabling collision detect when PLCA is enabled. Took me a couple of weeks to find said footnote, hoping this series can save the next dev some headache.
Following is a brief description of my test/eval setup:
LAN867x Rev.C This was tested with Microchips usb eval board, the only testing I did was that I got the driver attached and got a link. No performance/stress testing has been performed.
Collision detection This has been tested on a setup where one ARM system with a LAN8650 mac-phy is daisy-chained to 8 mcus using lan8670 phys. Without the patch we were limited to really short cables, about 1m per node, but we were still getting a lot of connection drops. With the patch we could increase the total cable length to at least 40M. Electrical properties play in here, both cable types and how the termination is designed, so these results might not be reproducible in another setup. The only testing that has been performed has been a best effort of estimating dropped packets on the linux node, with low frequency traffic.
Ramón Nordin Rodriguez (3): net: microchip_t1s: refactor reset functionality net: microchip_t1s: add support for LAN867x Rev.C1 net: microchip_t1s: conditional collision detection
drivers/net/phy/microchip_t1s.c | 135 +++++++++++++++++++++++++++++++- 1 file changed, 132 insertions(+), 3 deletions(-)
-- 2.40.1
| |