[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230422045621.360918-1-jiawenwu@trustnetic.com>
Date: Sat, 22 Apr 2023 12:56:13 +0800
From: Jiawen Wu <jiawenwu@...stnetic.com>
To: netdev@...r.kernel.org, andrew@...n.ch, linux@...linux.org.uk,
jarkko.nikula@...ux.intel.com, olteanv@...il.com,
andriy.shevchenko@...ux.intel.com, hkallweit1@...il.com
Cc: linux-i2c@...r.kernel.org, linux-gpio@...r.kernel.org,
mengyuanlou@...-swift.com, Jiawen Wu <jiawenwu@...stnetic.com>
Subject: [PATCH net-next v4 0/8] TXGBE PHYLINK support
Implement I2C, SFP, GPIO and PHYLINK to setup TXGBE link.
Because our I2C and PCS are based on Synopsys Designware IP-core, extend
the i2c-designware and pcs-xpcs driver to realize our functions.
v3 -> v4:
- modify I2C transfer to be generic implementation
- avoid to read DW_IC_COMP_PARAM_1
- remove redundant "if" statement
- add specific labels to handle error in txgbe_init_phy(), and remove
"if" conditions in txgbe_remove_phy()
v2 -> v3:
- delete own I2C bus master driver, support it in i2c-designware
- delete own PCS functions, remove pma configuration and 1000BASE-X mode
- add basic function for 10GBASE-R interface in pcs-xpcs
- add helper to get txgbe pointer from netdev
v1 -> v2:
- add comments to indicate GPIO lines
- add I2C write operation support
- modify GPIO direction functions
- rename functions related to PHY interface
- add condition on interface changing to re-config PCS
- add to set advertise and fix to get status for 1000BASE-X mode
- other redundant codes remove
Jiawen Wu (8):
net: txgbe: Add software nodes to support phylink
i2c: designware: Add driver support for Wangxun 10Gb NIC
net: txgbe: Register I2C platform device
net: txgbe: Add SFP module identify
net: txgbe: Support GPIO to SFP socket
net: pcs: Add 10GBASE-R mode for Synopsys Designware XPCS
net: txgbe: Implement phylink pcs
net: txgbe: Support phylink MAC layer
drivers/i2c/busses/i2c-designware-common.c | 8 +
drivers/i2c/busses/i2c-designware-core.h | 1 +
drivers/i2c/busses/i2c-designware-master.c | 84 ++-
drivers/i2c/busses/i2c-designware-platdrv.c | 36 +-
drivers/net/ethernet/wangxun/Kconfig | 6 +
drivers/net/ethernet/wangxun/libwx/wx_lib.c | 3 +-
drivers/net/ethernet/wangxun/libwx/wx_type.h | 3 +
drivers/net/ethernet/wangxun/txgbe/Makefile | 1 +
.../ethernet/wangxun/txgbe/txgbe_ethtool.c | 28 +
.../net/ethernet/wangxun/txgbe/txgbe_main.c | 63 +-
.../net/ethernet/wangxun/txgbe/txgbe_phy.c | 570 ++++++++++++++++++
.../net/ethernet/wangxun/txgbe/txgbe_phy.h | 10 +
.../net/ethernet/wangxun/txgbe/txgbe_type.h | 92 +++
drivers/net/pcs/pcs-xpcs.c | 56 ++
include/linux/pcs/pcs-xpcs.h | 1 +
include/linux/platform_data/i2c-dw.h | 15 +
16 files changed, 940 insertions(+), 37 deletions(-)
create mode 100644 drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
create mode 100644 drivers/net/ethernet/wangxun/txgbe/txgbe_phy.h
create mode 100644 include/linux/platform_data/i2c-dw.h
--
2.27.0
Powered by blists - more mailing lists