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_hx5_soc.h (1829B)


      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 BCM56870
      9  */
     10 
     11 #ifndef TDM_BCM56370_PREPROCESSOR_SOC_DEFINES_H
     12 #define TDM_BCM56370_PREPROCESSOR_SOC_DEFINES_H
     13 
     14 #ifdef _TDM_STANDALONE
     15 	#include <tdm_hx5_defines.h>
     16 #else
     17 	#include <soc/tdm/helix5/tdm_hx5_defines.h>
     18 #endif
     19 
     20 /* Speed index used in oversub half pipes */
     21 enum hx5_port_speed_indx_e {
     22     HX5_SPEED_IDX_10G=0,
     23     HX5_SPEED_IDX_20G=1,
     24     HX5_SPEED_IDX_25G=2,
     25     HX5_SPEED_IDX_40G=3,
     26     HX5_SPEED_IDX_50G=4, 
     27     HX5_SPEED_IDX_100G=5
     28 };
     29 /* flexport status */
     30 enum hx5_flex_pm_state_e {
     31    HX5_FLEXPORT_PM_DOWN_DOWN=0,
     32    HX5_FLEXPORT_PM_SAME=1,
     33    HX5_FLEXPORT_PM_SOME_SAME=2,
     34    HX5_FLEXPORT_PM_UP_DOWN=3,
     35    HX5_FLEXPORT_PM_DOWN_UP=4,
     36    HX5_FLEXPORT_PM_UP_UP=5
     37 };
     38 
     39 
     40 typedef struct {
     41 	int  ovs_tables[2][HX5_OS_VBS_GRP_NUM/2][HX5_OS_VBS_GRP_LEN]; /* indexed by HP, ovs group num; ovs group index */
     42 	enum port_speed_e ovs_grp_speed[2][HX5_OS_VBS_GRP_NUM/2];
     43 	int  ovs_grp_weight[2][HX5_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[HX5_NUM_EXT_PORTS];  /* indexed by phy_port; set to 1 if needs to be removed */
     47 	int  ports_to_be_added[HX5_NUM_EXT_PORTS];    /* indexed by phy_port; set to 1 if needs to be added   */
     48 	int  ovs_grp_pms[2][HX5_OS_VBS_GRP_NUM/2][HX5_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 } hx5_flxport_t;
     52 
     53 #endif