xilinx_ll_temac_mdio.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. * Xilinx xps_ll_temac ethernet driver for u-boot
  3. *
  4. * MDIO bus access interface
  5. *
  6. * Copyright (C) 2011 - 2012 Stephan Linz <linz@li-pro.net>
  7. * Copyright (C) 2008 - 2011 Michal Simek <monstr@monstr.eu>
  8. * Copyright (C) 2008 - 2011 PetaLogix
  9. *
  10. * Based on Yoshio Kashiwagi kashiwagi@co-nss.co.jp driver
  11. * Copyright (C) 2008 Nissin Systems Co.,Ltd.
  12. * March 2008 created
  13. *
  14. * SPDX-License-Identifier: GPL-2.0+
  15. *
  16. * [0]: http://www.xilinx.com/support/documentation
  17. *
  18. * [S]: [0]/ip_documentation/xps_ll_temac.pdf
  19. * [A]: [0]/application_notes/xapp1041.pdf
  20. */
  21. #ifndef _XILINX_LL_TEMAC_MDIO_
  22. #define _XILINX_LL_TEMAC_MDIO_
  23. #include <net.h>
  24. #include <miiphy.h>
  25. #include <asm/types.h>
  26. #include <asm/byteorder.h>
  27. #include "xilinx_ll_temac.h"
  28. int ll_temac_local_mdio_read(struct temac_reg *regs, int addr, int devad,
  29. int regnum);
  30. void ll_temac_local_mdio_write(struct temac_reg *regs, int addr, int devad,
  31. int regnum, u16 value);
  32. int ll_temac_phy_read(struct mii_dev *bus, int addr, int devad, int regnum);
  33. int ll_temac_phy_write(struct mii_dev *bus, int addr, int devad, int regnum,
  34. u16 value);
  35. int ll_temac_phy_addr(struct mii_dev *bus);
  36. struct ll_temac_mdio_info {
  37. struct temac_reg *regs;
  38. char *name;
  39. };
  40. int xilinx_ll_temac_mdio_initialize(bd_t *bis, struct ll_temac_mdio_info *info);
  41. #endif /* _XILINX_LL_TEMAC_MDIO_ */