Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 1 | /**************************************************************************** |
Ben Hutchings | f7a6d2c | 2013-08-29 23:32:48 +0100 | [diff] [blame] | 2 | * Driver for Solarflare network controllers and boards |
Ben Hutchings | 0a6f40c | 2011-02-25 00:01:34 +0000 | [diff] [blame] | 3 | * Copyright 2007-2010 Solarflare Communications Inc. |
Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 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 | /**************************************************************************** |
Ben Hutchings | 8fbca79 | 2010-09-22 10:00:11 +0000 | [diff] [blame] | 14 | * 10Xpress (SFX7101) PHY |
Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 15 | */ |
stephen hemminger | 6c8c251 | 2011-04-14 05:50:12 +0000 | [diff] [blame] | 16 | extern const struct efx_phy_operations falcon_sfx7101_phy_ops; |
Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 17 | |
Joe Perches | 00aef98 | 2013-09-23 11:37:59 -0700 | [diff] [blame] | 18 | void tenxpress_set_id_led(struct efx_nic *efx, enum efx_led_mode mode); |
Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 19 | |
Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 20 | /**************************************************************************** |
Ben Hutchings | b37b62f | 2009-10-23 08:33:42 +0000 | [diff] [blame] | 21 | * AMCC/Quake QT202x PHYs |
Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 22 | */ |
stephen hemminger | 6c8c251 | 2011-04-14 05:50:12 +0000 | [diff] [blame] | 23 | extern const struct efx_phy_operations falcon_qt202x_phy_ops; |
Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 24 | |
Ben Hutchings | d2d2c37 | 2009-02-27 13:07:33 +0000 | [diff] [blame] | 25 | /* These PHYs provide various H/W control states for LEDs */ |
Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 26 | #define QUAKE_LED_LINK_INVAL (0) |
| 27 | #define QUAKE_LED_LINK_STAT (1) |
| 28 | #define QUAKE_LED_LINK_ACT (2) |
| 29 | #define QUAKE_LED_LINK_ACTSTAT (3) |
| 30 | #define QUAKE_LED_OFF (4) |
| 31 | #define QUAKE_LED_ON (5) |
| 32 | #define QUAKE_LED_LINK_INPUT (6) /* Pin is an input. */ |
| 33 | /* What link the LED tracks */ |
| 34 | #define QUAKE_LED_TXLINK (0) |
| 35 | #define QUAKE_LED_RXLINK (8) |
| 36 | |
Joe Perches | 00aef98 | 2013-09-23 11:37:59 -0700 | [diff] [blame] | 37 | void falcon_qt202x_set_led(struct efx_nic *p, int led, int state); |
Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 38 | |
Ben Hutchings | 8880f4e | 2009-11-29 15:15:41 +0000 | [diff] [blame] | 39 | /**************************************************************************** |
Ben Hutchings | 7e51b43 | 2010-09-22 10:00:47 +0000 | [diff] [blame] | 40 | * Transwitch CX4 retimer |
| 41 | */ |
stephen hemminger | 6c8c251 | 2011-04-14 05:50:12 +0000 | [diff] [blame] | 42 | extern const struct efx_phy_operations falcon_txc_phy_ops; |
Ben Hutchings | 7e51b43 | 2010-09-22 10:00:47 +0000 | [diff] [blame] | 43 | |
| 44 | #define TXC_GPIO_DIR_INPUT 0 |
| 45 | #define TXC_GPIO_DIR_OUTPUT 1 |
| 46 | |
Joe Perches | 00aef98 | 2013-09-23 11:37:59 -0700 | [diff] [blame] | 47 | void falcon_txc_set_gpio_dir(struct efx_nic *efx, int pin, int dir); |
| 48 | void falcon_txc_set_gpio_val(struct efx_nic *efx, int pin, int val); |
Ben Hutchings | 7e51b43 | 2010-09-22 10:00:47 +0000 | [diff] [blame] | 49 | |
Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 50 | #endif |