phy.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /****************************************************************************
  2. * Driver for Solarflare Solarstorm network controllers and boards
  3. * Copyright 2007 Solarflare Communications Inc.
  4. *
  5. * This program is free software; you can redistribute it and/or modify it
  6. * under the terms of the GNU General Public License version 2 as published
  7. * by the Free Software Foundation, incorporated herein by reference.
  8. */
  9. #ifndef EFX_PHY_H
  10. #define EFX_PHY_H
  11. /****************************************************************************
  12. * 10Xpress (SFX7101) PHY
  13. */
  14. extern struct efx_phy_operations falcon_tenxpress_phy_ops;
  15. enum tenxpress_state {
  16. TENXPRESS_STATUS_OFF = 0,
  17. TENXPRESS_STATUS_OTEMP = 1,
  18. TENXPRESS_STATUS_NORMAL = 2,
  19. };
  20. extern void tenxpress_set_state(struct efx_nic *efx,
  21. enum tenxpress_state state);
  22. extern void tenxpress_phy_blink(struct efx_nic *efx, int blink);
  23. extern void tenxpress_crc_err(struct efx_nic *efx);
  24. /****************************************************************************
  25. * Exported functions from the driver for XFP optical PHYs
  26. */
  27. extern struct efx_phy_operations falcon_xfp_phy_ops;
  28. /* The QUAKE XFP PHY provides various H/W control states for LEDs */
  29. #define QUAKE_LED_LINK_INVAL (0)
  30. #define QUAKE_LED_LINK_STAT (1)
  31. #define QUAKE_LED_LINK_ACT (2)
  32. #define QUAKE_LED_LINK_ACTSTAT (3)
  33. #define QUAKE_LED_OFF (4)
  34. #define QUAKE_LED_ON (5)
  35. #define QUAKE_LED_LINK_INPUT (6) /* Pin is an input. */
  36. /* What link the LED tracks */
  37. #define QUAKE_LED_TXLINK (0)
  38. #define QUAKE_LED_RXLINK (8)
  39. extern void xfp_set_led(struct efx_nic *p, int led, int state);
  40. #endif