162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* Copyright (c) 2018 Intel Corporation */ 362306a36Sopenharmony_ci 462306a36Sopenharmony_ci#ifndef _IGC_PHY_H_ 562306a36Sopenharmony_ci#define _IGC_PHY_H_ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#include "igc_mac.h" 862306a36Sopenharmony_ci 962306a36Sopenharmony_cis32 igc_check_reset_block(struct igc_hw *hw); 1062306a36Sopenharmony_cis32 igc_phy_hw_reset(struct igc_hw *hw); 1162306a36Sopenharmony_cis32 igc_get_phy_id(struct igc_hw *hw); 1262306a36Sopenharmony_cis32 igc_phy_has_link(struct igc_hw *hw, u32 iterations, 1362306a36Sopenharmony_ci u32 usec_interval, bool *success); 1462306a36Sopenharmony_civoid igc_check_downshift(struct igc_hw *hw); 1562306a36Sopenharmony_cis32 igc_setup_copper_link(struct igc_hw *hw); 1662306a36Sopenharmony_civoid igc_power_up_phy_copper(struct igc_hw *hw); 1762306a36Sopenharmony_civoid igc_power_down_phy_copper(struct igc_hw *hw); 1862306a36Sopenharmony_cis32 igc_write_phy_reg_gpy(struct igc_hw *hw, u32 offset, u16 data); 1962306a36Sopenharmony_cis32 igc_read_phy_reg_gpy(struct igc_hw *hw, u32 offset, u16 *data); 2062306a36Sopenharmony_ciu16 igc_read_phy_fw_version(struct igc_hw *hw); 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci#endif 23