1*3b70601bSjsg /* $OpenBSD: igc_api.h,v 1.3 2024/06/09 05:18:12 jsg Exp $ */ 283306792Spatrick /*- 383306792Spatrick * Copyright 2021 Intel Corp 483306792Spatrick * Copyright 2021 Rubicon Communications, LLC (Netgate) 583306792Spatrick * SPDX-License-Identifier: BSD-3-Clause 683306792Spatrick * 783306792Spatrick * $FreeBSD$ 883306792Spatrick */ 983306792Spatrick 1083306792Spatrick #ifndef _IGC_API_H_ 1183306792Spatrick #define _IGC_API_H_ 1283306792Spatrick 1383306792Spatrick #include <dev/pci/if_igc.h> 1483306792Spatrick #include <dev/pci/igc_hw.h> 1583306792Spatrick 1683306792Spatrick extern void igc_init_function_pointers_i225(struct igc_hw *); 1783306792Spatrick 1883306792Spatrick int igc_set_mac_type(struct igc_hw *); 1983306792Spatrick int igc_setup_init_funcs(struct igc_hw *, bool); 2083306792Spatrick int igc_init_mac_params(struct igc_hw *); 2183306792Spatrick int igc_init_nvm_params(struct igc_hw *); 2283306792Spatrick int igc_init_phy_params(struct igc_hw *); 2383306792Spatrick int igc_check_for_link(struct igc_hw *); 2483306792Spatrick int igc_reset_hw(struct igc_hw *); 2583306792Spatrick int igc_init_hw(struct igc_hw *); 2683306792Spatrick int igc_get_speed_and_duplex(struct igc_hw *, uint16_t *, 2783306792Spatrick uint16_t *); 2883306792Spatrick int igc_rar_set(struct igc_hw *, uint8_t *, uint32_t); 2983306792Spatrick void igc_update_mc_addr_list(struct igc_hw *, uint8_t *, uint32_t); 3083306792Spatrick int igc_check_reset_block(struct igc_hw *); 3183306792Spatrick int igc_get_phy_info(struct igc_hw *); 3283306792Spatrick int igc_phy_hw_reset(struct igc_hw *); 3383306792Spatrick int igc_read_mac_addr(struct igc_hw *); 3483306792Spatrick int igc_validate_nvm_checksum(struct igc_hw *); 3583306792Spatrick 3683306792Spatrick #endif /* _IGC_API_H_ */ 37