[U-Boot] [RFC 0/7] Universal PHY Infrastructure

Andy Fleming afleming at freescale.com
Tue Mar 29 21:30:03 CEST 2011


Or PHY Lib for U-Boot.

This sequence of patches adds infrastructure for universally-available PHY
drivers (and MDIO drivers).  It piggy-backs on the existing miiphy code, for
backwards compatibility, but it also creates a new set of APIs. This was
necessary partly to provide cleaner interfaces for more robust driver
support, and partly because one goal was to support 10G (802.3 Clause 45) MDIO
buses, which has an extra argument for addressing PHY registers.

The first three patches clear the way, and are in this sequence mostly
because the tsec changes depend on them.

Special thanks goes to Mingkai Hu, who did a substantial amount
of work up front to convert the tsec PHY code into something more usable,
which I have mostly copied for the purposes of PHY Lib.

As the subject says, these are submitted here for comment.  I hope they
will go in for the presumptive June release.

Andy Fleming (5):
  Remove instances of phy_read/write
  Create PHY Lib for U-Boot
  Add mdio command for new PHY infrastructure
  phylib: Add a bunch of PHY drivers from tsec
  tsec: Convert tsec to use PHY Lib

Mingkai Hu (2):
  tsec: use IO accessories to access the register
  tsec: arrange the code to avoid useless function declaration

 arch/powerpc/include/asm/config.h         |    7 +
 arch/powerpc/include/asm/fsl_enet.h       |   10 +
 board/freescale/mpc837xemds/mpc837xemds.c |    7 +
 board/freescale/mpc8536ds/mpc8536ds.c     |    6 +
 board/freescale/mpc8544ds/mpc8544ds.c     |   30 +
 board/freescale/mpc8572ds/mpc8572ds.c     |    6 +
 board/freescale/p1022ds/p1022ds.c         |    6 +
 board/freescale/p1_p2_rdb/p1_p2_rdb.c     |    6 +
 board/freescale/p2020ds/p2020ds.c         |    7 +
 common/Makefile                           |    4 +
 common/cmd_mdio.c                         |  293 +++++
 common/miiphyutil.c                       |  173 +++-
 drivers/net/Makefile                      |    2 +-
 drivers/net/dm9000x.c                     |   18 +-
 drivers/net/enc28j60.c                    |   24 +-
 drivers/net/fsl_mdio.c                    |  117 ++
 drivers/net/phy/Makefile                  |   11 +
 drivers/net/phy/atheros.c                 |   37 +
 drivers/net/phy/broadcom.c                |  275 ++++
 drivers/net/phy/davicom.c                 |   86 ++
 drivers/net/phy/lxt.c                     |   76 ++
 drivers/net/phy/marvell.c                 |  357 ++++++
 drivers/net/phy/micrel.c                  |   29 +
 drivers/net/phy/natsemi.c                 |   85 ++
 drivers/net/phy/phy.c                     |  733 +++++++++++
 drivers/net/phy/realtek.c                 |  120 ++
 drivers/net/phy/teranetics.c              |   43 +
 drivers/net/phy/vitesse.c                 |  330 +++++
 drivers/net/tsec.c                        | 1966 ++++-------------------------
 drivers/net/uli526x.c                     |   24 +-
 drivers/qe/uec.c                          |    3 -
 drivers/qe/uec_phy.c                      |  145 ++--
 include/fsl_mdio.h                        |   62 +
 include/miiphy.h                          |   31 +
 include/phy.h                             |  498 ++++++++
 include/phylib_all_drivers.h              |   25 +
 include/tsec.h                            |  302 +----
 net/eth.c                                 |    6 +
 38 files changed, 3860 insertions(+), 2100 deletions(-)
 create mode 100644 common/cmd_mdio.c
 create mode 100644 drivers/net/fsl_mdio.c
 create mode 100644 drivers/net/phy/atheros.c
 create mode 100644 drivers/net/phy/broadcom.c
 create mode 100644 drivers/net/phy/davicom.c
 create mode 100644 drivers/net/phy/lxt.c
 create mode 100644 drivers/net/phy/marvell.c
 create mode 100644 drivers/net/phy/micrel.c
 create mode 100644 drivers/net/phy/natsemi.c
 create mode 100644 drivers/net/phy/phy.c
 create mode 100644 drivers/net/phy/realtek.c
 create mode 100644 drivers/net/phy/teranetics.c
 create mode 100644 drivers/net/phy/vitesse.c
 create mode 100644 include/fsl_mdio.h
 create mode 100644 include/phy.h
 create mode 100644 include/phylib_all_drivers.h




More information about the U-Boot mailing list