Thomas Gleixner | d2912cb | 2019-06-04 10:11:33 +0200 | [diff] [blame^] | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 2 | /**************************************************************************** |
Ben Hutchings | f7a6d2c | 2013-08-29 23:32:48 +0100 | [diff] [blame] | 3 | * Driver for Solarflare network controllers and boards |
Ben Hutchings | 0a6f40c | 2011-02-25 00:01:34 +0000 | [diff] [blame] | 4 | * Copyright 2007-2010 Solarflare Communications Inc. |
Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 5 | */ |
| 6 | |
Edward Cree | 5a6681e | 2016-11-28 18:55:34 +0000 | [diff] [blame] | 7 | #ifndef EF4_PHY_H |
| 8 | #define EF4_PHY_H |
Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 9 | |
| 10 | /**************************************************************************** |
Ben Hutchings | 8fbca79 | 2010-09-22 10:00:11 +0000 | [diff] [blame] | 11 | * 10Xpress (SFX7101) PHY |
Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 12 | */ |
Edward Cree | 5a6681e | 2016-11-28 18:55:34 +0000 | [diff] [blame] | 13 | extern const struct ef4_phy_operations falcon_sfx7101_phy_ops; |
Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 14 | |
Edward Cree | 5a6681e | 2016-11-28 18:55:34 +0000 | [diff] [blame] | 15 | void tenxpress_set_id_led(struct ef4_nic *efx, enum ef4_led_mode mode); |
Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 16 | |
Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 17 | /**************************************************************************** |
Ben Hutchings | b37b62f | 2009-10-23 08:33:42 +0000 | [diff] [blame] | 18 | * AMCC/Quake QT202x PHYs |
Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 19 | */ |
Edward Cree | 5a6681e | 2016-11-28 18:55:34 +0000 | [diff] [blame] | 20 | extern const struct ef4_phy_operations falcon_qt202x_phy_ops; |
Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 21 | |
Ben Hutchings | d2d2c37 | 2009-02-27 13:07:33 +0000 | [diff] [blame] | 22 | /* These PHYs provide various H/W control states for LEDs */ |
Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 23 | #define QUAKE_LED_LINK_INVAL (0) |
| 24 | #define QUAKE_LED_LINK_STAT (1) |
| 25 | #define QUAKE_LED_LINK_ACT (2) |
| 26 | #define QUAKE_LED_LINK_ACTSTAT (3) |
| 27 | #define QUAKE_LED_OFF (4) |
| 28 | #define QUAKE_LED_ON (5) |
| 29 | #define QUAKE_LED_LINK_INPUT (6) /* Pin is an input. */ |
| 30 | /* What link the LED tracks */ |
| 31 | #define QUAKE_LED_TXLINK (0) |
| 32 | #define QUAKE_LED_RXLINK (8) |
| 33 | |
Edward Cree | 5a6681e | 2016-11-28 18:55:34 +0000 | [diff] [blame] | 34 | void falcon_qt202x_set_led(struct ef4_nic *p, int led, int state); |
Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 35 | |
Ben Hutchings | 8880f4e | 2009-11-29 15:15:41 +0000 | [diff] [blame] | 36 | /**************************************************************************** |
Ben Hutchings | 7e51b43 | 2010-09-22 10:00:47 +0000 | [diff] [blame] | 37 | * Transwitch CX4 retimer |
| 38 | */ |
Edward Cree | 5a6681e | 2016-11-28 18:55:34 +0000 | [diff] [blame] | 39 | extern const struct ef4_phy_operations falcon_txc_phy_ops; |
Ben Hutchings | 7e51b43 | 2010-09-22 10:00:47 +0000 | [diff] [blame] | 40 | |
| 41 | #define TXC_GPIO_DIR_INPUT 0 |
| 42 | #define TXC_GPIO_DIR_OUTPUT 1 |
| 43 | |
Edward Cree | 5a6681e | 2016-11-28 18:55:34 +0000 | [diff] [blame] | 44 | void falcon_txc_set_gpio_dir(struct ef4_nic *efx, int pin, int dir); |
| 45 | void falcon_txc_set_gpio_val(struct ef4_nic *efx, int pin, int val); |
Ben Hutchings | 7e51b43 | 2010-09-22 10:00:47 +0000 | [diff] [blame] | 46 | |
Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 47 | #endif |