1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2001-2020 Intel Corporation 3 */ 4 5 #ifndef _IXGBE_X550_H_ 6 #define _IXGBE_X550_H_ 7 8 #include "ixgbe_type.h" 9 10 s32 ixgbe_dmac_config_X550(struct ixgbe_hw *hw); 11 s32 ixgbe_dmac_config_tcs_X550(struct ixgbe_hw *hw); 12 s32 ixgbe_dmac_update_tcs_X550(struct ixgbe_hw *hw); 13 14 s32 ixgbe_get_bus_info_X550em(struct ixgbe_hw *hw); 15 s32 ixgbe_init_eeprom_params_X550(struct ixgbe_hw *hw); 16 s32 ixgbe_update_eeprom_checksum_X550(struct ixgbe_hw *hw); 17 s32 ixgbe_calc_eeprom_checksum_X550(struct ixgbe_hw *hw); 18 s32 ixgbe_calc_checksum_X550(struct ixgbe_hw *hw, u16 *buffer, u32 buffer_size); 19 s32 ixgbe_validate_eeprom_checksum_X550(struct ixgbe_hw *hw, u16 *checksum_val); 20 s32 ixgbe_update_flash_X550(struct ixgbe_hw *hw); 21 s32 ixgbe_write_ee_hostif_buffer_X550(struct ixgbe_hw *hw, 22 u16 offset, u16 words, u16 *data); 23 s32 ixgbe_write_ee_hostif_X550(struct ixgbe_hw *hw, u16 offset, 24 u16 data); 25 s32 ixgbe_read_ee_hostif_buffer_X550(struct ixgbe_hw *hw, 26 u16 offset, u16 words, u16 *data); 27 s32 ixgbe_read_ee_hostif_X550(struct ixgbe_hw *hw, u16 offset, 28 u16 *data); 29 s32 ixgbe_write_ee_hostif_data_X550(struct ixgbe_hw *hw, u16 offset, 30 u16 data); 31 void ixgbe_set_source_address_pruning_X550(struct ixgbe_hw *hw, bool enable, 32 unsigned int pool); 33 void ixgbe_set_ethertype_anti_spoofing_X550(struct ixgbe_hw *hw, 34 bool enable, int vf); 35 s32 ixgbe_write_iosf_sb_reg_x550(struct ixgbe_hw *hw, u32 reg_addr, 36 u32 device_type, u32 data); 37 s32 ixgbe_read_iosf_sb_reg_x550(struct ixgbe_hw *hw, u32 reg_addr, 38 u32 device_type, u32 *data); 39 s32 ixgbe_set_fw_drv_ver_x550(struct ixgbe_hw *hw, u8 maj, u8 min, 40 u8 build, u8 ver, u16 len, const char *str); 41 s32 ixgbe_get_phy_token(struct ixgbe_hw *); 42 s32 ixgbe_put_phy_token(struct ixgbe_hw *); 43 s32 ixgbe_write_iosf_sb_reg_x550a(struct ixgbe_hw *hw, u32 reg_addr, 44 u32 device_type, u32 data); 45 s32 ixgbe_read_iosf_sb_reg_x550a(struct ixgbe_hw *hw, u32 reg_addr, 46 u32 device_type, u32 *data); 47 void ixgbe_disable_mdd_X550(struct ixgbe_hw *hw); 48 void ixgbe_enable_mdd_X550(struct ixgbe_hw *hw); 49 void ixgbe_mdd_event_X550(struct ixgbe_hw *hw, u32 *vf_bitmap); 50 void ixgbe_restore_mdd_vf_X550(struct ixgbe_hw *hw, u32 vf); 51 enum ixgbe_media_type ixgbe_get_media_type_X550em(struct ixgbe_hw *hw); 52 s32 ixgbe_setup_sfp_modules_X550em(struct ixgbe_hw *hw); 53 s32 ixgbe_get_link_capabilities_X550em(struct ixgbe_hw *hw, 54 ixgbe_link_speed *speed, bool *autoneg); 55 void ixgbe_init_mac_link_ops_X550em(struct ixgbe_hw *hw); 56 s32 ixgbe_reset_hw_X550em(struct ixgbe_hw *hw); 57 s32 ixgbe_init_phy_ops_X550em(struct ixgbe_hw *hw); 58 s32 ixgbe_setup_kr_x550em(struct ixgbe_hw *hw); 59 s32 ixgbe_init_ext_t_x550em(struct ixgbe_hw *hw); 60 s32 ixgbe_setup_internal_phy_t_x550em(struct ixgbe_hw *hw); 61 s32 ixgbe_setup_phy_loopback_x550em(struct ixgbe_hw *hw); 62 u64 ixgbe_get_supported_physical_layer_X550em(struct ixgbe_hw *hw); 63 void ixgbe_disable_rx_x550(struct ixgbe_hw *hw); 64 s32 ixgbe_get_lcd_t_x550em(struct ixgbe_hw *hw, ixgbe_link_speed *lcd_speed); 65 s32 ixgbe_enter_lplu_t_x550em(struct ixgbe_hw *hw); 66 s32 ixgbe_acquire_swfw_sync_X550em(struct ixgbe_hw *hw, u32 mask); 67 void ixgbe_release_swfw_sync_X550em(struct ixgbe_hw *hw, u32 mask); 68 s32 ixgbe_setup_fc_X550em(struct ixgbe_hw *hw); 69 s32 ixgbe_setup_mac_link_sfp_x550em(struct ixgbe_hw *hw, 70 ixgbe_link_speed speed, 71 bool autoneg_wait_to_complete); 72 s32 ixgbe_setup_mac_link_sfp_x550a(struct ixgbe_hw *hw, 73 ixgbe_link_speed speed, 74 bool autoneg_wait_to_complete); 75 s32 ixgbe_read_phy_reg_x550a(struct ixgbe_hw *hw, u32 reg_addr, 76 u32 device_type, u16 *phy_data); 77 s32 ixgbe_write_phy_reg_x550a(struct ixgbe_hw *hw, u32 reg_addr, 78 u32 device_type, u16 phy_data); 79 s32 ixgbe_setup_fc_fiber_x550em_a(struct ixgbe_hw *hw); 80 s32 ixgbe_setup_fc_backplane_x550em_a(struct ixgbe_hw *hw); 81 s32 ixgbe_setup_fc_sgmii_x550em_a(struct ixgbe_hw *hw); 82 void ixgbe_fc_autoneg_fiber_x550em_a(struct ixgbe_hw *hw); 83 void ixgbe_fc_autoneg_backplane_x550em_a(struct ixgbe_hw *hw); 84 void ixgbe_fc_autoneg_sgmii_x550em_a(struct ixgbe_hw *hw); 85 s32 ixgbe_handle_lasi_ext_t_x550em(struct ixgbe_hw *hw); 86 s32 ixgbe_setup_mac_link_t_X550em(struct ixgbe_hw *hw, 87 ixgbe_link_speed speed, 88 bool autoneg_wait_to_complete); 89 s32 ixgbe_check_link_t_X550em(struct ixgbe_hw *hw, ixgbe_link_speed *speed, 90 bool *link_up, bool link_up_wait_to_complete); 91 s32 ixgbe_reset_phy_t_X550em(struct ixgbe_hw *hw); 92 s32 ixgbe_identify_sfp_module_X550em(struct ixgbe_hw *hw); 93 s32 ixgbe_led_on_t_X550em(struct ixgbe_hw *hw, u32 led_idx); 94 s32 ixgbe_led_off_t_X550em(struct ixgbe_hw *hw, u32 led_idx); 95 bool ixgbe_fw_recovery_mode_X550(struct ixgbe_hw *hw); 96 #endif /* _IXGBE_X550_H_ */ 97