#ifndef HW_ATL2_UTILS_H
#define HW_ATL2_UTILS_H
#include "aq_hw.h"
struct link_options_s { … };
struct link_control_s { … };
struct thermal_shutdown_s { … };
struct mac_address_s { … };
struct mac_address_aligned_s { … };
struct sleep_proxy_s { … };
struct pause_quanta_s { … };
struct data_buffer_status_s { … };
struct device_caps_s { … };
struct version_s { … };
struct link_status_s { … };
struct wol_status_s { … };
struct mac_health_monitor_s { … };
struct phy_health_monitor_s { … };
struct device_link_caps_s { … };
struct sleep_proxy_caps_s { … };
struct lkp_link_caps_s { … };
struct core_dump_s { … };
struct trace_s { … };
struct cable_diag_control_s { … };
struct cable_diag_lane_data_s { … };
struct cable_diag_status_s { … };
struct statistics_a0_s { … };
struct __packed statistics_b0_s { … };
struct __packed statistics_s { … };
struct filter_caps_s { … };
struct request_policy_s { … };
struct fw_interface_in { … };
struct transaction_counter_s { … };
struct management_status_s { … };
struct __packed fw_interface_out { … };
#define AQ_A2_FW_LINK_RATE_INVALID …
#define AQ_A2_FW_LINK_RATE_10M …
#define AQ_A2_FW_LINK_RATE_100M …
#define AQ_A2_FW_LINK_RATE_1G …
#define AQ_A2_FW_LINK_RATE_2G5 …
#define AQ_A2_FW_LINK_RATE_5G …
#define AQ_A2_FW_LINK_RATE_10G …
#define AQ_HOST_MODE_INVALID …
#define AQ_HOST_MODE_ACTIVE …
#define AQ_HOST_MODE_SLEEP_PROXY …
#define AQ_HOST_MODE_LOW_POWER …
#define AQ_HOST_MODE_SHUTDOWN …
#define AQ_A2_FW_INTERFACE_A0 …
#define AQ_A2_FW_INTERFACE_B0 …
int hw_atl2_utils_initfw(struct aq_hw_s *self, const struct aq_fw_ops **fw_ops);
int hw_atl2_utils_soft_reset(struct aq_hw_s *self);
u32 hw_atl2_utils_get_fw_version(struct aq_hw_s *self);
int hw_atl2_utils_get_action_resolve_table_caps(struct aq_hw_s *self,
u8 *base_index, u8 *count);
extern const struct aq_fw_ops aq_a2_fw_ops;
#endif