openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

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_ */