mbox series

[v2,0/5] Consolidate lan9118 phy implementations

Message ID 20241016212407.139390-1-shentey@gmail.com (mailing list archive)
Headers show
Series Consolidate lan9118 phy implementations | expand

Message

Bernhard Beschow Oct. 16, 2024, 9:24 p.m. UTC
hw/net/imx_fec and hw/net/lan9118 implement the same Ethernet PHY with similar
but not quite the same code. This series consolidates the implementations into
one to fix code duplication. It then continues to make the code more readable by
reusing some existing constants.

Having a dedicated module for the PHY allows it to be reused in even further
device models.

Testing done:
* Run my usual sabrelite load and verify that network works.
* Build and run Buildroot's qemu_arm_vexpress_defconfig which includes lan9118
  and check on serial console that IP address gets assigned.

v2:
* QOM'ify + mention boards whose migratability will be broken (Peter)

Bernhard Beschow (5):
  hw/resettable: Add SOFT reset type
  hw/net/lan9118: Extract lan9118_phy
  hw/net/lan9118_phy: Reuse in imx_fec and consolidate implementations
  hw/net/lan9118_phy: Reuse MII constants
  hw/net/lan9118_phy: Add missing 100 mbps full duplex advertisement

 include/hw/net/imx_fec.h     |   9 +-
 include/hw/net/lan9118_phy.h |  36 ++++++
 include/hw/net/mii.h         |   6 +
 include/hw/resettable.h      |   1 +
 hw/net/imx_fec.c             | 146 +++---------------------
 hw/net/lan9118.c             | 137 ++++------------------
 hw/net/lan9118_phy.c         | 215 +++++++++++++++++++++++++++++++++++
 hw/net/Kconfig               |   5 +
 hw/net/meson.build           |   1 +
 hw/net/trace-events          |  10 +-
 10 files changed, 311 insertions(+), 255 deletions(-)
 create mode 100644 include/hw/net/lan9118_phy.h
 create mode 100644 hw/net/lan9118_phy.c