Series |
net:yt6801: Add Motorcomm yt6801 PCIe driver
|
expand
-
[net-next,v3,00/14] net:yt6801: Add Motorcomm yt6801 PCIe driver
-
[net-next,v3,02/14] motorcomm:yt6801: Add support for a pci table in this module
-
[net-next,v3,03/14] motorcomm:yt6801: Implement pci_driver shutdown
-
[net-next,v3,05/14] motorcomm:yt6801: Implement the .ndo_open function
-
[net-next,v3,06/14] motorcomm:yt6801: Implement the fxgmac_start function
-
[net-next,v3,07/14] phy:motorcomm: Add PHY_INTERFACE_MODE_INTERNAL to support YT6801
-
[net-next,v3,08/14] motorcomm:yt6801: Implement the fxgmac_hw_init function
-
[net-next,v3,12/14] motorcomm:yt6801: Implement pci_driver suspend and resume
-
[net-next,v3,13/14] motorcomm:yt6801: Add makefile and Kconfig
-
[net-next,v3,14/14] motorcomm:yt6801: update ethernet documentation and maintainer
-
[net-next,v3,01/14] motorcomm:yt6801: Implement mdio register
-
[net-next,v3,04/14] motorcomm:yt6801: Implement the fxgmac_init function
-
[net-next,v3,09/14] motorcomm:yt6801: Implement the poll functions
-
[net-next,v3,11/14] motorcomm:yt6801: Implement some net_device_ops function
-
[net-next,v3,10/14] motorcomm:yt6801: Implement .ndo_start_xmit function
|
This series includes adding Motorcomm YT6801 Gigabit ethernet driver and adding yt6801 ethernet driver entry in MAINTAINERS file. YT6801 integrates a YT8531S phy. Signed-off-by: Frank Sae <Frank.Sae@motor-comm.com> --- v3: - Remove about 5000 lines of code - Remove statistics, ethtool, WoL, PHY handling ... - Reorganize this driver code and remove redundant code - Remove unnecessary yt_dbg information - Remove netif_carrier_on/netif_carrier_off - Remove hw_ops - Add PHY_INTERFACE_MODE_INTERNAL mode in phy driver to support yt6801 - replease '#ifdef CONFIG_PCI_MSI' as 'if (IS_ENABLED(CONFIG_PCI_MSI) {}' - replease ‘fxgmac_pdata val’ as 'priv' v2: https://patchwork.kernel.org/project/netdevbpf/cover/20241120105625.22508-1-Frank.Sae@motor-comm.com/ - Split this driver into multiple patches. - Reorganize this driver code and remove redundant code - Remove PHY handling code and use phylib. - Remove writing ASPM config - Use generic power management instead of pci_driver.suspend()/resume() - Add Space before closing "*/" v1: https://patchwork.kernel.org/project/netdevbpf/patch/20240913124113.9174-1-Frank.Sae@motor-comm.com/ This patch is to add the ethernet device driver for the PCIe interface of Motorcomm YT6801 Gigabit Ethernet. We tested this driver on an Ubuntu x86 PC with YT6801 network card. Frank Sae (14): motorcomm:yt6801: Implement mdio register motorcomm:yt6801: Add support for a pci table in this module motorcomm:yt6801: Implement pci_driver shutdown motorcomm:yt6801: Implement the fxgmac_init function motorcomm:yt6801: Implement the .ndo_open function motorcomm:yt6801: Implement the fxgmac_start function phy:motorcomm: Add PHY_INTERFACE_MODE_INTERNAL to support YT6801 motorcomm:yt6801: Implement the fxgmac_hw_init function motorcomm:yt6801: Implement the poll functions motorcomm:yt6801: Implement .ndo_start_xmit function motorcomm:yt6801: Implement some net_device_ops function motorcomm:yt6801: Implement pci_driver suspend and resume motorcomm:yt6801: Add makefile and Kconfig motorcomm:yt6801: update ethernet documentation and maintainer .../device_drivers/ethernet/index.rst | 1 + .../ethernet/motorcomm/yt6801.rst | 20 + MAINTAINERS | 8 + drivers/net/ethernet/Kconfig | 1 + drivers/net/ethernet/Makefile | 1 + drivers/net/ethernet/motorcomm/Kconfig | 27 + drivers/net/ethernet/motorcomm/Makefile | 6 + .../net/ethernet/motorcomm/yt6801/Makefile | 8 + .../net/ethernet/motorcomm/yt6801/yt6801.h | 379 +++ .../ethernet/motorcomm/yt6801/yt6801_desc.c | 571 ++++ .../ethernet/motorcomm/yt6801/yt6801_desc.h | 35 + .../ethernet/motorcomm/yt6801/yt6801_net.c | 2876 +++++++++++++++++ .../ethernet/motorcomm/yt6801/yt6801_pci.c | 186 ++ .../ethernet/motorcomm/yt6801/yt6801_type.h | 967 ++++++ drivers/net/phy/motorcomm.c | 6 + 15 files changed, 5092 insertions(+) create mode 100644 Documentation/networking/device_drivers/ethernet/motorcomm/yt6801.rst create mode 100644 drivers/net/ethernet/motorcomm/Kconfig create mode 100644 drivers/net/ethernet/motorcomm/Makefile create mode 100644 drivers/net/ethernet/motorcomm/yt6801/Makefile create mode 100644 drivers/net/ethernet/motorcomm/yt6801/yt6801.h create mode 100644 drivers/net/ethernet/motorcomm/yt6801/yt6801_desc.c create mode 100644 drivers/net/ethernet/motorcomm/yt6801/yt6801_desc.h create mode 100644 drivers/net/ethernet/motorcomm/yt6801/yt6801_net.c create mode 100644 drivers/net/ethernet/motorcomm/yt6801/yt6801_pci.c create mode 100644 drivers/net/ethernet/motorcomm/yt6801/yt6801_type.h