Implement I2C, SFP, GPIO and PHYLINK to setup TXGBE link and switch link rate based on optical module information. 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 (6): net: txgbe: Add software nodes to support phylink net: txgbe: Implement I2C bus master driver net: txgbe: Add SFP module identify net: txgbe: Support GPIO to SFP socket net: txgbe: Implement phylink pcs net: txgbe: Support phylink MAC layer drivers/net/ethernet/wangxun/Kconfig | 5 + 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 | 34 + .../net/ethernet/wangxun/txgbe/txgbe_main.c | 58 +- .../net/ethernet/wangxun/txgbe/txgbe_phy.c | 980 ++++++++++++++++++ .../net/ethernet/wangxun/txgbe/txgbe_phy.h | 10 + .../net/ethernet/wangxun/txgbe/txgbe_type.h | 157 +++ 9 files changed, 1219 insertions(+), 32 deletions(-) create mode 100644 drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c create mode 100644 drivers/net/ethernet/wangxun/txgbe/txgbe_phy.h -- 2.27.0