trident.h (4145B)
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: trident.h 8 */ 9 10 #ifndef _SOC_TRIDENT_H_ 11 #define _SOC_TRIDENT_H_ 12 13 #include <soc/drv.h> 14 #include <soc/mem.h> 15 #include <soc/error.h> 16 17 typedef enum soc_td_drop_limit_alpha_value_e { 18 SOC_TD_COSQ_DROP_LIMIT_ALPHA_1_64, /* Use 1/64 as the alpha value for 19 dynamic threshold */ 20 SOC_TD_COSQ_DROP_LIMIT_ALPHA_1_32, /* Use 1/32 as the alpha value for 21 dynamic threshold */ 22 SOC_TD_COSQ_DROP_LIMIT_ALPHA_1_16, /* Use 1/16 as the alpha value for 23 dynamic threshold */ 24 SOC_TD_COSQ_DROP_LIMIT_ALPHA_1_8, /* Use 1/8 as the alpha value for 25 dynamic threshold */ 26 SOC_TD_COSQ_DROP_LIMIT_ALPHA_1_4, /* Use 1/4 as the alpha value for 27 dynamic threshold */ 28 SOC_TD_COSQ_DROP_LIMIT_ALPHA_1_2, /* Use 1/2 as the alpha value for 29 dynamic threshold */ 30 SOC_TD_COSQ_DROP_LIMIT_ALPHA_1, /* Use 1 as the alpha value for dynamic 31 threshold */ 32 SOC_TD_COSQ_DROP_LIMIT_ALPHA_2, /* Use 2 as the alpha value for dynamic 33 threshold */ 34 SOC_TD_COSQ_DROP_LIMIT_ALPHA_4, /* Use 4 as the alpha value for dynamic 35 threshold */ 36 SOC_TD_COSQ_DROP_LIMIT_ALPHA_8, /* Use 8 as the alpha value for dynamic 37 threshold */ 38 SOC_TD_COSQ_DROP_LIMIT_ALPHA_COUNT /* Must be the last entry! */ 39 } soc_td_drop_limit_alpha_value_t; 40 41 extern soc_functions_t soc_trident_drv_funs; 42 extern int _soc_trident_mem_parity_control(int unit, soc_mem_t mem, 43 int copyno, int enable); 44 extern int soc_trident_ser_mem_clear(int unit, soc_mem_t mem); 45 extern int soc_trident_pipe_select(int unit, int egress, int pipe); 46 extern int soc_trident_get_egr_perq_xmt_counters_size(int unit, 47 int *num_entries_x, 48 int *num_entries_y); 49 extern int soc_trident_port_config_init(int unit, uint16 dev_id); 50 extern int soc_trident_num_cosq_init(int unit); 51 extern int soc_trident_mmu_config_init(int unit, int test_only); 52 extern int soc_trident_mem_config(int unit); 53 extern int soc_trident_temperature_monitor_get(int unit, 54 int temperature_max, 55 soc_switch_temperature_monitor_t *temperature_array, 56 int *temperature_count); 57 extern int soc_trident_show_material_process(int unit); 58 extern int soc_trident_show_ring_osc(int unit); 59 60 extern int soc_trident_cmic_rate_param_get(int unit, int *dividend, int *divisor); 61 extern int soc_trident_cmic_rate_param_set(int unit, int dividend, int divisor); 62 63 extern int soc_trident_ser_dual_pipe_correction(int unit, soc_mem_t reported_mem, 64 int copyno, int index ,_soc_ser_correct_info_t *si); 65 66 #if defined(SER_TR_TEST_SUPPORT) 67 extern soc_error_t soc_td_ser_inject_error(int unit, uint32 flags, 68 soc_mem_t mem, int pipeTarget, 69 int block, int index); 70 extern soc_error_t soc_td_ser_mem_test(int unit, soc_mem_t mem, 71 _soc_ser_test_t test_type, int cmd); 72 extern soc_error_t soc_td_ser_cmd_print(int unit, soc_mem_t mem); 73 extern soc_error_t soc_td_ser_test(int unit,_soc_ser_test_t test_type); 74 extern soc_error_t soc_td_ser_error_injection_support(int unit, 75 soc_mem_t mem, 76 int pipe); 77 extern int soc_td_ser_test_overlay (int unit, _soc_ser_test_t test_type); 78 #endif /*#if defined(SER_TR_TEST_SUPPORT)*/ 79 80 #endif /* !_SOC_TRIDENT_H_ */