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

defs.h (65927B)


      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  *
      7  * File:        defs.h
      8  * Purpose:     Basic defines for system and chips
      9  *              This should be included before all other SOC include
     10  *              files to make sure BCM_xxxx is defined for them.
     11  */
     12 
     13 #ifndef _SOC_DEFS_H
     14 #define _SOC_DEFS_H
     15 
     16 /* add the definition below to add memory measurement diagnostics capabilities */
     17 /* #define MEMORY_MEASUREMENT_DIAGNOSTICS 1 */
     18 
     19 #include <sdk_config.h>
     20 #if defined(BCM_ESW_SUPPORT) || defined(BCM_SAND_SUPPORT)
     21 #include <soc/mcm/allenum.h>
     22 #endif
     23 #include <soc/maxdef.h>
     24 
     25 /* max number of switch devices */
     26 #ifndef SOC_MAX_NUM_SWITCH_DEVICES
     27 #define SOC_MAX_NUM_SWITCH_DEVICES  16
     28 #endif
     29 
     30 /* max number of ethernet devices */
     31 #ifndef SOC_MAX_NUM_ETHER_DEVICES
     32 #define SOC_MAX_NUM_ETHER_DEVICES   2
     33 #endif
     34 
     35 /* max number of all kinds of devices */
     36 #define SOC_MAX_NUM_DEVICES         (SOC_MAX_NUM_SWITCH_DEVICES +\
     37                      SOC_MAX_NUM_ETHER_DEVICES)
     38 
     39 #define _MAX_PHYS       256
     40 
     41 /*
     42  * BCM Chip Support
     43  *
     44  * There are a few classes of defines used throughout the code:
     45  * - chip number defines with revsion numbers (from soc/allenum.h,
     46  *   but it can be modified from $SDK/make/Make.local)
     47  * - chip number defines without revision numbers
     48  * - chip type or group defines (such as BCM_*_SUPPORT)
     49  * - component support defines (GBP or FILTER)
     50  */
     51 #if defined(BCM_5675_A0)
     52 #define BCM_5675
     53 #define BCM_5670
     54 #define BCM_HERCULES15_SUPPORT
     55 #define BCM_HERCULES_SUPPORT
     56 #endif
     57 
     58 #if defined(BCM_56504_A0) || defined(BCM_56504_B0)
     59 #define BCM_56504
     60 #define BCM_FIREBOLT_SUPPORT
     61 #endif
     62 
     63 #if defined(BCM_56102_A0)
     64 #define BCM_56102
     65 #define BCM_FIREBOLT_SUPPORT
     66 #define BCM_FELIX_SUPPORT
     67 #define BCM_FELIX1_SUPPORT
     68 #endif
     69 
     70 #if defined(BCM_56304_B0)
     71 #define BCM_56304
     72 #define BCM_FIREBOLT_SUPPORT
     73 #define BCM_HELIX_SUPPORT
     74 #define BCM_HELIX1_SUPPORT
     75 #define BCM_MIRAGE_SUPPORT
     76 #endif
     77 
     78 #if defined(BCM_56112_A0)
     79 #define BCM_56112
     80 #define BCM_FIREBOLT_SUPPORT
     81 #define BCM_FELIX_SUPPORT
     82 #define BCM_FELIX15_SUPPORT
     83 #endif
     84 
     85 #if defined(BCM_56314_A0)
     86 #define BCM_56314
     87 #define BCM_FIREBOLT_SUPPORT
     88 #define BCM_HELIX_SUPPORT
     89 #define BCM_HELIX15_SUPPORT
     90 #define BCM_MIRAGE_SUPPORT
     91 #endif
     92 
     93 #if defined(BCM_56580_A0)
     94 #define BCM_56580
     95 #define BCM_FIREBOLT_SUPPORT
     96 #define BCM_BRADLEY_SUPPORT
     97 #define BCM_GOLDWING_SUPPORT
     98 #define BCM_HB_GW_SUPPORT /* HumV & Goldwing use the Bradley Driver */
     99 #endif
    100 
    101 #if defined(BCM_56700_A0)
    102 #define BCM_56700
    103 #define BCM_FIREBOLT_SUPPORT
    104 #define BCM_BRADLEY_SUPPORT
    105 #define BCM_HUMV_SUPPORT
    106 #define BCM_HB_GW_SUPPORT
    107 #endif
    108 
    109 #if defined(BCM_56800_A0)
    110 #define BCM_56800
    111 #define BCM_56304
    112 #define BCM_FIREBOLT_SUPPORT
    113 #define BCM_BRADLEY_SUPPORT
    114 #define BCM_BRADLEY1_SUPPORT /* Only Bradley, excluding HumV & Goldwing */
    115 #define BCM_HB_GW_SUPPORT
    116 #endif
    117 
    118 #if defined(BCM_56218_A0)
    119 #define BCM_56218
    120 #define BCM_FIREBOLT_SUPPORT
    121 #define BCM_HELIX_SUPPORT
    122 #define BCM_RAPTOR_SUPPORT
    123 #define BCM_RAPTOR1_SUPPORT
    124 #endif
    125 
    126 #if defined(BCM_56514_A0)
    127 #define BCM_56514
    128 #define BCM_FIREBOLT_SUPPORT
    129 #define BCM_FIREBOLT2_SUPPORT
    130 #endif
    131 
    132 #if defined(BCM_56624_A0) || defined(BCM_56624_B0)
    133 #define BCM_56624
    134 #define BCM_56304
    135 #define BCM_56800
    136 #define BCM_FIREBOLT_SUPPORT
    137 #define BCM_BRADLEY_SUPPORT
    138 #define BCM_TRIUMPH_SUPPORT
    139 #define BCM_TRX_SUPPORT
    140 #define BCM_MPLS_SUPPORT
    141 #define BCM_IPFIX_SUPPORT
    142 #endif
    143 
    144 #if defined(BCM_56680_A0) || defined(BCM_56680_B0)
    145 #define BCM_56680
    146 #define BCM_56624
    147 #define BCM_56304
    148 #define BCM_56800
    149 #define BCM_FIREBOLT_SUPPORT
    150 #define BCM_BRADLEY_SUPPORT
    151 #define BCM_TRIUMPH_SUPPORT
    152 #define BCM_VALKYRIE_SUPPORT
    153 #define BCM_TRX_SUPPORT
    154 #define BCM_MPLS_SUPPORT
    155 #define BCM_IPFIX_SUPPORT
    156 #endif
    157 
    158 #if defined(BCM_56224_A0) || defined(BCM_56224_B0)
    159 #define BCM_56224
    160 #define BCM_FIREBOLT_SUPPORT
    161 #define BCM_HELIX_SUPPORT
    162 #define BCM_RAPTOR_SUPPORT
    163 #define BCM_RAVEN_SUPPORT
    164 #endif
    165 
    166 #if defined(BCM_53314_A0) || defined(BCM_53324_A0)
    167 #define BCM_53314
    168 #define BCM_FIREBOLT_SUPPORT
    169 #define BCM_HELIX_SUPPORT
    170 #define BCM_RAPTOR_SUPPORT
    171 #define BCM_RAVEN_SUPPORT
    172 #define BCM_HAWKEYE_SUPPORT
    173 #define BCM_TIMESYNC_SUPPORT
    174 #endif
    175 
    176 #if defined(BCM_56820_A0)
    177 #define BCM_56820
    178 #define BCM_56800
    179 #define BCM_56304
    180 #define BCM_FIREBOLT_SUPPORT
    181 #define BCM_BRADLEY_SUPPORT
    182 #define BCM_SCORPION_SUPPORT
    183 #define BCM_TRX_SUPPORT
    184 #endif
    185 
    186 #if defined(BCM_56725_A0)
    187 #define BCM_56725
    188 #define BCM_56820
    189 #define BCM_56800
    190 #define BCM_56304
    191 #define BCM_FIREBOLT_SUPPORT
    192 #define BCM_BRADLEY_SUPPORT
    193 #define BCM_HUMV_SUPPORT
    194 #define BCM_SCORPION_SUPPORT
    195 #define BCM_CONQUEROR_SUPPORT
    196 #define BCM_TRX_SUPPORT
    197 #endif
    198 
    199 #if defined(BCM_56634_A0) || defined(BCM_56634_B0)
    200 #define BCM_56634
    201 #define BCM_56624
    202 #define BCM_56304
    203 #define BCM_56800
    204 #define BCM_FIREBOLT_SUPPORT
    205 #define BCM_BRADLEY_SUPPORT
    206 #define BCM_TRIUMPH_SUPPORT
    207 #define BCM_TRIUMPH2_SUPPORT
    208 #define BCM_TRX_SUPPORT
    209 #define BCM_MPLS_SUPPORT
    210 #define BCM_IPFIX_SUPPORT
    211 #define BCM_TIMESYNC_SUPPORT
    212 #endif
    213 
    214 #if defined(BCM_56524_A0) || defined(BCM_56524_B0)
    215 #define BCM_56524
    216 #define BCM_56634
    217 #define BCM_56624
    218 #define BCM_56304
    219 #define BCM_56800
    220 #define BCM_FIREBOLT_SUPPORT
    221 #define BCM_BRADLEY_SUPPORT
    222 #define BCM_TRIUMPH_SUPPORT
    223 #define BCM_TRIUMPH2_SUPPORT
    224 #define BCM_APOLLO_SUPPORT
    225 #define BCM_TRX_SUPPORT
    226 #define BCM_MPLS_SUPPORT
    227 #define BCM_IPFIX_SUPPORT
    228 #endif
    229 
    230 #if defined(BCM_56685_A0) || defined(BCM_56685_B0)
    231 #define BCM_56685
    232 #define BCM_56634
    233 #define BCM_56624
    234 #define BCM_56304
    235 #define BCM_56800
    236 #define BCM_FIREBOLT_SUPPORT
    237 #define BCM_BRADLEY_SUPPORT
    238 #define BCM_TRIUMPH_SUPPORT
    239 #define BCM_TRIUMPH2_SUPPORT
    240 #define BCM_VALKYRIE2_SUPPORT
    241 #define BCM_TRX_SUPPORT
    242 #define BCM_MPLS_SUPPORT
    243 #define BCM_IPFIX_SUPPORT
    244 #endif
    245 
    246 #if defined(BCM_56334_A0) || defined(BCM_56334_B0)
    247 #define BCM_56334
    248 #define BCM_56624
    249 #define BCM_56304
    250 #define BCM_56800
    251 #define BCM_FIREBOLT_SUPPORT
    252 #define BCM_BRADLEY_SUPPORT
    253 #define BCM_TRIUMPH_SUPPORT
    254 #define BCM_TRIUMPH2_SUPPORT
    255 #define BCM_ENDURO_SUPPORT
    256 #define BCM_TRX_SUPPORT
    257 #define BCM_MPLS_SUPPORT
    258 #define BCM_TIMESYNC_SUPPORT
    259 #endif
    260 
    261 #if defined(BCM_56142_A0)
    262 #define BCM_56142
    263 #define BCM_56334
    264 #define BCM_56624
    265 #define BCM_56304
    266 #define BCM_56800
    267 #define BCM_FIREBOLT_SUPPORT
    268 #define BCM_BRADLEY_SUPPORT
    269 #define BCM_TRIUMPH_SUPPORT
    270 #define BCM_TRIUMPH2_SUPPORT
    271 #define BCM_ENDURO_SUPPORT
    272 #define BCM_TRX_SUPPORT
    273 #define BCM_HURRICANE_SUPPORT
    274 #define BCM_HURRICANE1_SUPPORT
    275 #endif
    276 
    277 #if defined(BCM_56840_A0) || defined(BCM_56840_B0)
    278 #define BCM_56840
    279 #define BCM_56634
    280 #define BCM_56624
    281 #define BCM_56304
    282 #define BCM_56800
    283 #define BCM_FIREBOLT_SUPPORT
    284 #define BCM_BRADLEY_SUPPORT
    285 #define BCM_HUMV_SUPPORT
    286 #define BCM_SCORPION_SUPPORT
    287 #define BCM_TRIUMPH_SUPPORT
    288 #define BCM_TRIUMPH2_SUPPORT
    289 #define BCM_TRX_SUPPORT
    290 #define BCM_TRIDENT_SUPPORT
    291 #define BCM_MPLS_SUPPORT
    292 #define BCM_XGS3_FABRIC_SUPPORT
    293 #define BCM_EXTND_SBUS_SUPPORT
    294 #endif
    295 
    296 #if defined(BCM_88732_A0) || defined(BCM88732_B0)
    297 #define BCM_88732
    298 #define BCM_56820
    299 #define BCM_56800
    300 #define BCM_56304
    301 #define BCM_FIREBOLT_SUPPORT
    302 #define BCM_BRADLEY_SUPPORT
    303 #define BCM_HUMV_SUPPORT
    304 #define BCM_SCORPION_SUPPORT
    305 #define BCM_CONQUEROR_SUPPORT
    306 #define BCM_TRX_SUPPORT
    307 #ifndef BCM_SHADOW_SUPPORT
    308 #define BCM_SHADOW_SUPPORT
    309 #endif
    310 #endif
    311 
    312 #if defined(BCM_56640_A0) || defined(BCM_56640_B0)
    313 #define BCM_56640
    314 #define BCM_56840
    315 #define BCM_56634
    316 #define BCM_56624
    317 #define BCM_56304
    318 #define BCM_56800
    319 #define BCM_FIREBOLT_SUPPORT
    320 #define BCM_BRADLEY_SUPPORT
    321 #define BCM_SCORPION_SUPPORT
    322 #define BCM_TRIUMPH_SUPPORT
    323 #define BCM_TRIUMPH2_SUPPORT
    324 #define BCM_TRX_SUPPORT
    325 #define BCM_TRIDENT_SUPPORT
    326 #define BCM_TRIUMPH3_SUPPORT
    327 #define BCM_MPLS_SUPPORT
    328 #define BCM_CMICM_SUPPORT
    329 #define BCM_EXTND_SBUS_SUPPORT
    330 #define BCM_TIMESYNC_SUPPORT
    331 #define BCM_SBUSDMA_SUPPORT
    332 #define BCM_IPFIX_SUPPORT
    333 #endif
    334 
    335 #if defined(BCM_56340_A0)
    336 #define BCM_56340
    337 #define BCM_56840
    338 #define BCM_56634
    339 #define BCM_56624
    340 #define BCM_56304
    341 #define BCM_56800
    342 #define BCM_56640
    343 #define BCM_FIREBOLT_SUPPORT
    344 #define BCM_BRADLEY_SUPPORT
    345 #define BCM_SCORPION_SUPPORT
    346 #define BCM_TRIUMPH_SUPPORT
    347 #define BCM_TRIUMPH2_SUPPORT
    348 #define BCM_TRX_SUPPORT
    349 #define BCM_TRIDENT_SUPPORT
    350 #define BCM_TRIUMPH3_SUPPORT
    351 #define BCM_HELIX4_SUPPORT
    352 #define BCM_MPLS_SUPPORT
    353 #define BCM_CMICM_SUPPORT
    354 #define BCM_IPROC_SUPPORT
    355 #define BCM_EXTND_SBUS_SUPPORT
    356 #define BCM_TIMESYNC_SUPPORT
    357 #define BCM_SBUSDMA_SUPPORT
    358 #define BCM_HUMV_SUPPORT
    359 #define BCM_XGS3_FABRIC_SUPPORT
    360 #endif
    361 
    362 #if defined(BCM_56440_A0) || defined(BCM_56440_B0)
    363 #define BCM_56440
    364 #define BCM_56840
    365 #define BCM_56634
    366 #define BCM_56334
    367 #define BCM_56624
    368 #define BCM_56304
    369 #define BCM_56800
    370 #define BCM_FIREBOLT_SUPPORT
    371 #define BCM_BRADLEY_SUPPORT
    372 #define BCM_HUMV_SUPPORT
    373 #define BCM_SCORPION_SUPPORT
    374 #define BCM_TRIUMPH_SUPPORT
    375 #define BCM_TRIUMPH2_SUPPORT
    376 #define BCM_TRX_SUPPORT
    377 #define BCM_ENDURO_SUPPORT
    378 #define BCM_TRIDENT_SUPPORT
    379 #define BCM_KATANA_SUPPORT
    380 #define BCM_MPLS_SUPPORT
    381 #define BCM_CMICM_SUPPORT
    382 #define BCM_DDR3_SUPPORT
    383 #define BCM_TIMESYNC_SUPPORT
    384 #endif
    385 
    386 #if defined(BCM_56260_A0)
    387 #define BCM_56260
    388 #define BCM_56450
    389 #define BCM_56440
    390 #define BCM_56840
    391 #define BCM_56634
    392 #define BCM_56640
    393 #define BCM_56334
    394 #define BCM_56624
    395 #define BCM_56304
    396 #define BCM_56800
    397 #define BCM_SABER2_SUPPORT
    398 #define BCM_FIREBOLT_SUPPORT
    399 #define BCM_BRADLEY_SUPPORT
    400 #define BCM_SCORPION_SUPPORT
    401 #define BCM_TRIUMPH_SUPPORT
    402 #define BCM_TRIUMPH2_SUPPORT
    403 #define BCM_TRIUMPH3_SUPPORT
    404 #define BCM_TRX_SUPPORT
    405 #define BCM_ENDURO_SUPPORT
    406 #define BCM_TRIDENT_SUPPORT
    407 #define BCM_KATANA2_SUPPORT
    408 #define BCM_KATANA_SUPPORT
    409 #define BCM_MPLS_SUPPORT
    410 #define BCM_IPROC_SUPPORT
    411 #define BCM_DDR3_SUPPORT
    412 #define BCM_TIMESYNC_SUPPORT
    413 #define BCM_EXTND_SBUS_SUPPORT
    414 #define BCM_SBUSDMA_SUPPORT
    415 #define BCM_CMICM_SUPPORT
    416 #define BCM_UC_MHOST_SUPPORT
    417 #define BCM_OLP_SUPPORT
    418 #endif
    419 
    420 #if defined(BCM_56270_A0)
    421 #define BCM_56270
    422 #define BCM_56260
    423 #define BCM_56450
    424 #define BCM_56440
    425 #define BCM_56840
    426 #define BCM_56634
    427 #define BCM_56640
    428 #define BCM_56334
    429 #define BCM_56624
    430 #define BCM_56304
    431 #define BCM_56800
    432 #define BCM_SABER2_SUPPORT
    433 #define BCM_METROLITE_SUPPORT
    434 #define BCM_FIREBOLT_SUPPORT
    435 #define BCM_BRADLEY_SUPPORT
    436 #define BCM_SCORPION_SUPPORT
    437 #define BCM_TRIUMPH_SUPPORT
    438 #define BCM_TRIUMPH2_SUPPORT
    439 #define BCM_TRIUMPH3_SUPPORT
    440 #define BCM_TRX_SUPPORT
    441 #define BCM_ENDURO_SUPPORT
    442 #define BCM_TRIDENT_SUPPORT
    443 #define BCM_KATANA2_SUPPORT
    444 #define BCM_KATANA_SUPPORT
    445 #define BCM_MPLS_SUPPORT
    446 #define BCM_IPROC_SUPPORT
    447 #define BCM_DDR3_SUPPORT
    448 #define BCM_TIMESYNC_SUPPORT
    449 #define BCM_EXTND_SBUS_SUPPORT
    450 #define BCM_SBUSDMA_SUPPORT
    451 #define BCM_CMICM_SUPPORT
    452 #define BCM_UC_MHOST_SUPPORT
    453 #endif
    454 
    455 
    456 #if defined(BCM_56450_A0) || defined(BCM_56450_B0) || defined(BCM_56450_B1)
    457 #define BCM_56450
    458 #define BCM_56440
    459 #define BCM_56840
    460 #define BCM_56634
    461 #define BCM_56640
    462 #define BCM_56334
    463 #define BCM_56624
    464 #define BCM_56304
    465 #define BCM_56800
    466 #define BCM_FIREBOLT_SUPPORT
    467 #define BCM_BRADLEY_SUPPORT
    468 #define BCM_SCORPION_SUPPORT
    469 #define BCM_TRIUMPH_SUPPORT
    470 #define BCM_TRIUMPH2_SUPPORT
    471 #define BCM_TRIUMPH3_SUPPORT
    472 #define BCM_TRX_SUPPORT
    473 #define BCM_ENDURO_SUPPORT
    474 #define BCM_TRIDENT_SUPPORT
    475 #define BCM_KATANA2_SUPPORT
    476 #define BCM_KATANA_SUPPORT
    477 #define BCM_MPLS_SUPPORT
    478 #define BCM_IPROC_SUPPORT
    479 #define BCM_DDR3_SUPPORT
    480 #define BCM_TIMESYNC_SUPPORT
    481 #define BCM_EXTND_SBUS_SUPPORT
    482 #define BCM_CMICM_SUPPORT
    483 #define BCM_SBUSDMA_SUPPORT
    484 #define BCM_PE_SUPPORT
    485 #define BCM_OLP_SUPPORT
    486 #endif
    487 
    488 #if defined(BCM_56850_A0)
    489 #define BCM_56850
    490 #define BCM_56840
    491 #define BCM_56634
    492 #define BCM_56624
    493 #define BCM_56304
    494 #define BCM_56800
    495 #define BCM_FIREBOLT_SUPPORT
    496 #define BCM_BRADLEY_SUPPORT
    497 #define BCM_HUMV_SUPPORT
    498 #define BCM_SCORPION_SUPPORT
    499 #define BCM_TRIUMPH_SUPPORT
    500 #define BCM_TRIUMPH2_SUPPORT
    501 #define BCM_TRX_SUPPORT
    502 #define BCM_TRIDENT_SUPPORT
    503 #define BCM_TRIUMPH3_SUPPORT
    504 #define BCM_TRIDENT2_SUPPORT
    505 #define BCM_MPLS_SUPPORT
    506 #define BCM_XGS3_FABRIC_SUPPORT
    507 #define BCM_EXTND_SBUS_SUPPORT
    508 #define BCM_CMICM_SUPPORT
    509 #define BCM_SBUSDMA_SUPPORT
    510 #define BCM_FIFODMA_SUPPORT
    511 #define BCM_TIMESYNC_SUPPORT
    512 #endif
    513 
    514 #if defined(BCM_56560_A0) || defined(BCM_56560_B0)
    515 #define BCM_56860
    516 #define BCM_56850
    517 #define BCM_56840
    518 #define BCM_56634
    519 #define BCM_56624
    520 #define BCM_56304
    521 #define BCM_56800
    522 #define BCM_56560
    523 #define BCM_APACHE_SUPPORT
    524 #define BCM_FIREBOLT_SUPPORT
    525 #define BCM_BRADLEY_SUPPORT
    526 #define BCM_HUMV_SUPPORT
    527 #define BCM_SCORPION_SUPPORT
    528 #define BCM_TRIUMPH_SUPPORT
    529 #define BCM_TRIUMPH2_SUPPORT
    530 #define BCM_TRX_SUPPORT
    531 #define BCM_TRIDENT_SUPPORT
    532 #define BCM_TRIUMPH3_SUPPORT
    533 #define BCM_TRIDENT2_SUPPORT
    534 #define BCM_TRIDENT2PLUS_SUPPORT
    535 #define BCM_TIME_V3_SUPPORT
    536 #define BCM_MPLS_SUPPORT
    537 #define BCM_XGS3_FABRIC_SUPPORT
    538 #define BCM_EXTND_SBUS_SUPPORT
    539 #define BCM_SBUSDMA_SUPPORT
    540 #define BCM_FIFODMA_SUPPORT
    541 #define BCM_TIMESYNC_SUPPORT
    542 #define BCM_HGPROXY_COE_SUPPORT
    543 #define SOC_ROBUST_HASH
    544 #define BCM_IPROC_SUPPORT
    545 #define BCM_CMICDV2_SUPPORT
    546 #define BCM_CMICDV3_SUPPORT
    547 #define BCM_CMICM_SUPPORT
    548 #define BCM_UC_MHOST_SUPPORT
    549 #define BCM_OLP_SUPPORT
    550 #define PORTMOD_PM4X10_SUPPORT
    551 #define PORTMOD_PM12X10_SUPPORT
    552 #define PORTMOD_PM12X10_XGS_SUPPORT
    553 #define PORTMOD_PM4X25_SUPPORT
    554 #define PHYMOD_EAGLE_SUPPORT
    555 #define PHYMOD_FALCON_SUPPORT
    556 #define PORTMOD_PMNULL_SUPPORT
    557 #define BCM_EP_REDIRECT_VERSION_2
    558 #endif
    559 
    560 #if defined(BCM_56670_A0) || defined(BCM_56670_B0)
    561 #define BCM_56860
    562 #define BCM_56850
    563 #define BCM_56840
    564 #define BCM_56634
    565 #define BCM_56624
    566 #define BCM_56304
    567 #define BCM_56800
    568 #define BCM_56560
    569 #define BCM_56670
    570 #define BCM_MONTEREY_SUPPORT
    571 #define BCM_APACHE_SUPPORT
    572 #define BCM_FIREBOLT_SUPPORT
    573 #define BCM_BRADLEY_SUPPORT
    574 #define BCM_HUMV_SUPPORT
    575 #define BCM_SCORPION_SUPPORT
    576 #define BCM_TRIUMPH_SUPPORT
    577 #define BCM_TRIUMPH2_SUPPORT
    578 #define BCM_TRX_SUPPORT
    579 #define BCM_TRIDENT_SUPPORT
    580 #define BCM_TRIUMPH3_SUPPORT
    581 #define BCM_TRIDENT2_SUPPORT
    582 #define BCM_TRIDENT2PLUS_SUPPORT
    583 #define BCM_MPLS_SUPPORT
    584 #define BCM_XGS3_FABRIC_SUPPORT
    585 #define BCM_EXTND_SBUS_SUPPORT
    586 #define BCM_SBUSDMA_SUPPORT
    587 #define BCM_HGPROXY_COE_SUPPORT
    588 #define BCM_TIMESYNC_SUPPORT
    589 #define SOC_ROBUST_HASH
    590 #define BCM_IPROC_SUPPORT
    591 #define BCM_CMICDV2_SUPPORT
    592 #define BCM_CMICDV3_SUPPORT
    593 #define BCM_CMICM_SUPPORT
    594 #define BCM_UC_MHOST_SUPPORT
    595 #define BCM_OLP_SUPPORT
    596 #define PORTMOD_PM4X10_SUPPORT
    597 #define PORTMOD_PM4X25_SUPPORT
    598 #define PORTMOD_CPM4X25_SUPPORT
    599 #define PORTMOD_PM12X10_SUPPORT
    600 #define PORTMOD_PM12X10_XGS_SUPPORT
    601 #define PHYMOD_EAGLE_SUPPORT
    602 #define PHYMOD_FALCON_SUPPORT
    603 #define PORTMOD_PMNULL_SUPPORT
    604 #define BCM_PREEMPTION_SUPPORT
    605 #define BCM_FIFODMA_SUPPORT
    606 #endif
    607 
    608 
    609 #if defined(BCM_56860_A0)
    610 #define BCM_56860
    611 #define BCM_56850
    612 #define BCM_56840
    613 #define BCM_56634
    614 #define BCM_56624
    615 #define BCM_56304
    616 #define BCM_56800
    617 #define BCM_FIREBOLT_SUPPORT
    618 #define BCM_BRADLEY_SUPPORT
    619 #define BCM_HUMV_SUPPORT
    620 #define BCM_SCORPION_SUPPORT
    621 #define BCM_TRIUMPH_SUPPORT
    622 #define BCM_TRIUMPH2_SUPPORT
    623 #define BCM_TRX_SUPPORT
    624 #define BCM_TRIDENT_SUPPORT
    625 #define BCM_TRIUMPH3_SUPPORT
    626 #define BCM_TRIDENT2_SUPPORT
    627 #define BCM_TRIDENT2PLUS_SUPPORT
    628 #define BCM_MPLS_SUPPORT
    629 #define BCM_XGS3_FABRIC_SUPPORT
    630 #define BCM_EXTND_SBUS_SUPPORT
    631 #define BCM_CMICM_SUPPORT
    632 #define BCM_CCMDMA_SUPPORT
    633 #define BCM_SBUSDMA_SUPPORT
    634 #define BCM_FIFODMA_SUPPORT
    635 #define BCM_TIMESYNC_SUPPORT
    636 #define PORTMOD_PMNULL_SUPPORT
    637 #define PORTMOD_PM4X10_SUPPORT
    638 #define PORTMOD_PM4X10TD_SUPPORT
    639 #define PORTMOD_PM12X10_SUPPORT
    640 #define PORTMOD_PM4x10Q_SUPPORT
    641 #define PORTMOD_PM4X25_SUPPORT
    642 #define PORTMOD_PM4X25TD_SUPPORT
    643 #define PHYMOD_EAGLE_SUPPORT
    644 #define BCM_HGPROXY_COE_SUPPORT
    645 #define SOC_ROBUST_HASH
    646 #define BCM_OLP_SUPPORT
    647 #endif
    648 
    649 #if defined(BCM_56960_A0)
    650 #define BCM_56960
    651 #define BCM_56850
    652 #define BCM_56840
    653 #define BCM_56634
    654 #define BCM_56624
    655 #define BCM_56304
    656 #define BCM_56800
    657 #define BCM_FIREBOLT_SUPPORT
    658 #define BCM_BRADLEY_SUPPORT
    659 #define BCM_HUMV_SUPPORT
    660 #define BCM_SCORPION_SUPPORT
    661 #define BCM_TRIUMPH_SUPPORT
    662 #define BCM_TRIUMPH2_SUPPORT
    663 #define BCM_TRX_SUPPORT
    664 #define BCM_TRIDENT_SUPPORT
    665 #define BCM_TRIUMPH3_SUPPORT
    666 #define BCM_TRIDENT2_SUPPORT
    667 #define BCM_TOMAHAWK_SUPPORT
    668 #define BCM_TOMAHAWKX_SUPPORT
    669 #define BCM_MPLS_SUPPORT
    670 #define BCM_XGS3_FABRIC_SUPPORT
    671 #define BCM_EXTND_SBUS_SUPPORT
    672 #define BCM_SOC_ASYNC_SUPPORT
    673 #define BCM_CMICM_SUPPORT
    674 #define BCM_SBUSDMA_SUPPORT
    675 #define BCM_CCMDMA_SUPPORT
    676 #define BCM_FIFODMA_SUPPORT
    677 #define BCM_TIMESYNC_SUPPORT
    678 #define BCM_TIME_V3_SUPPORT
    679 #define BCM_IPROC_SUPPORT
    680 #define SOC_ROBUST_HASH
    681 #define BCM_CMICDV2_SUPPORT
    682 #define BCM_CMICM_SUPPORT
    683 #define BCM_UC_MHOST_SUPPORT
    684 #define PORTMOD_PMNULL_SUPPORT
    685 #define PORTMOD_PM4X10_SUPPORT
    686 #define PORTMOD_PM4X25_SUPPORT
    687 #define PHYMOD_EAGLE_SUPPORT
    688 #define PHYMOD_FALCON_SUPPORT
    689 #endif
    690 
    691 #if defined(BCM_56980_A0) || defined(BCM_56980_B0)
    692 #define BCM_56980
    693 #define BCM_56960
    694 #define BCM_56850
    695 #define BCM_56840
    696 #define BCM_56634
    697 #define BCM_56624
    698 #define BCM_56304
    699 #define BCM_56800
    700 #define BCM_FIREBOLT_SUPPORT
    701 #define BCM_BRADLEY_SUPPORT
    702 #define BCM_HUMV_SUPPORT
    703 #define BCM_SCORPION_SUPPORT
    704 #define BCM_TRIUMPH_SUPPORT
    705 #define BCM_TRIUMPH2_SUPPORT
    706 #define BCM_TRX_SUPPORT
    707 #define BCM_TRIDENT_SUPPORT
    708 #define BCM_TRIUMPH3_SUPPORT
    709 #define BCM_TRIDENT2_SUPPORT
    710 #define BCM_TOMAHAWK_SUPPORT
    711 #define BCM_MPLS_SUPPORT
    712 #define BCM_EXTND_SBUS_SUPPORT
    713 #define BCM_SOC_ASYNC_SUPPORT
    714 #define BCM_CCMDMA_SUPPORT
    715 #define BCM_CMICDV2_SUPPORT
    716 #define BCM_CMICX_SUPPORT
    717 #define BCM_CMICX_SIM_SUPPORT 
    718 #define BCM_SBUSDMA_SUPPORT
    719 #define BCM_FIFODMA_SUPPORT
    720 #define BCM_TIMESYNC_SUPPORT
    721 #define BCM_TIME_V3_SUPPORT
    722 #define BCM_IPROC_SUPPORT
    723 #define SOC_ROBUST_HASH
    724 #define SOC_COUNTER_TABLE_SUPPORT
    725 #define BCM_UC_MHOST_SUPPORT
    726 #define PORTMOD_PMNULL_SUPPORT
    727 #define PORTMOD_PM4X10_SUPPORT
    728 #define PORTMOD_PM4X25_SUPPORT
    729 #define PORTMOD_PM8X50_SUPPORT
    730 #define PHYMOD_EAGLE_SUPPORT
    731 #define PHYMOD_FALCON_SUPPORT
    732 #define BCM_CPU_TX_PROC_SUPPORT
    733 
    734 /* TH2 dependent code */
    735 #define BCM_TOMAHAWK2_SUPPORT
    736 #define BCM_TOMAHAWKX_SUPPORT
    737 #endif
    738 
    739 #if defined(BCM_56870_A0)
    740 #define BCM_56870
    741 #define BCM_56960
    742 #define BCM_56850
    743 #define BCM_56840
    744 #define BCM_56634
    745 #define BCM_56624
    746 #define BCM_56304
    747 #define BCM_56800
    748 #define BCM_FIREBOLT_SUPPORT
    749 #define BCM_BRADLEY_SUPPORT
    750 #define BCM_HUMV_SUPPORT
    751 #define BCM_SCORPION_SUPPORT
    752 #define BCM_TRIUMPH_SUPPORT
    753 #define BCM_TRIUMPH2_SUPPORT
    754 #define BCM_TRX_SUPPORT
    755 #define BCM_TRIDENT_SUPPORT
    756 #define BCM_TRIUMPH3_SUPPORT
    757 #define BCM_TRIDENT2_SUPPORT
    758 #define BCM_TRIDENT2PLUS_SUPPORT
    759 #define BCM_TRIDENT3_SUPPORT
    760 #define BCM_TOMAHAWK_SUPPORT
    761 #define BCM_MPLS_SUPPORT
    762 #define BCM_TCB_SUPPORT
    763 #define BCM_EXTND_SBUS_SUPPORT
    764 #define BCM_SBUSDMA_SUPPORT
    765 #define BCM_TIMESYNC_SUPPORT
    766 #define BCM_TIME_V3_SUPPORT
    767 #define BCM_IPROC_SUPPORT
    768 #define SOC_ROBUST_HASH
    769 #define BCM_CMICX_SUPPORT
    770 #define BCM_FIFODMA_SUPPORT
    771 #define BCM_CCMDMA_SUPPORT
    772 #define BCM_SOC_ASYNC_SUPPORT
    773 #define PORTMOD_PMNULL_SUPPORT
    774 #define PORTMOD_PM4X10_SUPPORT
    775 #define PORTMOD_PM4X25_SUPPORT
    776 #define PHYMOD_EAGLE_SUPPORT
    777 #define PHYMOD_FALCON_SUPPORT
    778 #define BCM_HGPROXY_COE_SUPPORT
    779 #define BCM_OLP_SUPPORT
    780 #define BCM_UC_MHOST_SUPPORT
    781 #endif
    782 
    783 #if defined(BCM_56370_A0)
    784 #define BCM_56370
    785 #define BCM_56870
    786 #define BCM_56960
    787 #define BCM_56850
    788 #define BCM_56840
    789 #define BCM_56634
    790 #define BCM_56624
    791 #define BCM_56304
    792 #define BCM_56800
    793 #define BCM_FIREBOLT_SUPPORT
    794 #define BCM_BRADLEY_SUPPORT
    795 #define BCM_HUMV_SUPPORT
    796 #define BCM_SCORPION_SUPPORT
    797 #define BCM_TRIUMPH_SUPPORT
    798 #define BCM_TRIUMPH2_SUPPORT
    799 #define BCM_TRX_SUPPORT
    800 #define BCM_TRIDENT_SUPPORT
    801 #define BCM_TRIUMPH3_SUPPORT
    802 #define BCM_TRIDENT2_SUPPORT
    803 #define BCM_TRIDENT2PLUS_SUPPORT
    804 #define BCM_TRIDENT3_SUPPORT
    805 #define BCM_HELIX5_SUPPORT
    806 #define BCM_TOMAHAWK_SUPPORT
    807 #define BCM_MPLS_SUPPORT
    808 #define BCM_TCB_SUPPORT
    809 #define BCM_EXTND_SBUS_SUPPORT
    810 #define BCM_SBUSDMA_SUPPORT
    811 #define BCM_TIMESYNC_SUPPORT
    812 #define BCM_TIME_V3_SUPPORT
    813 #define BCM_IPROC_SUPPORT
    814 #define SOC_ROBUST_HASH
    815 #define BCM_CMICX_SUPPORT
    816 #define BCM_FIFODMA_SUPPORT
    817 #define BCM_SOC_ASYNC_SUPPORT
    818 #define PORTMOD_PMNULL_SUPPORT
    819 #define PORTMOD_PM4X10_SUPPORT
    820 #define PORTMOD_PM4x10Q_SUPPORT
    821 #define PORTMOD_PM4X25_SUPPORT
    822 #define PORTMOD_PM4X10_QTC_SUPPORT
    823 #define PHYMOD_EAGLE_SUPPORT
    824 #define PHYMOD_FALCON_SUPPORT
    825 #define BCM_OLP_SUPPORT
    826 #define BCM_HGPROXY_COE_SUPPORT
    827 #define BCM_FLOWTRACKER_SUPPORT
    828 #define BCM_FLOWTRACKER_EXPORT_FIFO_SUPPORT
    829 #define BCM_DDR3_SUPPORT
    830 #define BCM_IPROC_DDR_SUPPORT
    831 #endif
    832 
    833 #if defined(BCM_56770_A0)
    834 #define BCM_56770
    835 #define BCM_56870
    836 #define BCM_56960
    837 #define BCM_56850
    838 #define BCM_56840
    839 #define BCM_56634
    840 #define BCM_56624
    841 #define BCM_56304
    842 #define BCM_56800
    843 #define BCM_FIREBOLT_SUPPORT
    844 #define BCM_BRADLEY_SUPPORT
    845 #define BCM_HUMV_SUPPORT
    846 #define BCM_SCORPION_SUPPORT
    847 #define BCM_TRIUMPH_SUPPORT
    848 #define BCM_TRIUMPH2_SUPPORT
    849 #define BCM_TRX_SUPPORT
    850 #define BCM_TRIDENT_SUPPORT
    851 #define BCM_TRIUMPH3_SUPPORT
    852 #define BCM_TRIDENT2_SUPPORT
    853 #define BCM_TRIDENT2PLUS_SUPPORT
    854 #define BCM_TRIDENT3_SUPPORT
    855 #define BCM_MAVERICK2_SUPPORT
    856 #define BCM_TOMAHAWK_SUPPORT
    857 #define BCM_MPLS_SUPPORT
    858 #define BCM_TCB_SUPPORT
    859 #define BCM_EXTND_SBUS_SUPPORT
    860 #define BCM_SBUSDMA_SUPPORT
    861 #define BCM_TIMESYNC_SUPPORT
    862 #define BCM_TIME_V3_SUPPORT
    863 #define BCM_IPROC_SUPPORT
    864 #define SOC_ROBUST_HASH
    865 #define BCM_CMICX_SUPPORT
    866 #define BCM_FIFODMA_SUPPORT
    867 #define BCM_SOC_ASYNC_SUPPORT
    868 #define PORTMOD_PMNULL_SUPPORT
    869 #define PORTMOD_PM4X10_SUPPORT
    870 #define PORTMOD_PM4X25_SUPPORT
    871 #define PHYMOD_EAGLE_SUPPORT
    872 #define PHYMOD_FALCON_SUPPORT
    873 #define BCM_HGPROXY_COE_SUPPORT
    874 #define BCM_OLP_SUPPORT
    875 #define BCM_UC_MHOST_SUPPORT
    876 #endif
    877 
    878 #if defined(BCM_56965_A0)
    879 #define BCM_56965
    880 #define BCM_56960
    881 #define BCM_56850
    882 #define BCM_56840
    883 #define BCM_56634
    884 #define BCM_56624
    885 #define BCM_56304
    886 #define BCM_56800
    887 #define BCM_FIREBOLT_SUPPORT
    888 #define BCM_BRADLEY_SUPPORT
    889 #define BCM_HUMV_SUPPORT
    890 #define BCM_SCORPION_SUPPORT
    891 #define BCM_TRIUMPH_SUPPORT
    892 #define BCM_TRIUMPH2_SUPPORT
    893 #define BCM_TRX_SUPPORT
    894 #define BCM_TRIDENT_SUPPORT
    895 #define BCM_TRIUMPH3_SUPPORT
    896 #define BCM_TRIDENT2_SUPPORT
    897 #define BCM_TOMAHAWK_SUPPORT
    898 #define BCM_TOMAHAWKX_SUPPORT
    899 #define BCM_TOMAHAWKPLUS_SUPPORT
    900 #define BCM_MPLS_SUPPORT
    901 #define BCM_EXTND_SBUS_SUPPORT
    902 #define BCM_SBUSDMA_SUPPORT
    903 #define BCM_FIFODMA_SUPPORT
    904 #define BCM_TIMESYNC_SUPPORT
    905 #define BCM_TIME_V3_SUPPORT
    906 #define BCM_IPROC_SUPPORT
    907 #define SOC_ROBUST_HASH
    908 #define BCM_CMICDV2_SUPPORT
    909 #define BCM_CMICM_SUPPORT
    910 #define BCM_UC_MHOST_SUPPORT
    911 #define PORTMOD_PMNULL_SUPPORT
    912 #define PORTMOD_PM4X10_SUPPORT
    913 #define PORTMOD_PM4X25_SUPPORT
    914 #define PHYMOD_EAGLE_SUPPORT
    915 #define PHYMOD_FALCON_SUPPORT
    916 #endif
    917 
    918 #if defined(BCM_56970_A0)
    919 #define BCM_56970
    920 #define BCM_56960
    921 #define BCM_56850
    922 #define BCM_56840
    923 #define BCM_56634
    924 #define BCM_56624
    925 #define BCM_56304
    926 #define BCM_56800
    927 #define BCM_FIREBOLT_SUPPORT
    928 #define BCM_BRADLEY_SUPPORT
    929 #define BCM_HUMV_SUPPORT
    930 #define BCM_SCORPION_SUPPORT
    931 #define BCM_TRIUMPH_SUPPORT
    932 #define BCM_TRIUMPH2_SUPPORT
    933 #define BCM_TRX_SUPPORT
    934 #define BCM_TRIDENT_SUPPORT
    935 #define BCM_TRIUMPH3_SUPPORT
    936 #define BCM_TRIDENT2_SUPPORT
    937 #define BCM_TOMAHAWK_SUPPORT
    938 #define BCM_TOMAHAWK2_SUPPORT
    939 #define BCM_TOMAHAWKX_SUPPORT
    940 #define BCM_MPLS_SUPPORT
    941 #define BCM_XGS3_FABRIC_SUPPORT
    942 #define BCM_EXTND_SBUS_SUPPORT
    943 #define BCM_SBUSDMA_SUPPORT
    944 #define BCM_FIFODMA_SUPPORT
    945 #define BCM_TIMESYNC_SUPPORT
    946 #define BCM_TIME_V3_SUPPORT
    947 #define BCM_IPROC_SUPPORT
    948 #define BCM_TCB_SUPPORT
    949 #define SOC_ROBUST_HASH
    950 #define BCM_CMICDV2_SUPPORT
    951 #define BCM_CMICDV3_SUPPORT
    952 #define BCM_CMICDV4_SUPPORT
    953 #define BCM_UC_MHOST_SUPPORT
    954 #define PORTMOD_PMNULL_SUPPORT
    955 #define PORTMOD_PM4X10_SUPPORT
    956 #define PORTMOD_PM4X25_SUPPORT
    957 #define PHYMOD_EAGLE_SUPPORT
    958 #define PHYMOD_FALCON_SUPPORT
    959 #endif
    960 
    961 /* if ARAD_A0, ARAD_B0, ARAD_PLUS is defined, define also ARAD_A0, ARAD_B0, ARAD_PLUS */
    962 /* Pay attention that effectively all chip flags defined here are functionally equal to BCM_PETRA_SUPPORT */
    963 #if defined(BCM_88650_A0) || defined(BCM_88650_B0) || defined(BCM_88660_A0) || defined(BCM_88202_A0) || defined(BCM_88675_A0)|| defined(BCM_88675_B0) || defined(BCM_88375_A0) || defined(BCM_88680_A0) || defined(BCM_88470_A0) || defined(BCM_88470_B0) || defined(BCM_88270_A0) || defined(BCM_8206_A0) || defined(BCM_83207_A0) || defined(BCM_83208_A0)
    964 #define BCM_88650
    965 #define BCM_88650_A0
    966 #define BCM_88650_B0
    967 #define BCM_88660
    968 #define BCM_88660_A0
    969 #define BCM_88202
    970 #define BCM_88202_A0
    971 #define BCM_ARAD_SUPPORT
    972 #define BCM_CMICM_SUPPORT
    973 #define BCM_SBUSDMA_SUPPORT
    974 #ifndef BCM_DPP_SUPPORT
    975 #define BCM_DPP_SUPPORT
    976 #endif
    977 /* #define BCM_EXTND_SBUS_SUPPORT */
    978 #define BCM_DDR3_SUPPORT
    979 /*Compilation features*/
    980 #define BCM_LINKSCAN_LOCK_PER_UNIT
    981 #endif
    982 
    983 #if defined(BCM_88202_A0)
    984 #define PHYMOD_EAGLE_SUPPORT
    985 #endif
    986 
    987 #if defined(BCM_88675_A0) /* Defined via mcmrelease: genallchips.pl... */
    988 #define BCM_88675
    989 #define BCM_IPROC_SUPPORT
    990 #define BCM_UC_MHOST_SUPPORT
    991 /* Compilation features */
    992 #define BCM_LINKSCAN_LOCK_PER_UNIT
    993 #define PORTMOD_PMNULL_SUPPORT
    994 #define PORTMOD_PM4X10_SUPPORT
    995 #define PORTMOD_PM4x10Q_SUPPORT
    996 #define PORTMOD_PM_OS_ILKN_SUPPORT
    997 #define PORTMOD_PM4X25_SUPPORT
    998 #define PORTMOD_DNX_FABRIC_SUPPORT
    999 #define PHYMOD_EAGLE_SUPPORT
   1000 #define PHYMOD_FALCON_SUPPORT
   1001 #endif
   1002 
   1003 #if defined(BCM_88675_B0) /* Defined via mcmrelease: genallchips.pl... */
   1004 #define BCM_88675
   1005 #define BCM_IPROC_SUPPORT
   1006 #define BCM_UC_MHOST_SUPPORT
   1007 /* Compilation features */
   1008 #define BCM_LINKSCAN_LOCK_PER_UNIT
   1009 #define PORTMOD_PMNULL_SUPPORT
   1010 #define PORTMOD_PM4X10_SUPPORT
   1011 #define PORTMOD_PM4x10Q_SUPPORT
   1012 #define PORTMOD_PM_OS_ILKN_SUPPORT
   1013 #define PORTMOD_PM4X25_SUPPORT
   1014 #define PORTMOD_DNX_FABRIC_SUPPORT
   1015 #define PHYMOD_EAGLE_SUPPORT
   1016 #define PHYMOD_FALCON_SUPPORT
   1017 #endif
   1018 
   1019 #if defined(BCM_88375_A0) /* Defined via mcmrelease: genallchips.pl... ??? */
   1020 #define BCM_88375
   1021 #define BCM_IPROC_SUPPORT
   1022 #define BCM_UC_MHOST_SUPPORT
   1023 /* Compilation features */
   1024 #define BCM_LINKSCAN_LOCK_PER_UNIT
   1025 #define PORTMOD_PM4X10_SUPPORT
   1026 #define PORTMOD_PM4x10Q_SUPPORT
   1027 #define PORTMOD_PM_OS_ILKN_SUPPORT
   1028 #define PORTMOD_PM4X25_SUPPORT
   1029 #define PORTMOD_DNX_FABRIC_SUPPORT
   1030 #define PHYMOD_EAGLE_SUPPORT
   1031 #define PHYMOD_FALCON_SUPPORT
   1032 #endif
   1033 
   1034 
   1035 #if defined(BCM_88680_A0) /* Defined via mcmrelease: genallchips.pl... ??? */
   1036 #define BCM_88680
   1037 #define BCM_IPROC_SUPPORT
   1038 #define BCM_UC_MHOST_SUPPORT
   1039 /* Compilation features */
   1040 #define BCM_LINKSCAN_LOCK_PER_UNIT
   1041 #define PORTMOD_PM4X10_SUPPORT
   1042 #define PORTMOD_PM4x10Q_SUPPORT
   1043 #define PORTMOD_PM_OS_ILKN_SUPPORT
   1044 #define PORTMOD_PM4X25_SUPPORT
   1045 #define PORTMOD_DNX_FABRIC_SUPPORT
   1046 #define PHYMOD_EAGLE_SUPPORT
   1047 #define PHYMOD_FALCON_SUPPORT
   1048 #endif
   1049 
   1050 #if defined(BCM_88690_A0) || defined(BCM_88690_B0) /* Defined via mcmrelease: genallchips.pl... ??? */
   1051 #define BCM_88690
   1052 #define BCM_IPROC_SUPPORT
   1053 #define BCM_UC_MHOST_SUPPORT
   1054 /* Compilation features */
   1055 #define BCM_LINKSCAN_LOCK_PER_UNIT
   1056 #define PORTMOD_PM4X10_SUPPORT
   1057 #define PORTMOD_PM4x10Q_SUPPORT
   1058 #define PORTMOD_PM_OS_ILKN_SUPPORT
   1059 #define PORTMOD_PM_OS_ILKN_50G_SUPPORT
   1060 #define PORTMOD_PM4X25_SUPPORT
   1061 #define PORTMOD_DNX_FABRIC_SUPPORT
   1062 #define PORTMOD_PM8X50_FABRIC_SUPPORT
   1063 #define PORTMOD_PM8X50_SUPPORT
   1064 #define BCM_CMICX_SUPPORT
   1065 #define BCM_SBUSDMA_SUPPORT
   1066 #define PHYMOD_EAGLE_SUPPORT
   1067 #define PHYMOD_FALCON_SUPPORT
   1068 #define PORTMOD_PMNULL_SUPPORT
   1069 #endif
   1070 
   1071 #if defined(BCM_88800_A0) /* Defined via mcmrelease: genallchips.pl... ??? */
   1072 #define BCM_88800
   1073 #define BCM_IPROC_SUPPORT
   1074 #define BCM_UC_MHOST_SUPPORT
   1075 /* Compilation features */
   1076 #define BCM_LINKSCAN_LOCK_PER_UNIT
   1077 #define PORTMOD_PM4X10_SUPPORT
   1078 #define PORTMOD_PM4x10Q_SUPPORT
   1079 #define PORTMOD_PM_OS_ILKN_SUPPORT
   1080 #define PORTMOD_PM_OS_ILKN_50G_SUPPORT
   1081 #define PORTMOD_PM4X25_SUPPORT
   1082 #define PORTMOD_DNX_FABRIC_SUPPORT
   1083 #define PORTMOD_PM8X50_FABRIC_SUPPORT
   1084 #define BCM_CMICX_SUPPORT
   1085 #define BCM_SBUSDMA_SUPPORT
   1086 #define PHYMOD_EAGLE_SUPPORT
   1087 #define PHYMOD_FALCON_SUPPORT
   1088 #define PORTMOD_PMNULL_SUPPORT
   1089 #endif
   1090 
   1091 #if defined(BCM_88470_A0) /* Defined via mcmrelease: genallchips.pl... ??? */
   1092 #define BCM_88470
   1093 #define BCM_IPROC_SUPPORT
   1094 #define BCM_UC_MHOST_SUPPORT
   1095 /* Compilation features */
   1096 #define BCM_LINKSCAN_LOCK_PER_UNIT
   1097 #define PORTMOD_PMNULL_SUPPORT
   1098 #define PORTMOD_PM4X10_SUPPORT
   1099 #define PORTMOD_PM4x10Q_SUPPORT
   1100 #define PORTMOD_PM_OS_ILKN_SUPPORT
   1101 #define PORTMOD_PM4X25_SUPPORT
   1102 #define PORTMOD_DNX_FABRIC_SUPPORT
   1103 #define PORTMOD_DNX_FABRIC_O_NIF_SUPPORT
   1104 #define PHYMOD_EAGLE_SUPPORT
   1105 #define PHYMOD_FALCON_SUPPORT
   1106 #endif
   1107 
   1108 #if defined(BCM_88470_B0) /* Defined via mcmrelease: genallchips.pl... ??? */
   1109 #define BCM_88470
   1110 #define BCM_IPROC_SUPPORT
   1111 #define BCM_UC_MHOST_SUPPORT
   1112 /* Compilation features */
   1113 #define BCM_LINKSCAN_LOCK_PER_UNIT
   1114 #define PORTMOD_PMNULL_SUPPORT
   1115 #define PORTMOD_PM4X10_SUPPORT
   1116 #define PORTMOD_PM4x10Q_SUPPORT
   1117 #define PORTMOD_PM_OS_ILKN_SUPPORT
   1118 #define PORTMOD_PM4X25_SUPPORT
   1119 #define PORTMOD_DNX_FABRIC_SUPPORT
   1120 #define PORTMOD_DNX_FABRIC_O_NIF_SUPPORT
   1121 #define PHYMOD_EAGLE_SUPPORT
   1122 #define PHYMOD_FALCON_SUPPORT
   1123 #endif
   1124 
   1125 #if defined(BCM_88270_A0) /* Defined via mcmrelease: genallchips.pl... ??? */
   1126 #define BCM_88270
   1127 #define BCM_IPROC_SUPPORT
   1128 #define BCM_UC_MHOST_SUPPORT
   1129 /* Compilation features */
   1130 #define BCM_LINKSCAN_LOCK_PER_UNIT
   1131 #define PORTMOD_PMNULL_SUPPORT
   1132 #define PORTMOD_PM4X10_SUPPORT
   1133 #define PORTMOD_PM4x10Q_SUPPORT
   1134 #define PORTMOD_PM_OS_ILKN_SUPPORT
   1135 #define PORTMOD_PM4X25_SUPPORT
   1136 #define PORTMOD_DNX_FABRIC_SUPPORT
   1137 #define PORTMOD_PM4X2P5_SUPPORT
   1138 #define PHYMOD_EAGLE_SUPPORT
   1139 #define PHYMOD_FALCON_SUPPORT
   1140 #endif
   1141 
   1142 
   1143 #if defined(BCM_8206_A0) /* Defined via mcmrelease: genallchips.pl... ??? */
   1144 #define BCM_8206
   1145 /* Compilation features */
   1146 #define BCM_LINKSCAN_LOCK_PER_UNIT
   1147 #define PORTMOD_PMNULL_SUPPORT
   1148 #define PORTMOD_PM4X10_SUPPORT
   1149 #define PORTMOD_PM4x10Q_SUPPORT
   1150 #define PORTMOD_PM_OS_ILKN_SUPPORT
   1151 #define PORTMOD_PM4X25_SUPPORT
   1152 #define PORTMOD_DNX_FABRIC_SUPPORT
   1153 #define PHYMOD_EAGLE_SUPPORT
   1154 #define PHYMOD_FALCON_SUPPORT
   1155 #endif
   1156 
   1157 
   1158 #if defined(BCM_88754_A0)
   1159 #define  BCM_88750_A0
   1160 #define  BCM_88750_B0
   1161 #endif
   1162 
   1163 #if defined(BCM_88750_A0) || defined(BCM_88750_B0)
   1164 #define BCM_88750
   1165 #define BCM_88750_A0
   1166 #define BCM_88750_B0
   1167 #define BCM_88750_SUPPORT
   1168 /*Compilation features*/
   1169 #define BCM_LINKSCAN_LOCK_PER_UNIT
   1170 #endif
   1171 #if defined(BCM_88950_A0) || defined(BCM_88950_A1) || defined(BCM_88770_A1)
   1172 #define BCM_88770
   1173 #define BCM_88770_A1
   1174 #define BCM_88770_SUPPORT
   1175 #define BCM_88773
   1176 #define BCM_88773_A1
   1177 #define BCM_88773_SUPPORT
   1178 #define BCM_88774
   1179 #define BCM_88774_A1
   1180 #define BCM_88774_SUPPORT
   1181 #define BCM_88775
   1182 #define BCM_88775_A1
   1183 #define BCM_88775_SUPPORT
   1184 #define BCM_88776
   1185 #define BCM_88776_A1
   1186 #define BCM_88776_SUPPORT
   1187 #define BCM_88950
   1188 #define BCM_88950_A0
   1189 #define BCM_88950_A1
   1190 #define BCM_88950_SUPPORT
   1191 #define BCM_88953
   1192 #define BCM_88953_A1
   1193 #define BCM_88953_SUPPORT
   1194 #define BCM_88954
   1195 #define BCM_88954_A1
   1196 #define BCM_88954_SUPPORT
   1197 #define BCM_88955
   1198 #define BCM_88955_A1
   1199 #define BCM_88955_SUPPORT
   1200 #define BCM_88956
   1201 #define BCM_88956_A1
   1202 #define BCM_88956_SUPPORT
   1203 #define BCM_88750
   1204 #define BCM_88750_A0
   1205 #define BCM_88750_B0
   1206 #define BCM_88750_SUPPORT
   1207 #define BCM_LINKSCAN_LOCK_PER_UNIT
   1208 #define BCM_CMICM_SUPPORT
   1209 #define BCM_SBUSDMA_SUPPORT
   1210 #define BCM_IPROC_SUPPORT
   1211 #define PORTMOD_DNX_FABRIC_SUPPORT
   1212 #define PHYMOD_FALCON_SUPPORT
   1213 
   1214 #define BCM_88752
   1215 #define BCM_88752_A0
   1216 #define BCM_88752_B0
   1217 #endif
   1218 
   1219 /*
   1220 *This flag is defined by the MCM release
   1221 */
   1222 #if defined(BCM_88790_A0)
   1223 #define BCM_88790
   1224 #define BCM_SBUSDMA_SUPPORT
   1225 #define BCM_IPROC_SUPPORT
   1226 #define BCM_CMICX_SUPPORT
   1227 #define PORTMOD_PM8X50_FABRIC_SUPPORT
   1228 #define PHYMOD_BLACKHAWK_SUPPORT
   1229 #endif
   1230 
   1231 #if defined(BCM_88752_A0) || defined(BCM_88752_B0)
   1232 #define BCM_88750
   1233 #define BCM_88750_A0
   1234 #define BCM_88750_B0
   1235 
   1236 #define BCM_88752
   1237 #define BCM_88752_A0
   1238 #define BCM_88752_B0
   1239 #endif
   1240 
   1241 #if defined(BCM_83207_A0)
   1242 #define BCM_83207
   1243 #endif
   1244 #if defined(BCM_83208_A0)
   1245 #define BCM_83208
   1246 #endif
   1247 
   1248 
   1249 
   1250 #if defined(BCM_56150_A0)
   1251 #define BCM_56150
   1252 #define BCM_56142
   1253 #define BCM_56334
   1254 #define BCM_56624
   1255 #define BCM_56304
   1256 #define BCM_56800
   1257 #define BCM_FIREBOLT_SUPPORT
   1258 #define BCM_BRADLEY_SUPPORT
   1259 #define BCM_TRIUMPH_SUPPORT
   1260 #define BCM_TRIUMPH2_SUPPORT
   1261 #define BCM_ENDURO_SUPPORT
   1262 #define BCM_TRX_SUPPORT
   1263 #define BCM_HURRICANE_SUPPORT
   1264 #define BCM_HURRICANE2_SUPPORT
   1265 #define BCM_CMICM_SUPPORT
   1266 #define BCM_IPROC_SUPPORT
   1267 #define BCM_EXTND_SBUS_SUPPORT
   1268 #define BCM_CMICM_SUPPORT
   1269 #define BCM_SBUSDMA_SUPPORT
   1270 #define BCM_TIMESYNC_SUPPORT
   1271 #define BCM_TIMESYNC_V3_SUPPORT
   1272 #define BCM_TIME_V3_SUPPORT
   1273 #define BCM_DDR3_SUPPORT
   1274 #define BCM_IPROC_DDR_SUPPORT
   1275 #endif
   1276 
   1277 #if defined(BCM_88750_B0)
   1278 #define BCM_88750
   1279 #define BCM_88750_SUPPORT
   1280 #endif
   1281 
   1282 #if defined(BCM_53400_A0)
   1283 #define BCM_53400
   1284 #define BCM_56304
   1285 #define BCM_FIREBOLT_SUPPORT
   1286 #define BCM_BRADLEY_SUPPORT
   1287 #define BCM_TRIUMPH_SUPPORT
   1288 #define BCM_TRIUMPH2_SUPPORT
   1289 #define BCM_ENDURO_SUPPORT
   1290 #define BCM_TRX_SUPPORT
   1291 #define BCM_HURRICANE_SUPPORT
   1292 #define BCM_HURRICANE2_SUPPORT
   1293 #define BCM_CMICM_SUPPORT
   1294 #define BCM_IPROC_SUPPORT
   1295 #define BCM_EXTND_SBUS_SUPPORT
   1296 #define BCM_SBUSDMA_SUPPORT
   1297 #define BCM_TIMESYNC_SUPPORT
   1298 #define BCM_TIMESYNC_V3_SUPPORT
   1299 #define BCM_TIME_V3_SUPPORT
   1300 #define BCM_UC_MHOST_SUPPORT
   1301 #define BCM_GREYHOUND_SUPPORT
   1302 #define PORTMOD_PMNULL_SUPPORT
   1303 #define PORTMOD_PM4X10_SUPPORT
   1304 #define BCM_DDR3_SUPPORT
   1305 #define BCM_IPROC_DDR_SUPPORT
   1306 #endif
   1307 
   1308 #if defined(BCM_56160_A0)
   1309 #define BCM_56160
   1310 #define BCM_53400
   1311 #define BCM_56304
   1312 #define BCM_FIREBOLT_SUPPORT
   1313 #define BCM_BRADLEY_SUPPORT
   1314 #define BCM_TRIUMPH_SUPPORT
   1315 #define BCM_TRIUMPH2_SUPPORT
   1316 #define BCM_ENDURO_SUPPORT
   1317 #define BCM_TRX_SUPPORT
   1318 #define BCM_HURRICANE_SUPPORT
   1319 #define BCM_HURRICANE2_SUPPORT
   1320 #define BCM_CMICM_SUPPORT
   1321 #define BCM_IPROC_SUPPORT
   1322 #define BCM_IPROC_DDR_SUPPORT
   1323 #define BCM_DDR3_SUPPORT
   1324 #define BCM_EXTND_SBUS_SUPPORT
   1325 #define BCM_SBUSDMA_SUPPORT
   1326 #define BCM_TIMESYNC_SUPPORT
   1327 #define BCM_TIMESYNC_V3_SUPPORT
   1328 #define BCM_TIME_V3_SUPPORT
   1329 #define BCM_SWITCH_MATCH_SUPPORT
   1330 #define BCM_GREYHOUND_SUPPORT
   1331 #define BCM_HURRICANE3_SUPPORT
   1332 #endif
   1333 
   1334 #if defined(BCM_53540_A0)
   1335 #define BCM_53540
   1336 #define BCM_56160
   1337 #define BCM_56304
   1338 #define BCM_FIREBOLT_SUPPORT
   1339 #define BCM_BRADLEY_SUPPORT
   1340 #define BCM_TRIUMPH_SUPPORT
   1341 #define BCM_TRIUMPH2_SUPPORT
   1342 #define BCM_ENDURO_SUPPORT
   1343 #define BCM_TRX_SUPPORT
   1344 #define BCM_HURRICANE_SUPPORT
   1345 #define BCM_HURRICANE2_SUPPORT
   1346 #define BCM_CMICM_SUPPORT
   1347 #define BCM_IPROC_SUPPORT
   1348 #define BCM_IPROC_DDR_SUPPORT
   1349 #define BCM_DDR3_SUPPORT
   1350 #define BCM_EXTND_SBUS_SUPPORT
   1351 #define BCM_SBUSDMA_SUPPORT
   1352 #define BCM_TIMESYNC_SUPPORT
   1353 #define BCM_TIMESYNC_V3_SUPPORT
   1354 #define BCM_TIME_V3_SUPPORT
   1355 #define BCM_GREYHOUND_SUPPORT
   1356 #define BCM_HURRICANE3_SUPPORT
   1357 #endif
   1358 
   1359 #if defined(BCM_53570_A0) || defined(BCM_53570_B0)
   1360 #define BCM_53570
   1361 #define BCM_56160
   1362 #define BCM_53400
   1363 #define BCM_56304
   1364 #define BCM_FIREBOLT_SUPPORT
   1365 #define BCM_BRADLEY_SUPPORT
   1366 #define BCM_TRIUMPH_SUPPORT
   1367 #define BCM_TRIUMPH2_SUPPORT
   1368 #define BCM_ENDURO_SUPPORT
   1369 #define BCM_TRX_SUPPORT
   1370 #define BCM_HURRICANE_SUPPORT
   1371 #define BCM_HURRICANE2_SUPPORT
   1372 #define BCM_CMICM_SUPPORT
   1373 #define BCM_CMICDV2_SUPPORT
   1374 #define BCM_IPROC_SUPPORT
   1375 #define BCM_EXTND_SBUS_SUPPORT
   1376 #define BCM_SBUSDMA_SUPPORT
   1377 #define BCM_TIMESYNC_SUPPORT
   1378 #define BCM_TIMESYNC_V3_SUPPORT
   1379 #define BCM_TIME_V3_SUPPORT
   1380 #define BCM_UC_MHOST_SUPPORT
   1381 #define BCM_GREYHOUND_SUPPORT
   1382 #define BCM_HURRICANE3_SUPPORT
   1383 #define BCM_GREYHOUND2_SUPPORT
   1384 #define BCM_GLOBAL_METER_SUPPORT
   1385 #define BCM_GLOBAL_METER_V2_SUPPORT
   1386 #define PORTMOD_PM4X10_SUPPORT
   1387 #define BCM_PREEMPTION_SUPPORT
   1388 #define BCM_SWITCH_MATCH_SUPPORT
   1389 #define BCM_TSN_SUPPORT
   1390 #define BCM_TSN_SR_SUPPORT
   1391 #define BCM_TAS_SUPPORT
   1392 #endif
   1393 
   1394 
   1395 /*
   1396  * Strata XGS
   1397  */
   1398 #if defined(BCM_5673) || defined(BCM_5690)
   1399 #define BCM_XGS1_SWITCH_SUPPORT
   1400 #endif
   1401 
   1402 #if defined(BCM_5665) || defined(BCM_5695) || defined(BCM_5674)
   1403 #define BCM_XGS2_SWITCH_SUPPORT
   1404 #endif
   1405 
   1406 #if defined(BCM_56504) || \
   1407     defined(BCM_56102) || defined(BCM_56304) || defined(BCM_56218) || \
   1408     defined(BCM_56112) || defined(BCM_56314) || defined(BCM_56514) || \
   1409     defined(BCM_56580) || defined(BCM_56700) || defined(BCM_56800) || \
   1410     defined(BCM_56624) || defined(BCM_56224) || defined(BCM_56820) || \
   1411     defined(BCM_53314) || defined(BCM_56680) || defined(BCM_56725) || \
   1412     defined(BCM_56634) || defined(BCM_56524) || defined(BCM_56685) || \
   1413     defined(BCM_56334) || defined(BCM_56840) || defined(BCM_56142) || \
   1414     defined(BCM_88732) || defined(BCM_56640) || defined(BCM_56440) || \
   1415     defined(BCM_56850) || defined(BCM_56450) || defined(BCM_56340) || \
   1416     defined(BCM_56260) || defined(BCM_56160) || defined(BCM_56270) || \
   1417     defined(BCM_56150) || defined(BCM_53400) || defined(BCM_56960) || \
   1418     defined(BCM_56870) || defined(BCM_56965) || defined(BCM_56970) || \
   1419     defined(BCM_56980) || defined(BCM_53570) || defined(BCM_53540) || \
   1420     defined(BCM_56370) || defined(BCM_56770)
   1421 #define BCM_XGS3_SWITCH_SUPPORT
   1422 #endif
   1423 
   1424 #if defined(BCM_5675)
   1425 #define BCM_XGS2_FABRIC_SUPPORT
   1426 #endif
   1427 
   1428 #if defined(BCM_56700) || defined(BCM_56701) || defined(BCM_56725)
   1429 #define BCM_XGS3_FABRIC_SUPPORT
   1430 #endif
   1431 
   1432 #if defined(BCM_XGS3_SWITCH_SUPPORT)
   1433 #define BCM_XGS_SWITCH_SUPPORT
   1434 #endif
   1435 
   1436 #if defined(BCM_XGS2_FABRIC_SUPPORT)
   1437 #define BCM_XGS12_FABRIC_SUPPORT
   1438 #endif
   1439 
   1440 #if defined(BCM_XGS12_FABRIC_SUPPORT)
   1441 #define BCM_XGS12_SUPPORT
   1442 #endif
   1443 
   1444 #if defined(BCM_XGS12_FABRIC_SUPPORT) || defined(BCM_XGS3_FABRIC_SUPPORT)
   1445 #define BCM_XGS_FABRIC_SUPPORT
   1446 #endif
   1447 
   1448 #if defined(BCM_XGS_SWITCH_SUPPORT) || defined(BCM_XGS_FABRIC_SUPPORT)
   1449 #define BCM_XGS_SUPPORT
   1450 #endif
   1451 
   1452 #if defined(BCM_XGS_SWITCH_SUPPORT)
   1453 #define BCM_SWITCH_SUPPORT
   1454 #endif
   1455 
   1456 #if defined(BCM_56960) || defined(BCM_56965) || defined(BCM_56970) || \
   1457     defined(BCM_56980)
   1458 #define SOC_UNIQUE_ACC_TYPE_ACCESS
   1459 #endif
   1460 
   1461 /* Common XGS5 Port Module Support */
   1462 #if defined(BCM_56450) || defined(BCM_56560) || defined(BCM_56860) || \
   1463     defined(BCM_56870) || defined(BCM_56970) || defined(BCM_56370) || \
   1464     defined(BCM_56770) || defined(BCM_56980)
   1465 #define BCM_XGS5_SWITCH_PORT_SUPPORT
   1466 #endif
   1467 
   1468 /*
   1469  * RIOT
   1470  */
   1471 #if defined(INCLUDE_L3)
   1472 #if defined(BCM_56860_A0) || defined (BCM_56560) || defined(BCM_56870_A0) || \
   1473     defined(BCM_56370) || defined(BCM_56770)
   1474 #define BCM_RIOT_SUPPORT
   1475 #endif
   1476 #endif
   1477 /*
   1478  * SwapToItself
   1479  */
   1480 #if defined(INCLUDE_L3)
   1481 #if defined (BCM_56560) || defined (BCM_56970_A0) || defined(BCM_56870_A0) || \
   1482     defined(BCM_56370) || defined(BCM_56770)
   1483 #define BCM_SWAP_TO_SELF_SUPPORT
   1484 #endif
   1485 #endif
   1486  /*
   1487   * Multi-level ECMP
   1488   */
   1489 #if defined(INCLUDE_L3)
   1490 #if defined(BCM_56860_A0) || defined (BCM_56560) || defined(BCM_56870) || \
   1491     defined(BCM_56370) || defined(BCM_56770) || defined(BCM_56980)
   1492 #define BCM_MULTI_LEVEL_ECMP_SUPPORT
   1493 #endif
   1494 #endif
   1495 
   1496 /*
   1497  * Multi-Level Failover Support.
   1498  */
   1499 #if defined(INCLUDE_L3)
   1500 #if defined(BCM_56560)
   1501 #define BCM_MULTI_LEVEL_FAILOVER_SUPPORT
   1502 #endif
   1503 #endif
   1504 
   1505 /*
   1506  * Special Label Enhancement Support.
   1507  */
   1508 #if defined(INCLUDE_L3)
   1509 #if defined(BCM_56870) || defined(BCM_56370) || defined(BCM_56770)
   1510 #define BCM_SPECIAL_LABEL_SUPPORT
   1511 #endif
   1512 #endif
   1513 
   1514 /*
   1515  * L3_ECMP Protected write
   1516  */
   1517 #if defined(INCLUDE_L3)
   1518 #if defined(BCM_56370)
   1519 #define SOC_L3_ECMP_PROTECTED_ACCESS_SUPPORT
   1520 #endif
   1521 #endif
   1522 
   1523 
   1524 
   1525 
   1526 /*
   1527  * Common Collector APIs support.
   1528  */
   1529 #if defined(BCM_FLOWTRACKER_SUPPORT) || \
   1530     defined(INCLUDE_FLOWTRACKER)     || \
   1531     defined(INCLUDE_IFA)             || \
   1532     defined(INCLUDE_TELEMETRY)
   1533 #define BCM_COLLECTOR_SUPPORT
   1534 #endif
   1535 
   1536 
   1537 /*
   1538  * TimeSync Time Capture support.
   1539  */
   1540 #if defined(BCM_56960_A0) || \
   1541     defined(BCM_56970_A0) || \
   1542     defined(BCM_56770_A0) || \
   1543     defined(BCM_56980_A0) || defined(BCM_56980_A0) || \
   1544     defined(BCM_53570_A0) || defined(BCM_53570_B0)
   1545 #define BCM_TIMESYNC_TIME_CAPTURE_SUPPORT
   1546 #endif
   1547 
   1548 /* 
   1549  * EA
   1550  */
   1551 
   1552 #if defined(BCM_XGS3_SWITCH_SUPPORT)
   1553 #define BCM_FIELD_SUPPORT
   1554 #endif
   1555 
   1556 /*
   1557  * If any supported chip includes a Fast Filter Processor (FFP)
   1558  * or Field Processor (FP)
   1559  */
   1560 #if defined(BCM_XGS1_SWITCH_SUPPORT) || defined(BCM_XGS2_SWITCH_SUPPORT)
   1561 #define BCM_FILTER_SUPPORT 
   1562 #endif
   1563 
   1564 #if defined(INCLUDE_ACL)
   1565 #define BCM_ACL_SUPPORT
   1566 #endif
   1567 
   1568 /*
   1569  * CMIC
   1570  */
   1571 #if defined(BCM_ESW_SUPPORT) || defined(BCM_SAND_SUPPORT) || defined(PORTMOD_SUPPORT)
   1572 #define BCM_CMIC_SUPPORT
   1573 #endif
   1574 
   1575 /*
   1576  * If any supported chip supports Higig2
   1577  */
   1578 #if defined(BCM_56580) || defined(BCM_56700) || defined(BCM_56800) || \
   1579     defined(BCM_56218) || defined(BCM_56624) || defined(BCM_56224) || \
   1580     defined(BCM_56820) || defined(BCM_56680) || defined(BCM_56725) || \
   1581     defined(BCM_53314) || defined(BCM_56634) || defined(BCM_56524) || \
   1582     defined(BCM_56685) || defined(BCM_56334) || \
   1583     defined(BCM_56840) || defined(BCM_56142) || defined(BCM_88732) || \
   1584     defined(BCM_56640) || defined(BCM_56440) || defined(BCM_56850) || \
   1585     defined(BCM_56450) || defined(BCM_56340) || defined(BCM_56150) || \
   1586     defined(BCM_56260) || defined(BCM_56160) || defined(BCM_56270) || \
   1587     defined(BCM_53400) || defined(BCM_56960) || \
   1588     defined(BCM_56860) || defined(BCM_56965) || defined(BCM_56970) || \
   1589     defined(BCM_56870) || defined(BCM_53570) || defined(BCM_56370) || \
   1590     defined(BCM_56770) || defined(BCM_53540) || defined(BCM_56980)
   1591 #define BCM_HIGIG2_SUPPORT
   1592 #endif
   1593 
   1594 /*
   1595  * If any supported chip has GXPORTS
   1596  */
   1597 #if defined(BCM_56580) || defined(BCM_56700) || defined(BCM_56800) || \
   1598     defined(BCM_56624) || defined(BCM_56820) || defined(BCM_56680) || \
   1599     defined(BCM_56725) || defined(BCM_56634) || defined(BCM_56524) || \
   1600     defined(BCM_56685) || defined(BCM_56334) || \
   1601     defined(BCM_56840) || defined(BCM_56142) || defined(BCM_88732) || \
   1602     defined(BCM_56640) || defined(BCM_56440) || defined(BCM_56850) || \
   1603     defined(BCM_56450) || defined(BCM_56340) || defined(BCM_56150) || \
   1604     defined(BCM_56260) || defined(BCM_56160) || defined(BCM_56270) || \
   1605     defined(BCM_53400) || defined(BCM_56960) || defined(BCM_56965) || \
   1606     defined(BCM_56970) || defined(BCM_53570) || defined(BCM_56980)
   1607 #define BCM_GXPORT_SUPPORT
   1608 #endif
   1609 
   1610 /*
   1611  * If any supported chip includes storm control (bandwidth rate) capability
   1612  */
   1613 #if defined(BCM_56218) || defined(BCM_56224) || defined(BCM_53314) || defined(BCM_88732)
   1614 #define BCM_BANDWIDTH_RATE_METER
   1615 #endif
   1616 
   1617 /*
   1618  * If any supported chip has BigMAC ports
   1619  */
   1620 #if defined(BCM_XGS12_SUPPORT) || \
   1621     defined(BCM_56504) || \
   1622     defined(BCM_56102) || defined(BCM_56304) || defined(BCM_56112) || \
   1623     defined(BCM_56314) || defined(BCM_56580) || defined(BCM_56700) || \
   1624     defined(BCM_56800) || defined(BCM_56514) || defined(BCM_56624) || \
   1625     defined(BCM_56680) || defined(BCM_56820) || defined(BCM_56725) || \
   1626     defined(BCM_56334) || defined(BCM_88732)
   1627 #define BCM_BIGMAC_SUPPORT
   1628 #endif
   1629 
   1630 /*
   1631  * If any supported chip has XMAC ports
   1632  */
   1633 #if defined(BCM_56840) || defined(BCM_88732) || defined(BCM_56640) || \
   1634     defined(BCM_56440) || defined(BCM_56450) || defined(BCM_56340)
   1635 #define BCM_XMAC_SUPPORT
   1636 #endif
   1637 
   1638 /*
   1639  * If any supported chip has XLMAC ports
   1640  */
   1641 #if defined(BCM_56850) || defined(BCM_56150) || defined(BCM_56960) || \
   1642     defined(BCM_53400) || defined(BCM_56260) || defined(BCM_56160) || \
   1643     defined(BCM_56270) || defined(BCM_56965) || defined(BCM_56970) || \
   1644     defined(BCM_56870) || defined(BCM_56980)
   1645 #define BCM_XLMAC_SUPPORT
   1646 #endif
   1647 
   1648 /*
   1649  * If any supported chip has CLMAC ports
   1650  */
   1651 #if defined(BCM_56960) || defined(BCM_56860) || defined(BCM_56560) || \
   1652     defined(BCM_56870) || \
   1653     defined(BCM_56965) || defined(BCM_56970) || defined(BCM_53570) || \
   1654     defined(BCM_56980)
   1655 #define BCM_CLMAC_SUPPORT
   1656 #endif
   1657 
   1658 /*
   1659  * If any supported chip has UniMAC ports
   1660  */
   1661 #if defined(BCM_56224) || defined(BCM_56624) || defined(BCM_56820) || \
   1662     defined(BCM_53314) || defined(BCM_56680) || defined(BCM_56725) || \
   1663     defined(BCM_56634) || defined(BCM_56524) || \
   1664     defined(BCM_56685) || defined(BCM_56334) || \
   1665     defined(BCM_56840) || defined(BCM_56142) || defined(BCM_88732) || \
   1666     defined(BCM_56440) || defined(BCM_56450) || defined(BCM_56150) || \
   1667     defined(BCM_53400) || defined(BCM_56260) || defined(BCM_56160) || \
   1668     defined(BCM_56270) || defined(BCM_53570) || defined(BCM_53540)
   1669 #define BCM_UNIMAC_SUPPORT
   1670 #endif
   1671 
   1672 /*
   1673  * If any supported chip has CMAC ports
   1674  */
   1675 #if defined(BCM_56640) || defined(BCM_56850) || \
   1676     defined(BCM_56960) || defined(BCM_56965) || defined(BCM_56970) || \
   1677     defined(BCM_56870) || defined(BCM_56980)
   1678 #define BCM_CMAC_SUPPORT
   1679 #endif
   1680 
   1681 /*
   1682  * If any supported chip has Unified ports
   1683  */
   1684 #if defined(BCM_56640) || defined(BCM_56850) || defined(BCM_56340) || \
   1685     defined(BCM_56960) || defined(BCM_56965) || \
   1686     defined(BCM_56970) || defined(BCM_56870) || defined(BCM_56980)
   1687 #define BCM_UNIPORT_SUPPORT
   1688 #endif
   1689 
   1690 /*
   1691  * If any supported chip has ISM support
   1692  */
   1693 #if defined(BCM_56640) || defined(BCM_56340) || defined(BCM_56850) || \
   1694     defined(BCM_56960) || defined(BCM_56965) || defined(BCM_56870) || \
   1695     defined(BCM_56970) || defined(BCM_56980)
   1696 #define BCM_ISM_SUPPORT
   1697 #endif
   1698 
   1699 /*
   1700  * If any supported chip has CMICM support
   1701  */
   1702 #ifdef BCM_SBUSDMA_SUPPORT
   1703 #define BCM_CMICM_SUPPORT
   1704 #endif
   1705 
   1706 /*
   1707  * If any supported chip has instrumentation feature
   1708  */
   1709 #if defined(BCM_56960) || defined(BCM_56965) || \
   1710     defined(BCM_56870) || defined(BCM_56970) || defined(BCM_56980) || \
   1711     defined(BCM_56770)
   1712 #define BCM_INSTRUMENTATION_SUPPORT
   1713 #endif
   1714 
   1715 /*
   1716  * If any supported chip includes an LED Processor
   1717  */
   1718 
   1719 #if defined(BCM_5675)  || defined(BCM_56504) || \
   1720     defined(BCM_56102) || defined(BCM_56304) || \
   1721     defined(BCM_56112) || defined(BCM_56314) || \
   1722     defined(BCM_56580) || defined(BCM_56700) || \
   1723     defined(BCM_56800) || defined(BCM_56218) || \
   1724     defined(BCM_56514) || defined(BCM_56624) || \
   1725     defined(BCM_56224) || defined(BCM_56820) || \
   1726     defined(BCM_53314) || defined(BCM_56680) || \
   1727     defined(BCM_56725) || defined(BCM_56634) || \
   1728     defined(BCM_56524) || defined(BCM_56334) || \
   1729     defined(BCM_56685) || \
   1730     defined(BCM_56840) || defined(BCM_56142) || \
   1731     defined(BCM_88732) || defined(BCM_56640) || \
   1732     defined(BCM_56440) || defined(BCM_56850) || \
   1733     defined(BCM_56450) || defined(BCM_56340) || \
   1734     defined(BCM_56150) || defined(BCM_88650) || \
   1735     defined(BCM_53400) || defined(BCM_56960) || \
   1736     defined(BCM_56260) || defined(BCM_56160) || \
   1737     defined(BCM_56270) || defined(BCM_56965) || \
   1738     defined(BCM_56870) || \
   1739     defined(BCM_56970) || defined(BCM_53570) || \
   1740     defined(BCM_56980) || defined(BCM_53540) || \
   1741     defined(BCM_56370) || defined(BCM_56770)
   1742 #define BCM_LEDPROC_SUPPORT
   1743 #endif
   1744 
   1745 #if defined(BCM_53400) || defined(BCM_56340) || \
   1746     defined(BCM_56150) || defined(BCM_56160) || \
   1747     defined(BCM_56260)
   1748 #define BCM_AND28_SUPPORT
   1749 #endif
   1750 
   1751 #if defined(BCM_88675) || defined(BCM_88680) || \
   1752     defined(BCM_88470) || defined(BCM_88375) || \
   1753     defined(BCM_88270) || defined(BCM_83207)
   1754 #define BCM_DDRC28_SUPPORT
   1755 #endif
   1756 
   1757 #if defined(INCLUDE_ACL)
   1758 #define BCM_ACL_SUPPORT
   1759 #endif
   1760 
   1761 #if defined(BCM_XGS_SUPPORT)
   1762 #ifndef BCM_ESW_SUPPORT
   1763 #define BCM_ESW_SUPPORT
   1764 #endif
   1765 #endif
   1766 
   1767 #if defined(INCLUDE_RCPU)
   1768 #define BCM_RCPU_SUPPORT
   1769 #endif
   1770 
   1771 #if defined(INCLUDE_OOB_RCPU)
   1772 #define BCM_OOB_RCPU_SUPPORT
   1773 #endif
   1774 
   1775 /* MACSEC special definition for those switch device within bounded MACSEC supports. */
   1776 #ifdef INCLUDE_MACSEC
   1777 /*  Current MACSEC solution in SDK can be classified to two solutions.
   1778  *      1. PHY-MACSEC : MACSEC is bounded in a stand-along PHY chip.
   1779  *      2. Switch-MACSEC : MACSEC is bounded with switch device.
   1780  *          - BCM_SWITCHMACSEC_SUPPORT is specified for this solution.
   1781  */
   1782 #endif  /* INCLUDE_MACSEC */
   1783 
   1784 /****************************************************************
   1785  *
   1786  * This is a list of all known chips which may or may not be supported
   1787  * by a given image.
   1788  *
   1789  * Use soc_chip_supported() for which are supported
   1790  * CHANGE soc_chip_type_map if you change this
   1791  *
   1792  * See also socchip.h
   1793  *
   1794  * Enumerated types include:
   1795  *   Unit numbers
   1796  *   Chip type numbers (specific chip references w/ rev id)
   1797  *   Chip group numbers (groups of chips, usually dropping revision
   1798  *        number)
   1799  *
   1800  * All of the above are 0-based.
   1801  */
   1802 
   1803 typedef enum soc_chip_types_e {
   1804     SOC_CHIP_BCM5670_A0,
   1805     SOC_CHIP_BCM5673_A0,
   1806     SOC_CHIP_BCM5690_A0,
   1807     SOC_CHIP_BCM5665_A0,
   1808     SOC_CHIP_BCM5695_A0,
   1809     SOC_CHIP_BCM5675_A0,
   1810     SOC_CHIP_BCM5674_A0,
   1811     SOC_CHIP_BCM5665_B0,
   1812     SOC_CHIP_BCM56601_A0,
   1813     SOC_CHIP_BCM56601_B0,
   1814     SOC_CHIP_BCM56601_C0,
   1815     SOC_CHIP_BCM56602_A0,
   1816     SOC_CHIP_BCM56602_B0,
   1817     SOC_CHIP_BCM56602_C0,
   1818     SOC_CHIP_BCM56504_A0,
   1819     SOC_CHIP_BCM56504_B0,
   1820     SOC_CHIP_BCM56102_A0,
   1821     SOC_CHIP_BCM56304_B0,
   1822     SOC_CHIP_BCM56112_A0,
   1823     SOC_CHIP_BCM56314_A0,
   1824     SOC_CHIP_BCM5650_C0,
   1825     SOC_CHIP_BCM56800_A0,
   1826     SOC_CHIP_BCM56218_A0,
   1827     SOC_CHIP_BCM56514_A0,
   1828     SOC_CHIP_BCM56624_A0,
   1829     SOC_CHIP_BCM56624_B0,
   1830     SOC_CHIP_BCM56680_A0,
   1831     SOC_CHIP_BCM56680_B0,
   1832     SOC_CHIP_BCM56224_A0,
   1833     SOC_CHIP_BCM56224_B0,
   1834     SOC_CHIP_BCM53314_A0,
   1835     SOC_CHIP_BCM53324_A0,
   1836     SOC_CHIP_BCM56725_A0,
   1837     SOC_CHIP_BCM56820_A0,
   1838     SOC_CHIP_BCM56634_A0,
   1839     SOC_CHIP_BCM56634_B0,
   1840     SOC_CHIP_BCM56524_A0,
   1841     SOC_CHIP_BCM56524_B0,
   1842     SOC_CHIP_BCM56685_A0,
   1843     SOC_CHIP_BCM56685_B0,
   1844     SOC_CHIP_BCM56334_A0,
   1845     SOC_CHIP_BCM56334_B0,
   1846     SOC_CHIP_BCM56840_A0,
   1847     SOC_CHIP_BCM56840_B0,
   1848     SOC_CHIP_BCM56850_A0,
   1849     SOC_CHIP_BCM56960_A0,
   1850     SOC_CHIP_BCM56980_A0,
   1851     SOC_CHIP_BCM56980_B0,
   1852     SOC_CHIP_BCM56870_A0,
   1853     SOC_CHIP_BCM56873_A0,
   1854     SOC_CHIP_BCM56370_A0,
   1855     SOC_CHIP_BCM56770_A0,
   1856     SOC_CHIP_BCM56771_A0,
   1857     SOC_CHIP_BCM56970_A0,
   1858     SOC_CHIP_BCM56142_A0,
   1859     SOC_CHIP_BCM56150_A0,
   1860     SOC_CHIP_BCM88650_A0,
   1861     SOC_CHIP_BCM88650_B0,
   1862     SOC_CHIP_BCM88650_B1,
   1863     SOC_CHIP_BCM88660_A0,
   1864     SOC_CHIP_BCM88675_A0,
   1865     SOC_CHIP_BCM88675_B0,
   1866     SOC_CHIP_BCM88375_A0,
   1867     SOC_CHIP_BCM88375_B0,
   1868     SOC_CHIP_BCM88680_A0,
   1869     SOC_CHIP_BCM88690_A0,
   1870     SOC_CHIP_BCM88690_B0,
   1871     SOC_CHIP_BCM88800_A0,
   1872     SOC_CHIP_BCM88470_A0,
   1873     SOC_CHIP_BCM88470_B0,
   1874     SOC_CHIP_BCM88270_A0,
   1875     SOC_CHIP_BCM8206_A0,
   1876     SOC_CHIP_BCM88202_A0,
   1877     SOC_CHIP_BCM2801PM_A0,
   1878     SOC_CHIP_BCM88732_A0,
   1879     SOC_CHIP_BCM56640_A0,
   1880     SOC_CHIP_BCM56640_B0,
   1881     SOC_CHIP_BCM56340_A0, /* Helix4 */
   1882     SOC_CHIP_BCM56440_A0,
   1883     SOC_CHIP_BCM56440_B0,
   1884     SOC_CHIP_BCM56450_A0,
   1885     SOC_CHIP_BCM56450_B0,
   1886     SOC_CHIP_BCM56450_B1,
   1887     SOC_CHIP_BCM56260_A0, /* Saber2 */
   1888     SOC_CHIP_BCM56260_B0, /* Saber2 */
   1889     SOC_CHIP_BCM56270_A0, /* Metrolite */
   1890     SOC_CHIP_BCM56860_A0, /* Trident2 Plus */
   1891     SOC_CHIP_BCM56560_A0, /* Apache */
   1892     SOC_CHIP_BCM56560_B0, /* Apache */
   1893     SOC_CHIP_BCM56670_A0, /* Monterey */
   1894     SOC_CHIP_BCM56670_B0, /* Monterey */
   1895     SOC_CHIP_BCM88750_A0,
   1896     SOC_CHIP_BCM88750_B0,
   1897     SOC_CHIP_BCM88753_A0,
   1898     SOC_CHIP_BCM88753_B0,
   1899     SOC_CHIP_BCM88754_A0,
   1900     SOC_CHIP_BCM88755_B0,
   1901     SOC_CHIP_BCM88770_A1,
   1902     SOC_CHIP_BCM88773_A1,
   1903     SOC_CHIP_BCM88774_A1,
   1904     SOC_CHIP_BCM88775_A1,
   1905     SOC_CHIP_BCM88776_A1,
   1906     SOC_CHIP_BCM88950_A0,
   1907     SOC_CHIP_BCM88950_A1,
   1908     SOC_CHIP_BCM88953_A1,
   1909     SOC_CHIP_BCM88954_A1,
   1910     SOC_CHIP_BCM88955_A1,
   1911     SOC_CHIP_BCM88956_A1,
   1912     SOC_CHIP_BCM88790_A0,
   1913     SOC_CHIP_BCM88790_B0,
   1914     SOC_CHIP_ACP,
   1915     SOC_CHIP_BCM53400_A0,
   1916     SOC_CHIP_BCM56160_A0,
   1917     SOC_CHIP_BCM53570_A0,
   1918     SOC_CHIP_BCM53570_B0,
   1919     SOC_CHIP_BCM88752_A0,
   1920     SOC_CHIP_BCM88752_B0,
   1921     SOC_CHIP_BCM88772_A1,
   1922     SOC_CHIP_BCM88952_A0,
   1923     SOC_CHIP_BCM88952_A1,
   1924     SOC_CHIP_BCM83207_A0,
   1925     SOC_CHIP_BCM83208_A0,
   1926     SOC_CHIP_BCM56965_A0, /* Tomahawk+ */
   1927     SOC_CHIP_BCM56965_A1, /* Tomahawk+ */
   1928     SOC_CHIP_BCM53540_A0,
   1929     SOC_CHIP_TYPES_COUNT
   1930 } soc_chip_types;
   1931 
   1932 /****************************************************************
   1933  * 
   1934  * NB: Order of this array must match soc_chip_types_e above.
   1935  */
   1936 #define SOC_CHIP_TYPE_MAP_INIT \
   1937     /* SOC_CHIP_BCM5670_A0,  */ SOC_CHIP_BCM5670,  \
   1938     /* SOC_CHIP_BCM5673_A0,  */ SOC_CHIP_BCM5673,  \
   1939     /* SOC_CHIP_BCM5690_A0,  */ SOC_CHIP_BCM5690,  \
   1940     /* SOC_CHIP_BCM5665_A0,  */ SOC_CHIP_BCM5665,  \
   1941     /* SOC_CHIP_BCM5695_A0,  */ SOC_CHIP_BCM5695,  \
   1942     /* SOC_CHIP_BCM5675_A0,  */ SOC_CHIP_BCM5675,  \
   1943     /* SOC_CHIP_BCM5674_A0,  */ SOC_CHIP_BCM5674,  \
   1944     /* SOC_CHIP_BCM5665_B0,  */ SOC_CHIP_BCM5665,  \
   1945     /* SOC_CHIP_BCM56601_A0, */ SOC_CHIP_BCM56601, \
   1946     /* SOC_CHIP_BCM56601_B0, */ SOC_CHIP_BCM56601, \
   1947     /* SOC_CHIP_BCM56601_C0, */ SOC_CHIP_BCM56601, \
   1948     /* SOC_CHIP_BCM56602_A0, */ SOC_CHIP_BCM56602, \
   1949     /* SOC_CHIP_BCM56602_B0, */ SOC_CHIP_BCM56602, \
   1950     /* SOC_CHIP_BCM56602_C0, */ SOC_CHIP_BCM56602, \
   1951     /* SOC_CHIP_BCM56504_A0, */ SOC_CHIP_BCM56504, \
   1952     /* SOC_CHIP_BCM56504_B0, */ SOC_CHIP_BCM56504, \
   1953     /* SOC_CHIP_BCM56102_A0, */ SOC_CHIP_BCM56102, \
   1954     /* SOC_CHIP_BCM56304_B0, */ SOC_CHIP_BCM56304, \
   1955     /* SOC_CHIP_BCM56112_A0, */ SOC_CHIP_BCM56112, \
   1956     /* SOC_CHIP_BCM56314_A0, */ SOC_CHIP_BCM56314, \
   1957     /* SOC_CHIP_BCM5650_C0,  */ SOC_CHIP_BCM5650,  \
   1958     /* SOC_CHIP_BCM56800_A0, */ SOC_CHIP_BCM56800, \
   1959     /* SOC_CHIP_BCM56218_A0, */ SOC_CHIP_BCM56218, \
   1960     /* SOC_CHIP_BCM56514_A0, */ SOC_CHIP_BCM56514, \
   1961     /* SOC_CHIP_BCM56624_A0, */ SOC_CHIP_BCM56624, \
   1962     /* SOC_CHIP_BCM56624_B0, */ SOC_CHIP_BCM56624, \
   1963     /* SOC_CHIP_BCM56680_A0, */ SOC_CHIP_BCM56680, \
   1964     /* SOC_CHIP_BCM56680_B0, */ SOC_CHIP_BCM56680, \
   1965     /* SOC_CHIP_BCM56224_A0, */ SOC_CHIP_BCM56224, \
   1966     /* SOC_CHIP_BCM56224_B0, */ SOC_CHIP_BCM56224, \
   1967     /* SOC_CHIP_BCM53314_A0, */ SOC_CHIP_BCM53314, \
   1968     /* SOC_CHIP_BCM53324_A0, */ SOC_CHIP_BCM53314, \
   1969     /* SOC_CHIP_BCM56725_A0, */ SOC_CHIP_BCM56725, \
   1970     /* SOC_CHIP_BCM56820_A0, */ SOC_CHIP_BCM56820, \
   1971     /* SOC_CHIP_BCM56634_A0, */ SOC_CHIP_BCM56634, \
   1972     /* SOC_CHIP_BCM56634_B0, */ SOC_CHIP_BCM56634, \
   1973     /* SOC_CHIP_BCM56524_A0, */ SOC_CHIP_BCM56524, \
   1974     /* SOC_CHIP_BCM56524_B0, */ SOC_CHIP_BCM56524, \
   1975     /* SOC_CHIP_BCM56685_A0, */ SOC_CHIP_BCM56685, \
   1976     /* SOC_CHIP_BCM56685_B0, */ SOC_CHIP_BCM56685, \
   1977     /* SOC_CHIP_BCM56334_A0, */ SOC_CHIP_BCM56334, \
   1978     /* SOC_CHIP_BCM56334_B0, */ SOC_CHIP_BCM56334, \
   1979     /* SOC_CHIP_BCM56840_A0, */ SOC_CHIP_BCM56840, \
   1980     /* SOC_CHIP_BCM56840_B0, */ SOC_CHIP_BCM56840, \
   1981     /* SOC_CHIP_BCM56850_A0, */ SOC_CHIP_BCM56850, \
   1982     /* SOC_CHIP_BCM56960_A0, */ SOC_CHIP_BCM56960, \
   1983     /* SOC_CHIP_BCM56980_A0, */ SOC_CHIP_BCM56980, \
   1984     /* SOC_CHIP_BCM56980_B0, */ SOC_CHIP_BCM56980, \
   1985     /* SOC_CHIP_BCM56870_A0, */ SOC_CHIP_BCM56870, \
   1986     /* SOC_CHIP_BCM56873_A0, */ SOC_CHIP_BCM56870, \
   1987     /* SOC_CHIP_BCM56370_A0, */ SOC_CHIP_BCM56370, \
   1988     /* SOC_CHIP_BCM56770_A0, */ SOC_CHIP_BCM56770, \
   1989     /* SOC_CHIP_BCM56771_A0, */ SOC_CHIP_BCM56770, \
   1990     /* SOC_CHIP_BCM56970_A0, */ SOC_CHIP_BCM56970, \
   1991     /* SOC_CHIP_BCM56142_A0, */ SOC_CHIP_BCM56142, \
   1992     /* SOC_CHIP_BCM56150_A0, */ SOC_CHIP_BCM56150, \
   1993     /* SOC_CHIP_BCM88650_A0  */ SOC_CHIP_BCM88650, \
   1994     /* SOC_CHIP_BCM88650_B0  */ SOC_CHIP_BCM88650, \
   1995     /* SOC_CHIP_BCM88650_B1  */ SOC_CHIP_BCM88650, \
   1996     /* SOC_CHIP_BCM88660_A0  */ SOC_CHIP_BCM88660, \
   1997     /* SOC_CHIP_BCM88675_A0  */ SOC_CHIP_BCM88675, \
   1998     /* SOC_CHIP_BCM88675_B0  */ SOC_CHIP_BCM88675, \
   1999     /* SOC_CHIP_BCM88375_A0 */ SOC_CHIP_BCM88375, \
   2000     /* SOC_CHIP_BCM88375_B0 */ SOC_CHIP_BCM88375, \
   2001     /* SOC_CHIP_BCM88680_A0 */ SOC_CHIP_BCM88680, \
   2002     /* SOC_CHIP_BCM88690_A0 */ SOC_CHIP_BCM8869X, \
   2003     /* SOC_CHIP_BCM88690_B0 */ SOC_CHIP_BCM8869X, \
   2004     /* SOC_CHIP_BCM88800_A0 */ SOC_CHIP_BCM8880X, \
   2005     /* SOC_CHIP_BCM88470_A0 */ SOC_CHIP_BCM88470, \
   2006     /* SOC_CHIP_BCM88470_B0 */ SOC_CHIP_BCM88470, \
   2007     /* SOC_CHIP_BCM88270_A0 */ SOC_CHIP_BCM88270, \
   2008     /* SOC_CHIP_BCM8206_A0, */ SOC_CHIP_BCM8206, \
   2009     /* SOC_CHIP_BCM88202_A0, */ SOC_CHIP_BCM88202, \
   2010     /* SOC_CHIP_BCM2801PM_A0 */ SOC_CHIP_BCM2801PM, \
   2011     /* SOC_CHIP_BCM88732_A0, */ SOC_CHIP_BCM88732, \
   2012     /* SOC_CHIP_BCM56640_A0, */ SOC_CHIP_BCM56640, \
   2013     /* SOC_CHIP_BCM56640_B0, */ SOC_CHIP_BCM56640, \
   2014     /* SOC_CHIP_BCM56340_A0, */ SOC_CHIP_BCM56340, \
   2015     /* SOC_CHIP_BCM56440_A0  */ SOC_CHIP_BCM56440, \
   2016     /* SOC_CHIP_BCM56440_B0  */ SOC_CHIP_BCM56440, \
   2017     /* SOC_CHIP_BCM56450_A0  */ SOC_CHIP_BCM56450, \
   2018     /* SOC_CHIP_BCM56450_B0  */ SOC_CHIP_BCM56450, \
   2019     /* SOC_CHIP_BCM56450_B1  */ SOC_CHIP_BCM56450, \
   2020     /* SOC_CHIP_BCM56260_A0  */ SOC_CHIP_BCM56260, \
   2021     /* SOC_CHIP_BCM56260_B0  */ SOC_CHIP_BCM56260, \
   2022     /* SOC_CHIP_BCM56270_A0  */ SOC_CHIP_BCM56270, \
   2023     /* SOC_CHIP_BCM56860_A0, */ SOC_CHIP_BCM56860, \
   2024     /* SOC_CHIP_BCM56560_A0, */ SOC_CHIP_BCM56560, \
   2025     /* SOC_CHIP_BCM56560_B0, */ SOC_CHIP_BCM56560, \
   2026     /* SOC_CHIP_BCM56670_A0, */ SOC_CHIP_BCM56670, \
   2027     /* SOC_CHIP_BCM56670_B0, */ SOC_CHIP_BCM56670, \
   2028     /* SOC_CHIP_BCM88750_A0  */ SOC_CHIP_BCM88750,  \
   2029     /* SOC_CHIP_BCM88750_B0  */ SOC_CHIP_BCM88750,  \
   2030     /* SOC_CHIP_BCM88753_A0  */ SOC_CHIP_BCM88753,  \
   2031     /* SOC_CHIP_BCM88753_B0  */ SOC_CHIP_BCM88753,  \
   2032     /* SOC_CHIP_BCM88754_A0  */ SOC_CHIP_BCM88750,  \
   2033     /* SOC_CHIP_BCM88755_B0  */ SOC_CHIP_BCM88750,  \
   2034     /* SOC_CHIP_BCM88770_A1  */ SOC_CHIP_BCM88770,  \
   2035     /* SOC_CHIP_BCM88773_A1  */ SOC_CHIP_BCM88773,  \
   2036     /* SOC_CHIP_BCM88774_A1  */ SOC_CHIP_BCM88774,  \
   2037     /* SOC_CHIP_BCM88775_A1  */ SOC_CHIP_BCM88775,  \
   2038     /* SOC_CHIP_BCM88776_A1  */ SOC_CHIP_BCM88776,  \
   2039     /* SOC_CHIP_BCM88950_A0  */ SOC_CHIP_BCM88950,  \
   2040     /* SOC_CHIP_BCM88950_A1  */ SOC_CHIP_BCM88950,  \
   2041     /* SOC_CHIP_BCM88953_A1  */ SOC_CHIP_BCM88953,  \
   2042     /* SOC_CHIP_BCM88954_A1  */ SOC_CHIP_BCM88954,  \
   2043     /* SOC_CHIP_BCM88955_A1  */ SOC_CHIP_BCM88955,  \
   2044     /* SOC_CHIP_BCM88956_A1  */ SOC_CHIP_BCM88956,  \
   2045     /* SOC_CHIP_BCM88790_A0  */ SOC_CHIP_BCM8879X,  \
   2046     /* SOC_CHIP_BCM88790_B0  */ SOC_CHIP_BCM8879X,  \
   2047     /* SOC_CHIP_ACP  */         SOC_CHIP_BCM88650ACP,\
   2048     /* SOC_CHIP_BCM53400_A0 */  SOC_CHIP_BCM53400, \
   2049     /* SOC_CHIP_BCM56160_A0 */  SOC_CHIP_BCM56160, \
   2050 	/* SOC_CHIP_BCM53570_A0 */  SOC_CHIP_BCM53570, \
   2051     /* SOC_CHIP_BCM53570_B0 */  SOC_CHIP_BCM53570, \
   2052     /* SOC_CHIP_BCM88752_A0  */ SOC_CHIP_BCM88752, \
   2053     /* SOC_CHIP_BCM88752_B0  */ SOC_CHIP_BCM88752, \
   2054     /* SOC_CHIP_BCM88772_A1  */ SOC_CHIP_BCM88772, \
   2055     /* SOC_CHIP_BCM88952_A0  */ SOC_CHIP_BCM88952, \
   2056     /* SOC_CHIP_BCM88952_A1  */ SOC_CHIP_BCM88952, \
   2057     /* SOC_CHIP_BCM83207_A0  */ SOC_CHIP_BCM83207, \
   2058     /* SOC_CHIP_BCM83208_A0  */ SOC_CHIP_BCM83208, \
   2059     /* SOC_CHIP_BCM56965_A0, */ SOC_CHIP_BCM56965, \
   2060     /* SOC_CHIP_BCM56965_A1, */ SOC_CHIP_BCM56965, \
   2061     /* SOC_CHIP_BCM53540_A0, */ SOC_CHIP_BCM53540,
   2062 
   2063 
   2064 
   2065 #define SOC_CHIP_TYPE_NAMES_INIT \
   2066     "BCM5670_A0",  \
   2067     "BCM5673_A0",  \
   2068     "BCM5690_A0",  \
   2069     "BCM5665_A0",  \
   2070     "BCM5695_A0",  \
   2071     "BCM5675_A0",  \
   2072     "BCM5674_A0",  \
   2073     "BCM5665_B0",  \
   2074     "BCM56601_A0", \
   2075     "BCM56601_B0", \
   2076     "BCM56601_C0", \
   2077     "BCM56602_A0", \
   2078     "BCM56602_B0", \
   2079     "BCM56602_C0", \
   2080     "BCM56504_A0", \
   2081     "BCM56504_B0", \
   2082     "BCM56102_A0", \
   2083     "BCM56304_B0", \
   2084     "BCM56112_A0", \
   2085     "BCM56314_A0", \
   2086     "BCM5650_C0",  \
   2087     "BCM56800_A0", \
   2088     "BCM56218_A0", \
   2089     "BCM56514_A0", \
   2090     "BCM56624_A0", \
   2091     "BCM56624_B0", \
   2092     "BCM56680_A0", \
   2093     "BCM56680_B0", \
   2094     "BCM56224_A0", \
   2095     "BCM56224_B0", \
   2096     "BCM53314_A0", \
   2097     "BCM53324_A0", \
   2098     "BCM56725_A0", \
   2099     "BCM56820_A0", \
   2100     "BCM56634_A0", \
   2101     "BCM56634_B0", \
   2102     "BCM56524_A0", \
   2103     "BCM56524_B0", \
   2104     "BCM56685_A0", \
   2105     "BCM56685_B0", \
   2106     "BCM56334_A0", \
   2107     "BCM56334_B0", \
   2108     "BCM56840_A0", \
   2109     "BCM56840_B0", \
   2110     "BCM56850_A0", \
   2111     "BCM56960_A0", \
   2112     "BCM56980_A0", \
   2113     "BCM56980_B0", \
   2114     "BCM56870_A0", \
   2115     "BCM56873_A0", \
   2116     "BCM56370_A0", \
   2117     "BCM56770_A0", \
   2118     "BCM56771_A0", \
   2119     "BCM56970_A0", \
   2120     "BCM56142_A0", \
   2121     "BCM56150_A0", \
   2122     "BCM88650_A0", \
   2123     "BCM88650_B0", \
   2124     "BCM88650_B1", \
   2125     "BCM88660_A0", \
   2126     "BCM88675_A0", \
   2127     "BCM88675_B0", \
   2128     "BCM88375_A0", \
   2129     "BCM88375_B0", \
   2130     "BCM88680_A0", \
   2131     "BCM88690_A0", \
   2132     "BCM88690_B0", \
   2133     "BCM88800_A0", \
   2134     "BCM88470_A0", \
   2135     "BCM88470_B0", \
   2136     "BCM88270_A0", \
   2137     "BCM8206_A0", \
   2138     "BCM88202_A0", \
   2139     "BCM2801PM_A0", \
   2140     "BCM88732_A0", \
   2141     "BCM56640_A0", \
   2142     "BCM56640_B0", \
   2143     "BCM56340_A0", \
   2144     "BCM56440_A0", \
   2145     "BCM56440_B0", \
   2146     "BCM56450_A0", \
   2147     "BCM56450_B0", \
   2148     "BCM56450_B1", \
   2149     "BCM56260_A0", \
   2150     "BCM56260_B0", \
   2151     "BCM56270_A0", \
   2152     "BCM56860_A0", \
   2153     "BCM56560_A0", \
   2154     "BCM56560_B0", \
   2155     "BCM56670_A0", \
   2156     "BCM56670_B0", \
   2157     "BCM88750_A0", \
   2158     "BCM88750_B0", \
   2159     "BCM88753_A0", \
   2160     "BCM88753_B0", \
   2161     "BCM88754_A0", \
   2162     "BCM88755_B0", \
   2163     "BCM88770_A1", \
   2164     "BCM88773_A1", \
   2165     "BCM88774_A1", \
   2166     "BCM88775_A1", \
   2167     "BCM88776_A1", \
   2168     "BCM88950_A0", \
   2169     "BCM88950_A1", \
   2170     "BCM88953_A1", \
   2171     "BCM88954_A1", \
   2172     "BCM88955_A1", \
   2173     "BCM88956_A1", \
   2174     "BCM88790_A0", \
   2175     "BCM88790_B0", \
   2176     "ACP",         \
   2177     "BCM53400_A0", \
   2178     "BCM56160_A0", \
   2179 	"BCM53570_A0", \
   2180     "BCM53570_B0", \
   2181     "BCM88752_A0", \
   2182     "BCM88752_B0", \
   2183     "BCM88772_A1", \
   2184 	"BCM88952_A0", \
   2185     "BCM88952_A1", \
   2186     "BCM83207_A0", \
   2187     "BCM83208_A0", \
   2188     "BCM56965_A0", \
   2189     "BCM56965_A1", \
   2190     "BCM53540_A0",
   2191 
   2192 
   2193 
   2194 
   2195 typedef enum soc_chip_groups_e {
   2196     /* Chip names w/o revision */
   2197     SOC_CHIP_BCM5670,
   2198     SOC_CHIP_BCM5673,
   2199     SOC_CHIP_BCM5690,
   2200     SOC_CHIP_BCM5665,
   2201     SOC_CHIP_BCM5695,
   2202     SOC_CHIP_BCM5675,
   2203     SOC_CHIP_BCM5674,
   2204     SOC_CHIP_BCM56601,
   2205     SOC_CHIP_BCM56602,
   2206     SOC_CHIP_BCM56504,
   2207     SOC_CHIP_BCM56102,
   2208     SOC_CHIP_BCM56304,
   2209     SOC_CHIP_BCM5650,
   2210     SOC_CHIP_BCM56800,
   2211     SOC_CHIP_BCM56218,
   2212     SOC_CHIP_BCM56112,
   2213     SOC_CHIP_BCM56314,
   2214     SOC_CHIP_BCM56514,
   2215     SOC_CHIP_BCM56624,
   2216     SOC_CHIP_BCM56680,
   2217     SOC_CHIP_BCM56224,
   2218     SOC_CHIP_BCM53314,
   2219     SOC_CHIP_BCM56725,
   2220     SOC_CHIP_BCM56820,
   2221     SOC_CHIP_BCM56634,
   2222     SOC_CHIP_BCM56524,
   2223     SOC_CHIP_BCM56685,
   2224     SOC_CHIP_BCM56334,
   2225     SOC_CHIP_BCM56840,
   2226     SOC_CHIP_BCM56850,
   2227     SOC_CHIP_BCM56960,
   2228     SOC_CHIP_BCM56980,
   2229     SOC_CHIP_BCM56870,
   2230     SOC_CHIP_BCM56370,
   2231     SOC_CHIP_BCM56770,
   2232     SOC_CHIP_BCM56970,
   2233     SOC_CHIP_BCM56142,
   2234     SOC_CHIP_BCM56150,
   2235     SOC_CHIP_BCM88650,
   2236     SOC_CHIP_BCM88660,
   2237     SOC_CHIP_BCM88675,
   2238     SOC_CHIP_BCM88680,
   2239     SOC_CHIP_BCM8869X,
   2240     SOC_CHIP_BCM8880X,
   2241     SOC_CHIP_BCM88375,
   2242     SOC_CHIP_BCM88470,
   2243     SOC_CHIP_BCM88270,
   2244     SOC_CHIP_BCM8206,
   2245     SOC_CHIP_BCM88202,
   2246     SOC_CHIP_BCM2801PM,
   2247     SOC_CHIP_BCM88732,
   2248     SOC_CHIP_BCM56640,
   2249     SOC_CHIP_BCM56340,
   2250     SOC_CHIP_BCM56440,
   2251     SOC_CHIP_BCM56450,
   2252     SOC_CHIP_BCM56260,
   2253     SOC_CHIP_BCM56270,
   2254     SOC_CHIP_BCM56860,
   2255     SOC_CHIP_BCM56560,
   2256     SOC_CHIP_BCM56670,
   2257     SOC_CHIP_BCM88750,
   2258     SOC_CHIP_BCM88753,
   2259     SOC_CHIP_BCM88770,
   2260     SOC_CHIP_BCM88773,
   2261     SOC_CHIP_BCM88774,
   2262     SOC_CHIP_BCM88775,
   2263     SOC_CHIP_BCM88776,
   2264     SOC_CHIP_BCM88950,
   2265     SOC_CHIP_BCM88953,
   2266     SOC_CHIP_BCM88954,
   2267     SOC_CHIP_BCM88955,
   2268     SOC_CHIP_BCM88956,
   2269     SOC_CHIP_BCM8879X,
   2270     SOC_CHIP_BCM88650ACP,
   2271     SOC_CHIP_BCM53400,
   2272     SOC_CHIP_BCM56160,
   2273 	SOC_CHIP_BCM53570,
   2274     SOC_CHIP_BCM88752,
   2275     SOC_CHIP_BCM88772,
   2276 	SOC_CHIP_BCM88952,
   2277     SOC_CHIP_BCM83207,
   2278     SOC_CHIP_BCM83208,
   2279     SOC_CHIP_BCM56965,
   2280     SOC_CHIP_BCM53540,
   2281     SOC_CHIP_GROUPS_COUNT
   2282 } soc_chip_groups_t;
   2283 
   2284 
   2285 #define SOC_CHIP_GROUP_NAMES_INIT \
   2286     "BCM5670",  \
   2287     "BCM5673",  \
   2288     "BCM5690",  \
   2289     "BCM5665",  \
   2290     "BCM5695",  \
   2291     "BCM5675",  \
   2292     "BCM5674",  \
   2293     "BCM56601", \
   2294     "BCM56602", \
   2295     "BCM56504", \
   2296     "BCM56102", \
   2297     "BCM56304", \
   2298     "BCM5650",  \
   2299     "BCM56800", \
   2300     "BCM56218", \
   2301     "BCM56112", \
   2302     "BCM56314", \
   2303     "BCM56514", \
   2304     "BCM56624", \
   2305     "BCM56680", \
   2306     "BCM56224", \
   2307     "BCM53314", \
   2308     "BCM56725", \
   2309     "BCM56820", \
   2310     "BCM56634", \
   2311     "BCM56524", \
   2312     "BCM56685", \
   2313     "BCM56334", \
   2314     "BCM56840", \
   2315     "BCM56850", \
   2316     "BCM56960", \
   2317     "BCM56980", \
   2318     "BCM56870", \
   2319     "BCM56370", \
   2320     "BCM56770", \
   2321     "BCM56970", \
   2322     "BCM56142", \
   2323     "BCM56150", \
   2324     "BCM88650", \
   2325     "BCM88660", \
   2326     "BCM88675", \
   2327     "BCM88680", \
   2328     "BCM8869X", \
   2329     "BCM8880X", \
   2330     "BCM88375", \
   2331     "BCM88470", \
   2332     "BCM88270", \
   2333     "BCM8206", \
   2334     "BCM88202", \
   2335     "BCM2801PM", \
   2336     "BCM88732", \
   2337     "BCM56640", \
   2338     "BCM56340", \
   2339     "BCM56440", \
   2340     "BCM56450", \
   2341     "BCM56260", \
   2342     "BCM56270", \
   2343     "BCM56860", \
   2344     "BCM56560", \
   2345     "BCM56670", \
   2346     "BCM88750",  \
   2347     "BCM88753",  \
   2348     "BCM88770",  \
   2349     "BCM88773",  \
   2350     "BCM88774",  \
   2351     "BCM88775",  \
   2352     "BCM88776",  \
   2353     "BCM88950",  \
   2354     "BCM88953",  \
   2355     "BCM88954",  \
   2356     "BCM88955",  \
   2357     "BCM88956",  \
   2358     "BCM8879X",  \
   2359     "SOC_CHIP_BCM88650ACP", \
   2360     "BCM53400", \
   2361     "BCM56160", \
   2362     "BCM53570", \
   2363     "BCM88752", \
   2364     "BCM88772", \
   2365     "BCM88952", \
   2366     "BCM83207", \
   2367     "BCM83208", \
   2368     "BCM56965", \
   2369     "BCM53540",
   2370 
   2371 #if defined(BCM_TRIUMPH2_SUPPORT) || defined(BCM_TRIDENT_SUPPORT)
   2372 #define SER_TR_TEST_SUPPORT
   2373 #endif
   2374 
   2375 /*
   2376  * If you add anything here, check soc/common.c for arrays
   2377  * indexed by soc_regtype_t.
   2378  */
   2379 typedef enum soc_regtype_t {
   2380     soc_schan_reg,      /* Generic register read thru SCHAN */
   2381     soc_genreg,         /* General soc registers */
   2382     soc_portreg,        /* Port soc registers */
   2383     soc_ppportreg,      /* Packet-Processing-Port soc registers */
   2384     soc_cosreg,         /* COS soc registers */
   2385     soc_pipereg,        /* per pipe soc registers */
   2386     soc_xpereg,         /* per XPE soc registers */
   2387     soc_slicereg,       /* per slice soc registers */
   2388     soc_layerreg,       /* per layer soc registers */
   2389     soc_itmreg,       /* per layer soc registers */
   2390     soc_ebreg,       /* per layer soc registers */
   2391     soc_cpureg,         /* AKA PCI memory */
   2392     soc_pci_cfg_reg,    /* PCI configuration space register */
   2393     soc_phy_reg,        /* PHY register, access thru mii */
   2394     soc_spi_reg,        /* SPI relevant Registers*/
   2395     soc_mcsreg,         /* Microcontroller Subsystem - Indirect Access */
   2396     soc_iprocreg,       /* iProc Reg in AXI Address Space */
   2397     soc_hostmem_w,      /* word */
   2398     soc_hostmem_h,      /* half word */
   2399     soc_hostmem_b,      /* byte */
   2400     soc_customreg,         /* Custom Register */
   2401     soc_invalidreg
   2402 } soc_regtype_t;
   2403 
   2404 #if defined(BCM_JERICHO_SUPPORT) || defined(BCM_SABER2_SUPPORT) || defined(BCM_QAX_SUPPORT) || defined(BCM_QUX_SUPPORT)
   2405 #define BCM_SAT_SUPPORT
   2406 #endif
   2407 
   2408 #if defined(BCM_QAX_SUPPORT) || defined(BCM_QUX_SUPPORT)
   2409 #define BCM_LB_SUPPORT
   2410 #endif
   2411 
   2412 /* All chips which builds on the Triumph baseline require SER support */
   2413 #ifdef BCM_TRIUMPH_SUPPORT
   2414 #define BCM_SER_SUPPORT
   2415 #endif
   2416 
   2417 /* Current SER implementation relies on memscan thread */
   2418 #ifdef BCM_SER_SUPPORT
   2419 #ifndef INCLUDE_MEM_SCAN
   2420 #define INCLUDE_MEM_SCAN
   2421 #endif
   2422 #endif
   2423 
   2424 #if defined(BCM_TRIDENT2_SUPPORT)
   2425 #define BCM_SRAM_SCAN_SUPPORT
   2426 #endif
   2427 #endif  /* !_SOC_DEFS_H */
   2428