[v7,net-next,00/14] net: phy: marvell-88q2xxx: add driver for the Marvell 88Q2220 PHY

Message ID 20240218075753.18067-1-dima.fedrau@gmail.com
Headers
Series net: phy: marvell-88q2xxx: add driver for the Marvell 88Q2220 PHY |

Message

Dimitri Fedrau Feb. 18, 2024, 7:57 a.m. UTC
  Changes in v2:
	- used defines MDIO_CTRL1_LPOWER and MDIO_PMA_CTRL1_SPEED1000
	  in mv88q222x_config_aneg_preinit
	- use genphy_c45_loopback
	- mv88q2xxx_read_status reads speed, master or slave state when
	  autonegotiation is enabled
	- added defines for magic values in mv88q222x_get_sqi

Changes in v3:
	- mv88q2xxx_read_status includes autonegotiation case
	- add support for 100BT1 and 1000BT1 linkmode advertisement
	- use mv88q2xxx_get_sqi and mv88q2xxx_get_sqi_max, remove
	  mv88q222x_get_sqi and mv88q222x_get_sqi_max
	- fix typo: rename mv88q2xxxx_get_sqi and mv88q2xxxx_get_sqi_max to
	  mv88q2xxx_get_sqi and mv88q2xxx_get_sqi
	- add define MDIO_MMD_PCS_MV_RX_STAT for magic value 0x8230, documented
	  in latest datasheets for both PHYs

Changes in V4:
	- clean up init sequence
	- separate patch for fixing typos in upstreamed code

Changes in V5:
	- add missing statics for mv88q222x_revb0_init_seq0 and
	  mv88q222x_revb0_init_seq1
	- fix typo in commit message: autonegotiation
	- fix ordering of Signed-off-by and Reviewed-by in commit messages
	- add interrupt support for link detection
	- add suspend / resume ops
	- add support for internal temperature sensor
	- add cable test support
	- call .soft_reset in mv88q2xxx_config_aneg, this makes
	  mv88q2xxx_config_aneg compatible for Marvell88Q222x devices and
	  remove mv88q222x_config_aneg which is then just duplicated code
	- cleanup mv88q2xxx_config_init and make it compatible with
	  Marvell88Q222x devices
	- move parts from mv88q222x_config_init to mv88q2xxx_config_init
	  that are applicable for all Marvell88Q2xxx devices.

Changes in V6:
	- add copyright and where the code is derived from (patch 5). Sorry
	  Andrew. It is already reviewed, but I think it is the right place.
	  Didn't remove the Reviewed-by because the changes doesn't touch any
	  code that is getting executed.
	- add HWMON dependeny in Kconfig (patch 8)
	- use IS_ENABLED(CONFIG_HWMON) instead of ifdef CONFIG_HWMON to support
	  hwmon built as module (patch 8)
	- drop shift constant MDIO_MMD_PCS_MV_TEMP_SENSOR3_INT_THRESH_SHIFT
	  and use FIELD_GET and FIELD_PREP instead(patch 8)
	- drop shift constant MDIO_MMD_PCS_MV_TDR_STATUS_DIST_SHIFT and use
	  FIELD_GET and FIELD_PREP instead (patch 9)
	- split previous patch 13 into two patches.

Changes in V7:
	- Check if cable test id done, rather than checking if test is in
	  progress

