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