Hi Paul

Here is my stab at converting the OKI PCH GBE to use the common MDIO
bus and phylib drivers. This is compile tested only, and pretty much
guaranteed to be broken. But hopefully it will help you. Feel free to
pick it up and make it work. Without hardware, there is not much more
i can do, other than answer questions.

The handling of the GPIO for reset is possibly wrong.

1) It is probably active high, when active low is wanted. Your patch
   would sort this out.

2) It is possible the reset happens too late. Since there is no device
   tree binding for the minnow board, it is not possible to register
   the gpio with the core code until after it has been probed and
   attached to the MAC. If the PHY is being held in reset, it might
   not respond to the bus scan, and hence we fail to find it.  If that
   is true, we need a different solution.

Andrew Lunn (2):
  net: phy: at803x: Export at803x_debug_reg_mask()
  net: ethernet: pch_gbe: Convert to mdiobus and phylib

 drivers/net/ethernet/oki-semi/pch_gbe/Kconfig      |   1 +
 drivers/net/ethernet/oki-semi/pch_gbe/Makefile     |   2 +-
 drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe.h    |  35 +-
 .../net/ethernet/oki-semi/pch_gbe/pch_gbe_api.c    | 118 -------
 .../net/ethernet/oki-semi/pch_gbe/pch_gbe_api.h    |   8 +-
 .../ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c    |  89 +----
 .../net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c   | 373 ++++++++++----------
 .../net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c  | 265 ---------------
 .../net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c    | 377 ---------------------
 .../net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.h    |  37 --
 drivers/net/phy/at803x.c                           |   5 +-
 include/linux/at803x_phy.h                         |  16 +
 12 files changed, 227 insertions(+), 1099 deletions(-)
 delete mode 100644 drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.c
 delete mode 100644 drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_phy.h
 create mode 100644 include/linux/at803x_phy.h


Reply via email to