Dimitri Fedrau (14):
  net: phy: Add BaseT1 auto-negotiation constants
  net: phy: Support 100/1000BT1 linkmode advertisements
  net: phy: c45: detect 100/1000BASE-T1 linkmode advertisements
  net: phy: marvell-88q2xxx: fix typos
  net: phy: marvell-88q2xxx: add driver for the Marvell 88Q2220 PHY
  net: phy: marvell-88q2xxx: add interrupt support for link detection
  net: phy: marvell-88q2xxx: add suspend / resume ops
  net: phy: marvell-88q2xxx: add support for temperature sensor
  net: phy: marvell-88q2xxx: add cable test support
  net: phy: marvell-88q2xxx: make mv88q2xxx_config_aneg generic
  net: phy: marvell-88q2xxx: switch to mv88q2xxx_config_aneg
  net: phy: marvell-88q2xxx: cleanup mv88q2xxx_config_init
  net: phy: marvell-88q2xxx: remove duplicated assignment of pma_extable
  net: phy: marvell-88q2xxx: move interrupt configuration

 drivers/net/phy/Kconfig           |   1 +
 drivers/net/phy/marvell-88q2xxx.c | 640 ++++++++++++++++++++++++++++--
 drivers/net/phy/phy-c45.c         |   3 +-
 include/linux/marvell_phy.h       |   1 +
 include/linux/mdio.h              |   8 +
 include/uapi/linux/mdio.h         |   2 +
 6 files changed, 625 insertions(+), 30 deletions(-)
  

Comments

patchwork-bot+netdevbpf@kernel.org Feb. 21, 2024, 11:20 p.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Sun, 18 Feb 2024 08:57:37 +0100 you wrote:
> Changes in v2:
> 	- used defines MDIO_CTRL1_LPOWER and MDIO_PMA_CTRL1_SPEED1000
> 	  in mv88q222x_config_aneg_preinit
> 	- use genphy_c45_loopback
> 	- mv88q2xxx_read_status reads speed, master or slave state when
> 	  autonegotiation is enabled
> 	- added defines for magic values in mv88q222x_get_sqi
> 
> [...]

Here is the summary with links:
  - [v7,net-next,01/14] net: phy: Add BaseT1 auto-negotiation constants
    https://git.kernel.org/netdev/net-next/c/953cc643329b
  - [v7,net-next,02/14] net: phy: Support 100/1000BT1 linkmode advertisements
    https://git.kernel.org/netdev/net-next/c/ac0c530619ce
  - [v7,net-next,03/14] net: phy: c45: detect 100/1000BASE-T1 linkmode advertisements
    https://git.kernel.org/netdev/net-next/c/8d9a577f0eea
  - [v7,net-next,04/14] net: phy: marvell-88q2xxx: fix typos
    https://git.kernel.org/netdev/net-next/c/944767b00dd4
  - [v7,net-next,05/14] net: phy: marvell-88q2xxx: add driver for the Marvell 88Q2220 PHY
    https://git.kernel.org/netdev/net-next/c/e57e4c7f6cc9
  - [v7,net-next,06/14] net: phy: marvell-88q2xxx: add interrupt support for link detection
    https://git.kernel.org/netdev/net-next/c/caa858b75742
  - [v7,net-next,07/14] net: phy: marvell-88q2xxx: add suspend / resume ops
    https://git.kernel.org/netdev/net-next/c/5f9f361a3dab
  - [v7,net-next,08/14] net: phy: marvell-88q2xxx: add support for temperature sensor
    https://git.kernel.org/netdev/net-next/c/a557a92e6881
  - [v7,net-next,09/14] net: phy: marvell-88q2xxx: add cable test support
    https://git.kernel.org/netdev/net-next/c/560d9a39aeb0
  - [v7,net-next,10/14] net: phy: marvell-88q2xxx: make mv88q2xxx_config_aneg generic
    https://git.kernel.org/netdev/net-next/c/3810e029e23e
  - [v7,net-next,11/14] net: phy: marvell-88q2xxx: switch to mv88q2xxx_config_aneg
    https://git.kernel.org/netdev/net-next/c/969dd0cf295d
  - [v7,net-next,12/14] net: phy: marvell-88q2xxx: cleanup mv88q2xxx_config_init
    https://git.kernel.org/netdev/net-next/c/ec2660946a57
  - [v7,net-next,13/14] net: phy: marvell-88q2xxx: remove duplicated assignment of pma_extable
    https://git.kernel.org/netdev/net-next/c/923d3104f794
  - [v7,net-next,14/14] net: phy: marvell-88q2xxx: move interrupt configuration
    https://git.kernel.org/netdev/net-next/c/f29207d2e0fa

You are awesome, thank you!