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