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

tdm_mv2_soc.h (1870B)


      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  * All Rights Reserved.$
      7  *
      8  * TDM soc header for Maverick2
      9  */
     10 
     11 #ifndef TDM_MV2_PREPROCESSOR_SOC_DEFINES_H
     12 #define TDM_MV2_PREPROCESSOR_SOC_DEFINES_H
     13 
     14 #ifdef _TDM_STANDALONE
     15 	#include <tdm_mv2_defines.h>
     16 #else
     17 	#include <soc/tdm/maverick2/tdm_mv2_defines.h>
     18 #endif
     19 
     20 /* Speed index used in oversub half pipes */
     21 enum mv2_port_speed_indx_e {
     22     MV2_SPEED_IDX_10G=0,
     23     MV2_SPEED_IDX_20G=1,
     24     MV2_SPEED_IDX_25G=2,
     25     MV2_SPEED_IDX_40G=3,
     26     MV2_SPEED_IDX_50G=4, 
     27     MV2_SPEED_IDX_100G=5
     28 };
     29 /* flexport status */
     30 enum mv2_flex_pm_state_e {
     31     MV2_FLEXPORT_PM_DOWN_DOWN=0,
     32     MV2_FLEXPORT_PM_SAME=1,
     33     MV2_FLEXPORT_PM_SOME_SAME=2,
     34     MV2_FLEXPORT_PM_UP_DOWN=3,
     35     MV2_FLEXPORT_PM_DOWN_UP=4,
     36     MV2_FLEXPORT_PM_UP_UP=5
     37 };
     38 
     39 
     40 typedef struct {
     41 	int  ovs_tables[2][MV2_OS_VBS_GRP_NUM/2][MV2_OS_VBS_GRP_LEN]; /* indexed by HP, ovs group num; ovs group index */
     42 	enum port_speed_e ovs_grp_speed[2][MV2_OS_VBS_GRP_NUM/2];
     43 	int  ovs_grp_weight[2][MV2_OS_VBS_GRP_NUM/2];
     44 	int  prev_num_grps[2][6];  /* first index is HP num; second index is the speed port_speed_indx_e*/
     45 	int  new_num_grps[2][6];   /* first index is HP num; second index is the speed port_speed_indx_e*/
     46 	int  ports_to_be_removed[MV2_NUM_EXT_PORTS];  /* indexed by phy_port; set to 1 if needs to be removed */
     47 	int  ports_to_be_added[MV2_NUM_EXT_PORTS];    /* indexed by phy_port; set to 1 if needs to be added   */
     48 	int  ovs_grp_pms[2][MV2_OS_VBS_GRP_NUM/2][MV2_OS_VBS_GRP_LEN]; /* indicates which PMs contains each group */
     49 
     50 	int  skip_ovs_for_speed[2][6];   /* first index is HP num; second index is the speed port_speed_indx_e*/
     51 } mv2_flxport_t;
     52 
     53 #endif /* TDM_MV2_PREPROCESSOR_SOC_DEFINES_H */