diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2008-04-27 07:55:59 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-04-29 01:42:43 -0400 |
commit | 8ceee660aacb29721e26f08e336c58dc4847d1bd (patch) | |
tree | 158122642e6f21fe85d072c50d6185a0d0cf6834 /drivers/net/sfc/phy.h | |
parent | 358c12953b88c5a06a57c33eb27c753b2e7934d1 (diff) |
New driver "sfc" for Solarstorm SFC4000 controller.
The driver supports the 10Xpress PHY and XFP modules on our reference
designs SFE4001 and SFE4002 and the SMC models SMC10GPCIe-XFP and
SMC10GPCIe-10BT.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/net/sfc/phy.h')
-rw-r--r-- | drivers/net/sfc/phy.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/drivers/net/sfc/phy.h b/drivers/net/sfc/phy.h new file mode 100644 index 000000000000..9d02c84e6b2d --- /dev/null +++ b/drivers/net/sfc/phy.h | |||
@@ -0,0 +1,48 @@ | |||
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 | |||
10 | #ifndef EFX_PHY_H | ||
11 | #define EFX_PHY_H | ||
12 | |||
13 | /**************************************************************************** | ||
14 | * 10Xpress (SFX7101) PHY | ||
15 | */ | ||
16 | extern struct efx_phy_operations falcon_tenxpress_phy_ops; | ||
17 | |||
18 | enum tenxpress_state { | ||
19 | TENXPRESS_STATUS_OFF = 0, | ||
20 | TENXPRESS_STATUS_OTEMP = 1, | ||
21 | TENXPRESS_STATUS_NORMAL = 2, | ||
22 | }; | ||
23 | |||
24 | extern void tenxpress_set_state(struct efx_nic *efx, | ||
25 | enum tenxpress_state state); | ||
26 | extern void tenxpress_phy_blink(struct efx_nic *efx, int blink); | ||
27 | extern void tenxpress_crc_err(struct efx_nic *efx); | ||
28 | |||
29 | /**************************************************************************** | ||
30 | * Exported functions from the driver for XFP optical PHYs | ||
31 | */ | ||
32 | extern struct efx_phy_operations falcon_xfp_phy_ops; | ||
33 | |||
34 | /* The QUAKE XFP PHY provides various H/W control states for LEDs */ | ||
35 | #define QUAKE_LED_LINK_INVAL (0) | ||
36 | #define QUAKE_LED_LINK_STAT (1) | ||
37 | #define QUAKE_LED_LINK_ACT (2) | ||
38 | #define QUAKE_LED_LINK_ACTSTAT (3) | ||
39 | #define QUAKE_LED_OFF (4) | ||
40 | #define QUAKE_LED_ON (5) | ||
41 | #define QUAKE_LED_LINK_INPUT (6) /* Pin is an input. */ | ||
42 | /* What link the LED tracks */ | ||
43 | #define QUAKE_LED_TXLINK (0) | ||
44 | #define QUAKE_LED_RXLINK (8) | ||
45 | |||
46 | extern void xfp_set_led(struct efx_nic *p, int led, int state); | ||
47 | |||
48 | #endif | ||