tdm_th2_defines.h (3277B)
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 macro values for BCM56970 9 */ 10 11 #ifndef TDM_TH2_PREPROCESSOR_MACROS_H 12 #define TDM_TH2_PREPROCESSOR_MACROS_H 13 14 /* Default number of PM in chip */ 15 #define TH2_NUM_PM_MOD 65 16 #define TH2_NUM_PHY_PM 64 17 /* Default number of lanes per PM in chip */ 18 #define TH2_NUM_PM_LNS 4 19 /* Allocation length of port lookup tables */ 20 #define TH2_NUM_EXT_PORTS 264 21 22 /* Number of possible physical ports */ 23 #define TH2_NUM_PHY_PORTS 256 24 /* Number of scheduling blocks */ 25 #define TH2_NUM_QUAD 4 26 27 /* Default number of ancillary ports in calendar */ 28 #define TH2_ACC_PORT_NUM 10 29 30 /* Allocation length of VBS line rate calendar */ 31 #define TH2_LR_VBS_LEN 512 32 /* Allocation area of VBS port groups */ 33 #define TH2_OS_VBS_GRP_NUM 12 34 #define TH2_OS_VBS_GRP_LEN 12 35 36 /* Architecturally specific allocation area of VBS vector map */ 37 #define TH2_VMAP_MAX_LEN TH2_LR_VBS_LEN 38 #define TH2_VMAP_MAX_WID 49 39 40 /* Min sister port spacing (VBS scheduler req) */ 41 #define TH2_VBS_MIN_SPACING 6 42 43 /* Tokenization values */ 44 #ifdef _TDM_STANDALONE 45 #define TH2_OVSB_TOKEN (TH2_NUM_EXT_PORTS+1) /* token for oversub round robin */ 46 #define TH2_IDL1_TOKEN (TH2_NUM_EXT_PORTS+2) /* idle slot for memreset, L2 management, other */ 47 #define TH2_IDL2_TOKEN (TH2_NUM_EXT_PORTS+3) /* idle slot guaranteed for refresh */ 48 #define TH2_NULL_TOKEN (TH2_NUM_EXT_PORTS+4) /* null slot, no pick, no opportunistic */ 49 #define TH2_ANCL_TOKEN (TH2_NUM_EXT_PORTS+9) /* reservation for ancillary soc functions */ 50 #else 51 #define TH2_OVSB_TOKEN (TH2_NUM_EXT_PORTS+1) /* token for oversub round robin */ 52 #define TH2_IDL1_TOKEN (TH2_NUM_EXT_PORTS+2) /* idle slot for memreset, L2 management, other */ 53 #define TH2_IDL2_TOKEN (TH2_NUM_EXT_PORTS+3) /* idle slot guaranteed for refresh */ 54 #define TH2_NULL_TOKEN (TH2_NUM_EXT_PORTS+4) /* null slot, no pick, no opportunistic */ 55 #define TH2_ANCL_TOKEN (TH2_NUM_EXT_PORTS+9) /* reservation for ancillary soc functions */ 56 #endif 57 58 /* Static port identities */ 59 #define TH2_CMIC_TOKEN 0 /* Pipe 0 - CPU slot */ 60 #define TH2_LPB0_TOKEN (TH2_NUM_EXT_PORTS-4) /* Pipe 0 - loopback slot */ 61 #define TH2_LPB1_TOKEN (TH2_NUM_EXT_PORTS-3) /* Pipe 1 - loopback slot */ 62 #ifdef _TDM_STANDALONE 63 #define TH2_MGM1_TOKEN (TH2_NUM_EXT_PORTS-7) /* Pipe 1 - management slot */ 64 #define TH2_MGM2_TOKEN (TH2_NUM_EXT_PORTS-5) /* Pipe 2 - management slot */ 65 #else 66 #define TH2_MGM1_TOKEN (TH2_NUM_EXT_PORTS-7) /* Pipe 1 - management slot */ 67 #define TH2_MGM2_TOKEN (TH2_NUM_EXT_PORTS-5) /* Pipe 2 - management slot */ 68 #endif 69 #define TH2_LPB2_TOKEN (TH2_NUM_EXT_PORTS-2) /* Pipe 2 - loopback slot */ 70 #define TH2_RSVD_TOKEN (TH2_NUM_EXT_PORTS-6) /* Reserved slot */ 71 #define TH2_LPB3_TOKEN (TH2_NUM_EXT_PORTS-1) /* Pipe 3 - loopback slot */ 72 73 74 #define TH2_CPU_SLOTS 4 75 #define TH2_MGM_SLOTS 4 76 #define TH2_LBK_SLOTS 2 77 #define TH2_ANC_SLOTS 4 78 79 /* Index and length of shaping calendar within each inst */ 80 #define SHAPING_GRP_IDX_0 TH2_OS_VBS_GRP_NUM 81 #define SHAPING_GRP_IDX_1 (TH2_OS_VBS_GRP_NUM+1) 82 #define SHAPING_GRP_LEN 160 83 84 85 #define TH2_LR_JITTER_PCT 20 86 87 88 #endif /* TDM_TH2_PREPROCESSOR_MACROS_H */