162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/**************************************************************************** 362306a36Sopenharmony_ci * Driver for Solarflare network controllers and boards 462306a36Sopenharmony_ci * Copyright 2007-2010 Solarflare Communications Inc. 562306a36Sopenharmony_ci */ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#ifndef EF4_PHY_H 862306a36Sopenharmony_ci#define EF4_PHY_H 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci/**************************************************************************** 1162306a36Sopenharmony_ci * 10Xpress (SFX7101) PHY 1262306a36Sopenharmony_ci */ 1362306a36Sopenharmony_ciextern const struct ef4_phy_operations falcon_sfx7101_phy_ops; 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_civoid tenxpress_set_id_led(struct ef4_nic *efx, enum ef4_led_mode mode); 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci/**************************************************************************** 1862306a36Sopenharmony_ci * AMCC/Quake QT202x PHYs 1962306a36Sopenharmony_ci */ 2062306a36Sopenharmony_ciextern const struct ef4_phy_operations falcon_qt202x_phy_ops; 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci/* These PHYs provide various H/W control states for LEDs */ 2362306a36Sopenharmony_ci#define QUAKE_LED_LINK_INVAL (0) 2462306a36Sopenharmony_ci#define QUAKE_LED_LINK_STAT (1) 2562306a36Sopenharmony_ci#define QUAKE_LED_LINK_ACT (2) 2662306a36Sopenharmony_ci#define QUAKE_LED_LINK_ACTSTAT (3) 2762306a36Sopenharmony_ci#define QUAKE_LED_OFF (4) 2862306a36Sopenharmony_ci#define QUAKE_LED_ON (5) 2962306a36Sopenharmony_ci#define QUAKE_LED_LINK_INPUT (6) /* Pin is an input. */ 3062306a36Sopenharmony_ci/* What link the LED tracks */ 3162306a36Sopenharmony_ci#define QUAKE_LED_TXLINK (0) 3262306a36Sopenharmony_ci#define QUAKE_LED_RXLINK (8) 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_civoid falcon_qt202x_set_led(struct ef4_nic *p, int led, int state); 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci/**************************************************************************** 3762306a36Sopenharmony_ci* Transwitch CX4 retimer 3862306a36Sopenharmony_ci*/ 3962306a36Sopenharmony_ciextern const struct ef4_phy_operations falcon_txc_phy_ops; 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci#define TXC_GPIO_DIR_INPUT 0 4262306a36Sopenharmony_ci#define TXC_GPIO_DIR_OUTPUT 1 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_civoid falcon_txc_set_gpio_dir(struct ef4_nic *efx, int pin, int dir); 4562306a36Sopenharmony_civoid falcon_txc_set_gpio_val(struct ef4_nic *efx, int pin, int val); 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci#endif 48