[PATCH net-next v5 00/11] Add TJA1120 support

From: Radu Pirea (NXP OSS)
Date: Mon Jul 31 2023 - 05:16:48 EST


Hello everyone,

This patch series got bigger than I expected. It cleans up the
next-c45-tja11xx driver and adds support for the TJA1120(1000BaseT1
automotive phy).

Master/slave custom implementation was replaced with the generic
implementation (genphy_c45_config_aneg/genphy_c45_read_status).

The TJA1120 and TJA1103 are a bit different when it comes to the PTP
interface. The timestamp read procedure was changed, some addresses were
changed and some bits were moved from one register to another. Adding
TJA1120 support was tricky, and I tried not to duplicate the code. If
something looks too hacky to you, I am open to suggestions.

Cheers,
Radu P

Changes in v5:
- replaced strncpy with strscpy
- reseted -> reset

Changes in v4:
- rebased on top of net-next/main
- dropped "net: phy: c45: detect 100BaseT1 and 1000BaseT1 PMA abilites".
Already part of upstream.

Changes in v3:
- merged "net: phy: nxp-c45-tja11xx: add *_reg_field functions" in
"net: phy: nxp-c45-tja11xx: prepare the ground for TJA1120"
- rephrased the commit message for "net: phy: nxp-c45-tja11xx: remove RX
BIST frame counters"

Changes in v2:
- dropped "net: phy: nxp-c45-tja11xx: fix the PTP interrupt
enablig/disabling"
- added error msgs to nxp_c45_set_reg_field and nxp_c45_clear_reg_field
- used phy_err instead of phy_warn in nxp_c45_write_reg_field and
nxp_c45_read_reg_field
- removed null checks for .driver_data and its fields
- added 100BT1 and 1000BT1 features bit
- replaced .features with .get_features
- dropped changed on TJA1103 EXT TS behaviour
- improved timestamp reading workarounds
- merged patch "net: phy: nxp-c45-tja11xx: timestamp reading workaround for
TJA1120" to 9 and 12
- implemented PCS reset workaround in link_change_notify callback

Radu Pirea (NXP OSS) (11):
net: phy: nxp-c45-tja11xx: use phylib master/slave implementation
net: phy: nxp-c45-tja11xx: remove RX BIST frame counters
net: phy: nxp-c45-tja11xx: prepare the ground for TJA1120
net: phy: nxp-c45-tja11xx: use get_features
net: phy: nxp-c45-tja11xx: add TJA1120 support
net: phy: nxp-c45-tja11xx: enable LTC sampling on both ext_ts edges
net: phy: nxp-c45-tja11xx: read egress ts on TJA1120
net: phy: nxp-c45-tja11xx: handle FUSA irq
net: phy: nxp-c45-tja11xx: run cable test with the PHY in test mode
net: phy: nxp-c45-tja11xx: read ext trig ts on TJA1120
net: phy: nxp-c45-tja11xx: reset PCS if the link goes down

drivers/net/phy/Kconfig | 2 +-
drivers/net/phy/nxp-c45-tja11xx.c | 1136 ++++++++++++++++++++++-------
2 files changed, 864 insertions(+), 274 deletions(-)

--
2.34.1