xref: /linux/drivers/net/ethernet/intel/igc/igc_phy.h (revision 3d0fe49454652117522f60bfbefb978ba0e5300b)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (c)  2018 Intel Corporation */
3 
4 #ifndef _IGC_PHY_H_
5 #define _IGC_PHY_H_
6 
7 #include "igc_mac.h"
8 
9 s32 igc_check_reset_block(struct igc_hw *hw);
10 s32 igc_phy_hw_reset(struct igc_hw *hw);
11 s32 igc_get_phy_id(struct igc_hw *hw);
12 s32 igc_phy_has_link(struct igc_hw *hw, u32 iterations,
13 		     u32 usec_interval, bool *success);
14 void igc_check_downshift(struct igc_hw *hw);
15 s32 igc_setup_copper_link(struct igc_hw *hw);
16 void igc_power_up_phy_copper(struct igc_hw *hw);
17 void igc_power_down_phy_copper(struct igc_hw *hw);
18 s32 igc_write_phy_reg_gpy(struct igc_hw *hw, u32 offset, u16 data);
19 s32 igc_read_phy_reg_gpy(struct igc_hw *hw, u32 offset, u16 *data);
20 u16 igc_read_phy_fw_version(struct igc_hw *hw);
21 
22 #endif
23