xref: /openbsd-src/sys/dev/pci/igc_api.h (revision 3b70601b217ad7376634d89b314cf9875f4fd79f)
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