| /**************************************************************************** |
| * Driver for Solarflare Solarstorm network controllers and boards |
| * Copyright 2007 Solarflare Communications Inc. |
| * |
| * This program is free software; you can redistribute it and/or modify it |
| * under the terms of the GNU General Public License version 2 as published |
| * by the Free Software Foundation, incorporated herein by reference. |
| */ |
| |
| #ifndef EFX_PHY_H |
| #define EFX_PHY_H |
| |
| /**************************************************************************** |
| * 10Xpress (SFX7101) PHY |
| */ |
| extern struct efx_phy_operations falcon_tenxpress_phy_ops; |
| |
| enum tenxpress_state { |
| TENXPRESS_STATUS_OFF = 0, |
| TENXPRESS_STATUS_OTEMP = 1, |
| TENXPRESS_STATUS_NORMAL = 2, |
| }; |
| |
| extern void tenxpress_set_state(struct efx_nic *efx, |
| enum tenxpress_state state); |
| extern void tenxpress_phy_blink(struct efx_nic *efx, int blink); |
| extern void tenxpress_crc_err(struct efx_nic *efx); |
| |
| /**************************************************************************** |
| * Exported functions from the driver for XFP optical PHYs |
| */ |
| extern struct efx_phy_operations falcon_xfp_phy_ops; |
| |
| /* The QUAKE XFP PHY provides various H/W control states for LEDs */ |
| #define QUAKE_LED_LINK_INVAL (0) |
| #define QUAKE_LED_LINK_STAT (1) |
| #define QUAKE_LED_LINK_ACT (2) |
| #define QUAKE_LED_LINK_ACTSTAT (3) |
| #define QUAKE_LED_OFF (4) |
| #define QUAKE_LED_ON (5) |
| #define QUAKE_LED_LINK_INPUT (6) /* Pin is an input. */ |
| /* What link the LED tracks */ |
| #define QUAKE_LED_TXLINK (0) |
| #define QUAKE_LED_RXLINK (8) |
| |
| extern void xfp_set_led(struct efx_nic *p, int led, int state); |
| |
| #endif |