mbox series

[net-next,v3,00/12] Add TJA1120 support

Message ID 20230627071853.106215-1-radu-nicolae.pirea@oss.nxp.com (mailing list archive)
Headers show
Series Add TJA1120 support | expand

Message

Radu Pirea (NXP OSS) June 27, 2023, 7:18 a.m. UTC
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 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) (12):
  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: c45: detect 100BaseT1 and 1000BaseT1 PMA abilites
  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 | 1134 ++++++++++++++++++++++-------
 drivers/net/phy/phy-c45.c         |    8 +
 include/uapi/linux/mdio.h         |    2 +
 4 files changed, 873 insertions(+), 273 deletions(-)

Comments

Jakub Kicinski June 27, 2023, 3:47 p.m. UTC | #1
On Tue, 27 Jun 2023 10:18:41 +0300 Radu Pirea (NXP OSS) wrote:
> 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.

## Form letter - net-next-closed

The merge window for v6.5 has begun and therefore net-next is closed
for new drivers, features, code refactoring and optimizations.
We are currently accepting bug fixes only.

Please repost when net-next reopens after July 10th.

RFC patches sent for review only are obviously welcome at any time.

See: https://www.kernel.org/doc/html/next/process/maintainer-netdev.html#development-cycle