xaui.h (2431B)
1 /* 2 * 3 * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 4 * 5 * Copyright 2007-2019 Broadcom Inc. All rights reserved. 6 * 7 * File: xaui.h 8 * Purpose: Miscellaneous XAUI functions 9 */ 10 11 #ifndef _SOC_XAUI_H 12 #define _SOC_XAUI_H 13 14 #include <shared/port.h> 15 #include <shared/phyconfig.h> 16 17 #include <soc/defs.h> 18 #include <soc/macipadr.h> 19 #include <soc/portmode.h> 20 21 typedef struct soc_xaui_config_s { 22 uint8 preemphasis; 23 uint8 idriver; 24 uint8 ipredriver; 25 uint8 equalizer_ctrl; 26 } soc_xaui_config_t; 27 28 extern int soc_xaui_err_sym_detect_get(int unit, soc_port_t port, 29 int *enable); 30 31 extern int soc_xaui_err_sym_detect_set(int unit, soc_port_t port, 32 int enable); 33 34 extern int soc_xaui_err_sym_count(int unit, soc_port_t port, 35 int *count); 36 37 extern int soc_xaui_txbert_enable(int unit, soc_port_t port, int enable); 38 39 extern int soc_xaui_txbert_pkt_count_get(int unit, soc_port_t port, 40 uint32 *count); 41 42 extern int soc_xaui_txbert_byte_count_get(int unit, soc_port_t port, 43 uint32 *count); 44 45 extern int soc_xaui_rxbert_enable(int unit, soc_port_t port, 46 int enable); 47 48 extern int soc_xaui_rxbert_pkt_count_get(int unit, soc_port_t port, 49 uint32 *count, int *prbs_lock); 50 51 extern int soc_xaui_rxbert_byte_count_get(int unit, soc_port_t port, 52 uint32 *count, int *prbs_lock); 53 54 extern int soc_xaui_rxbert_bit_err_count_get(int unit, soc_port_t port, 55 uint32 *count, int *prbs_lock); 56 57 extern int soc_xaui_rxbert_byte_err_count_get(int unit, soc_port_t port, 58 uint32 *count, int *prbs_lock); 59 60 extern int soc_xaui_rxbert_pkt_err_count_get(int unit, soc_port_t port, 61 uint32 *count, int *prbs_lock); 62 63 extern int soc_xaui_config_set(int unit, soc_port_t port, 64 soc_xaui_config_t *config); 65 66 extern int soc_xaui_config_get(int unit, soc_port_t port, 67 soc_xaui_config_t *config); 68 #endif /* _SOC_XAUI_H */