cm.c (250653B)
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: cm.c 8 * Purpose: Configuration Manager 9 * 10 * This module provides an OS-independent abstraction for the low-level 11 * manipulation of StrataSwitch devices and other system resources 12 * needed by the driver. 13 * 14 * See <soc/cmtypes.h> for a description and requirements of the vectors. 15 */ 16 #include <shared/bsl.h> 17 18 #include <assert.h> 19 #include <sal/core/libc.h> 20 #include <sal/core/spl.h> 21 #include <sal/core/sync.h> 22 #include <soc/devids.h> 23 #include <soc/cmext.h> 24 #include <soc/cm.h> 25 #include <soc/drv.h> 26 #ifdef BCM_DNX_SUPPORT 27 #include <soc/dnx/drv.h> 28 #endif 29 #ifdef BCM_DNXF_SUPPORT 30 #include <soc/dnxf/cmn/dnxf_drv.h> 31 #endif 32 #if defined (BCM_PETRA_SUPPORT) 33 #include <soc/dpp/drv.h> 34 #endif 35 #ifdef BCM_DFE_SUPPORT 36 #include <soc/dfe/cmn/dfe_drv.h> 37 #endif 38 39 #include <sal/core/memlog.h> 40 41 #if defined(BCM_ESW_SUPPORT) || defined(BCM_SAND_SUPPORT) 42 #define IHOST_S0_ADDR_START 0x19000000 43 #define IHOST_S0_ADDR_END 0x1901FFFF 44 #define IHOST_ACP_ADDR_START 0x19020000 45 #define IHOST_ACP_ADDR_END 0x19022FFF 46 47 #define IS_IHOST_S0_ADDR(addr) ((addr >= IHOST_S0_ADDR_START) && (addr <= IHOST_S0_ADDR_END)) 48 #define IS_IHOST_ACP_ADDR(addr) ((addr >= IHOST_ACP_ADDR_START) && (addr <= IHOST_ACP_ADDR_END)) 49 #endif 50 51 cm_device_t soc_cm_device[SOC_MAX_NUM_DEVICES]; 52 int soc_cm_device_count; 53 54 /* 55 * Table of all recognized chip IDs. 56 * 57 * There are fewer drivers than real chip IDs because some drivers 58 * support more than one chip. This table maps each real chip ID onto a 59 * driver chip ID. The driver IDs can be zero if equal to real IDs. 60 * 61 * Entries may be added to the table via soc_cm_id_to_driver_id_add(). 62 */ 63 64 static soc_cm_device_info_t soc_device_info[] = { 65 66 #if defined(BCM_HERCULES15_SUPPORT) 67 { /* Hercules 1.5 with 8 ports */ 68 BCM5675_DEVICE_ID, BCM5675_A0_REV_ID, 69 "BCM5675_A0", 70 BCM5675_DEVICE_ID, BCM5675_A0_REV_ID, 71 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 72 }, 73 { /* Hercules 1.5 with 4 ports */ 74 BCM5676_DEVICE_ID, BCM5676_A0_REV_ID, 75 "BCM5676_A0", 76 BCM5675_DEVICE_ID, BCM5675_A0_REV_ID, 77 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 78 }, 79 { /* Hercules 1.5 with 8 ports */ 80 BCM5675_DEVICE_ID, BCM5675_A1_REV_ID, 81 "BCM5675_A1", 82 BCM5675_DEVICE_ID, BCM5675_A0_REV_ID, 83 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 84 }, 85 { /* Hercules 1.5 with 4 ports */ 86 BCM5676_DEVICE_ID, BCM5676_A1_REV_ID, 87 "BCM5676_A1", 88 BCM5675_DEVICE_ID, BCM5675_A0_REV_ID, 89 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 90 }, 91 #endif /* BCM_HERCULES15_SUPPORT */ 92 #if defined(BCM_FIREBOLT_SUPPORT) 93 { /* Helix */ 94 BCM56300_DEVICE_ID, BCM56300_A0_REV_ID, 95 "BCM56300_A0", 96 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 97 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 98 }, 99 { /* Helix */ 100 BCM56301_DEVICE_ID, BCM56301_A0_REV_ID, 101 "BCM56301_A0", 102 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 103 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 104 }, 105 { /* Helix */ 106 BCM56302_DEVICE_ID, BCM56302_A0_REV_ID, 107 "BCM56302_A0", 108 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 109 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 110 }, 111 { /* Helix */ 112 BCM56303_DEVICE_ID, BCM56303_A0_REV_ID, 113 "BCM56303_A0", 114 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 115 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 116 }, 117 #if defined(BCM_HELIX1_SUPPORT) 118 { /* Helix */ 119 BCM56304_DEVICE_ID, BCM56304_A0_REV_ID, 120 "BCM56304_A0", 121 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 122 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 123 }, 124 #endif 125 { /* Helix */ 126 BCM56305_DEVICE_ID, BCM56305_A0_REV_ID, 127 "BCM56305_A0", 128 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 129 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 130 }, 131 { /* Helix */ 132 BCM56306_DEVICE_ID, BCM56306_A0_REV_ID, 133 "BCM56306_A0", 134 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 135 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 136 }, 137 { /* Helix */ 138 BCM56307_DEVICE_ID, BCM56307_A0_REV_ID, 139 "BCM56307_A0", 140 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 141 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 142 }, 143 { /* Helix */ 144 BCM56308_DEVICE_ID, BCM56308_A0_REV_ID, 145 "BCM56308_A0", 146 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 147 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 148 }, 149 { /* Helix */ 150 BCM56309_DEVICE_ID, BCM56309_A0_REV_ID, 151 "BCM56309_A0", 152 BCM56504_DEVICE_ID, BCM56503_A0_REV_ID, 153 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 154 }, 155 { /* Helix */ 156 BCM56300_DEVICE_ID, BCM56300_A1_REV_ID, 157 "BCM56300_A1", 158 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 159 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 160 }, 161 { /* Helix */ 162 BCM56301_DEVICE_ID, BCM56301_A1_REV_ID, 163 "BCM56301_A1", 164 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 165 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 166 }, 167 { /* Helix */ 168 BCM56302_DEVICE_ID, BCM56302_A1_REV_ID, 169 "BCM56302_A1", 170 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 171 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 172 }, 173 { /* Helix */ 174 BCM56303_DEVICE_ID, BCM56303_A1_REV_ID, 175 "BCM56303_A1", 176 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 177 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 178 }, 179 #if defined(BCM_HELIX1_SUPPORT) 180 { /* Helix */ 181 BCM56304_DEVICE_ID, BCM56304_A1_REV_ID, 182 "BCM56304_A1", 183 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 184 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 185 }, 186 #endif 187 { /* Helix */ 188 BCM56305_DEVICE_ID, BCM56305_A1_REV_ID, 189 "BCM56305_A1", 190 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 191 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 192 }, 193 { /* Helix */ 194 BCM56306_DEVICE_ID, BCM56306_A1_REV_ID, 195 "BCM56306_A1", 196 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 197 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 198 }, 199 { /* Helix */ 200 BCM56307_DEVICE_ID, BCM56307_A1_REV_ID, 201 "BCM56307_A1", 202 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 203 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 204 }, 205 { /* Helix */ 206 BCM56308_DEVICE_ID, BCM56308_A1_REV_ID, 207 "BCM56308_A1", 208 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 209 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 210 }, 211 { /* Helix */ 212 BCM56309_DEVICE_ID, BCM56309_A1_REV_ID, 213 "BCM56309_A1", 214 BCM56504_DEVICE_ID, BCM56503_A0_REV_ID, 215 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 216 }, 217 #if defined(BCM_FELIX1_SUPPORT) 218 { /* Felix */ 219 BCM56100_DEVICE_ID, BCM56100_A0_REV_ID, 220 "BCM56100_A0", 221 BCM56102_DEVICE_ID, BCM56102_A0_REV_ID, 222 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 223 }, 224 { /* Felix */ 225 BCM56101_DEVICE_ID, BCM56101_A0_REV_ID, 226 "BCM56101_A0", 227 BCM56102_DEVICE_ID, BCM56102_A0_REV_ID, 228 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 229 }, 230 { /* Felix */ 231 BCM56102_DEVICE_ID, BCM56102_A0_REV_ID, 232 "BCM56102_A0", 233 BCM56102_DEVICE_ID, BCM56102_A0_REV_ID, 234 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 235 }, 236 { /* Felix */ 237 BCM56105_DEVICE_ID, BCM56105_A0_REV_ID, 238 "BCM56105_A0", 239 BCM56102_DEVICE_ID, BCM56102_A0_REV_ID, 240 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 241 }, 242 { /* Felix */ 243 BCM56106_DEVICE_ID, BCM56106_A0_REV_ID, 244 "BCM56106_A0", 245 BCM56102_DEVICE_ID, BCM56102_A0_REV_ID, 246 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 247 }, 248 { /* Felix */ 249 BCM56107_DEVICE_ID, BCM56107_A0_REV_ID, 250 "BCM56107_A0", 251 BCM56102_DEVICE_ID, BCM56102_A0_REV_ID, 252 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 253 }, 254 { /* Felix */ 255 BCM56100_DEVICE_ID, BCM56100_A1_REV_ID, 256 "BCM56100_A1", 257 BCM56102_DEVICE_ID, BCM56102_A0_REV_ID, 258 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 259 }, 260 { /* Felix */ 261 BCM56101_DEVICE_ID, BCM56101_A1_REV_ID, 262 "BCM56101_A1", 263 BCM56102_DEVICE_ID, BCM56102_A0_REV_ID, 264 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 265 }, 266 { /* Felix */ 267 BCM56102_DEVICE_ID, BCM56102_A1_REV_ID, 268 "BCM56102_A1", 269 BCM56102_DEVICE_ID, BCM56102_A0_REV_ID, 270 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 271 }, 272 { /* Felix */ 273 BCM56105_DEVICE_ID, BCM56105_A1_REV_ID, 274 "BCM56105_A1", 275 BCM56102_DEVICE_ID, BCM56102_A0_REV_ID, 276 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 277 }, 278 { /* Felix */ 279 BCM56106_DEVICE_ID, BCM56106_A1_REV_ID, 280 "BCM56106_A1", 281 BCM56102_DEVICE_ID, BCM56102_A0_REV_ID, 282 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 283 }, 284 { /* Felix */ 285 BCM56107_DEVICE_ID, BCM56107_A1_REV_ID, 286 "BCM56107_A1", 287 BCM56102_DEVICE_ID, BCM56102_A0_REV_ID, 288 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 289 }, 290 #endif 291 #if defined(BCM_FELIX15_SUPPORT) 292 { /* Felix15 */ 293 BCM56110_DEVICE_ID, BCM56110_A0_REV_ID, 294 "BCM56110_A0", 295 BCM56112_DEVICE_ID, BCM56112_A0_REV_ID, 296 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 297 }, 298 { /* Felix15 */ 299 BCM56111_DEVICE_ID, BCM56111_A0_REV_ID, 300 "BCM56111_A0", 301 BCM56112_DEVICE_ID, BCM56112_A0_REV_ID, 302 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 303 }, 304 { /* Felix15 */ 305 BCM56112_DEVICE_ID, BCM56112_A0_REV_ID, 306 "BCM56112_A0", 307 BCM56112_DEVICE_ID, BCM56112_A0_REV_ID, 308 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 309 }, 310 { /* Felix15 */ 311 BCM56115_DEVICE_ID, BCM56115_A0_REV_ID, 312 "BCM56115_A0", 313 BCM56112_DEVICE_ID, BCM56112_A0_REV_ID, 314 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 315 }, 316 { /* Felix15 */ 317 BCM56116_DEVICE_ID, BCM56116_A0_REV_ID, 318 "BCM56116_A0", 319 BCM56112_DEVICE_ID, BCM56112_A0_REV_ID, 320 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 321 }, 322 { /* Felix15 */ 323 BCM56117_DEVICE_ID, BCM56117_A0_REV_ID, 324 "BCM56117_A0", 325 BCM56112_DEVICE_ID, BCM56112_A0_REV_ID, 326 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 327 }, 328 #endif /* BCM_FELIX15_SUPPORT */ 329 #if defined(BCM_HELIX1_SUPPORT) 330 { 331 BCM53300_DEVICE_ID, BCM53300_A0_REV_ID, 332 "BCM53300_A0", 333 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 334 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 335 }, 336 { 337 BCM53301_DEVICE_ID, BCM53301_A0_REV_ID, 338 "BCM53301_A0", 339 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 340 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 341 }, 342 { 343 BCM53302_DEVICE_ID, BCM53302_A0_REV_ID, 344 "BCM53302_A0", 345 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 346 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 347 }, 348 { 349 BCM53300_DEVICE_ID, BCM53300_A1_REV_ID, 350 "BCM53300_A0", 351 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 352 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 353 }, 354 { 355 BCM53301_DEVICE_ID, BCM53301_A1_REV_ID, 356 "BCM53301_A0", 357 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 358 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 359 }, 360 { 361 BCM53302_DEVICE_ID, BCM53302_A1_REV_ID, 362 "BCM53302_A0", 363 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 364 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 365 }, 366 { /* Helix */ 367 BCM56300_DEVICE_ID, BCM56300_B0_REV_ID, 368 "BCM56300_B0", 369 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 370 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 371 }, 372 { /* Helix */ 373 BCM56301_DEVICE_ID, BCM56301_B0_REV_ID, 374 "BCM56301_B0", 375 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 376 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 377 }, 378 { /* Helix */ 379 BCM56302_DEVICE_ID, BCM56302_B0_REV_ID, 380 "BCM56302_B0", 381 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 382 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 383 }, 384 { /* Helix */ 385 BCM56303_DEVICE_ID, BCM56303_B0_REV_ID, 386 "BCM56303_B0", 387 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 388 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 389 }, 390 { /* Helix */ 391 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 392 "BCM56304_B0", 393 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 394 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 395 }, 396 { /* Helix */ 397 BCM56305_DEVICE_ID, BCM56305_B0_REV_ID, 398 "BCM56305_B0", 399 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 400 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 401 }, 402 { /* Helix */ 403 BCM56306_DEVICE_ID, BCM56306_B0_REV_ID, 404 "BCM56306_B0", 405 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 406 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 407 }, 408 { /* Helix */ 409 BCM56307_DEVICE_ID, BCM56307_B0_REV_ID, 410 "BCM56307_B0", 411 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 412 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 413 }, 414 { /* Helix */ 415 BCM56308_DEVICE_ID, BCM56308_B0_REV_ID, 416 "BCM56308_B0", 417 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 418 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 419 }, 420 { /* Helix */ 421 BCM56309_DEVICE_ID, BCM56309_B0_REV_ID, 422 "BCM56309_B0", 423 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 424 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 425 }, 426 { /* Helix */ 427 BCM56300_DEVICE_ID, BCM56300_B1_REV_ID, 428 "BCM56300_B1", 429 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 430 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 431 }, 432 { /* Helix */ 433 BCM56301_DEVICE_ID, BCM56301_B1_REV_ID, 434 "BCM56301_B1", 435 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 436 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 437 }, 438 { /* Helix */ 439 BCM56302_DEVICE_ID, BCM56302_B1_REV_ID, 440 "BCM56302_B1", 441 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 442 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 443 }, 444 { /* Helix */ 445 BCM56303_DEVICE_ID, BCM56303_B1_REV_ID, 446 "BCM56303_B1", 447 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 448 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 449 }, 450 { /* Helix */ 451 BCM56304_DEVICE_ID, BCM56304_B1_REV_ID, 452 "BCM56304_B1", 453 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 454 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 455 }, 456 { /* Helix */ 457 BCM56305_DEVICE_ID, BCM56305_B1_REV_ID, 458 "BCM56305_B1", 459 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 460 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 461 }, 462 { /* Helix */ 463 BCM56306_DEVICE_ID, BCM56306_B1_REV_ID, 464 "BCM56306_B1", 465 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 466 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 467 }, 468 { /* Helix */ 469 BCM56307_DEVICE_ID, BCM56307_B1_REV_ID, 470 "BCM56307_B1", 471 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 472 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 473 }, 474 { /* Helix */ 475 BCM56308_DEVICE_ID, BCM56308_B1_REV_ID, 476 "BCM56308_B1", 477 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 478 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 479 }, 480 { /* Helix */ 481 BCM56309_DEVICE_ID, BCM56309_B1_REV_ID, 482 "BCM56309_B1", 483 BCM56304_DEVICE_ID, BCM56304_B0_REV_ID, 484 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 485 }, 486 #endif 487 { /* Helix15 */ 488 BCM56310_DEVICE_ID, BCM56310_A0_REV_ID, 489 "BCM56310_A0", 490 BCM56314_DEVICE_ID, BCM56314_A0_REV_ID, 491 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 492 }, 493 { /* Helix15 */ 494 BCM56311_DEVICE_ID, BCM56311_A0_REV_ID, 495 "BCM56311_A0", 496 BCM56314_DEVICE_ID, BCM56314_A0_REV_ID, 497 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 498 }, 499 { /* Helix15 */ 500 BCM56312_DEVICE_ID, BCM56312_A0_REV_ID, 501 "BCM56312_A0", 502 BCM56314_DEVICE_ID, BCM56314_A0_REV_ID, 503 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 504 }, 505 { /* Helix15 */ 506 BCM56313_DEVICE_ID, BCM56313_A0_REV_ID, 507 "BCM56313_A0", 508 BCM56314_DEVICE_ID, BCM56314_A0_REV_ID, 509 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 510 }, 511 { /* Helix15 */ 512 BCM56314_DEVICE_ID, BCM56314_A0_REV_ID, 513 "BCM56314_A0", 514 BCM56314_DEVICE_ID, BCM56314_A0_REV_ID, 515 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 516 }, 517 { /* Helix15 */ 518 BCM56315_DEVICE_ID, BCM56315_A0_REV_ID, 519 "BCM56315_A0", 520 BCM56314_DEVICE_ID, BCM56314_A0_REV_ID, 521 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 522 }, 523 { /* Helix15 */ 524 BCM56316_DEVICE_ID, BCM56316_A0_REV_ID, 525 "BCM56316_A0", 526 BCM56314_DEVICE_ID, BCM56314_A0_REV_ID, 527 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 528 }, 529 { /* Helix15 */ 530 BCM56317_DEVICE_ID, BCM56317_A0_REV_ID, 531 "BCM56317_A0", 532 BCM56314_DEVICE_ID, BCM56314_A0_REV_ID, 533 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 534 }, 535 { /* Helix15 */ 536 BCM56318_DEVICE_ID, BCM56318_A0_REV_ID, 537 "BCM56318_A0", 538 BCM56314_DEVICE_ID, BCM56314_A0_REV_ID, 539 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 540 }, 541 { /* Helix15 */ 542 BCM56319_DEVICE_ID, BCM56319_A0_REV_ID, 543 "BCM56319_A0", 544 BCM56314_DEVICE_ID, BCM56314_A0_REV_ID, 545 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 546 }, 547 { /* FB-Helix */ 548 BCM56404_DEVICE_ID, BCM56404_A0_REV_ID, 549 "BCM56304_A0", 550 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 551 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 552 }, 553 { /* Firebolt */ 554 BCM56500_DEVICE_ID, BCM56500_A0_REV_ID, 555 "BCM56500_A0", 556 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 557 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 558 }, 559 { /* Firebolt */ 560 BCM56501_DEVICE_ID, BCM56501_A0_REV_ID, 561 "BCM56501_A0", 562 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 563 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 564 }, 565 { /* Firebolt */ 566 BCM56502_DEVICE_ID, BCM56502_A0_REV_ID, 567 "BCM56502_A0", 568 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 569 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 570 }, 571 { /* Firebolt */ 572 BCM56503_DEVICE_ID, BCM56503_A0_REV_ID, 573 "BCM56503_A0", 574 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 575 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 576 }, 577 { /* Firebolt */ 578 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 579 "BCM56504_A0", 580 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 581 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 582 }, 583 { /* Firebolt */ 584 BCM56505_DEVICE_ID, BCM56505_A0_REV_ID, 585 "BCM56505_A0", 586 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 587 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 588 }, 589 { /* Firebolt */ 590 BCM56506_DEVICE_ID, BCM56506_A0_REV_ID, 591 "BCM56506_A0", 592 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 593 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 594 }, 595 { /* Firebolt */ 596 BCM56507_DEVICE_ID, BCM56507_A0_REV_ID, 597 "BCM56507_A0", 598 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 599 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 600 }, 601 { /* Firebolt */ 602 BCM56508_DEVICE_ID, BCM56508_A0_REV_ID, 603 "BCM56508_A0", 604 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 605 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 606 }, 607 { /* Firebolt */ 608 BCM56509_DEVICE_ID, BCM56509_A0_REV_ID, 609 "BCM56509_A0", 610 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 611 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 612 }, 613 { /* FB-Helix */ 614 BCM56404_DEVICE_ID, BCM56404_A1_REV_ID, 615 "BCM56304_A1", 616 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 617 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 618 }, 619 { /* Firebolt */ 620 BCM56500_DEVICE_ID, BCM56500_A1_REV_ID, 621 "BCM56500_A1", 622 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 623 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 624 }, 625 { /* Firebolt */ 626 BCM56501_DEVICE_ID, BCM56501_A1_REV_ID, 627 "BCM56501_A1", 628 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 629 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 630 }, 631 { /* Firebolt */ 632 BCM56502_DEVICE_ID, BCM56502_A1_REV_ID, 633 "BCM56502_A1", 634 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 635 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 636 }, 637 { /* Firebolt */ 638 BCM56503_DEVICE_ID, BCM56503_A1_REV_ID, 639 "BCM56503_A1", 640 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 641 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 642 }, 643 { /* Firebolt */ 644 BCM56504_DEVICE_ID, BCM56504_A1_REV_ID, 645 "BCM56504_A1", 646 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 647 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 648 }, 649 { /* Firebolt */ 650 BCM56505_DEVICE_ID, BCM56505_A1_REV_ID, 651 "BCM56505_A1", 652 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 653 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 654 }, 655 { /* Firebolt */ 656 BCM56506_DEVICE_ID, BCM56506_A1_REV_ID, 657 "BCM56506_A1", 658 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 659 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 660 }, 661 { /* Firebolt */ 662 BCM56507_DEVICE_ID, BCM56507_A1_REV_ID, 663 "BCM56507_A1", 664 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 665 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 666 }, 667 { /* Firebolt */ 668 BCM56508_DEVICE_ID, BCM56508_A1_REV_ID, 669 "BCM56508_A1", 670 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 671 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 672 }, 673 { /* Firebolt */ 674 BCM56509_DEVICE_ID, BCM56509_A1_REV_ID, 675 "BCM56509_A1", 676 BCM56504_DEVICE_ID, BCM56504_A0_REV_ID, 677 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 678 }, 679 { /* Firebolt B0 */ 680 BCM56500_DEVICE_ID, BCM56500_B0_REV_ID, 681 "BCM56500_B0", 682 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 683 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 684 }, 685 { /* Firebolt B0 */ 686 BCM56501_DEVICE_ID, BCM56501_B0_REV_ID, 687 "BCM56501_B0", 688 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 689 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 690 }, 691 { /* Firebolt B0 */ 692 BCM56502_DEVICE_ID, BCM56502_B0_REV_ID, 693 "BCM56502_B0", 694 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 695 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 696 }, 697 { /* Firebolt B0 */ 698 BCM56503_DEVICE_ID, BCM56503_B0_REV_ID, 699 "BCM56503_B0", 700 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 701 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 702 }, 703 { /* Firebolt B0 */ 704 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 705 "BCM56504_B0", 706 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 707 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 708 }, 709 { /* Firebolt B0 */ 710 BCM56505_DEVICE_ID, BCM56505_B0_REV_ID, 711 "BCM56505_B0", 712 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 713 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 714 }, 715 { /* Firebolt B0 */ 716 BCM56506_DEVICE_ID, BCM56506_B0_REV_ID, 717 "BCM56506_B0", 718 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 719 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 720 }, 721 { /* Firebolt B0 */ 722 BCM56507_DEVICE_ID, BCM56507_B0_REV_ID, 723 "BCM56507_B0", 724 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 725 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 726 }, 727 { /* Firebolt B0 */ 728 BCM56508_DEVICE_ID, BCM56508_B0_REV_ID, 729 "BCM56508_B0", 730 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 731 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 732 }, 733 { /* Firebolt B0 */ 734 BCM56509_DEVICE_ID, BCM56509_B0_REV_ID, 735 "BCM56509_B0", 736 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 737 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 738 }, 739 { /* Firebolt B1 */ 740 BCM56500_DEVICE_ID, BCM56500_B1_REV_ID, 741 "BCM56500_B1", 742 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 743 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 744 }, 745 { /* Firebolt B1 */ 746 BCM56501_DEVICE_ID, BCM56501_B1_REV_ID, 747 "BCM56501_B1", 748 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 749 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 750 }, 751 { /* Firebolt B1 */ 752 BCM56502_DEVICE_ID, BCM56502_B1_REV_ID, 753 "BCM56502_B1", 754 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 755 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 756 }, 757 { /* Firebolt B1 */ 758 BCM56503_DEVICE_ID, BCM56503_B1_REV_ID, 759 "BCM56503_B1", 760 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 761 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 762 }, 763 { /* Firebolt B1 */ 764 BCM56504_DEVICE_ID, BCM56504_B1_REV_ID, 765 "BCM56504_B1", 766 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 767 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 768 }, 769 { /* Firebolt B1 */ 770 BCM56505_DEVICE_ID, BCM56505_B1_REV_ID, 771 "BCM56505_B1", 772 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 773 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 774 }, 775 { /* Firebolt B1 */ 776 BCM56506_DEVICE_ID, BCM56506_B1_REV_ID, 777 "BCM56506_B1", 778 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 779 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 780 }, 781 { /* Firebolt B1 */ 782 BCM56507_DEVICE_ID, BCM56507_B1_REV_ID, 783 "BCM56507_B1", 784 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 785 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 786 }, 787 { /* Firebolt B1 */ 788 BCM56508_DEVICE_ID, BCM56508_B1_REV_ID, 789 "BCM56508_B1", 790 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 791 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 792 }, 793 { /* Firebolt B1 */ 794 BCM56509_DEVICE_ID, BCM56509_B1_REV_ID, 795 "BCM56509_B1", 796 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 797 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 798 }, 799 { /* Firebolt B2 */ 800 BCM56500_DEVICE_ID, BCM56500_B2_REV_ID, 801 "BCM56500_B2", 802 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 803 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 804 }, 805 { /* Firebolt B2 */ 806 BCM56501_DEVICE_ID, BCM56501_B2_REV_ID, 807 "BCM56501_B2", 808 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 809 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 810 }, 811 { /* Firebolt B2 */ 812 BCM56502_DEVICE_ID, BCM56502_B2_REV_ID, 813 "BCM56502_B2", 814 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 815 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 816 }, 817 { /* Firebolt B2 */ 818 BCM56503_DEVICE_ID, BCM56503_B2_REV_ID, 819 "BCM56503_B2", 820 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 821 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 822 }, 823 { /* Firebolt B2 */ 824 BCM56504_DEVICE_ID, BCM56504_B2_REV_ID, 825 "BCM56504_B2", 826 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 827 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 828 }, 829 { /* Firebolt B2 */ 830 BCM56505_DEVICE_ID, BCM56505_B2_REV_ID, 831 "BCM56505_B2", 832 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 833 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 834 }, 835 { /* Firebolt B2 */ 836 BCM56506_DEVICE_ID, BCM56506_B2_REV_ID, 837 "BCM56506_B2", 838 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 839 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 840 }, 841 { /* Firebolt B2 */ 842 BCM56507_DEVICE_ID, BCM56507_B2_REV_ID, 843 "BCM56507_B2", 844 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 845 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 846 }, 847 { /* Firebolt B2 */ 848 BCM56508_DEVICE_ID, BCM56508_B2_REV_ID, 849 "BCM56508_B2", 850 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 851 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 852 }, 853 { /* Firebolt B2 */ 854 BCM56509_DEVICE_ID, BCM56509_B2_REV_ID, 855 "BCM56509_B2", 856 BCM56504_DEVICE_ID, BCM56504_B0_REV_ID, 857 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 858 }, 859 #endif /* BCM_FIREBOLT_SUPPORT */ 860 861 #if defined(BCM_RAPTOR1_SUPPORT) 862 { /* Raptor */ 863 BCM56218X_DEVICE_ID, BCM56218X_A0_REV_ID, 864 "BCM56218_A0", 865 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 866 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 867 }, 868 { /* Raptor */ 869 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 870 "BCM56218_A0", 871 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 872 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 873 }, 874 { /* Raptor */ 875 BCM56219_DEVICE_ID, BCM56219_A0_REV_ID, 876 "BCM56219_A0", 877 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 878 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 879 }, 880 { /* Raptor */ 881 BCM56218R_DEVICE_ID, BCM56218R_A0_REV_ID, 882 "BCM56218R_A0", 883 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 884 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 885 }, 886 { /* Raptor */ 887 BCM56219R_DEVICE_ID, BCM56219R_A0_REV_ID, 888 "BCM56219R_A0", 889 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 890 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 891 }, 892 { /* Raptor */ 893 BCM56214_DEVICE_ID, BCM56214_A0_REV_ID, 894 "BCM56214_A0", 895 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 896 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 897 }, 898 { /* Raptor */ 899 BCM56215_DEVICE_ID, BCM56215_A0_REV_ID, 900 "BCM56215_A0", 901 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 902 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 903 }, 904 { /* Raptor */ 905 BCM56214R_DEVICE_ID, BCM56214R_A0_REV_ID, 906 "BCM56214R_A0", 907 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 908 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 909 }, 910 { /* Raptor */ 911 BCM56215R_DEVICE_ID, BCM56215R_A0_REV_ID, 912 "BCM56215R_A0", 913 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 914 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 915 }, 916 { /* Raptor */ 917 BCM56216_DEVICE_ID, BCM56216_A0_REV_ID, 918 "BCM56216_A0", 919 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 920 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 921 }, 922 { /* Raptor */ 923 BCM56217_DEVICE_ID, BCM56217_A0_REV_ID, 924 "BCM56217_A0", 925 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 926 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 927 }, 928 { /* Raptor */ 929 BCM56212_DEVICE_ID, BCM56212_A0_REV_ID, 930 "BCM56212_A0", 931 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 932 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 933 }, 934 { /* Raptor */ 935 BCM56213_DEVICE_ID, BCM56213_A0_REV_ID, 936 "BCM56213_A0", 937 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 938 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 939 }, 940 { /* Raptor */ 941 BCM53718_DEVICE_ID, BCM53718_A0_REV_ID, 942 "BCM53718_A0", 943 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 944 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 945 }, 946 { /* Raptor */ 947 BCM53714_DEVICE_ID, BCM53714_A0_REV_ID, 948 "BCM53714_A0", 949 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 950 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 951 }, 952 { /* Raptor */ 953 BCM53716_DEVICE_ID, BCM53716_A0_REV_ID, 954 "BCM53716_A0", 955 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 956 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 957 }, 958 { /* Raptor */ 959 BCM56018_DEVICE_ID, BCM56018_A0_REV_ID, 960 "BCM56018_A0", 961 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 962 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 963 }, 964 { /* Raptor */ 965 BCM56014_DEVICE_ID, BCM56014_A0_REV_ID, 966 "BCM56014_A0", 967 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 968 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 969 }, 970 { /* Raptor */ 971 BCM56218X_DEVICE_ID, BCM56218X_A1_REV_ID, 972 "BCM56218_A1", 973 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 974 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 975 }, 976 { /* Raptor */ 977 BCM56218_DEVICE_ID, BCM56218_A1_REV_ID, 978 "BCM56218_A1", 979 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 980 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 981 }, 982 { /* Raptor */ 983 BCM56219_DEVICE_ID, BCM56219_A1_REV_ID, 984 "BCM56219_A1", 985 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 986 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 987 }, 988 { /* Raptor */ 989 BCM56218R_DEVICE_ID, BCM56218R_A1_REV_ID, 990 "BCM56218R_A1", 991 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 992 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 993 }, 994 { /* Raptor */ 995 BCM56219R_DEVICE_ID, BCM56219R_A1_REV_ID, 996 "BCM56219R_A1", 997 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 998 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 999 }, 1000 { /* Raptor */ 1001 BCM56214_DEVICE_ID, BCM56214_A1_REV_ID, 1002 "BCM56214_A1", 1003 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1004 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1005 }, 1006 { /* Raptor */ 1007 BCM56215_DEVICE_ID, BCM56215_A1_REV_ID, 1008 "BCM56215_A1", 1009 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1010 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1011 }, 1012 { /* Raptor */ 1013 BCM56214R_DEVICE_ID, BCM56214R_A1_REV_ID, 1014 "BCM56214R_A1", 1015 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1016 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1017 }, 1018 { /* Raptor */ 1019 BCM56215R_DEVICE_ID, BCM56215R_A1_REV_ID, 1020 "BCM56215R_A1", 1021 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1022 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1023 }, 1024 { /* Raptor */ 1025 BCM56216_DEVICE_ID, BCM56216_A1_REV_ID, 1026 "BCM56216_A1", 1027 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1028 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1029 }, 1030 { /* Raptor */ 1031 BCM56217_DEVICE_ID, BCM56217_A1_REV_ID, 1032 "BCM56217_A1", 1033 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1034 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1035 }, 1036 { /* Raptor */ 1037 BCM56212_DEVICE_ID, BCM56212_A1_REV_ID, 1038 "BCM56212_A1", 1039 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1040 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1041 }, 1042 { /* Raptor */ 1043 BCM56213_DEVICE_ID, BCM56213_A1_REV_ID, 1044 "BCM56213_A1", 1045 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1046 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1047 }, 1048 { /* Raptor */ 1049 BCM53718_DEVICE_ID, BCM53718_A1_REV_ID, 1050 "BCM53718_A1", 1051 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1052 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1053 }, 1054 { /* Raptor */ 1055 BCM53714_DEVICE_ID, BCM53714_A1_REV_ID, 1056 "BCM53714_A1", 1057 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1058 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1059 }, 1060 { /* Raptor */ 1061 BCM53716_DEVICE_ID, BCM53716_A1_REV_ID, 1062 "BCM53716_A1", 1063 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1064 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1065 }, 1066 { /* Raptor */ 1067 BCM56018_DEVICE_ID, BCM56018_A1_REV_ID, 1068 "BCM56018_A1", 1069 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1070 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1071 }, 1072 { /* Raptor */ 1073 BCM56014_DEVICE_ID, BCM56014_A1_REV_ID, 1074 "BCM56014_A1", 1075 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1076 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1077 }, 1078 { /* Raptor */ 1079 BCM56218_DEVICE_ID, BCM56218_A2_REV_ID, 1080 "BCM56218_A2", 1081 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1082 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1083 }, 1084 { /* Raptor */ 1085 BCM56218X_DEVICE_ID, BCM56218X_A2_REV_ID, 1086 "BCM56218_A2", 1087 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1088 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1089 }, 1090 { /* Raptor */ 1091 BCM56219_DEVICE_ID, BCM56219_A2_REV_ID, 1092 "BCM56219_A2", 1093 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1094 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1095 }, 1096 { /* Raptor */ 1097 BCM56218R_DEVICE_ID, BCM56218R_A2_REV_ID, 1098 "BCM56218R_A2", 1099 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1100 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1101 }, 1102 { /* Raptor */ 1103 BCM56219R_DEVICE_ID, BCM56219R_A2_REV_ID, 1104 "BCM56219R_A2", 1105 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1106 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1107 }, 1108 { /* Raptor */ 1109 BCM56214_DEVICE_ID, BCM56214_A2_REV_ID, 1110 "BCM56214_A2", 1111 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1112 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1113 }, 1114 { /* Raptor */ 1115 BCM56215_DEVICE_ID, BCM56215_A2_REV_ID, 1116 "BCM56215_A2", 1117 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1118 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1119 }, 1120 { /* Raptor */ 1121 BCM56214R_DEVICE_ID, BCM56214R_A2_REV_ID, 1122 "BCM56214R_A2", 1123 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1124 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1125 }, 1126 { /* Raptor */ 1127 BCM56215R_DEVICE_ID, BCM56215R_A2_REV_ID, 1128 "BCM56215R_A2", 1129 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1130 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1131 }, 1132 { /* Raptor */ 1133 BCM56216_DEVICE_ID, BCM56216_A2_REV_ID, 1134 "BCM56216_A2", 1135 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1136 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1137 }, 1138 { /* Raptor */ 1139 BCM56217_DEVICE_ID, BCM56217_A2_REV_ID, 1140 "BCM56217_A2", 1141 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1142 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1143 }, 1144 { /* Raptor */ 1145 BCM56212_DEVICE_ID, BCM56212_A2_REV_ID, 1146 "BCM56212_A2", 1147 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1148 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1149 }, 1150 { /* Raptor */ 1151 BCM56213_DEVICE_ID, BCM56213_A2_REV_ID, 1152 "BCM56213_A2", 1153 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1154 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1155 }, 1156 { /* Raptor */ 1157 BCM53718_DEVICE_ID, BCM53718_A2_REV_ID, 1158 "BCM53718_A2", 1159 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1160 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1161 }, 1162 { /* Raptor */ 1163 BCM53714_DEVICE_ID, BCM53714_A2_REV_ID, 1164 "BCM53714_A2", 1165 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1166 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1167 }, 1168 { /* Raptor */ 1169 BCM53716_DEVICE_ID, BCM53716_A2_REV_ID, 1170 "BCM53716_A2", 1171 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1172 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1173 }, 1174 { /* Raptor */ 1175 BCM56018_DEVICE_ID, BCM56018_A2_REV_ID, 1176 "BCM56018_A2", 1177 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1178 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1179 }, 1180 { /* Raptor */ 1181 BCM56014_DEVICE_ID, BCM56014_A2_REV_ID, 1182 "BCM56014_A2", 1183 BCM56218_DEVICE_ID, BCM56218_A0_REV_ID, 1184 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1185 }, 1186 #endif /* BCM_RAPTOR1_SUPPORT */ 1187 1188 #if defined(BCM_GOLDWING_SUPPORT) 1189 { /* Goldwing */ 1190 BCM56580_DEVICE_ID, BCM56580_A0_REV_ID, 1191 "BCM56580_A0", 1192 BCM56800_DEVICE_ID, BCM56800_A0_REV_ID, 1193 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1194 }, 1195 #endif /* BCM_GOLDWING_SUPPORT */ 1196 #if defined(BCM_HUMV_SUPPORT) 1197 { /* HUMV */ 1198 BCM56700_DEVICE_ID, BCM56700_A0_REV_ID, 1199 "BCM56700_A0", 1200 BCM56800_DEVICE_ID, BCM56800_A0_REV_ID, 1201 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1202 }, 1203 { /* HUMV */ 1204 BCM56701_DEVICE_ID, BCM56701_A0_REV_ID, 1205 "BCM56701_A0", 1206 BCM56800_DEVICE_ID, BCM56800_A0_REV_ID, 1207 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1208 }, 1209 #endif /* BCM_HUMV_SUPPORT */ 1210 #if defined(BCM_BRADLEY1_SUPPORT) 1211 /* Without HumV and Goldwing */ 1212 { /* Bradley */ 1213 BCM56800_DEVICE_ID, BCM56800_A0_REV_ID, 1214 "BCM56800_A0", 1215 BCM56800_DEVICE_ID, BCM56800_A0_REV_ID, 1216 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1217 }, 1218 { /* Bradley */ 1219 BCM56801_DEVICE_ID, BCM56801_A0_REV_ID, 1220 "BCM56801_A0", 1221 BCM56800_DEVICE_ID, BCM56800_A0_REV_ID, 1222 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1223 }, 1224 { /* Bradley */ 1225 BCM56802_DEVICE_ID, BCM56802_A0_REV_ID, 1226 "BCM56802_A0", 1227 BCM56800_DEVICE_ID, BCM56800_A0_REV_ID, 1228 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1229 }, 1230 { /* Bradley */ 1231 BCM56803_DEVICE_ID, BCM56803_A0_REV_ID, 1232 "BCM56803_A0", 1233 BCM56800_DEVICE_ID, BCM56800_A0_REV_ID, 1234 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1235 }, 1236 #endif /* BCM_BRADLEY1_SUPPORT */ 1237 { /* Firebolt2 */ 1238 BCM56510_DEVICE_ID, BCM56510_A0_REV_ID, 1239 "BCM56510_A0", 1240 BCM56514_DEVICE_ID, BCM56514_A0_REV_ID, 1241 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1242 }, 1243 { /* Firebolt2 */ 1244 BCM56511_DEVICE_ID, BCM56511_A0_REV_ID, 1245 "BCM56511_A0", 1246 BCM56514_DEVICE_ID, BCM56514_A0_REV_ID, 1247 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1248 }, 1249 { /* Firebolt2 */ 1250 BCM56512_DEVICE_ID, BCM56512_A0_REV_ID, 1251 "BCM56512_A0", 1252 BCM56514_DEVICE_ID, BCM56514_A0_REV_ID, 1253 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1254 }, 1255 { /* Firebolt2 */ 1256 BCM56513_DEVICE_ID, BCM56513_A0_REV_ID, 1257 "BCM56513_A0", 1258 BCM56514_DEVICE_ID, BCM56514_A0_REV_ID, 1259 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1260 }, 1261 { /* Firebolt2 */ 1262 BCM56514_DEVICE_ID, BCM56514_A0_REV_ID, 1263 "BCM56514_A0", 1264 BCM56514_DEVICE_ID, BCM56514_A0_REV_ID, 1265 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1266 }, 1267 { /* Firebolt2 */ 1268 BCM56516_DEVICE_ID, BCM56516_A0_REV_ID, 1269 "BCM56516_A0", 1270 BCM56514_DEVICE_ID, BCM56514_A0_REV_ID, 1271 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1272 }, 1273 { /* Firebolt2 */ 1274 BCM56517_DEVICE_ID, BCM56517_A0_REV_ID, 1275 "BCM56517_A0", 1276 BCM56514_DEVICE_ID, BCM56514_A0_REV_ID, 1277 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1278 }, 1279 { /* Firebolt2 */ 1280 BCM56518_DEVICE_ID, BCM56518_A0_REV_ID, 1281 "BCM56518_A0", 1282 BCM56514_DEVICE_ID, BCM56514_A0_REV_ID, 1283 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1284 }, 1285 { /* Firebolt2 */ 1286 BCM56519_DEVICE_ID, BCM56519_A0_REV_ID, 1287 "BCM56519_A0", 1288 BCM56514_DEVICE_ID, BCM56514_A0_REV_ID, 1289 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1290 }, 1291 { /* Triumph */ 1292 BCM56620_DEVICE_ID, BCM56620_A0_REV_ID, 1293 "BCM56620_A0", 1294 BCM56680_DEVICE_ID, BCM56680_A0_REV_ID, 1295 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1296 }, 1297 { /* Triumph */ 1298 BCM56620_DEVICE_ID, BCM56620_A1_REV_ID, 1299 "BCM56620_A1", 1300 BCM56680_DEVICE_ID, BCM56680_A0_REV_ID, 1301 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1302 }, 1303 { /* Triumph */ 1304 BCM56620_DEVICE_ID, BCM56620_B0_REV_ID, 1305 "BCM56620_B0", 1306 BCM56680_DEVICE_ID, BCM56680_B0_REV_ID, 1307 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1308 }, 1309 { /* Triumph */ 1310 BCM56620_DEVICE_ID, BCM56620_B1_REV_ID, 1311 "BCM56620_B1", 1312 BCM56680_DEVICE_ID, BCM56680_B0_REV_ID, 1313 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1314 }, 1315 { /* Triumph */ 1316 BCM56620_DEVICE_ID, BCM56620_B2_REV_ID, 1317 "BCM56620_B2", 1318 BCM56680_DEVICE_ID, BCM56680_B0_REV_ID, 1319 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1320 }, 1321 { /* Triumph */ 1322 BCM56624_DEVICE_ID, BCM56624_A0_REV_ID, 1323 "BCM56624_A0", 1324 BCM56624_DEVICE_ID, BCM56624_A0_REV_ID, 1325 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1326 }, 1327 { /* Triumph */ 1328 BCM56624_DEVICE_ID, BCM56624_A1_REV_ID, 1329 "BCM56624_A1", 1330 BCM56624_DEVICE_ID, BCM56624_A0_REV_ID, 1331 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1332 }, 1333 { /* Triumph */ 1334 BCM56624_DEVICE_ID, BCM56624_B0_REV_ID, 1335 "BCM56624_B0", 1336 BCM56624_DEVICE_ID, BCM56624_B0_REV_ID, 1337 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1338 }, 1339 { /* Triumph */ 1340 BCM56624_DEVICE_ID, BCM56624_B1_REV_ID, 1341 "BCM56624_B1", 1342 BCM56624_DEVICE_ID, BCM56624_B0_REV_ID, 1343 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1344 }, 1345 { /* Triumph */ 1346 BCM56624_DEVICE_ID, BCM56624_B2_REV_ID, 1347 "BCM56624_B2", 1348 BCM56624_DEVICE_ID, BCM56624_B0_REV_ID, 1349 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1350 }, 1351 { /* Triumph */ 1352 BCM56626_DEVICE_ID, BCM56626_A0_REV_ID, 1353 "BCM56626_A0", 1354 BCM56624_DEVICE_ID, BCM56624_A0_REV_ID, 1355 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1356 }, 1357 { /* Triumph */ 1358 BCM56626_DEVICE_ID, BCM56626_A1_REV_ID, 1359 "BCM56626_A1", 1360 BCM56624_DEVICE_ID, BCM56624_A0_REV_ID, 1361 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1362 }, 1363 { /* Triumph */ 1364 BCM56626_DEVICE_ID, BCM56626_B0_REV_ID, 1365 "BCM56626_B0", 1366 BCM56624_DEVICE_ID, BCM56624_B0_REV_ID, 1367 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1368 }, 1369 { /* Triumph */ 1370 BCM56626_DEVICE_ID, BCM56626_B1_REV_ID, 1371 "BCM56626_B1", 1372 BCM56624_DEVICE_ID, BCM56624_B0_REV_ID, 1373 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1374 }, 1375 { /* Triumph */ 1376 BCM56626_DEVICE_ID, BCM56626_B2_REV_ID, 1377 "BCM56626_B2", 1378 BCM56624_DEVICE_ID, BCM56624_B0_REV_ID, 1379 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1380 }, 1381 { /* Triumph */ 1382 BCM56628_DEVICE_ID, BCM56628_A0_REV_ID, 1383 "BCM56628_A0", 1384 BCM56624_DEVICE_ID, BCM56624_A0_REV_ID, 1385 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1386 }, 1387 { /* Triumph */ 1388 BCM56628_DEVICE_ID, BCM56628_A1_REV_ID, 1389 "BCM56628_A1", 1390 BCM56624_DEVICE_ID, BCM56624_A0_REV_ID, 1391 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1392 }, 1393 { /* Triumph */ 1394 BCM56628_DEVICE_ID, BCM56628_B0_REV_ID, 1395 "BCM56628_B0", 1396 BCM56624_DEVICE_ID, BCM56624_B0_REV_ID, 1397 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1398 }, 1399 { /* Triumph */ 1400 BCM56628_DEVICE_ID, BCM56628_B1_REV_ID, 1401 "BCM56628_B1", 1402 BCM56624_DEVICE_ID, BCM56624_B0_REV_ID, 1403 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1404 }, 1405 { /* Triumph */ 1406 BCM56628_DEVICE_ID, BCM56628_B2_REV_ID, 1407 "BCM56628_B2", 1408 BCM56624_DEVICE_ID, BCM56624_B0_REV_ID, 1409 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1410 }, 1411 { /* Triumph */ 1412 BCM56629_DEVICE_ID, BCM56629_A0_REV_ID, 1413 "BCM56629_A0", 1414 BCM56624_DEVICE_ID, BCM56624_A0_REV_ID, 1415 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1416 }, 1417 { /* Triumph */ 1418 BCM56629_DEVICE_ID, BCM56629_A1_REV_ID, 1419 "BCM56629_A1", 1420 BCM56624_DEVICE_ID, BCM56624_A0_REV_ID, 1421 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1422 }, 1423 { /* Triumph */ 1424 BCM56629_DEVICE_ID, BCM56629_B0_REV_ID, 1425 "BCM56629_B0", 1426 BCM56624_DEVICE_ID, BCM56624_B0_REV_ID, 1427 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1428 }, 1429 { /* Triumph */ 1430 BCM56629_DEVICE_ID, BCM56629_B1_REV_ID, 1431 "BCM56629_B1", 1432 BCM56624_DEVICE_ID, BCM56624_B0_REV_ID, 1433 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1434 }, 1435 { /* Triumph */ 1436 BCM56629_DEVICE_ID, BCM56629_B2_REV_ID, 1437 "BCM56629_B2", 1438 BCM56624_DEVICE_ID, BCM56624_B0_REV_ID, 1439 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1440 }, 1441 { /* Valkyrie */ 1442 BCM56680_DEVICE_ID, BCM56680_A0_REV_ID, 1443 "BCM56680_A0", 1444 BCM56680_DEVICE_ID, BCM56680_A0_REV_ID, 1445 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1446 }, 1447 { /* Valkyrie */ 1448 BCM56680_DEVICE_ID, BCM56680_A1_REV_ID, 1449 "BCM56680_A1", 1450 BCM56680_DEVICE_ID, BCM56680_A0_REV_ID, 1451 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1452 }, 1453 { /* Valkyrie */ 1454 BCM56680_DEVICE_ID, BCM56680_B0_REV_ID, 1455 "BCM56680_B0", 1456 BCM56680_DEVICE_ID, BCM56680_B0_REV_ID, 1457 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1458 }, 1459 { /* Valkyrie */ 1460 BCM56680_DEVICE_ID, BCM56680_B1_REV_ID, 1461 "BCM56680_B1", 1462 BCM56680_DEVICE_ID, BCM56680_B0_REV_ID, 1463 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1464 }, 1465 { /* Valkyrie */ 1466 BCM56680_DEVICE_ID, BCM56680_B2_REV_ID, 1467 "BCM56680_B2", 1468 BCM56680_DEVICE_ID, BCM56680_B0_REV_ID, 1469 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1470 }, 1471 { /* Valkyrie */ 1472 BCM56684_DEVICE_ID, BCM56684_A0_REV_ID, 1473 "BCM56684_A0", 1474 BCM56680_DEVICE_ID, BCM56680_A0_REV_ID, 1475 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1476 }, 1477 { /* Valkyrie */ 1478 BCM56684_DEVICE_ID, BCM56684_A1_REV_ID, 1479 "BCM56684_A1", 1480 BCM56680_DEVICE_ID, BCM56680_A0_REV_ID, 1481 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1482 }, 1483 { /* Valkyrie */ 1484 BCM56684_DEVICE_ID, BCM56684_B0_REV_ID, 1485 "BCM56684_B0", 1486 BCM56680_DEVICE_ID, BCM56680_B0_REV_ID, 1487 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1488 }, 1489 { /* Valkyrie */ 1490 BCM56684_DEVICE_ID, BCM56684_B1_REV_ID, 1491 "BCM56684_B1", 1492 BCM56680_DEVICE_ID, BCM56680_B0_REV_ID, 1493 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1494 }, 1495 { /* Valkyrie */ 1496 BCM56684_DEVICE_ID, BCM56684_B2_REV_ID, 1497 "BCM56684_B2", 1498 BCM56680_DEVICE_ID, BCM56680_B0_REV_ID, 1499 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1500 }, 1501 { /* Valkyrie */ 1502 BCM56686_DEVICE_ID, BCM56686_B0_REV_ID, 1503 "BCM56686_B0", 1504 BCM56680_DEVICE_ID, BCM56680_B0_REV_ID, 1505 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1506 }, 1507 { /* Valkyrie */ 1508 BCM56686_DEVICE_ID, BCM56686_B1_REV_ID, 1509 "BCM56686_B1", 1510 BCM56680_DEVICE_ID, BCM56680_B0_REV_ID, 1511 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1512 }, 1513 { /* Valkyrie */ 1514 BCM56686_DEVICE_ID, BCM56686_B2_REV_ID, 1515 "BCM56686_B2", 1516 BCM56680_DEVICE_ID, BCM56680_B0_REV_ID, 1517 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1518 }, 1519 # if defined(BCM_RAVEN_SUPPORT) 1520 { /* Raven */ 1521 1522 BCM56224_DEVICE_ID, BCM56224_A0_REV_ID, 1523 "BCM56224_A0", 1524 BCM56224_DEVICE_ID, BCM56224_A0_REV_ID, 1525 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1526 }, 1527 { /* Raven */ 1528 1529 BCM56225_DEVICE_ID, BCM56225_A0_REV_ID, 1530 "BCM56225_A0", 1531 BCM56224_DEVICE_ID, BCM56224_A0_REV_ID, 1532 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1533 }, 1534 { /* Raven */ 1535 1536 BCM56226_DEVICE_ID, BCM56226_A0_REV_ID, 1537 "BCM56226_A0", 1538 BCM56224_DEVICE_ID, BCM56224_A0_REV_ID, 1539 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1540 }, 1541 { /* Raven */ 1542 1543 BCM56227_DEVICE_ID, BCM56227_A0_REV_ID, 1544 "BCM56227_A0", 1545 BCM56224_DEVICE_ID, BCM56224_A0_REV_ID, 1546 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1547 }, 1548 { /* Raven */ 1549 1550 BCM56228_DEVICE_ID, BCM56228_A0_REV_ID, 1551 "BCM56228_A0", 1552 BCM56224_DEVICE_ID, BCM56224_A0_REV_ID, 1553 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1554 }, 1555 { /* Raven */ 1556 1557 BCM56229_DEVICE_ID, BCM56229_A0_REV_ID, 1558 "BCM56229_A0", 1559 BCM56224_DEVICE_ID, BCM56224_A0_REV_ID, 1560 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1561 }, 1562 { /* Raven */ 1563 1564 BCM56024_DEVICE_ID, BCM56024_A0_REV_ID, 1565 "BCM56024_A0", 1566 BCM56224_DEVICE_ID, BCM56224_A0_REV_ID, 1567 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1568 }, 1569 { /* Raven */ 1570 1571 BCM56025_DEVICE_ID, BCM56025_A0_REV_ID, 1572 "BCM56025_A0", 1573 BCM56224_DEVICE_ID, BCM56224_A0_REV_ID, 1574 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1575 }, 1576 { /* Raven */ 1577 1578 BCM56224_DEVICE_ID, BCM56224_B0_REV_ID, 1579 "BCM56224_B0", 1580 BCM56224_DEVICE_ID, BCM56224_B0_REV_ID, 1581 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1582 }, 1583 { /* Raven */ 1584 1585 BCM56225_DEVICE_ID, BCM56225_B0_REV_ID, 1586 "BCM56225_B0", 1587 BCM56224_DEVICE_ID, BCM56224_B0_REV_ID, 1588 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1589 }, 1590 { /* Raven */ 1591 1592 BCM56226_DEVICE_ID, BCM56226_B0_REV_ID, 1593 "BCM56226_B0", 1594 BCM56224_DEVICE_ID, BCM56224_B0_REV_ID, 1595 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1596 }, 1597 { /* Raven */ 1598 1599 BCM56227_DEVICE_ID, BCM56227_B0_REV_ID, 1600 "BCM56227_B0", 1601 BCM56224_DEVICE_ID, BCM56224_B0_REV_ID, 1602 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1603 }, 1604 { /* Raven */ 1605 1606 BCM56228_DEVICE_ID, BCM56228_B0_REV_ID, 1607 "BCM56228_B0", 1608 BCM56224_DEVICE_ID, BCM56224_B0_REV_ID, 1609 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1610 }, 1611 { /* Raven */ 1612 1613 BCM56229_DEVICE_ID, BCM56229_B0_REV_ID, 1614 "BCM56229_B0", 1615 BCM56224_DEVICE_ID, BCM56224_B0_REV_ID, 1616 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1617 }, 1618 { /* Raven */ 1619 1620 BCM56024_DEVICE_ID, BCM56024_B0_REV_ID, 1621 "BCM56024_B0", 1622 BCM56224_DEVICE_ID, BCM56224_B0_REV_ID, 1623 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1624 }, 1625 { /* Raven */ 1626 1627 BCM56025_DEVICE_ID, BCM56025_B0_REV_ID, 1628 "BCM56025_B0", 1629 BCM56224_DEVICE_ID, BCM56224_B0_REV_ID, 1630 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1631 }, 1632 { /* Raven */ 1633 1634 BCM53724_DEVICE_ID, BCM53724_B0_REV_ID, 1635 "BCM53724_B0", 1636 BCM56224_DEVICE_ID, BCM56224_B0_REV_ID, 1637 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1638 }, 1639 { /* Raven */ 1640 1641 BCM53726_DEVICE_ID, BCM53726_B0_REV_ID, 1642 "BCM53726_B0", 1643 BCM56224_DEVICE_ID, BCM56224_B0_REV_ID, 1644 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1645 }, 1646 #endif 1647 #if defined(BCM_SCORPION_SUPPORT) 1648 { /* Scorpion */ 1649 BCM56820_DEVICE_ID, BCM56820_A0_REV_ID, 1650 "BCM56820_A0", 1651 BCM56820_DEVICE_ID, BCM56820_A0_REV_ID, 1652 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1653 }, 1654 { /* Scorpion */ 1655 BCM56820_DEVICE_ID, BCM56820_B0_REV_ID, 1656 "BCM56820_B0", 1657 BCM56820_DEVICE_ID, BCM56820_A0_REV_ID, 1658 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1659 }, 1660 { /* Scorpion */ 1661 BCM56821_DEVICE_ID, BCM56821_A0_REV_ID, 1662 "BCM56821_A0", 1663 BCM56820_DEVICE_ID, BCM56820_A0_REV_ID, 1664 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1665 }, 1666 { /* Scorpion */ 1667 BCM56821_DEVICE_ID, BCM56821_B0_REV_ID, 1668 "BCM56821_B0", 1669 BCM56820_DEVICE_ID, BCM56820_A0_REV_ID, 1670 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1671 }, 1672 { /* Scorpion */ 1673 BCM56822_DEVICE_ID, BCM56822_A0_REV_ID, 1674 "BCM56822_A0", 1675 BCM56820_DEVICE_ID, BCM56820_A0_REV_ID, 1676 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1677 }, 1678 { /* Scorpion */ 1679 BCM56822_DEVICE_ID, BCM56822_B0_REV_ID, 1680 "BCM56822_B0", 1681 BCM56820_DEVICE_ID, BCM56820_A0_REV_ID, 1682 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1683 }, 1684 { /* Scorpion */ 1685 BCM56823_DEVICE_ID, BCM56823_A0_REV_ID, 1686 "BCM56823_A0", 1687 BCM56820_DEVICE_ID, BCM56820_A0_REV_ID, 1688 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1689 }, 1690 { /* Scorpion */ 1691 BCM56823_DEVICE_ID, BCM56823_B0_REV_ID, 1692 "BCM56823_B0", 1693 BCM56820_DEVICE_ID, BCM56820_A0_REV_ID, 1694 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1695 }, 1696 { /* Scorpion */ 1697 BCM56825_DEVICE_ID, BCM56825_B0_REV_ID, 1698 "BCM56825_B0", 1699 BCM56820_DEVICE_ID, BCM56820_A0_REV_ID, 1700 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1701 }, 1702 #if defined(BCM_CONQUEROR_SUPPORT) 1703 { /* HUMV plus */ 1704 BCM56720_DEVICE_ID, BCM56720_A0_REV_ID, 1705 "BCM56720_A0", 1706 BCM56725_DEVICE_ID, BCM56725_A0_REV_ID, 1707 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1708 }, 1709 { /* HUMV plus */ 1710 BCM56720_DEVICE_ID, BCM56720_B0_REV_ID, 1711 "BCM56720_B0", 1712 BCM56725_DEVICE_ID, BCM56725_A0_REV_ID, 1713 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1714 }, 1715 { /* HUMV plus */ 1716 BCM56721_DEVICE_ID, BCM56721_A0_REV_ID, 1717 "BCM56721_A0", 1718 BCM56725_DEVICE_ID, BCM56725_A0_REV_ID, 1719 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1720 }, 1721 { /* HUMV plus */ 1722 BCM56721_DEVICE_ID, BCM56721_B0_REV_ID, 1723 "BCM56721_B0", 1724 BCM56725_DEVICE_ID, BCM56725_A0_REV_ID, 1725 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1726 }, 1727 { /* Conqueror */ 1728 BCM56725_DEVICE_ID, BCM56725_A0_REV_ID, 1729 "BCM56725_A0", 1730 BCM56725_DEVICE_ID, BCM56725_A0_REV_ID, 1731 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1732 }, 1733 { /* Conqueror */ 1734 BCM56725_DEVICE_ID, BCM56725_B0_REV_ID, 1735 "BCM56725_B0", 1736 BCM56725_DEVICE_ID, BCM56725_A0_REV_ID, 1737 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1738 }, 1739 #endif /* BCM_CONQUEROR_SUPPORT */ 1740 #endif 1741 1742 #if defined(BCM_HAWKEYE_SUPPORT) 1743 { /* Hawkeye */ 1744 BCM53312_DEVICE_ID, BCM53312_A0_REV_ID, 1745 "BCM53312_A0", 1746 BCM53314_DEVICE_ID, BCM53314_A0_REV_ID, 1747 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1748 }, 1749 { /* Hawkeye */ 1750 BCM53312_DEVICE_ID, BCM53312_B0_REV_ID, 1751 "BCM53312_B0", 1752 BCM53314_DEVICE_ID, BCM53314_A0_REV_ID, 1753 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1754 }, 1755 { /* Hawkeye */ 1756 BCM53313_DEVICE_ID, BCM53313_A0_REV_ID, 1757 "BCM53313_A0", 1758 BCM53314_DEVICE_ID, BCM53314_A0_REV_ID, 1759 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1760 }, 1761 { /* Hawkeye */ 1762 BCM53313_DEVICE_ID, BCM53313_B0_REV_ID, 1763 "BCM53313_B0", 1764 BCM53314_DEVICE_ID, BCM53314_A0_REV_ID, 1765 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1766 }, 1767 { /* Hawkeye */ 1768 BCM53314_DEVICE_ID, BCM53314_A0_REV_ID, 1769 "BCM53314_A0", 1770 BCM53314_DEVICE_ID, BCM53314_A0_REV_ID, 1771 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1772 }, 1773 { /* Hawkeye */ 1774 BCM53314_DEVICE_ID, BCM53314_B0_REV_ID, 1775 "BCM53314_B0", 1776 BCM53314_DEVICE_ID, BCM53314_A0_REV_ID, 1777 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1778 }, 1779 { /* Hawkeye EEE */ 1780 BCM53322_DEVICE_ID, BCM53322_A0_REV_ID, 1781 "BCM53322_A0", 1782 BCM53324_DEVICE_ID, BCM53324_A0_REV_ID, 1783 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1784 }, 1785 { /* Hawkeye EEE */ 1786 BCM53323_DEVICE_ID, BCM53323_A0_REV_ID, 1787 "BCM53323_A0", 1788 BCM53324_DEVICE_ID, BCM53324_A0_REV_ID, 1789 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1790 }, 1791 { /* Hawkeye EEE */ 1792 BCM53324_DEVICE_ID, BCM53324_A0_REV_ID, 1793 "BCM53324_A0", 1794 BCM53324_DEVICE_ID, BCM53324_A0_REV_ID, 1795 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1796 }, 1797 #endif 1798 1799 #if defined(BCM_TRIUMPH2_SUPPORT) 1800 { /* Triumph2 */ 1801 1802 BCM56630_DEVICE_ID, BCM56630_A0_REV_ID, 1803 "BCM56630_A0", 1804 BCM56524_DEVICE_ID, BCM56524_A0_REV_ID, 1805 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1806 }, 1807 { /* Triumph2 */ 1808 1809 BCM56630_DEVICE_ID, BCM56630_B0_REV_ID, 1810 "BCM56630_B0", 1811 BCM56524_DEVICE_ID, BCM56524_B0_REV_ID, 1812 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1813 }, 1814 { /* Triumph2 */ 1815 1816 BCM56634_DEVICE_ID, BCM56634_A0_REV_ID, 1817 "BCM56634_A0", 1818 BCM56634_DEVICE_ID, BCM56634_A0_REV_ID, 1819 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1820 }, 1821 { /* Triumph2 */ 1822 1823 BCM56634_DEVICE_ID, BCM56634_B0_REV_ID, 1824 "BCM56634_B0", 1825 BCM56634_DEVICE_ID, BCM56634_B0_REV_ID, 1826 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1827 }, 1828 { /* Triumph2 */ 1829 1830 BCM56636_DEVICE_ID, BCM56636_A0_REV_ID, 1831 "BCM56636_A0", 1832 BCM56634_DEVICE_ID, BCM56634_A0_REV_ID, 1833 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1834 }, 1835 { /* Triumph2 */ 1836 1837 BCM56636_DEVICE_ID, BCM56636_B0_REV_ID, 1838 "BCM56636_B0", 1839 BCM56634_DEVICE_ID, BCM56634_B0_REV_ID, 1840 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1841 }, 1842 { /* Triumph2 */ 1843 1844 BCM56638_DEVICE_ID, BCM56638_A0_REV_ID, 1845 "BCM56638_A0", 1846 BCM56634_DEVICE_ID, BCM56634_A0_REV_ID, 1847 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1848 }, 1849 { /* Triumph2 */ 1850 1851 BCM56638_DEVICE_ID, BCM56638_B0_REV_ID, 1852 "BCM56638_B0", 1853 BCM56634_DEVICE_ID, BCM56634_B0_REV_ID, 1854 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1855 }, 1856 { /* Triumph2 */ 1857 1858 BCM56639_DEVICE_ID, BCM56639_A0_REV_ID, 1859 "BCM56639_A0", 1860 BCM56634_DEVICE_ID, BCM56634_A0_REV_ID, 1861 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1862 }, 1863 { /* Triumph2 */ 1864 1865 BCM56639_DEVICE_ID, BCM56639_B0_REV_ID, 1866 "BCM56639_B0", 1867 BCM56634_DEVICE_ID, BCM56634_B0_REV_ID, 1868 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1869 }, 1870 { /* Firebolt 3 */ 1871 1872 BCM56538_DEVICE_ID, BCM56538_B0_REV_ID, 1873 "BCM56538_B0", 1874 BCM56634_DEVICE_ID, BCM56634_B0_REV_ID, 1875 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1876 }, 1877 #endif 1878 #if defined(BCM_VALKYRIE2_SUPPORT) 1879 { /* Valkyrie2 */ 1880 1881 BCM56685_DEVICE_ID, BCM56685_A0_REV_ID, 1882 "BCM56685_A0", 1883 BCM56685_DEVICE_ID, BCM56685_A0_REV_ID, 1884 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1885 }, 1886 { /* Valkyrie2 */ 1887 1888 BCM56685_DEVICE_ID, BCM56685_B0_REV_ID, 1889 "BCM56685_B0", 1890 BCM56685_DEVICE_ID, BCM56685_B0_REV_ID, 1891 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1892 }, 1893 { /* Valkyrie2 */ 1894 1895 BCM56689_DEVICE_ID, BCM56689_A0_REV_ID, 1896 "BCM56689_A0", 1897 BCM56685_DEVICE_ID, BCM56685_A0_REV_ID, 1898 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1899 }, 1900 { /* Valkyrie2 */ 1901 1902 BCM56689_DEVICE_ID, BCM56689_B0_REV_ID, 1903 "BCM56689_B0", 1904 BCM56685_DEVICE_ID, BCM56685_B0_REV_ID, 1905 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1906 }, 1907 #endif 1908 #if defined(BCM_APOLLO_SUPPORT) 1909 { /* Apollo */ 1910 1911 BCM56520_DEVICE_ID, BCM56520_A0_REV_ID, 1912 "BCM56520_A0", 1913 BCM56524_DEVICE_ID, BCM56524_A0_REV_ID, 1914 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1915 }, 1916 { /* Apollo */ 1917 1918 BCM56520_DEVICE_ID, BCM56520_B0_REV_ID, 1919 "BCM56520_B0", 1920 BCM56524_DEVICE_ID, BCM56524_B0_REV_ID, 1921 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1922 }, 1923 1924 { /* Apollo */ 1925 1926 BCM56521_DEVICE_ID, BCM56521_A0_REV_ID, 1927 "BCM56521_A0", 1928 BCM56524_DEVICE_ID, BCM56524_A0_REV_ID, 1929 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1930 }, 1931 { /* Apollo */ 1932 1933 BCM56521_DEVICE_ID, BCM56521_B0_REV_ID, 1934 "BCM56521_B0", 1935 BCM56524_DEVICE_ID, BCM56524_B0_REV_ID, 1936 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1937 }, 1938 { /* Apollo */ 1939 1940 BCM56522_DEVICE_ID, BCM56522_A0_REV_ID, 1941 "BCM56522_A0", 1942 BCM56524_DEVICE_ID, BCM56524_A0_REV_ID, 1943 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1944 }, 1945 { /* Apollo */ 1946 1947 BCM56522_DEVICE_ID, BCM56522_B0_REV_ID, 1948 "BCM56522_B0", 1949 BCM56524_DEVICE_ID, BCM56524_B0_REV_ID, 1950 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1951 }, 1952 { /* Apollo */ 1953 1954 BCM56524_DEVICE_ID, BCM56524_A0_REV_ID, 1955 "BCM56524_A0", 1956 BCM56524_DEVICE_ID, BCM56524_A0_REV_ID, 1957 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1958 }, 1959 { /* Apollo */ 1960 1961 BCM56524_DEVICE_ID, BCM56524_B0_REV_ID, 1962 "BCM56524_B0", 1963 BCM56524_DEVICE_ID, BCM56524_B0_REV_ID, 1964 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1965 }, 1966 { /* Apollo */ 1967 1968 BCM56526_DEVICE_ID, BCM56526_A0_REV_ID, 1969 "BCM56526_A0", 1970 BCM56524_DEVICE_ID, BCM56524_A0_REV_ID, 1971 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1972 }, 1973 { /* Apollo */ 1974 1975 BCM56526_DEVICE_ID, BCM56526_B0_REV_ID, 1976 "BCM56526_B0", 1977 BCM56524_DEVICE_ID, BCM56524_B0_REV_ID, 1978 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1979 }, 1980 { /* Firebolt 3 */ 1981 1982 BCM56534_DEVICE_ID, BCM56534_B0_REV_ID, 1983 "BCM56534_B0", 1984 BCM56524_DEVICE_ID, BCM56524_B0_REV_ID, 1985 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1986 }, 1987 #endif 1988 1989 #if defined(BCM_ENDURO_SUPPORT) 1990 { /* Enduro */ 1991 BCM56331_DEVICE_ID, BCM56331_A0_REV_ID, 1992 "BCM56331_A0", 1993 BCM56334_DEVICE_ID, BCM56334_A0_REV_ID, 1994 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 1995 }, 1996 { /* Enduro */ 1997 BCM56331_DEVICE_ID, BCM56331_B0_REV_ID, 1998 "BCM56331_B0", 1999 BCM56334_DEVICE_ID, BCM56334_B0_REV_ID, 2000 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2001 }, 2002 { /* Enduro */ 2003 BCM56331_DEVICE_ID, BCM56331_B1_REV_ID, 2004 "BCM56331_B1", 2005 BCM56334_DEVICE_ID, BCM56334_B0_REV_ID, 2006 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2007 }, 2008 { /* Enduro */ 2009 BCM56333_DEVICE_ID, BCM56333_A0_REV_ID, 2010 "BCM56333_A0", 2011 BCM56334_DEVICE_ID, BCM56334_A0_REV_ID, 2012 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2013 }, 2014 { /* Enduro */ 2015 BCM56333_DEVICE_ID, BCM56333_B0_REV_ID, 2016 "BCM56333_B0", 2017 BCM56334_DEVICE_ID, BCM56334_B0_REV_ID, 2018 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2019 }, 2020 { /* Enduro */ 2021 BCM56333_DEVICE_ID, BCM56333_B1_REV_ID, 2022 "BCM56333_B1", 2023 BCM56334_DEVICE_ID, BCM56334_B0_REV_ID, 2024 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2025 }, 2026 { /* Enduro - Default */ 2027 BCM56334_DEVICE_ID, BCM56334_A0_REV_ID, 2028 "BCM56334_A0", 2029 BCM56334_DEVICE_ID, BCM56334_A0_REV_ID, 2030 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2031 }, 2032 { /* Enduro */ 2033 BCM56334_DEVICE_ID, BCM56334_B0_REV_ID, 2034 "BCM56334_B0", 2035 BCM56334_DEVICE_ID, BCM56334_B0_REV_ID, 2036 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2037 }, 2038 { /* Enduro */ 2039 BCM56334_DEVICE_ID, BCM56334_B1_REV_ID, 2040 "BCM56334_B1", 2041 BCM56334_DEVICE_ID, BCM56334_B0_REV_ID, 2042 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2043 }, 2044 { /* Enduro */ 2045 BCM56338_DEVICE_ID, BCM56338_A0_REV_ID, 2046 "BCM56338_A0", 2047 BCM56334_DEVICE_ID, BCM56334_A0_REV_ID, 2048 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2049 }, 2050 { /* Enduro */ 2051 BCM56338_DEVICE_ID, BCM56338_B0_REV_ID, 2052 "BCM56338_B0", 2053 BCM56334_DEVICE_ID, BCM56334_B0_REV_ID, 2054 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2055 }, 2056 { /* Enduro */ 2057 BCM56338_DEVICE_ID, BCM56338_B1_REV_ID, 2058 "BCM56338_B1", 2059 BCM56334_DEVICE_ID, BCM56334_B0_REV_ID, 2060 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2061 }, 2062 { /* Helix3 */ 2063 BCM56320_DEVICE_ID, BCM56320_A0_REV_ID, 2064 "BCM56320_A0", 2065 BCM56334_DEVICE_ID, BCM56334_A0_REV_ID, 2066 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2067 }, 2068 { /* Helix3 */ 2069 BCM56320_DEVICE_ID, BCM56320_B0_REV_ID, 2070 "BCM56320_B0", 2071 BCM56334_DEVICE_ID, BCM56334_B0_REV_ID, 2072 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2073 }, 2074 { /* Helix3 */ 2075 BCM56320_DEVICE_ID, BCM56320_B1_REV_ID, 2076 "BCM56320_B1", 2077 BCM56334_DEVICE_ID, BCM56334_B0_REV_ID, 2078 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2079 }, 2080 { /* Helix3 */ 2081 BCM56321_DEVICE_ID, BCM56321_A0_REV_ID, 2082 "BCM56321_A0", 2083 BCM56334_DEVICE_ID, BCM56334_A0_REV_ID, 2084 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2085 }, 2086 { /* Helix3 */ 2087 BCM56321_DEVICE_ID, BCM56321_B0_REV_ID, 2088 "BCM56321_B0", 2089 BCM56334_DEVICE_ID, BCM56334_B0_REV_ID, 2090 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2091 }, 2092 { /* Helix3 */ 2093 BCM56321_DEVICE_ID, BCM56321_B1_REV_ID, 2094 "BCM56321_B1", 2095 BCM56334_DEVICE_ID, BCM56334_B0_REV_ID, 2096 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2097 }, 2098 { /* Dagger */ 2099 BCM56230_DEVICE_ID, BCM56230_B1_REV_ID, 2100 "BCM56230_B1", 2101 BCM56334_DEVICE_ID, BCM56334_B0_REV_ID, 2102 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2103 }, 2104 { /* Dagger */ 2105 BCM56231_DEVICE_ID, BCM56231_B1_REV_ID, 2106 "BCM56231_B1", 2107 BCM56334_DEVICE_ID, BCM56334_B0_REV_ID, 2108 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2109 }, 2110 #endif 2111 2112 #if defined(BCM_HURRICANE1_SUPPORT) 2113 { /* Hurricane */ 2114 BCM56140_DEVICE_ID, BCM56140_A0_REV_ID, 2115 "BCM56140_A0", 2116 BCM56142_DEVICE_ID, BCM56142_A0_REV_ID, 2117 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2118 }, 2119 { /* Hurricane */ 2120 BCM56142_DEVICE_ID, BCM56142_A0_REV_ID, 2121 "BCM56142_A0", 2122 BCM56142_DEVICE_ID, BCM56142_A0_REV_ID, 2123 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2124 }, 2125 { /* Hurricane */ 2126 BCM56143_DEVICE_ID, BCM56143_A0_REV_ID, 2127 "BCM56143_A0", 2128 BCM56142_DEVICE_ID, BCM56142_A0_REV_ID, 2129 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2130 }, 2131 { /* Hurricane */ 2132 BCM56144_DEVICE_ID, BCM56144_A0_REV_ID, 2133 "BCM56144_A0", 2134 BCM56142_DEVICE_ID, BCM56142_A0_REV_ID, 2135 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2136 }, 2137 { /* Hurricane */ 2138 BCM56146_DEVICE_ID, BCM56146_A0_REV_ID, 2139 "BCM56146_A0", 2140 BCM56142_DEVICE_ID, BCM56142_A0_REV_ID, 2141 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2142 }, 2143 { /* Hurricane */ 2144 BCM56147_DEVICE_ID, BCM56147_A0_REV_ID, 2145 "BCM56147_A0", 2146 BCM56142_DEVICE_ID, BCM56142_A0_REV_ID, 2147 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2148 }, 2149 { /* Hurricane */ 2150 BCM56149_DEVICE_ID, BCM56149_A0_REV_ID, 2151 "BCM56149_A0", 2152 BCM56142_DEVICE_ID, BCM56142_A0_REV_ID, 2153 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2154 }, 2155 #endif 2156 2157 #if defined(BCM_HURRICANE2_SUPPORT) 2158 { /* Hurricane 2 */ 2159 BCM56150_DEVICE_ID, BCM56150_A0_REV_ID, 2160 "BCM56150_A0", 2161 BCM56150_DEVICE_ID, BCM56150_A0_REV_ID, 2162 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2163 }, 2164 { /* Hurricane 2 */ 2165 BCM56151_DEVICE_ID, BCM56151_A0_REV_ID, 2166 "BCM56151_A0", 2167 BCM56150_DEVICE_ID, BCM56150_A0_REV_ID, 2168 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2169 }, 2170 { /* Hurricane 2 */ 2171 BCM56152_DEVICE_ID, BCM56152_A0_REV_ID, 2172 "BCM56152_A0", 2173 BCM56150_DEVICE_ID, BCM56150_A0_REV_ID, 2174 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2175 }, 2176 { /* Wolfhound */ 2177 BCM53342_DEVICE_ID, BCM53342_A0_REV_ID, 2178 "BCM53342_A0", 2179 BCM56150_DEVICE_ID, BCM56150_A0_REV_ID, 2180 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2181 }, 2182 { /* Wolfhound */ 2183 BCM53343_DEVICE_ID, BCM53343_A0_REV_ID, 2184 "BCM53343_A0", 2185 BCM56150_DEVICE_ID, BCM56150_A0_REV_ID, 2186 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2187 }, 2188 { /* Wolfhound */ 2189 BCM53344_DEVICE_ID, BCM53344_A0_REV_ID, 2190 "BCM53344_A0", 2191 BCM56150_DEVICE_ID, BCM56150_A0_REV_ID, 2192 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2193 }, 2194 { /* Wolfhound */ 2195 BCM53346_DEVICE_ID, BCM53346_A0_REV_ID, 2196 "BCM53346_A0", 2197 BCM56150_DEVICE_ID, BCM56150_A0_REV_ID, 2198 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2199 }, 2200 { /* Wolfhound */ 2201 BCM53347_DEVICE_ID, BCM53347_A0_REV_ID, 2202 "BCM53347_A0", 2203 BCM56150_DEVICE_ID, BCM56150_A0_REV_ID, 2204 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2205 }, 2206 { /* Foxhound */ 2207 BCM53333_DEVICE_ID, BCM53333_A0_REV_ID, 2208 "BCM53333_A0", 2209 BCM56150_DEVICE_ID, BCM56150_A0_REV_ID, 2210 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2211 }, 2212 { /* Foxhound */ 2213 BCM53334_DEVICE_ID, BCM53334_A0_REV_ID, 2214 "BCM53334_A0", 2215 BCM56150_DEVICE_ID, BCM56150_A0_REV_ID, 2216 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2217 }, 2218 { /* Deerhound */ 2219 BCM53393_DEVICE_ID, BCM53393_A0_REV_ID, 2220 "BCM53393_A0", 2221 BCM56150_DEVICE_ID, BCM56150_A0_REV_ID, 2222 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2223 }, 2224 { /* Deerhound */ 2225 BCM53394_DEVICE_ID, BCM53394_A0_REV_ID, 2226 "BCM53394_A0", 2227 BCM56150_DEVICE_ID, BCM56150_A0_REV_ID, 2228 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2229 }, 2230 #endif 2231 2232 #if defined(BCM_GREYHOUND_SUPPORT) 2233 { /* Greyhound */ 2234 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2235 "BCM53400_A0", 2236 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2237 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2238 }, 2239 { /* Greyhound */ 2240 BCM53401_DEVICE_ID, BCM53401_A0_REV_ID, 2241 "BCM53401_A0", 2242 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2243 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2244 }, 2245 { /* Greyhound */ 2246 BCM53411_DEVICE_ID, BCM53401_A0_REV_ID, 2247 "BCM53411_A0", 2248 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2249 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2250 }, 2251 { /* Greyhound */ 2252 BCM53402_DEVICE_ID, BCM53402_A0_REV_ID, 2253 "BCM53402_A0", 2254 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2255 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2256 }, 2257 { /* Greyhound */ 2258 BCM53412_DEVICE_ID, BCM53402_A0_REV_ID, 2259 "BCM53412_A0", 2260 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2261 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2262 }, 2263 { /* Greyhound */ 2264 BCM53403_DEVICE_ID, BCM53403_A0_REV_ID, 2265 "BCM53403_A0", 2266 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2267 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2268 }, 2269 { /* Greyhound */ 2270 BCM53413_DEVICE_ID, BCM53403_A0_REV_ID, 2271 "BCM53413_A0", 2272 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2273 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2274 }, 2275 { /* Greyhound */ 2276 BCM53404_DEVICE_ID, BCM53404_A0_REV_ID, 2277 "BCM53404_A0", 2278 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2279 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2280 }, 2281 { /* Greyhound */ 2282 BCM53414_DEVICE_ID, BCM53404_A0_REV_ID, 2283 "BCM53414_A0", 2284 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2285 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2286 }, 2287 { /* Greyhound */ 2288 BCM53405_DEVICE_ID, BCM53405_A0_REV_ID, 2289 "BCM53405_A0", 2290 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2291 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2292 }, 2293 { /* Greyhound */ 2294 BCM53415_DEVICE_ID, BCM53405_A0_REV_ID, 2295 "BCM53415_A0", 2296 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2297 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2298 }, 2299 { /* Greyhound */ 2300 BCM53406_DEVICE_ID, BCM53406_A0_REV_ID, 2301 "BCM53406_A0", 2302 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2303 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2304 }, 2305 { /* Greyhound */ 2306 BCM53416_DEVICE_ID, BCM53406_A0_REV_ID, 2307 "BCM53416_A0", 2308 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2309 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2310 }, 2311 { /* Greyhound */ 2312 BCM53408_DEVICE_ID, BCM53408_A0_REV_ID, 2313 "BCM53408_A0", 2314 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2315 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2316 }, 2317 { /* Greyhound */ 2318 BCM53418_DEVICE_ID, BCM53408_A0_REV_ID, 2319 "BCM53418_A0", 2320 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2321 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2322 }, 2323 { /* Ranger2 */ 2324 BCM56060_DEVICE_ID, BCM56060_A0_REV_ID, 2325 "BCM56060_A0", 2326 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2327 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2328 }, 2329 { /* Ranger2 */ 2330 BCM56062_DEVICE_ID, BCM56062_A0_REV_ID, 2331 "BCM56062_A0", 2332 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2333 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2334 }, 2335 { /* Ranger2 */ 2336 BCM56063_DEVICE_ID, BCM56063_A0_REV_ID, 2337 "BCM56063_A0", 2338 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2339 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2340 }, 2341 { /* Ranger2 */ 2342 BCM56064_DEVICE_ID, BCM56064_A0_REV_ID, 2343 "BCM56064_A0", 2344 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2345 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2346 }, 2347 { /* Ranger2 */ 2348 BCM56065_DEVICE_ID, BCM56065_A0_REV_ID, 2349 "BCM56065_A0", 2350 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2351 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2352 }, 2353 { /* Ranger2 */ 2354 BCM56066_DEVICE_ID, BCM56066_A0_REV_ID, 2355 "BCM56066_A0", 2356 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2357 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2358 }, 2359 { /* Elkhound */ 2360 BCM53454_DEVICE_ID, BCM53454_A0_REV_ID, 2361 "BCM53454_A0", 2362 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2363 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2364 }, 2365 { /* Elkhound */ 2366 BCM53455_DEVICE_ID, BCM53454_A0_REV_ID, 2367 "BCM53455_A0", 2368 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2369 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2370 }, 2371 { /* Elkhound */ 2372 BCM53456_DEVICE_ID, BCM53456_A0_REV_ID, 2373 "BCM53456_A0", 2374 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2375 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2376 }, 2377 { /* Elkhound */ 2378 BCM53457_DEVICE_ID, BCM53456_A0_REV_ID, 2379 "BCM53457_A0", 2380 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2381 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2382 }, 2383 { /* Bloodhound */ 2384 BCM53422_DEVICE_ID, BCM53422_A0_REV_ID, 2385 "BCM53422_A0", 2386 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2387 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2388 }, 2389 { /* Bloodhound */ 2390 BCM53424_DEVICE_ID, BCM53424_A0_REV_ID, 2391 "BCM53424_A0", 2392 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2393 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2394 }, 2395 { /* Bloodhound */ 2396 BCM53426_DEVICE_ID, BCM53426_A0_REV_ID, 2397 "BCM53426_A0", 2398 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2399 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2400 }, 2401 { /* Greyhound Lite w/o L3 */ 2402 BCM53365_DEVICE_ID, BCM53365_A0_REV_ID, 2403 "BCM53365_A0", 2404 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2405 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2406 }, 2407 { /* Greyhound */ 2408 BCM53369_DEVICE_ID, BCM53369_A0_REV_ID, 2409 "BCM53369_A0", 2410 BCM53400_DEVICE_ID, BCM53400_A0_REV_ID, 2411 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2412 }, 2413 #endif 2414 #if defined(BCM_HURRICANE3_SUPPORT) 2415 { /* Hurricane3 */ 2416 BCM56160_DEVICE_ID, BCM56160_A0_REV_ID, 2417 "BCM56160_A0", 2418 BCM56160_DEVICE_ID, BCM56160_A0_REV_ID, 2419 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2420 }, 2421 { /* Hurricane3 */ 2422 BCM56160_DEVICE_ID, BCM56160_B0_REV_ID, 2423 "BCM56160_B0", 2424 BCM56160_DEVICE_ID, BCM56160_A0_REV_ID, 2425 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2426 }, 2427 { /* Hurricane3 */ 2428 BCM56162_DEVICE_ID, BCM56162_A0_REV_ID, 2429 "BCM56162_A0", 2430 BCM56160_DEVICE_ID, BCM56160_A0_REV_ID, 2431 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2432 }, 2433 { /* Hurricane3 */ 2434 BCM56162_DEVICE_ID, BCM56162_B0_REV_ID, 2435 "BCM56162_B0", 2436 BCM56160_DEVICE_ID, BCM56160_A0_REV_ID, 2437 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2438 }, 2439 { /* Hurricane3 Lite */ 2440 BCM56163_DEVICE_ID, BCM56163_A0_REV_ID, 2441 "BCM56163_A0", 2442 BCM56160_DEVICE_ID, BCM56160_A0_REV_ID, 2443 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2444 }, 2445 { /* Hurricane3 Lite */ 2446 BCM56163_DEVICE_ID, BCM56163_B0_REV_ID, 2447 "BCM56163_B0", 2448 BCM56160_DEVICE_ID, BCM56160_A0_REV_ID, 2449 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2450 }, 2451 { /* Hurricane3 Lite */ 2452 BCM56164_DEVICE_ID, BCM56164_A0_REV_ID, 2453 "BCM56164_A0", 2454 BCM56160_DEVICE_ID, BCM56160_A0_REV_ID, 2455 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2456 }, 2457 { /* Hurricane3 Lite */ 2458 BCM56164_DEVICE_ID, BCM56164_B0_REV_ID, 2459 "BCM56164_B0", 2460 BCM56160_DEVICE_ID, BCM56160_A0_REV_ID, 2461 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2462 }, 2463 { /* Hurricane3 Lite */ 2464 BCM56166_DEVICE_ID, BCM56166_A0_REV_ID, 2465 "BCM56166_A0", 2466 BCM56160_DEVICE_ID, BCM56160_A0_REV_ID, 2467 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2468 }, 2469 { /* Hurricane3 Lite */ 2470 BCM56166_DEVICE_ID, BCM56166_B0_REV_ID, 2471 "BCM56166_B0", 2472 BCM56160_DEVICE_ID, BCM56160_A0_REV_ID, 2473 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2474 }, 2475 { /* Buckhound */ 2476 BCM53440_DEVICE_ID, BCM53440_A0_REV_ID, 2477 "BCM53440_A0", 2478 BCM56160_DEVICE_ID, BCM56160_A0_REV_ID, 2479 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2480 }, 2481 { /* Buckhound */ 2482 BCM53440_DEVICE_ID, BCM53440_B0_REV_ID, 2483 "BCM53440_B0", 2484 BCM56160_DEVICE_ID, BCM56160_A0_REV_ID, 2485 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2486 }, 2487 { /* Buckhound */ 2488 BCM53443_DEVICE_ID, BCM53443_A0_REV_ID, 2489 "BCM53443_A0", 2490 BCM56160_DEVICE_ID, BCM56160_A0_REV_ID, 2491 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2492 }, 2493 { /* Buckhound */ 2494 BCM53443_DEVICE_ID, BCM53443_B0_REV_ID, 2495 "BCM53443_B0", 2496 BCM56160_DEVICE_ID, BCM56160_A0_REV_ID, 2497 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2498 }, 2499 { /* Buckhound */ 2500 BCM53442_DEVICE_ID, BCM53442_A0_REV_ID, 2501 "BCM53442_A0", 2502 BCM56160_DEVICE_ID, BCM56160_A0_REV_ID, 2503 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2504 }, 2505 { /* Buckhound */ 2506 BCM53442_DEVICE_ID, BCM53442_B0_REV_ID, 2507 "BCM53442_B0", 2508 BCM56160_DEVICE_ID, BCM56160_A0_REV_ID, 2509 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2510 }, 2511 { /* Foxhound2 */ 2512 BCM53434_DEVICE_ID, BCM53434_A0_REV_ID, 2513 "BCM53434_A0", 2514 BCM56160_DEVICE_ID, BCM56160_A0_REV_ID, 2515 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2516 }, 2517 { /* Foxhound2 */ 2518 BCM53434_DEVICE_ID, BCM53434_B0_REV_ID, 2519 "BCM53434_B0", 2520 BCM56160_DEVICE_ID, BCM56160_A0_REV_ID, 2521 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2522 }, 2523 { /* Wolfhound2 */ 2524 BCM53540_DEVICE_ID, BCM53540_A0_REV_ID, 2525 "BCM53540_A0", 2526 BCM53540_DEVICE_ID, BCM53540_A0_REV_ID, 2527 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2528 }, 2529 { /* Wolfhound2 */ 2530 BCM53547_DEVICE_ID, BCM53547_A0_REV_ID, 2531 "BCM53547_A0", 2532 BCM53540_DEVICE_ID, BCM53540_A0_REV_ID, 2533 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2534 }, 2535 { /* Wolfhound2 */ 2536 BCM53548_DEVICE_ID, BCM53548_A0_REV_ID, 2537 "BCM53548_A0", 2538 BCM53540_DEVICE_ID, BCM53540_A0_REV_ID, 2539 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2540 }, 2541 { /* Wolfhound2 */ 2542 BCM53549_DEVICE_ID, BCM53549_A0_REV_ID, 2543 "BCM53549_A0", 2544 BCM53540_DEVICE_ID, BCM53540_A0_REV_ID, 2545 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2546 }, 2547 #endif 2548 #if defined(BCM_GREYHOUND2_SUPPORT) 2549 { /* Hurricane3-MG */ 2550 BCM56170_DEVICE_ID, BCM56170_A0_REV_ID, 2551 "BCM56170_A0", 2552 BCM53570_DEVICE_ID, BCM53570_A0_REV_ID, 2553 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2554 }, 2555 { /* Hurricane3-MG */ 2556 BCM56170_DEVICE_ID, BCM56170_B0_REV_ID, 2557 "BCM56170_B0", 2558 BCM53570_DEVICE_ID, BCM53570_B0_REV_ID, 2559 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2560 }, 2561 { /* Hurricane3-MG */ 2562 BCM56172_DEVICE_ID, BCM56172_A0_REV_ID, 2563 "BCM56172_A0", 2564 BCM53570_DEVICE_ID, BCM53570_A0_REV_ID, 2565 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2566 }, 2567 { /* Hurricane3-MG */ 2568 BCM56172_DEVICE_ID, BCM56172_B0_REV_ID, 2569 "BCM56172_B0", 2570 BCM53570_DEVICE_ID, BCM53570_B0_REV_ID, 2571 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2572 }, 2573 { /* Hurricane3-MG */ 2574 BCM56174_DEVICE_ID, BCM56174_A0_REV_ID, 2575 "BCM56174_A0", 2576 BCM53570_DEVICE_ID, BCM53570_A0_REV_ID, 2577 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2578 }, 2579 { /* Hurricane3-MG */ 2580 BCM56174_DEVICE_ID, BCM56174_B0_REV_ID, 2581 "BCM56174_B0", 2582 BCM53570_DEVICE_ID, BCM53570_B0_REV_ID, 2583 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2584 }, 2585 { /* Quartz, Greyhound2 */ 2586 BCM53570_DEVICE_ID, BCM53570_A0_REV_ID, 2587 "BCM53570_A0", 2588 BCM53570_DEVICE_ID, BCM53570_A0_REV_ID, 2589 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2590 }, 2591 { /* Quartz, Greyhound2 */ 2592 BCM53570_DEVICE_ID, BCM53570_B0_REV_ID, 2593 "BCM53570_B0", 2594 BCM53570_DEVICE_ID, BCM53570_B0_REV_ID, 2595 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2596 }, 2597 { /* Quartz, Greyhound2 */ 2598 BCM53575_DEVICE_ID, BCM53575_A0_REV_ID, 2599 "BCM53575_A0", 2600 BCM53570_DEVICE_ID, BCM53570_A0_REV_ID, 2601 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2602 }, 2603 { /* Quartz, Greyhound2 */ 2604 BCM53575_DEVICE_ID, BCM53575_B0_REV_ID, 2605 "BCM53575_B0", 2606 BCM53570_DEVICE_ID, BCM53570_B0_REV_ID, 2607 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2608 }, 2609 #endif /* BCM_GREYHOUND2_SUPPORT */ 2610 #if defined(BCM_TRIDENT_SUPPORT) 2611 { /* Trident */ 2612 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2613 "BCM56840_A0", 2614 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2615 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2616 }, 2617 { /* Trident */ 2618 BCM56840_DEVICE_ID, BCM56840_A1_REV_ID, 2619 "BCM56840_A1", 2620 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2621 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2622 }, 2623 { /* Trident */ 2624 BCM56840_DEVICE_ID, BCM56840_A2_REV_ID, 2625 "BCM56840_A2", 2626 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2627 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2628 }, 2629 { /* Trident */ 2630 BCM56840_DEVICE_ID, BCM56840_A3_REV_ID, 2631 "BCM56840_A3", 2632 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2633 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2634 }, 2635 { /* Trident */ 2636 BCM56840_DEVICE_ID, BCM56840_A4_REV_ID, 2637 "BCM56840_A4", 2638 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2639 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2640 }, 2641 { /* Trident */ 2642 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2643 "BCM56840_B0", 2644 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2645 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2646 }, 2647 { /* Trident */ 2648 BCM56840_DEVICE_ID, BCM56840_B1_REV_ID, 2649 "BCM56840_B1", 2650 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2651 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2652 }, 2653 { /* Trident */ 2654 BCM56841_DEVICE_ID, BCM56841_A0_REV_ID, 2655 "BCM56841_A0", 2656 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2657 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2658 }, 2659 { /* Trident */ 2660 BCM56841_DEVICE_ID, BCM56841_A1_REV_ID, 2661 "BCM56841_A1", 2662 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2663 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2664 }, 2665 { /* Trident */ 2666 BCM56841_DEVICE_ID, BCM56841_A2_REV_ID, 2667 "BCM56841_A2", 2668 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2669 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2670 }, 2671 { /* Trident */ 2672 BCM56841_DEVICE_ID, BCM56841_A3_REV_ID, 2673 "BCM56841_A3", 2674 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2675 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2676 }, 2677 { /* Trident */ 2678 BCM56841_DEVICE_ID, BCM56841_A4_REV_ID, 2679 "BCM56841_A4", 2680 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2681 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2682 }, 2683 { /* Trident */ 2684 BCM56841_DEVICE_ID, BCM56841_B0_REV_ID, 2685 "BCM56841_B0", 2686 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2687 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2688 }, 2689 { /* Trident */ 2690 BCM56841_DEVICE_ID, BCM56841_B1_REV_ID, 2691 "BCM56841_B1", 2692 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2693 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2694 }, 2695 { /* Trident */ 2696 BCM56843_DEVICE_ID, BCM56843_A0_REV_ID, 2697 "BCM56843_A0", 2698 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2699 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2700 }, 2701 { /* Trident */ 2702 BCM56843_DEVICE_ID, BCM56843_A1_REV_ID, 2703 "BCM56843_A1", 2704 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2705 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2706 }, 2707 { /* Trident */ 2708 BCM56843_DEVICE_ID, BCM56843_A2_REV_ID, 2709 "BCM56843_A2", 2710 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2711 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2712 }, 2713 { /* Trident */ 2714 BCM56843_DEVICE_ID, BCM56843_A3_REV_ID, 2715 "BCM56843_A3", 2716 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2717 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2718 }, 2719 { /* Trident */ 2720 BCM56843_DEVICE_ID, BCM56843_A4_REV_ID, 2721 "BCM56843_A4", 2722 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2723 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2724 }, 2725 { /* Trident */ 2726 BCM56843_DEVICE_ID, BCM56843_B0_REV_ID, 2727 "BCM56843_B0", 2728 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2729 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2730 }, 2731 { /* Trident */ 2732 BCM56843_DEVICE_ID, BCM56843_B1_REV_ID, 2733 "BCM56843_B1", 2734 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2735 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2736 }, 2737 { /* Trident */ 2738 BCM56845_DEVICE_ID, BCM56845_A0_REV_ID, 2739 "BCM56845_A0", 2740 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2741 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2742 }, 2743 { /* Trident */ 2744 BCM56845_DEVICE_ID, BCM56845_A1_REV_ID, 2745 "BCM56845_A1", 2746 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2747 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2748 }, 2749 { /* Trident */ 2750 BCM56845_DEVICE_ID, BCM56845_A2_REV_ID, 2751 "BCM56845_A2", 2752 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2753 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2754 }, 2755 { /* Trident */ 2756 BCM56845_DEVICE_ID, BCM56845_A3_REV_ID, 2757 "BCM56845_A3", 2758 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2759 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2760 }, 2761 { /* Trident */ 2762 BCM56845_DEVICE_ID, BCM56845_A4_REV_ID, 2763 "BCM56845_A4", 2764 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2765 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2766 }, 2767 { /* Trident */ 2768 BCM56845_DEVICE_ID, BCM56845_B0_REV_ID, 2769 "BCM56845_B0", 2770 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2771 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2772 }, 2773 { /* Trident */ 2774 BCM56845_DEVICE_ID, BCM56845_B1_REV_ID, 2775 "BCM56845_B1", 2776 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2777 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2778 }, 2779 { /* Titan */ 2780 BCM56743_DEVICE_ID, BCM56743_A0_REV_ID, 2781 "BCM56743_A0", 2782 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2783 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2784 }, 2785 { /* Titan */ 2786 BCM56743_DEVICE_ID, BCM56743_A1_REV_ID, 2787 "BCM56743_A1", 2788 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2789 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2790 }, 2791 { /* Titan */ 2792 BCM56743_DEVICE_ID, BCM56743_A2_REV_ID, 2793 "BCM56743_A2", 2794 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2795 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2796 }, 2797 { /* Titan */ 2798 BCM56743_DEVICE_ID, BCM56743_A3_REV_ID, 2799 "BCM56743_A3", 2800 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2801 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2802 }, 2803 { /* Titan */ 2804 BCM56743_DEVICE_ID, BCM56743_A4_REV_ID, 2805 "BCM56743_A4", 2806 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2807 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2808 }, 2809 { /* Titan */ 2810 BCM56743_DEVICE_ID, BCM56743_B0_REV_ID, 2811 "BCM56743_B0", 2812 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2813 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2814 }, 2815 { /* Titan */ 2816 BCM56743_DEVICE_ID, BCM56743_B1_REV_ID, 2817 "BCM56743_B1", 2818 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2819 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2820 }, 2821 { /* Titan */ 2822 BCM56745_DEVICE_ID, BCM56745_A0_REV_ID, 2823 "BCM56745_A0", 2824 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2825 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2826 }, 2827 { /* Titan */ 2828 BCM56745_DEVICE_ID, BCM56745_A1_REV_ID, 2829 "BCM56745_A1", 2830 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2831 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2832 }, 2833 { /* Titan */ 2834 BCM56745_DEVICE_ID, BCM56745_A2_REV_ID, 2835 "BCM56745_A2", 2836 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2837 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2838 }, 2839 { /* Titan */ 2840 BCM56745_DEVICE_ID, BCM56745_A3_REV_ID, 2841 "BCM56745_A3", 2842 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2843 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2844 }, 2845 { /* Titan */ 2846 BCM56745_DEVICE_ID, BCM56745_A4_REV_ID, 2847 "BCM56745_A4", 2848 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2849 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2850 }, 2851 { /* Titan */ 2852 BCM56745_DEVICE_ID, BCM56745_B0_REV_ID, 2853 "BCM56745_B0", 2854 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2855 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2856 }, 2857 { /* Titan */ 2858 BCM56745_DEVICE_ID, BCM56745_B1_REV_ID, 2859 "BCM56745_B1", 2860 BCM56840_DEVICE_ID, BCM56840_A0_REV_ID, 2861 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2862 }, 2863 { /* Trident Plus */ 2864 BCM56842_DEVICE_ID, BCM56842_A0_REV_ID, 2865 "BCM56842_A0", 2866 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2867 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2868 }, 2869 { /* Trident Plus */ 2870 BCM56842_DEVICE_ID, BCM56842_A1_REV_ID, 2871 "BCM56842_A1", 2872 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2873 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2874 }, 2875 { /* Trident Plus */ 2876 BCM56844_DEVICE_ID, BCM56844_A0_REV_ID, 2877 "BCM56844_A0", 2878 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2879 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2880 }, 2881 { /* Trident Plus */ 2882 BCM56844_DEVICE_ID, BCM56844_A1_REV_ID, 2883 "BCM56844_A1", 2884 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2885 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2886 }, 2887 { /* Trident Plus */ 2888 BCM56846_DEVICE_ID, BCM56846_A0_REV_ID, 2889 "BCM56846_A0", 2890 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2891 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2892 }, 2893 { /* Trident Plus */ 2894 BCM56846_DEVICE_ID, BCM56846_A1_REV_ID, 2895 "BCM56846_A1", 2896 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2897 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2898 }, 2899 { /* Trident Plus */ 2900 BCM56847_DEVICE_ID, BCM56847_A0_REV_ID, 2901 "BCM56847_A0", 2902 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2903 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2904 }, 2905 { /* Trident Plus */ 2906 BCM56847_DEVICE_ID, BCM56847_A1_REV_ID, 2907 "BCM56847_A1", 2908 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2909 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2910 }, 2911 { /* Trident Plus */ 2912 BCM56847_DEVICE_ID, BCM56847_A2_REV_ID, 2913 "BCM56847_A2", 2914 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2915 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2916 }, 2917 { /* Trident Plus */ 2918 BCM56847_DEVICE_ID, BCM56847_A3_REV_ID, 2919 "BCM56847_A3", 2920 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2921 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2922 }, 2923 { /* Trident Plus */ 2924 BCM56847_DEVICE_ID, BCM56847_A4_REV_ID, 2925 "BCM56847_A4", 2926 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2927 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2928 }, 2929 { /* Trident Plus */ 2930 BCM56847_DEVICE_ID, BCM56847_B0_REV_ID, 2931 "BCM56847_B0", 2932 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2933 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2934 }, 2935 { /* Trident Plus */ 2936 BCM56847_DEVICE_ID, BCM56847_B1_REV_ID, 2937 "BCM56847_B1", 2938 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2939 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2940 }, 2941 { /* Trident Plus */ 2942 BCM56549_DEVICE_ID, BCM56549_A0_REV_ID, 2943 "BCM56549_A0", 2944 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2945 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2946 }, 2947 { /* Trident Plus */ 2948 BCM56053_DEVICE_ID, BCM56053_A0_REV_ID, 2949 "BCM56053_A0", 2950 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2951 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2952 }, 2953 { /* Trident Plus */ 2954 BCM56053_DEVICE_ID, BCM56053_A1_REV_ID, 2955 "BCM56053_A1", 2956 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2957 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2958 }, 2959 { /* Trident Plus */ 2960 BCM56549_DEVICE_ID, BCM56549_A1_REV_ID, 2961 "BCM56549_A1", 2962 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2963 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2964 }, 2965 { /* Trident Plus */ 2966 BCM56831_DEVICE_ID, BCM56831_A0_REV_ID, 2967 "BCM56831_A0", 2968 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2969 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2970 }, 2971 { /* Trident Plus */ 2972 BCM56831_DEVICE_ID, BCM56831_A1_REV_ID, 2973 "BCM56831_A1", 2974 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2975 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2976 }, 2977 { /* Trident Plus */ 2978 BCM56835_DEVICE_ID, BCM56835_A0_REV_ID, 2979 "BCM56835_A0", 2980 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2981 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2982 }, 2983 { /* Trident Plus */ 2984 BCM56835_DEVICE_ID, BCM56835_A1_REV_ID, 2985 "BCM56835_A1", 2986 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2987 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2988 }, 2989 { /* Trident Plus */ 2990 BCM56838_DEVICE_ID, BCM56838_A0_REV_ID, 2991 "BCM56838_A0", 2992 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2993 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 2994 }, 2995 { /* Trident Plus */ 2996 BCM56838_DEVICE_ID, BCM56838_A1_REV_ID, 2997 "BCM56838_A1", 2998 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 2999 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3000 }, 3001 { /* Trident Plus */ 3002 BCM56849_DEVICE_ID, BCM56849_A0_REV_ID, 3003 "BCM56849_A0", 3004 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 3005 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3006 }, 3007 { /* Trident Plus */ 3008 BCM56849_DEVICE_ID, BCM56849_A1_REV_ID, 3009 "BCM56849_A1", 3010 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 3011 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3012 }, 3013 { /* Titan Plus */ 3014 BCM56742_DEVICE_ID, BCM56742_A0_REV_ID, 3015 "BCM56742_A0", 3016 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 3017 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3018 }, 3019 { /* Titan Plus */ 3020 BCM56742_DEVICE_ID, BCM56742_A1_REV_ID, 3021 "BCM56742_A1", 3022 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 3023 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3024 }, 3025 { /* Titan Plus */ 3026 BCM56742_DEVICE_ID, BCM56742_A2_REV_ID, 3027 "BCM56742_A2", 3028 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 3029 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3030 }, 3031 { /* Titan Plus */ 3032 BCM56744_DEVICE_ID, BCM56744_A0_REV_ID, 3033 "BCM56744_A0", 3034 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 3035 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3036 }, 3037 { /* Titan Plus */ 3038 BCM56744_DEVICE_ID, BCM56744_A1_REV_ID, 3039 "BCM56744_A1", 3040 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 3041 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3042 }, 3043 { /* Titan Plus */ 3044 BCM56746_DEVICE_ID, BCM56746_A0_REV_ID, 3045 "BCM56746_A0", 3046 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 3047 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3048 }, 3049 { /* Titan Plus */ 3050 BCM56746_DEVICE_ID, BCM56746_A1_REV_ID, 3051 "BCM56746_A1", 3052 BCM56840_DEVICE_ID, BCM56840_B0_REV_ID, 3053 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3054 }, 3055 #endif 3056 #if defined(BCM_SHADOW_SUPPORT) 3057 { /* Shadow */ 3058 BCM88732_DEVICE_ID, BCM88732_A0_REV_ID, 3059 "BCM88732_A0", 3060 BCM88732_DEVICE_ID, BCM88732_A0_REV_ID, 3061 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3062 }, 3063 { /* Shadow */ 3064 BCM88732_DEVICE_ID, BCM88732_A1_REV_ID, 3065 "BCM88732_A1", 3066 BCM88732_DEVICE_ID, BCM88732_A0_REV_ID, 3067 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3068 }, 3069 { /* Shadow */ 3070 BCM88732_DEVICE_ID, BCM88732_A2_REV_ID, 3071 "BCM88732_A2", 3072 BCM88732_DEVICE_ID, BCM88732_A0_REV_ID, 3073 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3074 }, 3075 { /* Shadow */ 3076 BCM88732_DEVICE_ID, BCM88732_B0_REV_ID, 3077 "BCM88732_B0", 3078 BCM88732_DEVICE_ID, BCM88732_A0_REV_ID, 3079 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3080 }, 3081 { /* Shadow */ 3082 BCM88732_DEVICE_ID, BCM88732_B1_REV_ID, 3083 "BCM88732_B1", 3084 BCM88732_DEVICE_ID, BCM88732_A0_REV_ID, 3085 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3086 }, 3087 { /* Shadow */ 3088 BCM88732_DEVICE_ID, BCM88732_B2_REV_ID, 3089 "BCM88732_B2", 3090 BCM88732_DEVICE_ID, BCM88732_A0_REV_ID, 3091 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3092 }, 3093 #endif 3094 3095 #if defined(BCM_HELIX4_SUPPORT) 3096 { /* FireScout */ 3097 BCM56548H_DEVICE_ID, BCM56548H_A0_REV_ID, 3098 "BCM56548H_A0", 3099 BCM56340_DEVICE_ID, BCM56340_A0_REV_ID, 3100 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3101 }, 3102 { /* FireScout */ 3103 BCM56548_DEVICE_ID, BCM56548_A0_REV_ID, 3104 "BCM56548_A0", 3105 BCM56340_DEVICE_ID, BCM56340_A0_REV_ID, 3106 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3107 }, 3108 { /* FireScout */ 3109 BCM56547_DEVICE_ID, BCM56547_A0_REV_ID, 3110 "BCM56547_A0", 3111 BCM56340_DEVICE_ID, BCM56340_A0_REV_ID, 3112 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3113 }, 3114 { /* Helix4 */ 3115 BCM56346_DEVICE_ID, BCM56346_A0_REV_ID, 3116 "BCM56346_A0", 3117 BCM56340_DEVICE_ID, BCM56340_A0_REV_ID, 3118 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3119 }, 3120 { /* Helix4 */ 3121 BCM56345_DEVICE_ID, BCM56345_A0_REV_ID, 3122 "BCM56345_A0", 3123 BCM56340_DEVICE_ID, BCM56340_A0_REV_ID, 3124 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3125 }, 3126 { /* Helix4 */ 3127 BCM56344_DEVICE_ID, BCM56344_A0_REV_ID, 3128 "BCM56344_A0", 3129 BCM56340_DEVICE_ID, BCM56340_A0_REV_ID, 3130 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3131 }, 3132 { /* Helix4 */ 3133 BCM56342_DEVICE_ID, BCM56342_A0_REV_ID, 3134 "BCM56342_A0", 3135 BCM56340_DEVICE_ID, BCM56340_A0_REV_ID, 3136 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3137 }, 3138 { /* Helix4 */ 3139 BCM56340_DEVICE_ID, BCM56340_A0_REV_ID, 3140 "BCM56340_A0", 3141 BCM56340_DEVICE_ID, BCM56340_A0_REV_ID, 3142 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3143 }, 3144 { /* Spiral */ 3145 BCM56049_DEVICE_ID, BCM56049_A0_REV_ID, 3146 "BCM56049_A0", 3147 BCM56340_DEVICE_ID, BCM56340_A0_REV_ID, 3148 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3149 }, 3150 { /* Spiral */ 3151 BCM56048_DEVICE_ID, BCM56048_A0_REV_ID, 3152 "BCM56048_A0", 3153 BCM56340_DEVICE_ID, BCM56340_A0_REV_ID, 3154 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3155 }, 3156 { /* Spiral */ 3157 BCM56047_DEVICE_ID, BCM56047_A0_REV_ID, 3158 "BCM56047_A0", 3159 BCM56340_DEVICE_ID, BCM56340_A0_REV_ID, 3160 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3161 }, 3162 { /* Ranger */ 3163 BCM56042_DEVICE_ID, BCM56042_A0_REV_ID, 3164 "BCM56042_A0", 3165 BCM56340_DEVICE_ID, BCM56340_A0_REV_ID, 3166 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3167 }, 3168 { /* Ranger */ 3169 BCM56041_DEVICE_ID, BCM56041_A0_REV_ID, 3170 "BCM56041_A0", 3171 BCM56340_DEVICE_ID, BCM56340_A0_REV_ID, 3172 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3173 }, 3174 { /* Ranger */ 3175 BCM56040_DEVICE_ID, BCM56040_A0_REV_ID, 3176 "BCM56040_A0", 3177 BCM56340_DEVICE_ID, BCM56340_A0_REV_ID, 3178 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3179 }, 3180 #endif 3181 3182 #if defined(BCM_TRIUMPH3_SUPPORT) 3183 { /* Triumph3 */ 3184 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3185 "BCM56640_A0", 3186 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3187 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3188 }, 3189 { /* Triumph3 */ 3190 BCM56640_DEVICE_ID, BCM56640_A1_REV_ID, 3191 "BCM56640_A1", 3192 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3193 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3194 }, 3195 { /* Triumph3 */ 3196 BCM56640_DEVICE_ID, BCM56640_B0_REV_ID, 3197 "BCM56640_B0", 3198 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3199 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3200 }, 3201 { /* Triumph3 */ 3202 BCM56643_DEVICE_ID, BCM56643_A0_REV_ID, 3203 "BCM56643_A0", 3204 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3205 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3206 }, 3207 { /* Triumph3 */ 3208 BCM56643_DEVICE_ID, BCM56643_A1_REV_ID, 3209 "BCM56643_A1", 3210 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3211 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3212 }, 3213 { /* Triumph3 */ 3214 BCM56643_DEVICE_ID, BCM56643_B0_REV_ID, 3215 "BCM56643_B0", 3216 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3217 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3218 }, 3219 { /* Triumph3 */ 3220 BCM56644_DEVICE_ID, BCM56644_A0_REV_ID, 3221 "BCM56644_A0", 3222 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3223 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3224 }, 3225 { /* Triumph3 */ 3226 BCM56644_DEVICE_ID, BCM56644_A1_REV_ID, 3227 "BCM56644_A1", 3228 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3229 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3230 }, 3231 { /* Triumph3 */ 3232 BCM56644_DEVICE_ID, BCM56644_B0_REV_ID, 3233 "BCM56644_B0", 3234 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3235 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3236 }, 3237 { /* Triumph3 */ 3238 BCM56648_DEVICE_ID, BCM56648_A0_REV_ID, 3239 "BCM56648_A0", 3240 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3241 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3242 }, 3243 { /* Triumph3 */ 3244 BCM56648_DEVICE_ID, BCM56648_A1_REV_ID, 3245 "BCM56648_A1", 3246 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3247 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3248 }, 3249 { /* Triumph3 */ 3250 BCM56648_DEVICE_ID, BCM56648_B0_REV_ID, 3251 "BCM56648_B0", 3252 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3253 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3254 }, 3255 { /* Triumph3 */ 3256 BCM56649_DEVICE_ID, BCM56649_A0_REV_ID, 3257 "BCM56649_A0", 3258 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3259 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3260 }, 3261 { /* Triumph3 */ 3262 BCM56649_DEVICE_ID, BCM56649_A1_REV_ID, 3263 "BCM56649_A1", 3264 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3265 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3266 }, 3267 { /* Triumph3 */ 3268 BCM56649_DEVICE_ID, BCM56649_B0_REV_ID, 3269 "BCM56649_B0", 3270 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3271 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3272 }, 3273 { /* Firebolt4 */ 3274 BCM56545_DEVICE_ID, BCM56545_A0_REV_ID, 3275 "BCM56545_A0", 3276 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3277 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3278 }, 3279 { /* Firebolt4 */ 3280 BCM56545_DEVICE_ID, BCM56545_A1_REV_ID, 3281 "BCM56545_A1", 3282 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3283 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3284 }, 3285 { /* Firebolt4 */ 3286 BCM56545_DEVICE_ID, BCM56545_B0_REV_ID, 3287 "BCM56545_B0", 3288 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3289 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3290 }, 3291 { /* Firebolt4 */ 3292 BCM56546_DEVICE_ID, BCM56546_A0_REV_ID, 3293 "BCM56546_A0", 3294 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3295 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3296 }, 3297 { /* Firebolt4 */ 3298 BCM56546_DEVICE_ID, BCM56546_A1_REV_ID, 3299 "BCM56546_A1", 3300 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3301 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3302 }, 3303 { /* Firebolt4 */ 3304 BCM56546_DEVICE_ID, BCM56546_B0_REV_ID, 3305 "BCM56546_B0", 3306 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3307 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3308 }, 3309 { /* Apollo2 */ 3310 BCM56540_DEVICE_ID, BCM56540_A0_REV_ID, 3311 "BCM56540_A0", 3312 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3313 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3314 }, 3315 { /* Apollo2 */ 3316 BCM56540_DEVICE_ID, BCM56540_A1_REV_ID, 3317 "BCM56540_A1", 3318 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3319 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3320 }, 3321 { /* Apollo2 */ 3322 BCM56540_DEVICE_ID, BCM56540_B0_REV_ID, 3323 "BCM56540_B0", 3324 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3325 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3326 }, 3327 { /* Apollo2 */ 3328 BCM56541_DEVICE_ID, BCM56541_A0_REV_ID, 3329 "BCM56541_A0", 3330 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3331 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3332 }, 3333 { /* Apollo2 */ 3334 BCM56541_DEVICE_ID, BCM56541_A1_REV_ID, 3335 "BCM56541_A1", 3336 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3337 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3338 }, 3339 { /* Apollo2 */ 3340 BCM56541_DEVICE_ID, BCM56541_B0_REV_ID, 3341 "BCM56541_B0", 3342 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3343 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3344 }, 3345 { /* Apollo2 */ 3346 BCM56542_DEVICE_ID, BCM56542_A0_REV_ID, 3347 "BCM56542_A0", 3348 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3349 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3350 }, 3351 { /* Apollo2 */ 3352 BCM56542_DEVICE_ID, BCM56542_A1_REV_ID, 3353 "BCM56542_A1", 3354 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3355 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3356 }, 3357 { /* Apollo2 */ 3358 BCM56542_DEVICE_ID, BCM56542_B0_REV_ID, 3359 "BCM56542_B0", 3360 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3361 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3362 }, 3363 { /* Apollo2 */ 3364 BCM56543_DEVICE_ID, BCM56543_A0_REV_ID, 3365 "BCM56543_A0", 3366 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3367 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3368 }, 3369 { /* Apollo2 */ 3370 BCM56543_DEVICE_ID, BCM56543_A1_REV_ID, 3371 "BCM56543_A1", 3372 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3373 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3374 }, 3375 { /* Apollo2 */ 3376 BCM56543_DEVICE_ID, BCM56543_B0_REV_ID, 3377 "BCM56543_B0", 3378 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3379 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3380 }, 3381 { /* Apollo2 */ 3382 BCM56544_DEVICE_ID, BCM56544_A0_REV_ID, 3383 "BCM56544_A0", 3384 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3385 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3386 }, 3387 { /* Apollo2 */ 3388 BCM56544_DEVICE_ID, BCM56544_A1_REV_ID, 3389 "BCM56544_A1", 3390 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3391 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3392 }, 3393 { /* Apollo2 */ 3394 BCM56544_DEVICE_ID, BCM56544_B0_REV_ID, 3395 "BCM56544_B0", 3396 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3397 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3398 }, 3399 { /* Ranger Plus */ 3400 BCM56044_DEVICE_ID, BCM56044_B0_REV_ID, 3401 "BCM56044_B0", 3402 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3403 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3404 }, 3405 { /* Ranger Plus */ 3406 BCM56045_DEVICE_ID, BCM56045_A0_REV_ID, 3407 "BCM56045_A0", 3408 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3409 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3410 }, 3411 { /* Ranger Plus */ 3412 BCM56045_DEVICE_ID, BCM56045_A1_REV_ID, 3413 "BCM56045_A1", 3414 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3415 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3416 }, 3417 { /* Ranger Plus */ 3418 BCM56045_DEVICE_ID, BCM56045_B0_REV_ID, 3419 "BCM56045_B0", 3420 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3421 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3422 }, 3423 { /* Ranger Plus */ 3424 BCM56046_DEVICE_ID, BCM56046_A0_REV_ID, 3425 "BCM56046_A0", 3426 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3427 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3428 }, 3429 { /* Ranger Plus */ 3430 BCM56046_DEVICE_ID, BCM56046_A1_REV_ID, 3431 "BCM56046_A1", 3432 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3433 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3434 }, 3435 { /* Ranger Plus */ 3436 BCM56046_DEVICE_ID, BCM56046_B0_REV_ID, 3437 "BCM56046_B0", 3438 BCM56640_DEVICE_ID, BCM56640_A0_REV_ID, 3439 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3440 }, 3441 #endif 3442 3443 #if defined(BCM_KATANA_SUPPORT) 3444 { /* Katana */ 3445 BCM56440_DEVICE_ID, BCM56440_A0_REV_ID, 3446 "BCM56440_A0", 3447 BCM56440_DEVICE_ID, BCM56440_A0_REV_ID, 3448 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3449 }, 3450 { /* Katana */ 3451 BCM56440_DEVICE_ID, BCM56440_B0_REV_ID, 3452 "BCM56440_B0", 3453 BCM56440_DEVICE_ID, BCM56440_B0_REV_ID, 3454 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3455 }, 3456 { /* Katana */ 3457 BCM56441_DEVICE_ID, BCM56441_A0_REV_ID, 3458 "BCM56441_A0", 3459 BCM56440_DEVICE_ID, BCM56440_A0_REV_ID, 3460 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3461 }, 3462 { /* Katana */ 3463 BCM56441_DEVICE_ID, BCM56441_B0_REV_ID, 3464 "BCM56441_B0", 3465 BCM56440_DEVICE_ID, BCM56440_B0_REV_ID, 3466 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3467 }, 3468 { /* Katana */ 3469 BCM56442_DEVICE_ID, BCM56442_A0_REV_ID, 3470 "BCM56442_A0", 3471 BCM56440_DEVICE_ID, BCM56440_A0_REV_ID, 3472 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3473 }, 3474 { /* Katana */ 3475 BCM56442_DEVICE_ID, BCM56442_B0_REV_ID, 3476 "BCM56442_B0", 3477 BCM56440_DEVICE_ID, BCM56440_B0_REV_ID, 3478 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3479 }, 3480 { /* Katana */ 3481 BCM56443_DEVICE_ID, BCM56443_A0_REV_ID, 3482 "BCM56443_A0", 3483 BCM56440_DEVICE_ID, BCM56440_A0_REV_ID, 3484 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3485 }, 3486 { /* Katana */ 3487 BCM56443_DEVICE_ID, BCM56443_B0_REV_ID, 3488 "BCM56443_B0", 3489 BCM56440_DEVICE_ID, BCM56440_B0_REV_ID, 3490 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3491 }, 3492 { /* Enduro-2 */ 3493 BCM56445_DEVICE_ID, BCM56445_A0_REV_ID, 3494 "BCM56445_A0", 3495 BCM56440_DEVICE_ID, BCM56440_A0_REV_ID, 3496 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3497 }, 3498 { /* Enduro-2 */ 3499 BCM56445_DEVICE_ID, BCM56445_B0_REV_ID, 3500 "BCM56445_B0", 3501 BCM56440_DEVICE_ID, BCM56440_B0_REV_ID, 3502 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3503 }, 3504 { /* Enduro-2 */ 3505 BCM56446_DEVICE_ID, BCM56446_A0_REV_ID, 3506 "BCM56446_A0", 3507 BCM56440_DEVICE_ID, BCM56440_A0_REV_ID, 3508 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3509 }, 3510 { /* Enduro-2 */ 3511 BCM56446_DEVICE_ID, BCM56446_B0_REV_ID, 3512 "BCM56446_B0", 3513 BCM56440_DEVICE_ID, BCM56440_B0_REV_ID, 3514 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3515 }, 3516 { /* Enduro-2 */ 3517 BCM56447_DEVICE_ID, BCM56447_A0_REV_ID, 3518 "BCM56447_A0", 3519 BCM56440_DEVICE_ID, BCM56440_A0_REV_ID, 3520 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3521 }, 3522 { /* Enduro-2 */ 3523 BCM56447_DEVICE_ID, BCM56447_B0_REV_ID, 3524 "BCM56447_B0", 3525 BCM56440_DEVICE_ID, BCM56440_B0_REV_ID, 3526 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3527 }, 3528 { /* Enduro-2 */ 3529 BCM56448_DEVICE_ID, BCM56448_A0_REV_ID, 3530 "BCM56448_A0", 3531 BCM56440_DEVICE_ID, BCM56440_A0_REV_ID, 3532 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3533 }, 3534 { /* Enduro-2 */ 3535 BCM56448_DEVICE_ID, BCM56448_B0_REV_ID, 3536 "BCM56448_B0", 3537 BCM56440_DEVICE_ID, BCM56440_B0_REV_ID, 3538 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3539 }, 3540 { /* Katana-FE */ 3541 BCM56449_DEVICE_ID, BCM56449_A0_REV_ID, 3542 "BCM56449_A0", 3543 BCM56440_DEVICE_ID, BCM56440_A0_REV_ID, 3544 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3545 }, 3546 { /* Katana-FE */ 3547 BCM56449_DEVICE_ID, BCM56449_B0_REV_ID, 3548 "BCM56449_B0", 3549 BCM56440_DEVICE_ID, BCM56440_B0_REV_ID, 3550 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3551 }, 3552 { /* Saber */ 3553 BCM56240_DEVICE_ID, BCM56240_A0_REV_ID, 3554 "BCM56240_A0", 3555 BCM56440_DEVICE_ID, BCM56440_A0_REV_ID, 3556 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3557 }, 3558 { /* Saber */ 3559 BCM56240_DEVICE_ID, BCM56240_B0_REV_ID, 3560 "BCM56240_B0", 3561 BCM56440_DEVICE_ID, BCM56440_B0_REV_ID, 3562 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3563 }, 3564 { /* Saber */ 3565 BCM56241_DEVICE_ID, BCM56241_A0_REV_ID, 3566 "BCM56241_A0", 3567 BCM56440_DEVICE_ID, BCM56440_A0_REV_ID, 3568 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3569 }, 3570 { /* Saber */ 3571 BCM56241_DEVICE_ID, BCM56241_B0_REV_ID, 3572 "BCM56241_B0", 3573 BCM56440_DEVICE_ID, BCM56440_B0_REV_ID, 3574 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3575 }, 3576 { /* Saber */ 3577 BCM56242_DEVICE_ID, BCM56242_A0_REV_ID, 3578 "BCM56242_A0", 3579 BCM56440_DEVICE_ID, BCM56440_A0_REV_ID, 3580 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3581 }, 3582 { /* Saber*/ 3583 BCM56242_DEVICE_ID, BCM56242_B0_REV_ID, 3584 "BCM56242_B0", 3585 BCM56440_DEVICE_ID, BCM56440_B0_REV_ID, 3586 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3587 }, 3588 { /* Saber */ 3589 BCM56243_DEVICE_ID, BCM56243_A0_REV_ID, 3590 "BCM56243_A0", 3591 BCM56440_DEVICE_ID, BCM56440_A0_REV_ID, 3592 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3593 }, 3594 { /* Saber */ 3595 BCM56243_DEVICE_ID, BCM56243_B0_REV_ID, 3596 "BCM56243_B0", 3597 BCM56440_DEVICE_ID, BCM56440_B0_REV_ID, 3598 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3599 }, 3600 { /* Saber */ 3601 BCM56245_DEVICE_ID, BCM56245_A0_REV_ID, 3602 "BCM56245_A0", 3603 BCM56440_DEVICE_ID, BCM56440_A0_REV_ID, 3604 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3605 }, 3606 { /* Saber */ 3607 BCM56245_DEVICE_ID, BCM56245_B0_REV_ID, 3608 "BCM56245_B0", 3609 BCM56440_DEVICE_ID, BCM56440_B0_REV_ID, 3610 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3611 }, 3612 { /* Saber */ 3613 BCM56246_DEVICE_ID, BCM56246_A0_REV_ID, 3614 "BCM56246_A0", 3615 BCM56440_DEVICE_ID, BCM56440_A0_REV_ID, 3616 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3617 }, 3618 { /* Saber*/ 3619 BCM56246_DEVICE_ID, BCM56246_B0_REV_ID, 3620 "BCM56246_B0", 3621 BCM56440_DEVICE_ID, BCM56440_B0_REV_ID, 3622 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3623 }, 3624 { /* Katana-Access */ 3625 BCM55440_DEVICE_ID, BCM55440_A0_REV_ID, 3626 "BCM55440_A0", 3627 BCM56440_DEVICE_ID, BCM56440_A0_REV_ID, 3628 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3629 }, 3630 { /* Katana-Access */ 3631 BCM55440_DEVICE_ID, BCM55440_B0_REV_ID, 3632 "BCM55440_B0", 3633 BCM56440_DEVICE_ID, BCM56440_B0_REV_ID, 3634 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3635 }, 3636 { /* Katana-Access */ 3637 BCM55441_DEVICE_ID, BCM55441_A0_REV_ID, 3638 "BCM55441_A0", 3639 BCM56440_DEVICE_ID, BCM56440_A0_REV_ID, 3640 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3641 }, 3642 { /* Katana-Access */ 3643 BCM55441_DEVICE_ID, BCM55441_B0_REV_ID, 3644 "BCM55441_B0", 3645 BCM56440_DEVICE_ID, BCM56440_B0_REV_ID, 3646 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3647 }, 3648 #endif 3649 3650 #if defined(BCM_KATANA2_SUPPORT) 3651 { /* Katana 2 1.A0 */ 3652 BCM55450_DEVICE_ID, BCM55450_A0_REV_ID, 3653 "BCM55450_A0", 3654 BCM56450_DEVICE_ID, BCM56450_A0_REV_ID, 3655 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3656 }, 3657 { /* Katana 2 1.B0 */ 3658 BCM55450_DEVICE_ID, BCM55450_B0_REV_ID, 3659 "BCM55450_B0", 3660 BCM56450_DEVICE_ID, BCM56450_B0_REV_ID, 3661 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3662 }, 3663 { /* Katana 2 1.B1 */ 3664 BCM55450_DEVICE_ID, BCM55450_B1_REV_ID, 3665 "BCM55450_B1", 3666 BCM56450_DEVICE_ID, BCM56450_B1_REV_ID, 3667 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3668 }, 3669 3670 { /* Katana 2 2.A0 */ 3671 BCM55455_DEVICE_ID, BCM55455_A0_REV_ID, 3672 "BCM55455_A0", 3673 BCM56450_DEVICE_ID, BCM56450_A0_REV_ID, 3674 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3675 }, 3676 { /* Katana 2 2.B0 */ 3677 BCM55455_DEVICE_ID, BCM55455_B0_REV_ID, 3678 "BCM55455_B0", 3679 BCM56450_DEVICE_ID, BCM56450_B0_REV_ID, 3680 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3681 }, 3682 { /* Katana 2 2.B1 */ 3683 BCM55455_DEVICE_ID, BCM55455_B1_REV_ID, 3684 "BCM55455_B1", 3685 BCM56450_DEVICE_ID, BCM56450_B1_REV_ID, 3686 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3687 }, 3688 3689 { /* Katana 2 3.A0 */ 3690 BCM56248_DEVICE_ID, BCM56248_A0_REV_ID, 3691 "BCM56248_A0", 3692 BCM56450_DEVICE_ID, BCM56450_A0_REV_ID, 3693 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3694 }, 3695 { /* Katana 2 3.B0 */ 3696 BCM56248_DEVICE_ID, BCM56248_B0_REV_ID, 3697 "BCM56248_B0", 3698 BCM56450_DEVICE_ID, BCM56450_B0_REV_ID, 3699 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3700 }, 3701 { /* Katana 2 3.B1 */ 3702 BCM56248_DEVICE_ID, BCM56248_B1_REV_ID, 3703 "BCM56248_B1", 3704 BCM56450_DEVICE_ID, BCM56450_B1_REV_ID, 3705 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3706 }, 3707 3708 { /* Katana 2 4.A0 */ 3709 BCM56450_DEVICE_ID, BCM56450_A0_REV_ID, 3710 "BCM56450_A0", 3711 BCM56450_DEVICE_ID, BCM56450_A0_REV_ID, 3712 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3713 }, 3714 { /* Katana 2 4.B0 */ 3715 BCM56450_DEVICE_ID, BCM56450_B0_REV_ID, 3716 "BCM56450_B0", 3717 BCM56450_DEVICE_ID, BCM56450_B0_REV_ID, 3718 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3719 }, 3720 { /* Katana 2 4.B1*/ 3721 BCM56450_DEVICE_ID, BCM56450_B1_REV_ID, 3722 "BCM56450_B1", 3723 BCM56450_DEVICE_ID, BCM56450_B1_REV_ID, 3724 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3725 }, 3726 3727 { /* Katana 2 5.A0 */ 3728 BCM56452_DEVICE_ID, BCM56452_A0_REV_ID, 3729 "BCM56452_A0", 3730 BCM56450_DEVICE_ID, BCM56450_A0_REV_ID, 3731 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3732 }, 3733 { /* Katana 2 5.B0 */ 3734 BCM56452_DEVICE_ID, BCM56452_B0_REV_ID, 3735 "BCM56452_B0", 3736 BCM56450_DEVICE_ID, BCM56450_B0_REV_ID, 3737 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3738 }, 3739 { /* Katana 2 5.B1 */ 3740 BCM56452_DEVICE_ID, BCM56452_B1_REV_ID, 3741 "BCM56452_B1", 3742 BCM56450_DEVICE_ID, BCM56450_B1_REV_ID, 3743 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3744 }, 3745 3746 { /* Katana 2 6.A0 */ 3747 BCM56454_DEVICE_ID, BCM56454_A0_REV_ID, 3748 "BCM56454_A0", 3749 BCM56450_DEVICE_ID, BCM56450_A0_REV_ID, 3750 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3751 }, 3752 { /* Katana 2 6.B0 */ 3753 BCM56454_DEVICE_ID, BCM56454_B0_REV_ID, 3754 "BCM56454_B0", 3755 BCM56450_DEVICE_ID, BCM56450_B0_REV_ID, 3756 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3757 }, 3758 { /* Katana 2 6.B1 */ 3759 BCM56454_DEVICE_ID, BCM56454_B1_REV_ID, 3760 "BCM56454_B1", 3761 BCM56450_DEVICE_ID, BCM56450_B1_REV_ID, 3762 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3763 }, 3764 3765 { /* Katana 2 7.A0 */ 3766 BCM56455_DEVICE_ID, BCM56455_A0_REV_ID, 3767 "BCM56455_A0", 3768 BCM56450_DEVICE_ID, BCM56450_A0_REV_ID, 3769 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3770 }, 3771 { /* Katana 2 7.B0 */ 3772 BCM56455_DEVICE_ID, BCM56455_B0_REV_ID, 3773 "BCM56455_B0", 3774 BCM56450_DEVICE_ID, BCM56450_B0_REV_ID, 3775 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3776 }, 3777 { /* Katana 2 7.B1 */ 3778 BCM56455_DEVICE_ID, BCM56455_B1_REV_ID, 3779 "BCM56455_B1", 3780 BCM56450_DEVICE_ID, BCM56450_B1_REV_ID, 3781 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3782 }, 3783 3784 { /* Katana 2 8.A0 */ 3785 BCM56456_DEVICE_ID, BCM56456_A0_REV_ID, 3786 "BCM56456_A0", 3787 BCM56450_DEVICE_ID, BCM56450_A0_REV_ID, 3788 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3789 }, 3790 { /* Katana 2 8.B0 */ 3791 BCM56456_DEVICE_ID, BCM56456_B0_REV_ID, 3792 "BCM56456_B0", 3793 BCM56450_DEVICE_ID, BCM56450_B0_REV_ID, 3794 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3795 }, 3796 { /* Katana 2 8.B1 */ 3797 BCM56456_DEVICE_ID, BCM56456_B1_REV_ID, 3798 "BCM56456_B1", 3799 BCM56450_DEVICE_ID, BCM56450_B1_REV_ID, 3800 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3801 }, 3802 3803 { /* Katana 2 9.A0 */ 3804 BCM56457_DEVICE_ID, BCM56457_A0_REV_ID, 3805 "BCM56457_A0", 3806 BCM56450_DEVICE_ID, BCM56450_A0_REV_ID, 3807 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3808 }, 3809 { /* Katana 2 9.B0 */ 3810 BCM56457_DEVICE_ID, BCM56457_B0_REV_ID, 3811 "BCM56457_B0", 3812 BCM56450_DEVICE_ID, BCM56450_B0_REV_ID, 3813 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3814 }, 3815 { /* Katana 2 9.B1 */ 3816 BCM56457_DEVICE_ID, BCM56457_B1_REV_ID, 3817 "BCM56457_B1", 3818 BCM56450_DEVICE_ID, BCM56450_B1_REV_ID, 3819 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3820 }, 3821 3822 { /* Katana 2 10.A0 */ 3823 BCM56458_DEVICE_ID, BCM56458_A0_REV_ID, 3824 "BCM56458_A0", 3825 BCM56450_DEVICE_ID, BCM56450_A0_REV_ID, 3826 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3827 }, 3828 { /* Katana 2 10.B0 */ 3829 BCM56458_DEVICE_ID, BCM56458_B0_REV_ID, 3830 "BCM56458_B0", 3831 BCM56450_DEVICE_ID, BCM56450_B0_REV_ID, 3832 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3833 }, 3834 { /* Katana 2 10.B1 */ 3835 BCM56458_DEVICE_ID, BCM56458_B1_REV_ID, 3836 "BCM56458_B1", 3837 BCM56450_DEVICE_ID, BCM56450_B1_REV_ID, 3838 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3839 }, 3840 #endif 3841 #if defined(BCM_SABER2_SUPPORT) 3842 { /* Saber 2 1.A0 */ 3843 BCM56260_DEVICE_ID, BCM56260_A0_REV_ID, 3844 "BCM56260_A0", 3845 BCM56260_DEVICE_ID, BCM56260_A0_REV_ID, 3846 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3847 }, 3848 { /* Saber 2 1.B0 */ 3849 BCM56260_DEVICE_ID, BCM56260_B0_REV_ID, 3850 "BCM56260_B0", 3851 BCM56260_DEVICE_ID, BCM56260_B0_REV_ID, 3852 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3853 }, 3854 3855 { /* Saber 2 2.A0 */ 3856 BCM56261_DEVICE_ID, BCM56261_A0_REV_ID, 3857 "BCM56261_A0", 3858 BCM56260_DEVICE_ID, BCM56260_A0_REV_ID, 3859 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3860 }, 3861 { /* Saber 2 2.B0 */ 3862 BCM56261_DEVICE_ID, BCM56261_B0_REV_ID, 3863 "BCM56261_B0", 3864 BCM56260_DEVICE_ID, BCM56260_B0_REV_ID, 3865 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3866 }, 3867 3868 { /* Saber 2 3.A0 */ 3869 BCM56262_DEVICE_ID, BCM56262_A0_REV_ID, 3870 "BCM56262_A0", 3871 BCM56260_DEVICE_ID, BCM56260_A0_REV_ID, 3872 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3873 }, 3874 { /* Saber 2 3.B0 */ 3875 BCM56262_DEVICE_ID, BCM56262_B0_REV_ID, 3876 "BCM56262_B0", 3877 BCM56260_DEVICE_ID, BCM56260_B0_REV_ID, 3878 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3879 }, 3880 3881 { /* Saber 2 4.A0 */ 3882 BCM56263_DEVICE_ID, BCM56263_A0_REV_ID, 3883 "BCM56263_A0", 3884 BCM56260_DEVICE_ID, BCM56260_A0_REV_ID, 3885 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3886 }, 3887 { /* Saber 2 4.B0 */ 3888 BCM56263_DEVICE_ID, BCM56263_B0_REV_ID, 3889 "BCM56263_B0", 3890 BCM56260_DEVICE_ID, BCM56260_B0_REV_ID, 3891 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3892 }, 3893 3894 { /* Saber 2 5.A0 */ 3895 BCM56265_DEVICE_ID, BCM56265_A0_REV_ID, 3896 "BCM56265_A0", 3897 BCM56260_DEVICE_ID, BCM56260_A0_REV_ID, 3898 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3899 }, 3900 { /* Saber 2 5.B0 */ 3901 BCM56265_DEVICE_ID, BCM56265_B0_REV_ID, 3902 "BCM56265_B0", 3903 BCM56260_DEVICE_ID, BCM56260_B0_REV_ID, 3904 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3905 }, 3906 3907 { /* Saber 2 6.A0 */ 3908 BCM56266_DEVICE_ID, BCM56266_A0_REV_ID, 3909 "BCM56266_A0", 3910 BCM56260_DEVICE_ID, BCM56260_A0_REV_ID, 3911 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3912 }, 3913 { /* Saber 2 6.B0 */ 3914 BCM56266_DEVICE_ID, BCM56266_B0_REV_ID, 3915 "BCM56266_B0", 3916 BCM56260_DEVICE_ID, BCM56260_B0_REV_ID, 3917 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3918 }, 3919 3920 { /* Saber 2 7.A0 */ 3921 BCM56267_DEVICE_ID, BCM56267_A0_REV_ID, 3922 "BCM56267_A0", 3923 BCM56260_DEVICE_ID, BCM56260_A0_REV_ID, 3924 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3925 }, 3926 { /* Saber 2 7.B0 */ 3927 BCM56267_DEVICE_ID, BCM56267_B0_REV_ID, 3928 "BCM56267_B0", 3929 BCM56260_DEVICE_ID, BCM56260_B0_REV_ID, 3930 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3931 }, 3932 3933 { /* Saber 2 8.A0 */ 3934 BCM56268_DEVICE_ID, BCM56268_A0_REV_ID, 3935 "BCM56268_A0", 3936 BCM56260_DEVICE_ID, BCM56260_A0_REV_ID, 3937 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3938 }, 3939 { /* Saber 2 8.B0 */ 3940 BCM56268_DEVICE_ID, BCM56268_B0_REV_ID, 3941 "BCM56268_B0", 3942 BCM56260_DEVICE_ID, BCM56260_B0_REV_ID, 3943 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3944 }, 3945 3946 { /* Saber 2 9.A0 */ 3947 BCM56460_DEVICE_ID, BCM56460_A0_REV_ID, 3948 "BCM56460_A0", 3949 BCM56260_DEVICE_ID, BCM56260_A0_REV_ID, 3950 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3951 }, 3952 { /* Saber 2 9.B0 */ 3953 BCM56460_DEVICE_ID, BCM56460_B0_REV_ID, 3954 "BCM56460_B0", 3955 BCM56260_DEVICE_ID, BCM56260_B0_REV_ID, 3956 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3957 }, 3958 3959 { /* Saber 2 10.A0 */ 3960 BCM56461_DEVICE_ID, BCM56461_A0_REV_ID, 3961 "BCM56461_A0", 3962 BCM56260_DEVICE_ID, BCM56260_A0_REV_ID, 3963 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3964 }, 3965 { /* Saber 2 10.B0 */ 3966 BCM56461_DEVICE_ID, BCM56461_B0_REV_ID, 3967 "BCM56461_B0", 3968 BCM56260_DEVICE_ID, BCM56260_B0_REV_ID, 3969 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3970 }, 3971 3972 { /* Saber 2 11.A0 */ 3973 BCM56462_DEVICE_ID, BCM56462_A0_REV_ID, 3974 "BCM56462_A0", 3975 BCM56260_DEVICE_ID, BCM56260_A0_REV_ID, 3976 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3977 }, 3978 { /* Saber 2 11.B0 */ 3979 BCM56462_DEVICE_ID, BCM56462_B0_REV_ID, 3980 "BCM56462_B0", 3981 BCM56260_DEVICE_ID, BCM56260_B0_REV_ID, 3982 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3983 }, 3984 3985 { /* Saber 2 12.A0 */ 3986 BCM56463_DEVICE_ID, BCM56463_A0_REV_ID, 3987 "BCM56463_A0", 3988 BCM56260_DEVICE_ID, BCM56260_A0_REV_ID, 3989 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3990 }, 3991 { /* Saber 2 12.B0 */ 3992 BCM56463_DEVICE_ID, BCM56463_B0_REV_ID, 3993 "BCM56463_B0", 3994 BCM56260_DEVICE_ID, BCM56260_B0_REV_ID, 3995 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 3996 }, 3997 3998 { /* Saber 2 13.A0 */ 3999 BCM56465_DEVICE_ID, BCM56465_A0_REV_ID, 4000 "BCM56465_A0", 4001 BCM56260_DEVICE_ID, BCM56260_A0_REV_ID, 4002 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4003 }, 4004 { /* Saber 2 13.B0 */ 4005 BCM56465_DEVICE_ID, BCM56465_B0_REV_ID, 4006 "BCM56465_B0", 4007 BCM56260_DEVICE_ID, BCM56260_B0_REV_ID, 4008 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4009 }, 4010 4011 { /* Saber 2 14.A0 */ 4012 BCM56466_DEVICE_ID, BCM56466_A0_REV_ID, 4013 "BCM56466_A0", 4014 BCM56260_DEVICE_ID, BCM56260_A0_REV_ID, 4015 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4016 }, 4017 { /* Saber 2 14.B0 */ 4018 BCM56466_DEVICE_ID, BCM56466_B0_REV_ID, 4019 "BCM56466_B0", 4020 BCM56260_DEVICE_ID, BCM56260_B0_REV_ID, 4021 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4022 }, 4023 4024 { /* Saber 2 15.A0 */ 4025 BCM56467_DEVICE_ID, BCM56467_A0_REV_ID, 4026 "BCM56467_A0", 4027 BCM56260_DEVICE_ID, BCM56260_A0_REV_ID, 4028 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4029 }, 4030 { /* Saber 2 15.B0 */ 4031 BCM56467_DEVICE_ID, BCM56467_B0_REV_ID, 4032 "BCM56467_B0", 4033 BCM56260_DEVICE_ID, BCM56260_B0_REV_ID, 4034 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4035 }, 4036 4037 { /* Saber 2 16.A0 */ 4038 BCM56468_DEVICE_ID, BCM56468_A0_REV_ID, 4039 "BCM56468_A0", 4040 BCM56260_DEVICE_ID, BCM56260_A0_REV_ID, 4041 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4042 }, 4043 { /* Saber 2 16.B0 */ 4044 BCM56468_DEVICE_ID, BCM56468_B0_REV_ID, 4045 "BCM56468_B0", 4046 BCM56260_DEVICE_ID, BCM56260_B0_REV_ID, 4047 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4048 }, 4049 4050 { /* Dagger 2 17.B0 */ 4051 BCM56233_DEVICE_ID, BCM56233_B0_REV_ID, 4052 "BCM56233_B0", 4053 BCM56260_DEVICE_ID, BCM56260_B0_REV_ID, 4054 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4055 }, 4056 #endif 4057 4058 #if defined(BCM_METROLITE_SUPPORT) 4059 { /* Metrolite */ 4060 BCM56270_DEVICE_ID, BCM56270_A0_REV_ID, 4061 "BCM56270_A0", 4062 BCM56270_DEVICE_ID, BCM56270_A0_REV_ID, 4063 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4064 }, 4065 { /* Metrolite */ 4066 BCM56271_DEVICE_ID, BCM56271_A0_REV_ID, 4067 "BCM56271_A0", 4068 BCM56270_DEVICE_ID, BCM56270_A0_REV_ID, 4069 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4070 }, 4071 { /* Metrolite */ 4072 BCM56272_DEVICE_ID, BCM56272_A0_REV_ID, 4073 "BCM56272_A0", 4074 BCM56270_DEVICE_ID, BCM56270_A0_REV_ID, 4075 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4076 }, 4077 4078 { /* Beagle */ 4079 BCM53460_DEVICE_ID, BCM53460_A0_REV_ID, 4080 "BCM53460_A0", 4081 BCM56270_DEVICE_ID, BCM56270_A0_REV_ID, 4082 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4083 }, 4084 { /* Beagle */ 4085 BCM53461_DEVICE_ID, BCM53461_A0_REV_ID, 4086 "BCM53461_A0", 4087 BCM56270_DEVICE_ID, BCM56270_A0_REV_ID, 4088 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4089 }, 4090 4091 #endif 4092 4093 #if defined(BCM_TRIDENT2_SUPPORT) 4094 { /* Trident 2 */ 4095 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4096 "BCM56850_A0", 4097 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4098 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4099 }, 4100 { /* Trident 2 */ 4101 BCM56850_DEVICE_ID, BCM56850_A1_REV_ID, 4102 "BCM56850_A1", 4103 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4104 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4105 }, 4106 { /* Trident 2 */ 4107 BCM56850_DEVICE_ID, BCM56850_A2_REV_ID, 4108 "BCM56850_A2", 4109 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4110 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4111 }, 4112 { /* Trident 2 */ 4113 BCM56851_DEVICE_ID, BCM56851_A0_REV_ID, 4114 "BCM56851_A0", 4115 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4116 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4117 }, 4118 { /* Trident 2 */ 4119 BCM56851_DEVICE_ID, BCM56851_A1_REV_ID, 4120 "BCM56851_A1", 4121 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4122 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4123 }, 4124 { /* Trident 2 */ 4125 BCM56851_DEVICE_ID, BCM56851_A2_REV_ID, 4126 "BCM56851_A2", 4127 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4128 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4129 }, 4130 { /* Trident 2 */ 4131 BCM56852_DEVICE_ID, BCM56852_A0_REV_ID, 4132 "BCM56852_A0", 4133 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4134 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4135 }, 4136 { /* Trident 2 */ 4137 BCM56852_DEVICE_ID, BCM56852_A1_REV_ID, 4138 "BCM56852_A1", 4139 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4140 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4141 }, 4142 { /* Trident 2 */ 4143 BCM56852_DEVICE_ID, BCM56852_A2_REV_ID, 4144 "BCM56852_A2", 4145 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4146 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4147 }, 4148 { /* Trident 2 */ 4149 BCM56853_DEVICE_ID, BCM56853_A0_REV_ID, 4150 "BCM56853_A0", 4151 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4152 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4153 }, 4154 { /* Trident 2 */ 4155 BCM56853_DEVICE_ID, BCM56853_A1_REV_ID, 4156 "BCM56853_A1", 4157 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4158 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4159 }, 4160 { /* Trident 2 */ 4161 BCM56853_DEVICE_ID, BCM56853_A2_REV_ID, 4162 "BCM56853_A2", 4163 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4164 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4165 }, 4166 { /* Trident 2 */ 4167 BCM56854_DEVICE_ID, BCM56854_A0_REV_ID, 4168 "BCM56854_A0", 4169 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4170 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4171 }, 4172 { /* Trident 2 */ 4173 BCM56854_DEVICE_ID, BCM56854_A1_REV_ID, 4174 "BCM56854_A1", 4175 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4176 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4177 }, 4178 { /* Trident 2 */ 4179 BCM56854_DEVICE_ID, BCM56854_A2_REV_ID, 4180 "BCM56854_A2", 4181 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4182 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4183 }, 4184 { /* Trident 2 */ 4185 BCM56855_DEVICE_ID, BCM56855_A0_REV_ID, 4186 "BCM56855_A0", 4187 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4188 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4189 }, 4190 { /* Trident 2 */ 4191 BCM56855_DEVICE_ID, BCM56855_A1_REV_ID, 4192 "BCM56855_A1", 4193 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4194 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4195 }, 4196 { /* Trident 2 */ 4197 BCM56855_DEVICE_ID, BCM56855_A2_REV_ID, 4198 "BCM56855_A2", 4199 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4200 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4201 }, 4202 { /* Trident 2 */ 4203 BCM56834_DEVICE_ID, BCM56834_A0_REV_ID, 4204 "BCM56834_A0", 4205 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4206 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4207 }, 4208 { /* Trident 2 */ 4209 BCM56834_DEVICE_ID, BCM56834_A1_REV_ID, 4210 "BCM56834_A1", 4211 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4212 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4213 }, 4214 { /* Trident 2 */ 4215 BCM56834_DEVICE_ID, BCM56834_A2_REV_ID, 4216 "BCM56834_A2", 4217 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4218 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4219 }, 4220 { /* Titan 2 */ 4221 BCM56750_DEVICE_ID, BCM56750_A0_REV_ID, 4222 "BCM56750_A0", 4223 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4224 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4225 }, 4226 { /* Titan 2 */ 4227 BCM56750_DEVICE_ID, BCM56750_A1_REV_ID, 4228 "BCM56750_A1", 4229 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4230 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4231 }, 4232 { /* Titan 2 */ 4233 BCM56750_DEVICE_ID, BCM56750_A2_REV_ID, 4234 "BCM56750_A2", 4235 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4236 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4237 }, 4238 { /* Scorpion 960 */ 4239 BCM56830_DEVICE_ID, BCM56830_A0_REV_ID, 4240 "BCM56830_A0", 4241 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4242 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4243 }, 4244 { /* Scorpion 960 */ 4245 BCM56830_DEVICE_ID, BCM56830_A1_REV_ID, 4246 "BCM56830_A1", 4247 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4248 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4249 }, 4250 { /* Scorpion 960 */ 4251 BCM56830_DEVICE_ID, BCM56830_A2_REV_ID, 4252 "BCM56830_A2", 4253 BCM56850_DEVICE_ID, BCM56850_A0_REV_ID, 4254 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4255 }, 4256 #endif /* BCM_TRIDENT2_SUPPORT */ 4257 4258 #if defined(BCM_TOMAHAWK_SUPPORT) 4259 { /* Tomahawk */ 4260 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4261 "BCM56960_A0", 4262 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4263 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4264 }, 4265 { /* Tomahawk B0*/ 4266 BCM56960_DEVICE_ID, BCM56960_B0_REV_ID, 4267 "BCM56960_B0", 4268 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4269 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4270 }, 4271 { /* Tomahawk B1*/ 4272 BCM56960_DEVICE_ID, BCM56960_B1_REV_ID, 4273 "BCM56960_B1", 4274 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4275 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4276 }, 4277 { /* Tomahawk */ 4278 BCM56961_DEVICE_ID, BCM56961_A0_REV_ID, 4279 "BCM56961_A0", 4280 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4281 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4282 }, 4283 { /* Tomahawk B0*/ 4284 BCM56961_DEVICE_ID, BCM56961_B0_REV_ID, 4285 "BCM56961_B0", 4286 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4287 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4288 }, 4289 { /* Tomahawk B1*/ 4290 BCM56961_DEVICE_ID, BCM56961_B1_REV_ID, 4291 "BCM56961_B1", 4292 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4293 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4294 }, 4295 { /* Tomahawk */ 4296 BCM56962_DEVICE_ID, BCM56962_A0_REV_ID, 4297 "BCM56962_A0", 4298 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4299 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4300 }, 4301 { /* Tomahawk B0*/ 4302 BCM56962_DEVICE_ID, BCM56962_B0_REV_ID, 4303 "BCM56962_B0", 4304 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4305 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4306 }, 4307 { /* Tomahawk B1*/ 4308 BCM56962_DEVICE_ID, BCM56962_B1_REV_ID, 4309 "BCM56962_B1", 4310 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4311 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4312 }, 4313 { /* Tomahawk */ 4314 BCM56963_DEVICE_ID, BCM56963_A0_REV_ID, 4315 "BCM56963_A0", 4316 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4317 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4318 }, 4319 { /* Tomahawk B0*/ 4320 BCM56963_DEVICE_ID, BCM56963_B0_REV_ID, 4321 "BCM56963_B0", 4322 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4323 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4324 }, 4325 { /* Tomahawk B1*/ 4326 BCM56963_DEVICE_ID, BCM56963_B1_REV_ID, 4327 "BCM56963_B1", 4328 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4329 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4330 }, 4331 { /* Tomahawk */ 4332 BCM56930_DEVICE_ID, BCM56930_A0_REV_ID, 4333 "BCM56930_A0", 4334 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4335 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4336 }, 4337 { /* Tomahawk B0*/ 4338 BCM56930_DEVICE_ID, BCM56930_B0_REV_ID, 4339 "BCM56930_B0", 4340 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4341 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4342 }, 4343 { /* Tomahawk B1*/ 4344 BCM56930_DEVICE_ID, BCM56930_B1_REV_ID, 4345 "BCM56930_B1", 4346 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4347 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4348 }, 4349 { /* Titanhawk */ 4350 BCM56968_DEVICE_ID, BCM56968_A0_REV_ID, 4351 "BCM56968_A0", 4352 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4353 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4354 }, 4355 { /* Titanhawk B0*/ 4356 BCM56968_DEVICE_ID, BCM56968_B0_REV_ID, 4357 "BCM56968_B0", 4358 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4359 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4360 }, 4361 { /* Titanhawk B1*/ 4362 BCM56968_DEVICE_ID, BCM56968_B1_REV_ID, 4363 "BCM56968_B1", 4364 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4365 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4366 }, 4367 { /* Ranger3+ */ 4368 BCM56168_DEVICE_ID, BCM56168_A0_REV_ID, 4369 "BCM56168_A0", 4370 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4371 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4372 }, 4373 { /* Ranger3+ B0 */ 4374 BCM56168_DEVICE_ID, BCM56168_B0_REV_ID, 4375 "BCM56168_B0", 4376 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4377 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4378 }, 4379 { /* Ranger3+ B1 */ 4380 BCM56168_DEVICE_ID, BCM56168_B1_REV_ID, 4381 "BCM56168_B1", 4382 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4383 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4384 }, 4385 { /* Ranger3+ */ 4386 BCM56169_DEVICE_ID, BCM56169_A0_REV_ID, 4387 "BCM56169_A0", 4388 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4389 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4390 }, 4391 { /* Ranger3+ B0 */ 4392 BCM56169_DEVICE_ID, BCM56169_B0_REV_ID, 4393 "BCM56169_B0", 4394 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4395 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4396 }, 4397 { /* Ranger3+ B1 */ 4398 BCM56169_DEVICE_ID, BCM56169_B1_REV_ID, 4399 "BCM56169_B1", 4400 BCM56960_DEVICE_ID, BCM56960_A0_REV_ID, 4401 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4402 }, 4403 #endif /* BCM_TOMAHAWK_SUPPORT */ 4404 4405 #if defined(BCM_TOMAHAWKPLUS_SUPPORT) 4406 { /* Tomahawk+ */ 4407 BCM56965_DEVICE_ID, BCM56965_A0_REV_ID, 4408 "BCM56965_A0", 4409 BCM56965_DEVICE_ID, BCM56965_A0_REV_ID, 4410 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4411 }, 4412 { /* Tomahawk+ */ 4413 BCM56969_DEVICE_ID, BCM56969_A0_REV_ID, 4414 "BCM56969_A0", 4415 BCM56965_DEVICE_ID, BCM56965_A0_REV_ID, 4416 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4417 }, 4418 { /* Tomahawk+ */ 4419 BCM56966_DEVICE_ID, BCM56966_A0_REV_ID, 4420 "BCM56966_A0", 4421 BCM56965_DEVICE_ID, BCM56965_A0_REV_ID, 4422 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4423 }, 4424 { /* Tomahawk+ */ 4425 BCM56967_DEVICE_ID, BCM56967_A0_REV_ID, 4426 "BCM56967_A0", 4427 BCM56965_DEVICE_ID, BCM56965_A0_REV_ID, 4428 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4429 }, 4430 { /* Tomahawk+ */ 4431 BCM56965_DEVICE_ID, BCM56965_A1_REV_ID, 4432 "BCM56965_A1", 4433 BCM56965_DEVICE_ID, BCM56965_A0_REV_ID, 4434 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4435 }, 4436 { /* Tomahawk+ */ 4437 BCM56969_DEVICE_ID, BCM56965_A1_REV_ID, 4438 "BCM56969_A1", 4439 BCM56965_DEVICE_ID, BCM56965_A0_REV_ID, 4440 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4441 }, 4442 { /* Tomahawk+ */ 4443 BCM56966_DEVICE_ID, BCM56965_A1_REV_ID, 4444 "BCM56966_A1", 4445 BCM56965_DEVICE_ID, BCM56965_A0_REV_ID, 4446 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4447 }, 4448 { /* Tomahawk+ */ 4449 BCM56967_DEVICE_ID, BCM56965_A1_REV_ID, 4450 "BCM56967_A1", 4451 BCM56965_DEVICE_ID, BCM56965_A0_REV_ID, 4452 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4453 }, 4454 4455 #endif /* BCM_TOMAHAWKPLUS_SUPPORT */ 4456 4457 #if defined(BCM_TOMAHAWK2_SUPPORT) 4458 { /* Tomahawk 2 */ 4459 BCM56970_DEVICE_ID, BCM56970_A0_REV_ID, 4460 "BCM56970_A0", 4461 BCM56970_DEVICE_ID, BCM56970_A0_REV_ID, 4462 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4463 }, 4464 { /* Tomahawk 2 */ 4465 BCM56971_DEVICE_ID, BCM56971_A0_REV_ID, 4466 "BCM56971_A0", 4467 BCM56970_DEVICE_ID, BCM56970_A0_REV_ID, 4468 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4469 }, 4470 { /* Tomahawk 2 */ 4471 BCM56972_DEVICE_ID, BCM56972_A0_REV_ID, 4472 "BCM56972_A0", 4473 BCM56970_DEVICE_ID, BCM56970_A0_REV_ID, 4474 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4475 }, 4476 { /* Tomahawk 2 */ 4477 BCM56974_DEVICE_ID, BCM56974_A0_REV_ID, 4478 "BCM56974_A0", 4479 BCM56970_DEVICE_ID, BCM56970_A0_REV_ID, 4480 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4481 }, 4482 { /* Titanhawk 2 */ 4483 BCM56975_DEVICE_ID, BCM56975_A0_REV_ID, 4484 "BCM56975_A0", 4485 BCM56970_DEVICE_ID, BCM56970_A0_REV_ID, 4486 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4487 }, 4488 { /* Tomahawk 2 B0*/ 4489 BCM56970_DEVICE_ID, BCM56970_B0_REV_ID, 4490 "BCM56970_B0", 4491 BCM56970_DEVICE_ID, BCM56970_A0_REV_ID, 4492 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4493 }, 4494 { /* Tomahawk 2 B0*/ 4495 BCM56971_DEVICE_ID, BCM56971_B0_REV_ID, 4496 "BCM56971_B0", 4497 BCM56970_DEVICE_ID, BCM56970_A0_REV_ID, 4498 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4499 }, 4500 { /* Tomahawk 2 B0*/ 4501 BCM56972_DEVICE_ID, BCM56972_B0_REV_ID, 4502 "BCM56972_B0", 4503 BCM56970_DEVICE_ID, BCM56970_A0_REV_ID, 4504 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4505 }, 4506 { /* Tomahawk 2 B0*/ 4507 BCM56974_DEVICE_ID, BCM56974_B0_REV_ID, 4508 "BCM56974_B0", 4509 BCM56970_DEVICE_ID, BCM56970_A0_REV_ID, 4510 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4511 }, 4512 { /* Titanhawk 2 B0*/ 4513 BCM56975_DEVICE_ID, BCM56975_B0_REV_ID, 4514 "BCM56975_B0", 4515 BCM56970_DEVICE_ID, BCM56970_A0_REV_ID, 4516 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4517 }, 4518 #endif /* BCM_TOMAHAWK2_SUPPORT */ 4519 4520 #if defined(BCM_TOMAHAWK3_SUPPORT) 4521 { /* Tomahawak 3*/ 4522 BCM56980_DEVICE_ID, BCM56980_A0_REV_ID, 4523 "BCM56980_A0", 4524 BCM56980_DEVICE_ID, BCM56980_A0_REV_ID, 4525 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4526 }, 4527 { /* Tomahawak 3*/ 4528 BCM56981_DEVICE_ID, BCM56981_A0_REV_ID, 4529 "BCM56981_A0", 4530 BCM56980_DEVICE_ID, BCM56980_A0_REV_ID, 4531 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4532 }, 4533 { /* Tomahawk 3 */ 4534 BCM56982_DEVICE_ID, BCM56982_A0_REV_ID, 4535 "BCM56982_A0", 4536 BCM56980_DEVICE_ID, BCM5698_A0_REV_ID, 4537 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4538 }, 4539 { /* Tomahawk 3 */ 4540 BCM56983_DEVICE_ID, BCM56983_A0_REV_ID, 4541 "BCM56983_A0", 4542 BCM56980_DEVICE_ID, BCM5698_A0_REV_ID, 4543 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4544 }, 4545 { /* Tomahawk 3 */ 4546 BCM56984_DEVICE_ID, BCM56984_A0_REV_ID, 4547 "BCM56984_A0", 4548 BCM56980_DEVICE_ID, BCM5698_A0_REV_ID, 4549 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4550 }, 4551 { /* Tomahawk 3 B0*/ 4552 BCM56980_DEVICE_ID, BCM56980_B0_REV_ID, 4553 "BCM56980_B0", 4554 BCM56980_DEVICE_ID, BCM56980_B0_REV_ID, 4555 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4556 }, 4557 { /* Tomahawk 3 56983 B0*/ 4558 BCM56983_DEVICE_ID, BCM56983_B0_REV_ID, 4559 "BCM56983_B0", 4560 BCM56980_DEVICE_ID, BCM5698_B0_REV_ID, 4561 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4562 }, 4563 { /* Tomahawk 3 56982 B0 */ 4564 BCM56982_DEVICE_ID, BCM56982_B0_REV_ID, 4565 "BCM56982_B0", 4566 BCM56980_DEVICE_ID, BCM5698_B0_REV_ID, 4567 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4568 }, 4569 { /* Tomahawk 3 56984 B0*/ 4570 BCM56984_DEVICE_ID, BCM56984_B0_REV_ID, 4571 "BCM56984_B0", 4572 BCM56980_DEVICE_ID, BCM5698_B0_REV_ID, 4573 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4574 }, 4575 #endif /* BCM_TOMAHAWK3_SUPPORT */ 4576 4577 #if defined(BCM_TRIDENT2PLUS_SUPPORT) 4578 { /* Trident 2 Plus */ 4579 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4580 "BCM56860_A0", 4581 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4582 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4583 }, 4584 { /* Trident 2 Plus */ 4585 BCM56861_DEVICE_ID, BCM56861_A0_REV_ID, 4586 "BCM56861_A0", 4587 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4588 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4589 }, 4590 { /* Trident 2 Plus */ 4591 BCM56862_DEVICE_ID, BCM56862_A0_REV_ID, 4592 "BCM56862_A0", 4593 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4594 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4595 }, 4596 { /* Trident 2 Plus */ 4597 BCM56864_DEVICE_ID, BCM56864_A0_REV_ID, 4598 "BCM56864_A0", 4599 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4600 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4601 }, 4602 { /* Trident 2 Plus */ 4603 BCM56865_DEVICE_ID, BCM56865_A0_REV_ID, 4604 "BCM56865_A0", 4605 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4606 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4607 }, 4608 { /* Trident 2 Plus */ 4609 BCM56866_DEVICE_ID, BCM56866_A0_REV_ID, 4610 "BCM56866_A0", 4611 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4612 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4613 }, 4614 { /* Trident 2 Plus */ 4615 BCM56867_DEVICE_ID, BCM56867_A0_REV_ID, 4616 "BCM56867_A0", 4617 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4618 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4619 }, 4620 { /* Trident 2 Plus */ 4621 BCM56868_DEVICE_ID, BCM56868_A0_REV_ID, 4622 "BCM56868_A0", 4623 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4624 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4625 }, 4626 { /* Trident 2 Plus */ 4627 BCM56832_DEVICE_ID, BCM56832_A0_REV_ID, 4628 "BCM56832_A0", 4629 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4630 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4631 }, 4632 { /* Trident 2 Plus */ 4633 BCM56833_DEVICE_ID, BCM56833_A0_REV_ID, 4634 "BCM56833_A0", 4635 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4636 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4637 }, 4638 { /* Trident 2 Plus */ 4639 BCM56836_DEVICE_ID, BCM56836_A0_REV_ID, 4640 "BCM56836_A0", 4641 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4642 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4643 }, 4644 { /* Trident 2 Plus */ 4645 BCM56860_DEVICE_ID, BCM56860_A1_REV_ID, 4646 "BCM56860_A1", 4647 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4648 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4649 }, 4650 { /* Trident 2 Plus */ 4651 BCM56861_DEVICE_ID, BCM56861_A1_REV_ID, 4652 "BCM56861_A1", 4653 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4654 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4655 }, 4656 { /* Trident 2 Plus */ 4657 BCM56862_DEVICE_ID, BCM56862_A1_REV_ID, 4658 "BCM56862_A1", 4659 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4660 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4661 }, 4662 { /* Trident 2 Plus */ 4663 BCM56864_DEVICE_ID, BCM56864_A1_REV_ID, 4664 "BCM56864_A1", 4665 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4666 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4667 }, 4668 { /* Trident 2 Plus */ 4669 BCM56865_DEVICE_ID, BCM56865_A1_REV_ID, 4670 "BCM56865_A1", 4671 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4672 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4673 }, 4674 { /* Trident 2 Plus */ 4675 BCM56866_DEVICE_ID, BCM56866_A1_REV_ID, 4676 "BCM56866_A1", 4677 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4678 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4679 }, 4680 { /* Trident 2 Plus */ 4681 BCM56867_DEVICE_ID, BCM56867_A1_REV_ID, 4682 "BCM56867_A1", 4683 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4684 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4685 }, 4686 { /* Trident 2 Plus */ 4687 BCM56868_DEVICE_ID, BCM56868_A1_REV_ID, 4688 "BCM56868_A1", 4689 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4690 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4691 }, 4692 { /* Trident 2 Plus */ 4693 BCM56832_DEVICE_ID, BCM56832_A1_REV_ID, 4694 "BCM56832_A1", 4695 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4696 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4697 }, 4698 { /* Trident 2 Plus */ 4699 BCM56833_DEVICE_ID, BCM56833_A1_REV_ID, 4700 "BCM56833_A1", 4701 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4702 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4703 }, 4704 { /* Trident 2 Plus */ 4705 BCM56836_DEVICE_ID, BCM56836_A1_REV_ID, 4706 "BCM56836_A1", 4707 BCM56860_DEVICE_ID, BCM56860_A0_REV_ID, 4708 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4709 }, 4710 #endif /* BCM_TRIDENT2PLUS_SUPPORT */ 4711 4712 #if defined(BCM_TRIDENT3_SUPPORT) 4713 { /* Trident3 */ 4714 BCM56870_DEVICE_ID, BCM56870_A0_REV_ID, 4715 "BCM56870_A0", 4716 BCM56870_DEVICE_ID, BCM56870_A0_REV_ID, 4717 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4718 }, 4719 { /* Trident3 2T SKU */ 4720 BCM56873_DEVICE_ID, BCM56873_A0_REV_ID, 4721 "BCM56873_A0", 4722 BCM56870_DEVICE_ID, BCM56870_A0_REV_ID, 4723 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4724 }, 4725 #endif /* BCM_TRIDENT3_SUPPORT */ 4726 4727 #if defined(BCM_HELIX5_SUPPORT) 4728 { /* Helix5 */ 4729 BCM56370_DEVICE_ID, BCM56370_A0_REV_ID, 4730 "BCM56370_A0", 4731 BCM56370_DEVICE_ID, BCM56370_A0_REV_ID, 4732 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4733 }, 4734 { /* Helix5 */ 4735 BCM56371_DEVICE_ID, BCM56371_A0_REV_ID, 4736 "BCM56371_A0", 4737 BCM56370_DEVICE_ID, BCM56370_A0_REV_ID, 4738 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4739 }, 4740 { /* Helix5 */ 4741 BCM56372_DEVICE_ID, BCM56372_A0_REV_ID, 4742 "BCM56372_A0", 4743 BCM56370_DEVICE_ID, BCM56370_A0_REV_ID, 4744 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4745 }, 4746 { /* Helix5 */ 4747 BCM56374_DEVICE_ID, BCM56374_A0_REV_ID, 4748 "BCM56374_A0", 4749 BCM56370_DEVICE_ID, BCM56370_A0_REV_ID, 4750 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4751 }, 4752 { /* Helix5 */ 4753 BCM56375_DEVICE_ID, BCM56375_A0_REV_ID, 4754 "BCM56375_A0", 4755 BCM56370_DEVICE_ID, BCM56370_A0_REV_ID, 4756 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4757 }, 4758 { /* Helix5 */ 4759 BCM56376_DEVICE_ID, BCM56376_A0_REV_ID, 4760 "BCM56376_A0", 4761 BCM56370_DEVICE_ID, BCM56370_A0_REV_ID, 4762 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4763 }, 4764 { /* Helix5 */ 4765 BCM56377_DEVICE_ID, BCM56377_A0_REV_ID, 4766 "BCM56377_A0", 4767 BCM56370_DEVICE_ID, BCM56370_A0_REV_ID, 4768 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4769 }, 4770 { /* Helix5 */ 4771 BCM56577_DEVICE_ID, BCM56577_A0_REV_ID, 4772 "BCM56577_A0", 4773 BCM56370_DEVICE_ID, BCM56370_A0_REV_ID, 4774 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4775 }, 4776 { /* Helix5 */ 4777 BCM56578_DEVICE_ID, BCM56578_A0_REV_ID, 4778 "BCM56578_A0", 4779 BCM56370_DEVICE_ID, BCM56370_A0_REV_ID, 4780 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4781 }, 4782 { /* Helix5 */ 4783 BCM56579_DEVICE_ID, BCM56579_A0_REV_ID, 4784 "BCM56579_A0", 4785 BCM56370_DEVICE_ID, BCM56370_A0_REV_ID, 4786 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4787 }, 4788 { /* Helix5 */ 4789 BCM56370_DEVICE_ID, BCM56370_A1_REV_ID, 4790 "BCM56370_A1", 4791 BCM56370_DEVICE_ID, BCM56370_A0_REV_ID, 4792 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4793 }, 4794 { /* Helix5 */ 4795 BCM56371_DEVICE_ID, BCM56371_A1_REV_ID, 4796 "BCM56371_A1", 4797 BCM56370_DEVICE_ID, BCM56370_A0_REV_ID, 4798 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4799 }, 4800 { /* Helix5 */ 4801 BCM56372_DEVICE_ID, BCM56372_A1_REV_ID, 4802 "BCM56372_A1", 4803 BCM56370_DEVICE_ID, BCM56370_A0_REV_ID, 4804 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4805 }, 4806 { /* Helix5 */ 4807 BCM56374_DEVICE_ID, BCM56374_A1_REV_ID, 4808 "BCM56374_A1", 4809 BCM56370_DEVICE_ID, BCM56370_A0_REV_ID, 4810 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4811 }, 4812 { /* Helix5 */ 4813 BCM56375_DEVICE_ID, BCM56375_A1_REV_ID, 4814 "BCM56375_A1", 4815 BCM56370_DEVICE_ID, BCM56370_A0_REV_ID, 4816 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4817 }, 4818 { /* Helix5 */ 4819 BCM56376_DEVICE_ID, BCM56376_A1_REV_ID, 4820 "BCM56376_A1", 4821 BCM56370_DEVICE_ID, BCM56370_A0_REV_ID, 4822 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4823 }, 4824 { /* Helix5 */ 4825 BCM56377_DEVICE_ID, BCM56377_A1_REV_ID, 4826 "BCM56377_A1", 4827 BCM56370_DEVICE_ID, BCM56370_A0_REV_ID, 4828 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4829 }, 4830 { /* Helix5 */ 4831 BCM56577_DEVICE_ID, BCM56577_A1_REV_ID, 4832 "BCM56577_A1", 4833 BCM56370_DEVICE_ID, BCM56370_A0_REV_ID, 4834 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4835 }, 4836 { /* Helix5 */ 4837 BCM56578_DEVICE_ID, BCM56578_A1_REV_ID, 4838 "BCM56578_A1", 4839 BCM56370_DEVICE_ID, BCM56370_A0_REV_ID, 4840 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4841 }, 4842 { /* Helix5 */ 4843 BCM56579_DEVICE_ID, BCM56579_A1_REV_ID, 4844 "BCM56579_A1", 4845 BCM56370_DEVICE_ID, BCM56370_A0_REV_ID, 4846 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4847 }, 4848 #endif /* BCM_HELIX5_SUPPORT */ 4849 4850 #if defined(BCM_MAVERICK2_SUPPORT) 4851 { /* Maverick2 */ 4852 BCM56770_DEVICE_ID, BCM56770_A0_REV_ID, 4853 "BCM56770_A0", 4854 BCM56770_DEVICE_ID, BCM56770_A0_REV_ID, 4855 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4856 }, 4857 { /* Maverick2 */ 4858 BCM56771_DEVICE_ID, BCM56771_A0_REV_ID, 4859 "BCM56771_A0", 4860 BCM56770_DEVICE_ID, BCM56770_A0_REV_ID, 4861 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4862 }, 4863 #endif /* BCM_MAVERICK2_SUPPORT */ 4864 4865 #if defined(BCM_APACHE_SUPPORT) 4866 { /* Apache */ 4867 BCM56560_DEVICE_ID, BCM56560_A0_REV_ID, 4868 "BCM56560_A0", 4869 BCM56560_DEVICE_ID, BCM56560_A0_REV_ID, 4870 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4871 }, 4872 { /* Apache B0 */ 4873 BCM56560_DEVICE_ID, BCM56560_B0_REV_ID, 4874 "BCM56560_B0", 4875 BCM56560_DEVICE_ID, BCM56560_B0_REV_ID, 4876 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4877 }, 4878 { /* Apache */ 4879 BCM56561_DEVICE_ID, BCM56561_A0_REV_ID, 4880 "BCM56561_A0", 4881 BCM56560_DEVICE_ID, BCM56560_A0_REV_ID, 4882 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4883 }, 4884 { /* Apache B0 */ 4885 BCM56561_DEVICE_ID, BCM56561_B0_REV_ID, 4886 "BCM56561_B0", 4887 BCM56560_DEVICE_ID, BCM56560_B0_REV_ID, 4888 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4889 }, 4890 { /* Apache */ 4891 BCM56562_DEVICE_ID, BCM56562_A0_REV_ID, 4892 "BCM56562_A0", 4893 BCM56560_DEVICE_ID, BCM56560_A0_REV_ID, 4894 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4895 }, 4896 { /* Apache B0 */ 4897 BCM56562_DEVICE_ID, BCM56562_B0_REV_ID, 4898 "BCM56562_B0", 4899 BCM56560_DEVICE_ID, BCM56560_B0_REV_ID, 4900 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4901 }, 4902 { /* FB-5 */ 4903 BCM56565_DEVICE_ID, BCM56565_A0_REV_ID, 4904 "BCM56565_A0", 4905 BCM56560_DEVICE_ID, BCM56560_A0_REV_ID, 4906 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4907 }, 4908 { /* FB-5 B0 */ 4909 BCM56565_DEVICE_ID, BCM56565_B0_REV_ID, 4910 "BCM56565_B0", 4911 BCM56560_DEVICE_ID, BCM56560_B0_REV_ID, 4912 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4913 }, 4914 { /* FB-5 */ 4915 BCM56566_DEVICE_ID, BCM56566_A0_REV_ID, 4916 "BCM56566_A0", 4917 BCM56560_DEVICE_ID, BCM56560_A0_REV_ID, 4918 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4919 }, 4920 { /* FB-5 B0 */ 4921 BCM56566_DEVICE_ID, BCM56566_B0_REV_ID, 4922 "BCM56566_B0", 4923 BCM56560_DEVICE_ID, BCM56560_B0_REV_ID, 4924 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4925 }, 4926 { /* FB-5 */ 4927 BCM56567_DEVICE_ID, BCM56567_A0_REV_ID, 4928 "BCM56567_A0", 4929 BCM56560_DEVICE_ID, BCM56560_A0_REV_ID, 4930 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4931 }, 4932 { /* FB-5 B0 */ 4933 BCM56567_DEVICE_ID, BCM56567_B0_REV_ID, 4934 "BCM56567_B0", 4935 BCM56560_DEVICE_ID, BCM56560_B0_REV_ID, 4936 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4937 }, 4938 { /* FB-5 */ 4939 BCM56568_DEVICE_ID, BCM56568_A0_REV_ID, 4940 "BCM56568_A0", 4941 BCM56560_DEVICE_ID, BCM56560_A0_REV_ID, 4942 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4943 }, 4944 { /* FB-5 B0 */ 4945 BCM56568_DEVICE_ID, BCM56568_B0_REV_ID, 4946 "BCM56568_B0", 4947 BCM56560_DEVICE_ID, BCM56560_B0_REV_ID, 4948 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4949 }, 4950 { /* Maverick */ 4951 BCM56760_DEVICE_ID, BCM56760_A0_REV_ID, 4952 "BCM56760_A0", 4953 BCM56560_DEVICE_ID, BCM56560_A0_REV_ID, 4954 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4955 }, 4956 { /* Maverick B0 */ 4957 BCM56760_DEVICE_ID, BCM56760_B0_REV_ID, 4958 "BCM56760_B0", 4959 BCM56560_DEVICE_ID, BCM56560_B0_REV_ID, 4960 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4961 }, 4962 { /* Maverick */ 4963 BCM56761_DEVICE_ID, BCM56761_A0_REV_ID, 4964 "BCM56761_A0", 4965 BCM56560_DEVICE_ID, BCM56560_A0_REV_ID, 4966 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4967 }, 4968 { /* Maverick B0 */ 4969 BCM56761_DEVICE_ID, BCM56761_B0_REV_ID, 4970 "BCM56761_B0", 4971 BCM56560_DEVICE_ID, BCM56560_B0_REV_ID, 4972 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4973 }, 4974 { /* Maverick */ 4975 BCM56761_DEVICE_ID, BCM56761_A0_REV_ID, 4976 "BCM56761_A0", 4977 BCM56560_DEVICE_ID, BCM56560_A0_REV_ID, 4978 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4979 }, 4980 { /* Maverick B0 */ 4981 BCM56761_DEVICE_ID, BCM56761_B0_REV_ID, 4982 "BCM56761_B0", 4983 BCM56560_DEVICE_ID, BCM56560_B0_REV_ID, 4984 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4985 }, 4986 { /* Maverick B1 */ 4987 BCM56761_DEVICE_ID, BCM56761_B1_REV_ID, 4988 "BCM56761_B1", 4989 BCM56560_DEVICE_ID, BCM56560_B0_REV_ID, 4990 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4991 }, 4992 { /* Maverick */ 4993 BCM56762_DEVICE_ID, BCM56762_A0_REV_ID, 4994 "BCM56762_A0", 4995 BCM56560_DEVICE_ID, BCM56560_A0_REV_ID, 4996 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 4997 }, 4998 { /* Maverick B0 */ 4999 BCM56762_DEVICE_ID, BCM56762_B0_REV_ID, 5000 "BCM56762_B0", 5001 BCM56560_DEVICE_ID, BCM56560_B0_REV_ID, 5002 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5003 }, 5004 { /* Maverick */ 5005 BCM56764_DEVICE_ID, BCM56764_A0_REV_ID, 5006 "BCM56764_A0", 5007 BCM56560_DEVICE_ID, BCM56560_A0_REV_ID, 5008 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5009 }, 5010 { /* Maverick B0 */ 5011 BCM56764_DEVICE_ID, BCM56764_B0_REV_ID, 5012 "BCM56764_B0", 5013 BCM56560_DEVICE_ID, BCM56560_B0_REV_ID, 5014 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5015 }, 5016 { /* Maverick - TD2+ (50mmx50mm) */ 5017 BCM56765_DEVICE_ID, BCM56765_A0_REV_ID, 5018 "BCM56765_A0", 5019 BCM56560_DEVICE_ID, BCM56560_A0_REV_ID, 5020 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5021 }, 5022 { /* Maverick B0 - TD2+ (50mmx50mm) */ 5023 BCM56765_DEVICE_ID, BCM56765_B0_REV_ID, 5024 "BCM56765_B0", 5025 BCM56560_DEVICE_ID, BCM56560_B0_REV_ID, 5026 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5027 }, 5028 { /* Maverick - TD+ (50mmx50mm) */ 5029 BCM56766_DEVICE_ID, BCM56766_A0_REV_ID, 5030 "BCM56766_A0", 5031 BCM56560_DEVICE_ID, BCM56560_A0_REV_ID, 5032 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5033 }, 5034 { /* Maverick B0 - TD+ (50mmx50mm) */ 5035 BCM56766_DEVICE_ID, BCM56766_B0_REV_ID, 5036 "BCM56766_B0", 5037 BCM56560_DEVICE_ID, BCM56560_B0_REV_ID, 5038 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5039 }, 5040 { /* Maverick-880G */ 5041 BCM56768_DEVICE_ID, BCM56768_A0_REV_ID, 5042 "BCM56768_A0", 5043 BCM56560_DEVICE_ID, BCM56560_A0_REV_ID, 5044 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5045 }, 5046 { /* Maverick-880G B0 */ 5047 BCM56768_DEVICE_ID, BCM56768_B0_REV_ID, 5048 "BCM56768_B0", 5049 BCM56560_DEVICE_ID, BCM56560_B0_REV_ID, 5050 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5051 }, 5052 { /* Ranger 2+ 880G */ 5053 BCM56068_DEVICE_ID, BCM56068_A0_REV_ID, 5054 "BCM56068_A0", 5055 BCM56560_DEVICE_ID, BCM56560_A0_REV_ID, 5056 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5057 }, 5058 { /* Ranger 2+ B0 880G*/ 5059 BCM56068_DEVICE_ID, BCM56068_B0_REV_ID, 5060 "BCM56068_B0", 5061 BCM56560_DEVICE_ID, BCM56560_B0_REV_ID, 5062 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5063 }, 5064 { /* Ranger 2+ 880G */ 5065 BCM56068_DEVICE_ID, BCM56068_A0_REV_ID, 5066 "BCM56068_A0", 5067 BCM56560_DEVICE_ID, BCM56560_A0_REV_ID, 5068 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5069 }, 5070 { /* Ranger 2+ B0 880G*/ 5071 BCM56068_DEVICE_ID, BCM56068_B0_REV_ID, 5072 "BCM56068_B0", 5073 BCM56560_DEVICE_ID, BCM56560_B0_REV_ID, 5074 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5075 }, 5076 { /* Ranger 2+ B1 880G*/ 5077 BCM56068_DEVICE_ID, BCM56068_B1_REV_ID, 5078 "BCM56068_B1", 5079 BCM56560_DEVICE_ID, BCM56560_B0_REV_ID, 5080 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5081 }, 5082 { /* Ranger 2+ */ 5083 BCM56069_DEVICE_ID, BCM56069_A0_REV_ID, 5084 "BCM56069_A0", 5085 BCM56560_DEVICE_ID, BCM56560_A0_REV_ID, 5086 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5087 }, 5088 { /* Ranger 2+ B0 */ 5089 BCM56069_DEVICE_ID, BCM56069_B0_REV_ID, 5090 "BCM56069_B0", 5091 BCM56560_DEVICE_ID, BCM56560_B0_REV_ID, 5092 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5093 }, 5094 #endif /* BCM_APACHE_SUPPORT */ 5095 #if defined(BCM_MONTEREY_SUPPORT) 5096 { /* Monterey */ 5097 BCM56670_DEVICE_ID, BCM56670_A0_REV_ID, 5098 "BCM56670_A0", 5099 BCM56670_DEVICE_ID, BCM56670_A0_REV_ID, 5100 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5101 }, 5102 { /* Monterey */ 5103 BCM56671_DEVICE_ID, BCM56671_A0_REV_ID, 5104 "BCM56671_A0", 5105 BCM56670_DEVICE_ID, BCM56670_A0_REV_ID, 5106 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5107 }, 5108 { /* Monterey */ 5109 BCM56672_DEVICE_ID, BCM56672_A0_REV_ID, 5110 "BCM56672_A0", 5111 BCM56670_DEVICE_ID, BCM56672_A0_REV_ID, 5112 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5113 }, 5114 { /* Monterey */ 5115 BCM56675_DEVICE_ID, BCM56675_A0_REV_ID, 5116 "BCM56675_A0", 5117 BCM56670_DEVICE_ID, BCM56670_A0_REV_ID, 5118 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5119 }, 5120 { /* Monterey */ 5121 BCM56670_DEVICE_ID, BCM56670_B0_REV_ID, 5122 "BCM56670_B0", 5123 BCM56670_DEVICE_ID, BCM56670_B0_REV_ID, 5124 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5125 }, 5126 { /* Monterey */ 5127 BCM56671_DEVICE_ID, BCM56671_B0_REV_ID, 5128 "BCM56671_B0", 5129 BCM56670_DEVICE_ID, BCM56670_B0_REV_ID, 5130 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5131 }, 5132 { /* Monterey */ 5133 BCM56672_DEVICE_ID, BCM56672_B0_REV_ID, 5134 "BCM56672_B0", 5135 BCM56670_DEVICE_ID, BCM56670_B0_REV_ID, 5136 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5137 }, 5138 { /* Monterey */ 5139 BCM56675_DEVICE_ID, BCM56675_B0_REV_ID, 5140 "BCM56675_B0", 5141 BCM56670_DEVICE_ID, BCM56670_B0_REV_ID, 5142 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5143 }, 5144 #endif 5145 #if defined(BCM_KSCPU_SUPPORT) 5146 /* CPU device */ 5147 { 5148 BCM53000PCIE_DEVICE_ID, BCM53000_A0_REV_ID, 5149 "BCM53000_A0", 5150 BCM53000PCIE_DEVICE_ID, BCM53000_A0_REV_ID, 5151 (SOC_PCI_DEV_TYPE | SOC_CPU_DEV_TYPE) 5152 }, 5153 #endif 5154 #ifdef BCM_PETRA_SUPPORT 5155 { 5156 GEDI_DEVICE_ID, GEDI_REV_ID, 5157 "GEDI", 5158 GEDI_DEVICE_ID, GEDI_REV_ID, 5159 (SOC_EB_DEV_TYPE | SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5160 }, 5161 { 5162 ARAD_DEVICE_ID, ARAD_A0_REV_ID, 5163 "BCM88650_A0", 5164 ARAD_DEVICE_ID, ARAD_A0_REV_ID, 5165 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5166 }, 5167 { 5168 ARAD_DEVICE_ID, ARAD_B0_REV_ID, 5169 "BCM88650_B0", 5170 ARAD_DEVICE_ID, ARAD_B0_REV_ID, 5171 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5172 }, 5173 { 5174 ARAD_DEVICE_ID, ARAD_B1_REV_ID, 5175 "BCM88650_B1", 5176 ARAD_DEVICE_ID, ARAD_B1_REV_ID, 5177 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5178 }, 5179 { 5180 ARADPLUS_DEVICE_ID, ARADPLUS_A0_REV_ID, 5181 "BCM88660_A0", 5182 ARADPLUS_DEVICE_ID, ARADPLUS_A0_REV_ID, 5183 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5184 }, 5185 { 5186 ARDON_DEVICE_ID, ARDON_A0_REV_ID, 5187 "BCM88202_A0", 5188 ARDON_DEVICE_ID, ARDON_A0_REV_ID, 5189 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5190 }, 5191 { 5192 ARDON_DEVICE_ID, ARDON_A1_REV_ID, 5193 "BCM88202_A1", 5194 ARDON_DEVICE_ID, ARDON_A1_REV_ID, 5195 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5196 }, 5197 { 5198 ARDON_DEVICE_ID, ARDON_A2_REV_ID, 5199 "BCM88202_A2", 5200 ARDON_DEVICE_ID, ARDON_A2_REV_ID, 5201 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5202 }, 5203 { 5204 BCM83207_DEVICE_ID, BCM83207_A0_REV_ID, 5205 "BCM83207_A0", 5206 BCM83207_DEVICE_ID, BCM83207_A0_REV_ID, 5207 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5208 }, 5209 { 5210 BCM83208_DEVICE_ID, BCM83208_A0_REV_ID, 5211 "BCM83208_A0", 5212 BCM83208_DEVICE_ID, BCM83208_A0_REV_ID, 5213 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5214 }, 5215 { 5216 BCM88350_DEVICE_ID, BCM88350_B1_REV_ID, 5217 "BCM88350_B1", 5218 BCM88350_DEVICE_ID, BCM88350_B1_REV_ID, 5219 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5220 5221 }, 5222 { 5223 BCM88351_DEVICE_ID, BCM88351_B1_REV_ID, 5224 "BCM88351_B1", 5225 BCM88351_DEVICE_ID, BCM88351_B1_REV_ID, 5226 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5227 5228 }, 5229 { 5230 BCM88450_DEVICE_ID, BCM88450_B1_REV_ID, 5231 "BCM88450_B1", 5232 BCM88450_DEVICE_ID, BCM88450_B1_REV_ID, 5233 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5234 5235 }, 5236 { 5237 BCM88451_DEVICE_ID, BCM88451_B1_REV_ID, 5238 "BCM88451_B1", 5239 BCM88451_DEVICE_ID, BCM88451_B1_REV_ID, 5240 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5241 5242 }, 5243 { 5244 BCM88550_DEVICE_ID, BCM88550_B1_REV_ID, 5245 "BCM88550_B1", 5246 BCM88550_DEVICE_ID, BCM88550_B1_REV_ID, 5247 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5248 5249 }, 5250 { 5251 BCM88551_DEVICE_ID, BCM88551_B1_REV_ID, 5252 "BCM88551_B1", 5253 BCM88551_DEVICE_ID, BCM88551_B1_REV_ID, 5254 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5255 5256 }, 5257 { 5258 BCM88552_DEVICE_ID, BCM88552_B1_REV_ID, 5259 "BCM88552_B1", 5260 BCM88552_DEVICE_ID, BCM88552_B1_REV_ID, 5261 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5262 5263 }, 5264 { 5265 BCM88651_DEVICE_ID, BCM88651_B1_REV_ID, 5266 "BCM88651_B1", 5267 BCM88651_DEVICE_ID, BCM88651_B1_REV_ID, 5268 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5269 5270 }, 5271 { 5272 BCM88654_DEVICE_ID, BCM88654_B1_REV_ID, 5273 "BCM88654_B1", 5274 BCM88654_DEVICE_ID, BCM88654_B1_REV_ID, 5275 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5276 5277 }, 5278 { 5279 BCM88360_DEVICE_ID, BCM88360_A0_REV_ID, 5280 "BCM88360_A0", 5281 BCM88360_DEVICE_ID, BCM88360_A0_REV_ID, 5282 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5283 5284 }, 5285 { 5286 BCM88361_DEVICE_ID, BCM88361_A0_REV_ID, 5287 "BCM88361_A0", 5288 BCM88361_DEVICE_ID, BCM88361_A0_REV_ID, 5289 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5290 5291 }, 5292 { 5293 BCM88363_DEVICE_ID, BCM88363_A0_REV_ID, 5294 "BCM88363_A0", 5295 BCM88363_DEVICE_ID, BCM88363_A0_REV_ID, 5296 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5297 5298 }, 5299 { 5300 BCM88460_DEVICE_ID, BCM88460_A0_REV_ID, 5301 "BCM88460_A0", 5302 BCM88460_DEVICE_ID, BCM88460_A0_REV_ID, 5303 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5304 5305 }, 5306 { 5307 BCM88461_DEVICE_ID, BCM88461_A0_REV_ID, 5308 "BCM88461_A0", 5309 BCM88461_DEVICE_ID, BCM88461_A0_REV_ID, 5310 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5311 5312 }, 5313 { 5314 BCM88560_DEVICE_ID, BCM88560_A0_REV_ID, 5315 "BCM88560_A0", 5316 BCM88560_DEVICE_ID, BCM88560_A0_REV_ID, 5317 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5318 5319 }, 5320 { 5321 BCM88561_DEVICE_ID, BCM88561_A0_REV_ID, 5322 "BCM88561_A0", 5323 BCM88561_DEVICE_ID, BCM88561_A0_REV_ID, 5324 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5325 5326 }, 5327 { 5328 BCM88562_DEVICE_ID, BCM88562_A0_REV_ID, 5329 "BCM88562_A0", 5330 BCM88562_DEVICE_ID, BCM88562_A0_REV_ID, 5331 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5332 5333 }, 5334 { 5335 BCM88661_DEVICE_ID, BCM88661_A0_REV_ID, 5336 "BCM88661_A0", 5337 BCM88661_DEVICE_ID, BCM88661_A0_REV_ID, 5338 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5339 5340 }, 5341 { 5342 BCM88664_DEVICE_ID, BCM88664_A0_REV_ID, 5343 "BCM88664_A0", 5344 BCM88664_DEVICE_ID, BCM88664_A0_REV_ID, 5345 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5346 5347 }, 5348 { 5349 ACP_PCI_DEVICE_ID, ACP_PCI_REV_ID, 5350 "ACP", 5351 ACP_PCI_DEVICE_ID, ACP_PCI_REV_ID, 5352 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 5353 }, 5354 #endif 5355 #ifdef BCM_JERICHO_SUPPORT 5356 /* { */ 5357 { 5358 JERICHO_DEVICE_ID, JERICHO_A0_REV_ID, 5359 "BCM88675_A0", 5360 JERICHO_DEVICE_ID, JERICHO_A0_REV_ID, 5361 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5362 }, 5363 { 5364 JERICHO_DEVICE_ID, JERICHO_B0_REV_ID, 5365 "BCM88675_B0", 5366 JERICHO_DEVICE_ID, JERICHO_B0_REV_ID, 5367 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5368 }, 5369 { 5370 JERICHO_DEVICE_ID, JERICHO_A1_REV_ID, 5371 "BCM88675_A1", 5372 JERICHO_DEVICE_ID, JERICHO_A1_REV_ID, 5373 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5374 }, 5375 { 5376 BCM88670_DEVICE_ID, BCM88670_A0_REV_ID, 5377 "BCM88670_A0", 5378 BCM88670_DEVICE_ID, BCM88670_A0_REV_ID, 5379 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5380 }, 5381 { 5382 BCM88670_DEVICE_ID, BCM88670_B0_REV_ID, 5383 "BCM88670_B0", 5384 BCM88670_DEVICE_ID, BCM88670_B0_REV_ID, 5385 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5386 }, 5387 { 5388 BCM88670_DEVICE_ID, BCM88670_A1_REV_ID, 5389 "BCM88670_A1", 5390 BCM88670_DEVICE_ID, BCM88670_A1_REV_ID, 5391 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5392 }, 5393 { 5394 BCM88671_DEVICE_ID, BCM88671_A0_REV_ID, 5395 "BCM88671_A0", 5396 BCM88671_DEVICE_ID, BCM88671_A0_REV_ID, 5397 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5398 }, 5399 { 5400 BCM88671_DEVICE_ID, BCM88671_B0_REV_ID, 5401 "BCM88671_B0", 5402 BCM88671_DEVICE_ID, BCM88671_B0_REV_ID, 5403 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5404 }, 5405 { 5406 BCM88671_DEVICE_ID, BCM88671_A1_REV_ID, 5407 "BCM88671_A1", 5408 BCM88671_DEVICE_ID, BCM88671_A1_REV_ID, 5409 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5410 }, 5411 { 5412 BCM88671M_DEVICE_ID, BCM88671M_A0_REV_ID, 5413 "BCM88671M_A0", 5414 BCM88671M_DEVICE_ID, BCM88671M_A0_REV_ID, 5415 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5416 }, 5417 { 5418 BCM88671M_DEVICE_ID, BCM88671M_B0_REV_ID, 5419 "BCM88671M_B0", 5420 BCM88671M_DEVICE_ID, BCM88671M_B0_REV_ID, 5421 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5422 }, 5423 { 5424 BCM88671M_DEVICE_ID, BCM88671M_A1_REV_ID, 5425 "BCM88671M_A1", 5426 BCM88671M_DEVICE_ID, BCM88671M_A1_REV_ID, 5427 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5428 }, 5429 { 5430 BCM88672_DEVICE_ID, BCM88672_A0_REV_ID, 5431 "BCM88672_A0", 5432 BCM88672_DEVICE_ID, BCM88672_A0_REV_ID, 5433 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5434 }, 5435 { 5436 BCM88672_DEVICE_ID, BCM88672_B0_REV_ID, 5437 "BCM88672_B0", 5438 BCM88672_DEVICE_ID, BCM88672_B0_REV_ID, 5439 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5440 }, 5441 { 5442 BCM88672_DEVICE_ID, BCM88672_A1_REV_ID, 5443 "BCM88672_A1", 5444 BCM88672_DEVICE_ID, BCM88672_A1_REV_ID, 5445 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5446 }, 5447 { 5448 BCM88673_DEVICE_ID, BCM88673_A0_REV_ID, 5449 "BCM88673_A0", 5450 BCM88673_DEVICE_ID, BCM88673_A0_REV_ID, 5451 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5452 }, 5453 { 5454 BCM88673_DEVICE_ID, BCM88673_B0_REV_ID, 5455 "BCM88673_B0", 5456 BCM88673_DEVICE_ID, BCM88673_B0_REV_ID, 5457 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5458 }, 5459 { 5460 BCM88673_DEVICE_ID, BCM88673_A1_REV_ID, 5461 "BCM88673_A1", 5462 BCM88673_DEVICE_ID, BCM88673_A1_REV_ID, 5463 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5464 }, 5465 { 5466 BCM88674_DEVICE_ID, BCM88674_A0_REV_ID, 5467 "BCM88674_A0", 5468 BCM88674_DEVICE_ID, BCM88674_A0_REV_ID, 5469 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5470 }, 5471 { 5472 BCM88674_DEVICE_ID, BCM88674_B0_REV_ID, 5473 "BCM88674_B0", 5474 BCM88674_DEVICE_ID, BCM88674_B0_REV_ID, 5475 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5476 }, 5477 { 5478 BCM88674_DEVICE_ID, BCM88674_A1_REV_ID, 5479 "BCM88674_A1", 5480 BCM88674_DEVICE_ID, BCM88674_A1_REV_ID, 5481 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5482 }, 5483 { 5484 BCM88675M_DEVICE_ID, BCM88675M_A0_REV_ID, 5485 "BCM88675M_A0", 5486 BCM88675M_DEVICE_ID, BCM88675M_A0_REV_ID, 5487 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5488 }, 5489 { 5490 BCM88675M_DEVICE_ID, BCM88675M_B0_REV_ID, 5491 "BCM88675M_B0", 5492 BCM88675M_DEVICE_ID, BCM88675M_B0_REV_ID, 5493 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5494 }, 5495 { 5496 BCM88675M_DEVICE_ID, BCM88675M_A1_REV_ID, 5497 "BCM88675M_A1", 5498 BCM88675M_DEVICE_ID, BCM88675M_A1_REV_ID, 5499 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5500 }, 5501 { 5502 BCM88676_DEVICE_ID, BCM88676_A0_REV_ID, 5503 "BCM88676_A0", 5504 BCM88676_DEVICE_ID, BCM88676_A0_REV_ID, 5505 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5506 }, 5507 { 5508 BCM88676_DEVICE_ID, BCM88676_B0_REV_ID, 5509 "BCM88676_B0", 5510 BCM88676_DEVICE_ID, BCM88676_B0_REV_ID, 5511 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5512 }, 5513 { 5514 BCM88676_DEVICE_ID, BCM88676_A1_REV_ID, 5515 "BCM88676_A1", 5516 BCM88676_DEVICE_ID, BCM88676_A1_REV_ID, 5517 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5518 }, 5519 { 5520 BCM88676M_DEVICE_ID, BCM88676M_A0_REV_ID, 5521 "BCM88676M_A0", 5522 BCM88676M_DEVICE_ID, BCM88676M_A0_REV_ID, 5523 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5524 }, 5525 { 5526 BCM88676M_DEVICE_ID, BCM88676M_B0_REV_ID, 5527 "BCM88676M_B0", 5528 BCM88676M_DEVICE_ID, BCM88676M_B0_REV_ID, 5529 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5530 }, 5531 { 5532 BCM88676M_DEVICE_ID, BCM88676M_A1_REV_ID, 5533 "BCM88676M_A1", 5534 BCM88676M_DEVICE_ID, BCM88676M_A1_REV_ID, 5535 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5536 }, 5537 { 5538 BCM88677_DEVICE_ID, BCM88677_A0_REV_ID, 5539 "BCM88677_A0", 5540 BCM88677_DEVICE_ID, BCM88677_A0_REV_ID, 5541 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5542 }, 5543 { 5544 BCM88677_DEVICE_ID, BCM88677_B0_REV_ID, 5545 "BCM88677_B0", 5546 BCM88677_DEVICE_ID, BCM88677_B0_REV_ID, 5547 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5548 }, 5549 { 5550 BCM88677_DEVICE_ID, BCM88677_A1_REV_ID, 5551 "BCM88677_A1", 5552 BCM88677_DEVICE_ID, BCM88677_A1_REV_ID, 5553 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5554 }, 5555 { 5556 BCM88678_DEVICE_ID, BCM88678_A0_REV_ID, 5557 "BCM88678_A0", 5558 BCM88678_DEVICE_ID, BCM88678_A0_REV_ID, 5559 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5560 }, 5561 { 5562 BCM88678_DEVICE_ID, BCM88678_B0_REV_ID, 5563 "BCM88678_B0", 5564 BCM88678_DEVICE_ID, BCM88678_B0_REV_ID, 5565 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5566 }, 5567 { 5568 BCM88678_DEVICE_ID, BCM88678_A1_REV_ID, 5569 "BCM88678_A1", 5570 BCM88678_DEVICE_ID, BCM88678_A1_REV_ID, 5571 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5572 }, 5573 { 5574 BCM88679_DEVICE_ID, BCM88679_A0_REV_ID, 5575 "BCM88679_A0", 5576 BCM88679_DEVICE_ID, BCM88679_A0_REV_ID, 5577 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5578 }, 5579 { 5580 BCM88679_DEVICE_ID, BCM88679_B0_REV_ID, 5581 "BCM88679_B0", 5582 BCM88679_DEVICE_ID, BCM88679_B0_REV_ID, 5583 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5584 }, 5585 { 5586 BCM88679_DEVICE_ID, BCM88679_A1_REV_ID, 5587 "BCM88679_A1", 5588 BCM88679_DEVICE_ID, BCM88679_A1_REV_ID, 5589 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5590 }, 5591 { 5592 QMX_DEVICE_ID, QMX_A0_REV_ID, 5593 "BCM88375_A0", 5594 QMX_DEVICE_ID, QMX_A0_REV_ID, 5595 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5596 }, 5597 { 5598 QMX_DEVICE_ID, QMX_B0_REV_ID, 5599 "BCM88375_B0", 5600 QMX_DEVICE_ID, QMX_B0_REV_ID, 5601 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5602 }, 5603 { 5604 QMX_DEVICE_ID, QMX_A1_REV_ID, 5605 "BCM88375_A1", 5606 QMX_DEVICE_ID, QMX_A1_REV_ID, 5607 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5608 }, 5609 { 5610 BCM88370_DEVICE_ID, BCM88370_A0_REV_ID, 5611 "BCM88370_A0", 5612 BCM88370_DEVICE_ID, BCM88370_A0_REV_ID, 5613 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5614 }, 5615 { 5616 BCM88370_DEVICE_ID, BCM88370_B0_REV_ID, 5617 "BCM88370_B0", 5618 BCM88370_DEVICE_ID, BCM88370_B0_REV_ID, 5619 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5620 }, 5621 { 5622 BCM88370_DEVICE_ID, BCM88370_A1_REV_ID, 5623 "BCM88370_A1", 5624 BCM88370_DEVICE_ID, BCM88370_A1_REV_ID, 5625 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5626 }, 5627 { 5628 BCM88371_DEVICE_ID, BCM88371_A0_REV_ID, 5629 "BCM88371_A0", 5630 BCM88371_DEVICE_ID, BCM88371_A0_REV_ID, 5631 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5632 }, 5633 { 5634 BCM88371_DEVICE_ID, BCM88371_B0_REV_ID, 5635 "BCM88371_B0", 5636 BCM88371_DEVICE_ID, BCM88371_B0_REV_ID, 5637 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5638 }, 5639 { 5640 BCM88371_DEVICE_ID, BCM88371_A1_REV_ID, 5641 "BCM88371_A1", 5642 BCM88371_DEVICE_ID, BCM88371_A1_REV_ID, 5643 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5644 }, 5645 { 5646 BCM88371M_DEVICE_ID, BCM88371M_A0_REV_ID, 5647 "BCM88371M_A0", 5648 BCM88371M_DEVICE_ID, BCM88371M_A0_REV_ID, 5649 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5650 }, 5651 { 5652 BCM88371M_DEVICE_ID, BCM88371M_B0_REV_ID, 5653 "BCM88371M_B0", 5654 BCM88371M_DEVICE_ID, BCM88371M_B0_REV_ID, 5655 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5656 }, 5657 { 5658 BCM88371M_DEVICE_ID, BCM88371M_A1_REV_ID, 5659 "BCM88371M_A1", 5660 BCM88371M_DEVICE_ID, BCM88371M_A1_REV_ID, 5661 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5662 }, 5663 { 5664 BCM88376_DEVICE_ID, BCM88376_A0_REV_ID, 5665 "BCM88376_A0", 5666 BCM88376_DEVICE_ID, BCM88376_A0_REV_ID, 5667 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5668 }, 5669 { 5670 BCM88376_DEVICE_ID, BCM88376_B0_REV_ID, 5671 "BCM88376_B0", 5672 BCM88376_DEVICE_ID, BCM88376_B0_REV_ID, 5673 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5674 }, 5675 { 5676 BCM88376_DEVICE_ID, BCM88376_A1_REV_ID, 5677 "BCM88376_A1", 5678 BCM88376_DEVICE_ID, BCM88376_A1_REV_ID, 5679 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5680 }, 5681 { 5682 BCM88376M_DEVICE_ID, BCM88376M_A0_REV_ID, 5683 "BCM88376M_A0", 5684 BCM88376M_DEVICE_ID, BCM88376M_A0_REV_ID, 5685 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5686 }, 5687 { 5688 BCM88376M_DEVICE_ID, BCM88376M_B0_REV_ID, 5689 "BCM88376M_B0", 5690 BCM88376M_DEVICE_ID, BCM88376M_B0_REV_ID, 5691 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5692 }, 5693 { 5694 BCM88376M_DEVICE_ID, BCM88376M_A1_REV_ID, 5695 "BCM88376M_A1", 5696 BCM88376M_DEVICE_ID, BCM88376M_A1_REV_ID, 5697 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5698 }, 5699 { 5700 BCM88377_DEVICE_ID, BCM88377_A0_REV_ID, 5701 "BCM88377_A0", 5702 BCM88377_DEVICE_ID, BCM88377_A0_REV_ID, 5703 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5704 }, 5705 { 5706 BCM88377_DEVICE_ID, BCM88377_B0_REV_ID, 5707 "BCM88377_B0", 5708 BCM88377_DEVICE_ID, BCM88377_B0_REV_ID, 5709 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5710 }, 5711 { 5712 BCM88377_DEVICE_ID, BCM88377_A1_REV_ID, 5713 "BCM88377_A1", 5714 BCM88377_DEVICE_ID, BCM88377_A1_REV_ID, 5715 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5716 }, 5717 { 5718 BCM88378_DEVICE_ID, BCM88378_A0_REV_ID, 5719 "BCM88378_A0", 5720 BCM88378_DEVICE_ID, BCM88378_A0_REV_ID, 5721 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5722 }, 5723 { 5724 BCM88378_DEVICE_ID, BCM88378_B0_REV_ID, 5725 "BCM88378_B0", 5726 BCM88378_DEVICE_ID, BCM88378_B0_REV_ID, 5727 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5728 }, 5729 { 5730 BCM88378_DEVICE_ID, BCM88378_A1_REV_ID, 5731 "BCM88378_A1", 5732 BCM88378_DEVICE_ID, BCM88378_A1_REV_ID, 5733 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5734 }, 5735 { 5736 BCM88379_DEVICE_ID, BCM88379_A0_REV_ID, 5737 "BCM88379_A0", 5738 BCM88379_DEVICE_ID, BCM88379_A0_REV_ID, 5739 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5740 }, 5741 { 5742 BCM88379_DEVICE_ID, BCM88379_B0_REV_ID, 5743 "BCM88379_B0", 5744 BCM88379_DEVICE_ID, BCM88379_B0_REV_ID, 5745 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5746 }, 5747 { 5748 BCM88379_DEVICE_ID, BCM88379_A1_REV_ID, 5749 "BCM88379_A1", 5750 BCM88379_DEVICE_ID, BCM88379_A1_REV_ID, 5751 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5752 }, 5753 { 5754 BCM88680_DEVICE_ID, BCM88680_A0_REV_ID, 5755 "BCM88680_A0", 5756 BCM88680_DEVICE_ID, BCM88680_A0_REV_ID, 5757 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5758 }, 5759 { 5760 BCM88680_DEVICE_ID, BCM88680_A1_REV_ID, 5761 "BCM88680_A1", 5762 BCM88680_DEVICE_ID, BCM88680_A1_REV_ID, 5763 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5764 }, 5765 { 5766 BCM88681_DEVICE_ID, BCM88680_A1_REV_ID, 5767 "BCM88681_A1", 5768 BCM88681_DEVICE_ID, BCM88680_A1_REV_ID, 5769 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5770 }, 5771 { 5772 BCM88682_DEVICE_ID, BCM88680_A1_REV_ID, 5773 "BCM88682_A1", 5774 BCM88682_DEVICE_ID, BCM88680_A1_REV_ID, 5775 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5776 }, 5777 { 5778 BCM88683_DEVICE_ID, BCM88680_A1_REV_ID, 5779 "BCM88683_A1", 5780 BCM88683_DEVICE_ID, BCM88680_A1_REV_ID, 5781 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5782 }, 5783 { 5784 BCM88684_DEVICE_ID, BCM88680_A1_REV_ID, 5785 "BCM88684_A1", 5786 BCM88684_DEVICE_ID, BCM88680_A1_REV_ID, 5787 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5788 }, 5789 { 5790 BCM88685_DEVICE_ID, BCM88680_A1_REV_ID, 5791 "BCM88685_A1", 5792 BCM88685_DEVICE_ID, BCM88680_A1_REV_ID, 5793 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5794 }, 5795 { 5796 BCM88380_DEVICE_ID, BCM88680_A1_REV_ID, 5797 "BCM88380_A1", 5798 BCM88380_DEVICE_ID, BCM88680_A1_REV_ID, 5799 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5800 }, 5801 { 5802 BCM88381_DEVICE_ID, BCM88680_A1_REV_ID, 5803 "BCM88381_A1", 5804 BCM88381_DEVICE_ID, BCM88680_A1_REV_ID, 5805 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5806 }, 5807 { 5808 BCM88681_DEVICE_ID, BCM88681_A0_REV_ID, 5809 "BCM88681_A0", 5810 BCM88681_DEVICE_ID, BCM88681_A0_REV_ID, 5811 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5812 }, 5813 { 5814 BCM88682_DEVICE_ID, BCM88682_A0_REV_ID, 5815 "BCM88682_A0", 5816 BCM88682_DEVICE_ID, BCM88682_A0_REV_ID, 5817 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5818 }, 5819 { 5820 BCM88683_DEVICE_ID, BCM88683_A0_REV_ID, 5821 "BCM88683_A0", 5822 BCM88683_DEVICE_ID, BCM88683_A0_REV_ID, 5823 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5824 }, 5825 { 5826 BCM88684_DEVICE_ID, BCM88684_A0_REV_ID, 5827 "BCM88684_A0", 5828 BCM88684_DEVICE_ID, BCM88684_A0_REV_ID, 5829 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5830 }, 5831 { 5832 BCM88685_DEVICE_ID, BCM88685_A0_REV_ID, 5833 "BCM88685_A0", 5834 BCM88685_DEVICE_ID, BCM88685_A0_REV_ID, 5835 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5836 }, 5837 { 5838 BCM88380_DEVICE_ID, BCM88380_A0_REV_ID, 5839 "BCM88380_A0", 5840 BCM88380_DEVICE_ID, BCM88380_A0_REV_ID, 5841 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5842 }, 5843 { 5844 BCM88381_DEVICE_ID, BCM88381_A0_REV_ID, 5845 "BCM88381_A0", 5846 BCM88381_DEVICE_ID, BCM88381_A0_REV_ID, 5847 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5848 }, 5849 { 5850 QAX_DEVICE_ID, QAX_A0_REV_ID, 5851 "BCM88470_A0", 5852 QAX_DEVICE_ID, QAX_A0_REV_ID, 5853 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5854 }, 5855 { 5856 QAX_DEVICE_ID, QAX_B0_REV_ID, 5857 "BCM88470_B0", 5858 QAX_DEVICE_ID, QAX_B0_REV_ID, 5859 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5860 }, 5861 { 5862 BCM88470P_DEVICE_ID, QAX_A0_REV_ID, 5863 "BCM88470P_A0", 5864 BCM88470P_DEVICE_ID, QAX_A0_REV_ID, 5865 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5866 }, 5867 { 5868 BCM88471_DEVICE_ID, QAX_A0_REV_ID, 5869 "BCM88471_A0", 5870 BCM88471_DEVICE_ID, QAX_A0_REV_ID, 5871 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5872 }, 5873 { 5874 BCM88471_DEVICE_ID, QAX_B0_REV_ID, 5875 "BCM88471_B0", 5876 BCM88471_DEVICE_ID, QAX_B0_REV_ID, 5877 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5878 }, 5879 { 5880 BCM88473_DEVICE_ID, QAX_A0_REV_ID, 5881 "BCM88473_A0", 5882 BCM88473_DEVICE_ID, QAX_A0_REV_ID, 5883 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5884 }, 5885 { 5886 BCM88474_DEVICE_ID, QAX_A0_REV_ID, 5887 "BCM88474_A0", 5888 BCM88474_DEVICE_ID, QAX_A0_REV_ID, 5889 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5890 }, 5891 { 5892 BCM88474_DEVICE_ID, QAX_B0_REV_ID, 5893 "BCM88474_B0", 5894 BCM88474_DEVICE_ID, QAX_B0_REV_ID, 5895 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5896 }, 5897 { 5898 BCM88474H_DEVICE_ID, QAX_A0_REV_ID, 5899 "BCM88474H_A0", 5900 BCM88474H_DEVICE_ID, QAX_A0_REV_ID, 5901 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5902 }, 5903 { 5904 BCM88474H_DEVICE_ID, QAX_B0_REV_ID, 5905 "BCM88474H_B0", 5906 BCM88474H_DEVICE_ID, QAX_B0_REV_ID, 5907 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5908 }, 5909 { 5910 BCM88476_DEVICE_ID, QAX_A0_REV_ID, 5911 "BCM88476_A0", 5912 BCM88476_DEVICE_ID, QAX_A0_REV_ID, 5913 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5914 }, 5915 { 5916 BCM88476_DEVICE_ID, QAX_B0_REV_ID, 5917 "BCM88476_B0", 5918 BCM88476_DEVICE_ID, QAX_B0_REV_ID, 5919 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5920 }, 5921 { 5922 BCM88477_DEVICE_ID, QAX_A0_REV_ID, 5923 "BCM88477_A0", 5924 BCM88477_DEVICE_ID, QAX_A0_REV_ID, 5925 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5926 }, 5927 { 5928 BCM88477_DEVICE_ID, QAX_B0_REV_ID, 5929 "BCM88477_B0", 5930 BCM88477_DEVICE_ID, QAX_B0_REV_ID, 5931 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5932 }, 5933 { 5934 QUX_DEVICE_ID, QUX_A0_REV_ID, 5935 "BCM88270_A0", 5936 QUX_DEVICE_ID, QUX_A0_REV_ID, 5937 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5938 }, 5939 { 5940 QUX_DEVICE_ID, QUX_A1_REV_ID, 5941 "BCM88270_A1", 5942 QUX_DEVICE_ID, QUX_A1_REV_ID, 5943 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5944 }, 5945 { 5946 BCM88272_DEVICE_ID, QUX_A0_REV_ID, 5947 "BCM88272_A0", 5948 BCM88272_DEVICE_ID, QUX_A0_REV_ID, 5949 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5950 }, 5951 { 5952 BCM88272_DEVICE_ID, QUX_A1_REV_ID, 5953 "BCM88272_A1", 5954 BCM88272_DEVICE_ID, QUX_A1_REV_ID, 5955 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5956 }, 5957 { 5958 BCM88273_DEVICE_ID, QUX_A0_REV_ID, 5959 "BCM88273_A0", 5960 BCM88273_DEVICE_ID, QUX_A0_REV_ID, 5961 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5962 }, 5963 { 5964 BCM88273_DEVICE_ID, QUX_A1_REV_ID, 5965 "BCM88273_A1", 5966 BCM88273_DEVICE_ID, QUX_A1_REV_ID, 5967 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5968 }, 5969 { 5970 BCM88274_DEVICE_ID, QUX_A0_REV_ID, 5971 "BCM88274_A0", 5972 BCM88274_DEVICE_ID, QUX_A0_REV_ID, 5973 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5974 }, 5975 { 5976 BCM88274_DEVICE_ID, QUX_A1_REV_ID, 5977 "BCM88274_A1", 5978 BCM88274_DEVICE_ID, QUX_A1_REV_ID, 5979 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5980 }, 5981 { 5982 BCM88278_DEVICE_ID, QUX_A0_REV_ID, 5983 "BCM88278_A0", 5984 BCM88278_DEVICE_ID, QUX_A0_REV_ID, 5985 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5986 }, 5987 { 5988 BCM88278_DEVICE_ID, QUX_A1_REV_ID, 5989 "BCM88278_A1", 5990 BCM88278_DEVICE_ID, QUX_A1_REV_ID, 5991 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5992 }, 5993 { 5994 BCM88279_DEVICE_ID, QUX_A1_REV_ID, 5995 "BCM88279_A1", 5996 BCM88279_DEVICE_ID, QUX_A1_REV_ID, 5997 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 5998 }, 5999 { 6000 FLAIR_DEVICE_ID, FLAIR_A0_REV_ID, 6001 "FLAIR_A0", 6002 FLAIR_DEVICE_ID, FLAIR_A0_REV_ID, 6003 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6004 }, 6005 /* } */ 6006 #endif 6007 #ifdef BCM_DFE_SUPPORT 6008 /* { */ 6009 { 6010 BCM88750_DEVICE_ID, BCM88750_A0_REV_ID, 6011 "BCM88750_A0", 6012 BCM88750_DEVICE_ID, BCM88750_A0_REV_ID, 6013 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6014 }, 6015 { 6016 BCM88750_DEVICE_ID, BCM88750_B0_REV_ID, 6017 "BCM88750_B0", 6018 BCM88750_DEVICE_ID, BCM88750_B0_REV_ID, 6019 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6020 }, 6021 { 6022 BCM88753_DEVICE_ID, BCM88753_A0_REV_ID, 6023 "BCM88753_A0", 6024 BCM88753_DEVICE_ID, BCM88753_A0_REV_ID, 6025 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6026 }, 6027 { 6028 BCM88753_DEVICE_ID, BCM88753_B0_REV_ID, 6029 "BCM88753_B0", 6030 BCM88753_DEVICE_ID, BCM88753_B0_REV_ID, 6031 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6032 }, 6033 { 6034 BCM88754_DEVICE_ID, BCM88754_A0_REV_ID, 6035 "BCM88754_A0", 6036 BCM88754_DEVICE_ID, BCM88754_A0_REV_ID, 6037 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6038 }, 6039 { 6040 BCM88755_DEVICE_ID, BCM88755_B0_REV_ID, 6041 "BCM88755_B0", 6042 BCM88755_DEVICE_ID, BCM88755_B0_REV_ID, 6043 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6044 }, 6045 { 6046 BCM88770_DEVICE_ID, BCM88770_A1_REV_ID, 6047 "BCM88770_A1", 6048 BCM88770_DEVICE_ID, BCM88770_A1_REV_ID, 6049 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6050 }, 6051 { 6052 BCM88773_DEVICE_ID, BCM88773_A1_REV_ID, 6053 "BCM88773_A1", 6054 BCM88773_DEVICE_ID, BCM88773_A1_REV_ID, 6055 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6056 }, 6057 { 6058 BCM88774_DEVICE_ID, BCM88774_A1_REV_ID, 6059 "BCM88774_A1", 6060 BCM88774_DEVICE_ID, BCM88774_A1_REV_ID, 6061 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6062 }, 6063 { 6064 BCM88775_DEVICE_ID, BCM88775_A1_REV_ID, 6065 "BCM88775_A1", 6066 BCM88775_DEVICE_ID, BCM88775_A1_REV_ID, 6067 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6068 }, 6069 { 6070 BCM88776_DEVICE_ID, BCM88776_A1_REV_ID, 6071 "BCM88776_A1", 6072 BCM88776_DEVICE_ID, BCM88776_A1_REV_ID, 6073 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6074 }, 6075 { 6076 BCM88777_DEVICE_ID, BCM88777_A1_REV_ID, 6077 "BCM88777_A1", 6078 BCM88777_DEVICE_ID, BCM88777_A1_REV_ID, 6079 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6080 }, 6081 { 6082 BCM88950_DEVICE_ID, BCM88950_A0_REV_ID, 6083 "BCM88950_A0", 6084 BCM88950_DEVICE_ID, BCM88950_A0_REV_ID, 6085 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6086 }, 6087 { 6088 BCM88950_DEVICE_ID, BCM88950_A1_REV_ID, 6089 "BCM88950_A1", 6090 BCM88950_DEVICE_ID, BCM88950_A1_REV_ID, 6091 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6092 }, 6093 { 6094 BCM88953_DEVICE_ID, BCM88953_A1_REV_ID, 6095 "BCM88953_A1", 6096 BCM88953_DEVICE_ID, BCM88953_A1_REV_ID, 6097 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6098 }, 6099 { 6100 BCM88954_DEVICE_ID, BCM88954_A1_REV_ID, 6101 "BCM88954_A1", 6102 BCM88954_DEVICE_ID, BCM88954_A1_REV_ID, 6103 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6104 }, 6105 { 6106 BCM88955_DEVICE_ID, BCM88955_A1_REV_ID, 6107 "BCM88955_A1", 6108 BCM88955_DEVICE_ID, BCM88955_A1_REV_ID, 6109 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6110 }, 6111 { 6112 BCM88956_DEVICE_ID, BCM88956_A1_REV_ID, 6113 "BCM88956_A1", 6114 BCM88956_DEVICE_ID, BCM88956_A1_REV_ID, 6115 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6116 }, 6117 { 6118 BCM88752_DEVICE_ID, BCM88750_A0_REV_ID, 6119 "BCM88752_A0", 6120 BCM88752_DEVICE_ID, BCM88750_A0_REV_ID, 6121 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6122 }, 6123 { 6124 BCM88752_DEVICE_ID, BCM88752_B0_REV_ID, 6125 "BCM88752_B0", 6126 BCM88752_DEVICE_ID, BCM88752_B0_REV_ID, 6127 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6128 }, 6129 { 6130 BCM88772_DEVICE_ID, BCM88772_A1_REV_ID, 6131 "BCM88772_A1", 6132 BCM88772_DEVICE_ID, BCM88772_A1_REV_ID, 6133 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6134 }, 6135 { 6136 BCM88952_DEVICE_ID, BCM88952_A0_REV_ID, 6137 "BCM88952_A0", 6138 BCM88952_DEVICE_ID, BCM88952_A0_REV_ID, 6139 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6140 }, 6141 { 6142 BCM88952_DEVICE_ID, BCM88952_A1_REV_ID, 6143 "BCM88952_A1", 6144 BCM88952_DEVICE_ID, BCM88952_A1_REV_ID, 6145 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6146 }, 6147 /* } */ 6148 #endif 6149 #ifdef BCM_DNX_SUPPORT 6150 /* { */ 6151 { 6152 BCM88690_DEVICE_ID, BCM88690_A0_REV_ID, 6153 "BCM88690_A0", 6154 BCM88690_DEVICE_ID, BCM88690_A0_REV_ID, 6155 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6156 }, 6157 { 6158 BCM88691_DEVICE_ID, BCM88690_A0_REV_ID, 6159 "BCM88691_A0", 6160 BCM88691_DEVICE_ID, BCM88690_A0_REV_ID, 6161 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6162 }, 6163 { 6164 BCM88692_DEVICE_ID, BCM88690_A0_REV_ID, 6165 "BCM88692_A0", 6166 BCM88692_DEVICE_ID, BCM88690_A0_REV_ID, 6167 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6168 }, 6169 { 6170 BCM88693_DEVICE_ID, BCM88690_A0_REV_ID, 6171 "BCM88693_A0", 6172 BCM88693_DEVICE_ID, BCM88690_A0_REV_ID, 6173 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6174 }, 6175 { 6176 BCM88694_DEVICE_ID, BCM88690_A0_REV_ID, 6177 "BCM88694_A0", 6178 BCM88694_DEVICE_ID, BCM88690_A0_REV_ID, 6179 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6180 }, 6181 { 6182 BCM88695_DEVICE_ID, BCM88690_A0_REV_ID, 6183 "BCM88695_A0", 6184 BCM88695_DEVICE_ID, BCM88690_A0_REV_ID, 6185 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6186 }, 6187 { 6188 BCM88696_DEVICE_ID, BCM88690_A0_REV_ID, 6189 "BCM88696_A0", 6190 BCM88696_DEVICE_ID, BCM88690_A0_REV_ID, 6191 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6192 }, 6193 { 6194 BCM88697_DEVICE_ID, BCM88690_A0_REV_ID, 6195 "BCM88697_A0", 6196 BCM88697_DEVICE_ID, BCM88690_A0_REV_ID, 6197 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6198 }, 6199 { 6200 BCM88698_DEVICE_ID, BCM88690_A0_REV_ID, 6201 "BCM88698_A0", 6202 BCM88698_DEVICE_ID, BCM88690_A0_REV_ID, 6203 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6204 }, 6205 { 6206 BCM88699_DEVICE_ID, BCM88690_A0_REV_ID, 6207 "BCM88699_A0", 6208 BCM88699_DEVICE_ID, BCM88690_A0_REV_ID, 6209 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6210 }, 6211 { 6212 BCM8869A_DEVICE_ID, BCM88690_A0_REV_ID, 6213 "BCM8869A_A0", 6214 BCM8869A_DEVICE_ID, BCM88690_A0_REV_ID, 6215 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6216 }, 6217 { 6218 BCM8869B_DEVICE_ID, BCM88690_A0_REV_ID, 6219 "BCM8869B_A0", 6220 BCM8869B_DEVICE_ID, BCM88690_A0_REV_ID, 6221 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6222 }, 6223 { 6224 BCM8869C_DEVICE_ID, BCM88690_A0_REV_ID, 6225 "BCM8869C_A0", 6226 BCM8869C_DEVICE_ID, BCM88690_A0_REV_ID, 6227 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6228 }, 6229 { 6230 BCM8869D_DEVICE_ID, BCM88690_A0_REV_ID, 6231 "BCM8869D_A0", 6232 BCM8869D_DEVICE_ID, BCM88690_A0_REV_ID, 6233 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6234 }, 6235 { 6236 BCM8869E_DEVICE_ID, BCM88690_A0_REV_ID, 6237 "BCM8869E_A0", 6238 BCM8869E_DEVICE_ID, BCM88690_A0_REV_ID, 6239 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6240 }, 6241 { 6242 BCM8869F_DEVICE_ID, BCM88690_A0_REV_ID, 6243 "BCM8869F_A0", 6244 BCM8869F_DEVICE_ID, BCM88690_A0_REV_ID, 6245 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6246 }, 6247 { 6248 BCM88690_DEVICE_ID, BCM88690_B0_REV_ID, 6249 "BCM88690_B0", 6250 BCM88690_DEVICE_ID, BCM88690_B0_REV_ID, 6251 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6252 }, 6253 { 6254 BCM88691_DEVICE_ID, BCM88690_B0_REV_ID, 6255 "BCM88691_B0", 6256 BCM88691_DEVICE_ID, BCM88690_B0_REV_ID, 6257 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6258 }, 6259 { 6260 BCM88692_DEVICE_ID, BCM88690_B0_REV_ID, 6261 "BCM88692_B0", 6262 BCM88692_DEVICE_ID, BCM88690_B0_REV_ID, 6263 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6264 }, 6265 { 6266 BCM88693_DEVICE_ID, BCM88690_B0_REV_ID, 6267 "BCM88693_B0", 6268 BCM88693_DEVICE_ID, BCM88690_B0_REV_ID, 6269 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6270 }, 6271 { 6272 BCM88694_DEVICE_ID, BCM88690_B0_REV_ID, 6273 "BCM88694_B0", 6274 BCM88694_DEVICE_ID, BCM88690_B0_REV_ID, 6275 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6276 }, 6277 { 6278 BCM88695_DEVICE_ID, BCM88690_B0_REV_ID, 6279 "BCM88695_B0", 6280 BCM88695_DEVICE_ID, BCM88690_B0_REV_ID, 6281 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6282 }, 6283 { 6284 BCM88696_DEVICE_ID, BCM88690_B0_REV_ID, 6285 "BCM88696_B0", 6286 BCM88696_DEVICE_ID, BCM88690_B0_REV_ID, 6287 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6288 }, 6289 { 6290 BCM88697_DEVICE_ID, BCM88690_B0_REV_ID, 6291 "BCM88697_B0", 6292 BCM88697_DEVICE_ID, BCM88690_B0_REV_ID, 6293 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6294 }, 6295 { 6296 BCM88698_DEVICE_ID, BCM88690_B0_REV_ID, 6297 "BCM88698_B0", 6298 BCM88698_DEVICE_ID, BCM88690_B0_REV_ID, 6299 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6300 }, 6301 { 6302 BCM88699_DEVICE_ID, BCM88690_B0_REV_ID, 6303 "BCM88699_B0", 6304 BCM88699_DEVICE_ID, BCM88690_B0_REV_ID, 6305 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6306 }, 6307 { 6308 BCM8869A_DEVICE_ID, BCM88690_B0_REV_ID, 6309 "BCM8869A_B0", 6310 BCM8869A_DEVICE_ID, BCM88690_B0_REV_ID, 6311 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6312 }, 6313 { 6314 BCM8869B_DEVICE_ID, BCM88690_B0_REV_ID, 6315 "BCM8869B_B0", 6316 BCM8869B_DEVICE_ID, BCM88690_B0_REV_ID, 6317 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6318 }, 6319 { 6320 BCM8869C_DEVICE_ID, BCM88690_B0_REV_ID, 6321 "BCM8869C_B0", 6322 BCM8869C_DEVICE_ID, BCM88690_B0_REV_ID, 6323 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6324 }, 6325 { 6326 BCM8869D_DEVICE_ID, BCM88690_B0_REV_ID, 6327 "BCM8869D_B0", 6328 BCM8869D_DEVICE_ID, BCM88690_B0_REV_ID, 6329 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6330 }, 6331 { 6332 BCM8869E_DEVICE_ID, BCM88690_B0_REV_ID, 6333 "BCM8869E_B0", 6334 BCM8869E_DEVICE_ID, BCM88690_B0_REV_ID, 6335 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6336 }, 6337 { 6338 BCM8869F_DEVICE_ID, BCM88690_B0_REV_ID, 6339 "BCM8869F_B0", 6340 BCM8869F_DEVICE_ID, BCM88690_B0_REV_ID, 6341 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6342 }, 6343 { 6344 BCM88690_DEVICE_ID, BCM88690_B1_REV_ID, 6345 "BCM88690_B1", 6346 BCM88690_DEVICE_ID, BCM88690_B1_REV_ID, 6347 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6348 }, 6349 { 6350 BCM88691_DEVICE_ID, BCM88690_B1_REV_ID, 6351 "BCM88691_B1", 6352 BCM88691_DEVICE_ID, BCM88690_B1_REV_ID, 6353 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6354 }, 6355 { 6356 BCM88692_DEVICE_ID, BCM88690_B1_REV_ID, 6357 "BCM88692_B1", 6358 BCM88692_DEVICE_ID, BCM88690_B1_REV_ID, 6359 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6360 }, 6361 { 6362 BCM88693_DEVICE_ID, BCM88690_B1_REV_ID, 6363 "BCM88693_B1", 6364 BCM88693_DEVICE_ID, BCM88690_B1_REV_ID, 6365 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6366 }, 6367 { 6368 BCM88694_DEVICE_ID, BCM88690_B1_REV_ID, 6369 "BCM88694_B1", 6370 BCM88694_DEVICE_ID, BCM88690_B1_REV_ID, 6371 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6372 }, 6373 { 6374 BCM88695_DEVICE_ID, BCM88690_B1_REV_ID, 6375 "BCM88695_B1", 6376 BCM88695_DEVICE_ID, BCM88690_B1_REV_ID, 6377 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6378 }, 6379 { 6380 BCM88696_DEVICE_ID, BCM88690_B1_REV_ID, 6381 "BCM88696_B1", 6382 BCM88696_DEVICE_ID, BCM88690_B1_REV_ID, 6383 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6384 }, 6385 { 6386 BCM88697_DEVICE_ID, BCM88690_B1_REV_ID, 6387 "BCM88697_B1", 6388 BCM88697_DEVICE_ID, BCM88690_B1_REV_ID, 6389 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6390 }, 6391 { 6392 BCM88698_DEVICE_ID, BCM88690_B1_REV_ID, 6393 "BCM88698_B1", 6394 BCM88698_DEVICE_ID, BCM88690_B1_REV_ID, 6395 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6396 }, 6397 { 6398 BCM88699_DEVICE_ID, BCM88690_B1_REV_ID, 6399 "BCM88699_B1", 6400 BCM88699_DEVICE_ID, BCM88690_B1_REV_ID, 6401 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6402 }, 6403 { 6404 BCM8869A_DEVICE_ID, BCM88690_B1_REV_ID, 6405 "BCM8869A_B1", 6406 BCM8869A_DEVICE_ID, BCM88690_B1_REV_ID, 6407 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6408 }, 6409 { 6410 BCM8869B_DEVICE_ID, BCM88690_B1_REV_ID, 6411 "BCM8869B_B1", 6412 BCM8869B_DEVICE_ID, BCM88690_B1_REV_ID, 6413 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6414 }, 6415 { 6416 BCM8869C_DEVICE_ID, BCM88690_B1_REV_ID, 6417 "BCM8869C_B1", 6418 BCM8869C_DEVICE_ID, BCM88690_B1_REV_ID, 6419 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6420 }, 6421 { 6422 BCM8869D_DEVICE_ID, BCM88690_B1_REV_ID, 6423 "BCM8869D_B1", 6424 BCM8869D_DEVICE_ID, BCM88690_B1_REV_ID, 6425 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6426 }, 6427 { 6428 BCM8869E_DEVICE_ID, BCM88690_B1_REV_ID, 6429 "BCM8869E_B1", 6430 BCM8869E_DEVICE_ID, BCM88690_B1_REV_ID, 6431 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6432 }, 6433 { 6434 BCM8869F_DEVICE_ID, BCM88690_B1_REV_ID, 6435 "BCM8869F_B1", 6436 BCM8869F_DEVICE_ID, BCM88690_B1_REV_ID, 6437 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6438 }, 6439 { 6440 BCM88800_DEVICE_ID, BCM88800_A0_REV_ID, 6441 "BCM88800_A0", 6442 BCM88800_DEVICE_ID, BCM88800_A0_REV_ID, 6443 (SOC_SWITCH_DEV_TYPE | SOC_PCI_DEV_TYPE) 6444 }, 6445 /* } */ 6446 #endif 6447 #ifdef BCM_DNXF_SUPPORT 6448 /* { */ 6449 { 6450 BCM88790_DEVICE_ID, BCM88790_A0_REV_ID, 6451 "BCM88790_A0", 6452 BCM88790_DEVICE_ID, BCM88790_A0_REV_ID, 6453 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6454 }, 6455 { 6456 BCM88790_DEVICE_ID, DNXC_A1_REV_ID, 6457 "BCM88790_A1", 6458 BCM88790_DEVICE_ID, DNXC_A1_REV_ID, 6459 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6460 }, 6461 { 6462 BCM88790_DEVICE_ID, BCM88790_B0_REV_ID, 6463 "BCM88790_B0", 6464 BCM88790_DEVICE_ID, BCM88790_B0_REV_ID, 6465 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6466 }, 6467 { 6468 BCM88791_DEVICE_ID, BCM88790_A0_REV_ID, 6469 "BCM88791_A0", 6470 BCM88791_DEVICE_ID, BCM88790_A0_REV_ID, 6471 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6472 }, 6473 { 6474 BCM88792_DEVICE_ID, BCM88790_A0_REV_ID, 6475 "BCM88792_A0", 6476 BCM88792_DEVICE_ID, BCM88790_A0_REV_ID, 6477 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6478 }, 6479 { 6480 BCM88793_DEVICE_ID, BCM88790_A0_REV_ID, 6481 "BCM88793_A0", 6482 BCM88793_DEVICE_ID, BCM88790_A0_REV_ID, 6483 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6484 }, 6485 { 6486 BCM88794_DEVICE_ID, BCM88790_A0_REV_ID, 6487 "BCM88794_A0", 6488 BCM88794_DEVICE_ID, BCM88790_A0_REV_ID, 6489 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6490 }, 6491 { 6492 BCM88795_DEVICE_ID, BCM88790_A0_REV_ID, 6493 "BCM88795_A0", 6494 BCM88795_DEVICE_ID, BCM88790_A0_REV_ID, 6495 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6496 }, 6497 { 6498 BCM88795_DEVICE_ID, BCM88790_B0_REV_ID, 6499 "BCM88795_B0", 6500 BCM88795_DEVICE_ID, BCM88790_B0_REV_ID, 6501 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6502 }, 6503 { 6504 BCM88796_DEVICE_ID, BCM88790_A0_REV_ID, 6505 "BCM88796_A0", 6506 BCM88796_DEVICE_ID, BCM88790_A0_REV_ID, 6507 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6508 }, 6509 { 6510 BCM88797_DEVICE_ID, BCM88790_A0_REV_ID, 6511 "BCM88797_A0", 6512 BCM88797_DEVICE_ID, BCM88790_A0_REV_ID, 6513 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6514 }, 6515 { 6516 BCM88797_DEVICE_ID, BCM88790_B0_REV_ID, 6517 "BCM88797_B0", 6518 BCM88797_DEVICE_ID, BCM88790_B0_REV_ID, 6519 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6520 }, 6521 { 6522 BCM88798_DEVICE_ID, BCM88790_A0_REV_ID, 6523 "BCM88798_A0", 6524 BCM88798_DEVICE_ID, BCM88790_A0_REV_ID, 6525 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6526 }, 6527 { 6528 BCM88799_DEVICE_ID, BCM88790_A0_REV_ID, 6529 "BCM88799_A0", 6530 BCM88799_DEVICE_ID, BCM88790_A0_REV_ID, 6531 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6532 }, 6533 { 6534 BCM8879A_DEVICE_ID, BCM88790_A0_REV_ID, 6535 "BCM8879A_A0", 6536 BCM8879A_DEVICE_ID, BCM88790_A0_REV_ID, 6537 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6538 }, 6539 { 6540 BCM8879B_DEVICE_ID, BCM88790_A0_REV_ID, 6541 "BCM8879B_A0", 6542 BCM8879B_DEVICE_ID, BCM88790_A0_REV_ID, 6543 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6544 }, 6545 { 6546 BCM8879C_DEVICE_ID, BCM88790_A0_REV_ID, 6547 "BCM8879C_A0", 6548 BCM8879C_DEVICE_ID, BCM88790_A0_REV_ID, 6549 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6550 }, 6551 { 6552 BCM8879D_DEVICE_ID, BCM88790_A0_REV_ID, 6553 "BCM8879D_A0", 6554 BCM8879D_DEVICE_ID, BCM88790_A0_REV_ID, 6555 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6556 }, 6557 { 6558 BCM8879E_DEVICE_ID, BCM88790_A0_REV_ID, 6559 "BCM8879E_A0", 6560 BCM8879E_DEVICE_ID, BCM88790_A0_REV_ID, 6561 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6562 }, 6563 { 6564 BCM8879F_DEVICE_ID, BCM88790_A0_REV_ID, 6565 "BCM8879F_A0", 6566 BCM8879F_DEVICE_ID, BCM88790_A0_REV_ID, 6567 (SOC_PCI_DEV_TYPE | SOC_SWITCH_DEV_TYPE) 6568 }, 6569 /* } */ 6570 #endif 6571 }; 6572 6573 6574 /* Various control structures */ 6575 6576 static int _soc_cm_init = 0; 6577 6578 #define AINIT() if (_soc_cm_init == 0) return SOC_E_INIT 6579 6580 static sal_mutex_t _soc_cm_lock = NULL; 6581 6582 #ifdef BROADCOM_DEBUG 6583 static shared_block_t *head = NULL; 6584 static char *shared_start = (char *)~(size_t)0; 6585 static char *shared_end = (char *)0; 6586 static sal_spinlock_t dl = NULL; 6587 #define CM_DB_LOCK() sal_spinlock_lock(dl) 6588 #define CM_DB_UNLOCK() sal_spinlock_unlock(dl) 6589 #define CM_BUF_SZ 128 6590 static uint32 _soc_cm_debug_enable[SOC_MAX_NUM_DEVICES] = {0}; 6591 static uint32 _soc_cm_debug_op[SOC_MAX_NUM_DEVICES] = {0}; 6592 #endif 6593 6594 /* 6595 * Function: _soc_cm_find_device (private) 6596 * Purpose: Search the device table for matching device. 6597 * 6598 * Parameters: dev_id - the device id of the device. 6599 * rev_id - the revision id of the device. 6600 * 6601 * Returns: NULL - device not found 6602 * non-NULL - pointer to soc_cm_device_info_t table entry 6603 * 6604 * Note: The return value is a pointer to soc_cm_device_info_t. 6605 * Positive values are valid, and should not be interpreted as error. 6606 * If no device is found, NULL is returned. 6607 * 6608 * Notes: An exact match for metal spin is not required. 6609 * This routine will return the driver with the highest 6610 * available metal spin. This allows the driver to run 6611 * forward-compatibly on subsequent metal spins. 6612 */ 6613 6614 static const soc_cm_device_info_t * 6615 _soc_cm_find_device(uint16 dev_id, uint16 rev_id) 6616 { 6617 int i, tries; 6618 6619 for (tries = 0; tries < 16; tries++) { 6620 for (i = 0; i < COUNTOF(soc_device_info); i++) { 6621 if (soc_device_info[i].dev_id == dev_id && 6622 soc_device_info[i].rev_id == rev_id) { 6623 return &soc_device_info[i]; 6624 } 6625 } 6626 6627 if ((rev_id & 0xf) == 0) { 6628 rev_id |= 0xf; 6629 } else { 6630 rev_id--; 6631 } 6632 } 6633 6634 return NULL; 6635 } 6636 6637 6638 6639 6640 /****************************************************************** 6641 * 6642 * SOC CM CLIENT ROUTINES 6643 * 6644 * These routines are the CLIENT interface to the SOC configuration 6645 * manager. The driver itself may not ca ll these functions. 6646 */ 6647 6648 6649 /* 6650 * Function: soc_cm_deinit 6651 * Purpose: Deinitialize the SOC configuration manager interface 6652 * Parameters: None 6653 * 6654 * Returns: SOC_E_XXX 6655 */ 6656 int 6657 soc_cm_deinit(void) 6658 { 6659 _soc_cm_init = 0; 6660 6661 #ifdef BROADCOM_DEBUG 6662 if (dl) { 6663 sal_spinlock_destroy(dl); 6664 } 6665 #endif 6666 if (_soc_cm_lock) { 6667 sal_mutex_destroy(_soc_cm_lock); 6668 _soc_cm_lock = NULL; 6669 } 6670 return SOC_E_NONE; 6671 } 6672 6673 /* 6674 * Function: soc_cm_init 6675 * Purpose: Initialize the SOC configuration manager interface 6676 * 6677 * Returns: SOC_E_XXX 6678 * 6679 * Notes: 6680 */ 6681 int 6682 soc_cm_init(void) 6683 { 6684 if (_soc_cm_init == 0) { 6685 _soc_cm_lock = sal_mutex_create("cm lock"); 6686 if (_soc_cm_lock == NULL) { 6687 LOG_ERROR(BSL_LS_SOC_COMMON, 6688 (BSL_META("ERROR creating CM lock"))); 6689 return SOC_E_MEMORY; 6690 } 6691 sal_memset(soc_cm_device, 0, sizeof(soc_cm_device)); 6692 _soc_cm_init = 1; 6693 } 6694 6695 #ifdef BROADCOM_DEBUG 6696 if (!dl) { 6697 dl = sal_spinlock_create("cm debug"); 6698 } 6699 #endif 6700 6701 return SOC_E_NONE; 6702 } 6703 6704 6705 /* 6706 * Function: soc_cm_get_device_name 6707 * Purpose: Return the symbolic name of a device. 6708 * 6709 * Parameters: dev_id - the device id of the device. 6710 * rev_id - the revision id of the device. 6711 * 6712 * Returns: Static string 6713 * 6714 * Note: The return value is a device name. 6715 * String values are valid, and should not be interpreted as error. 6716 * If no device is found, "UNKNOWN" is returned. 6717 */ 6718 6719 const char * 6720 soc_cm_get_device_name(uint16 dev_id, uint8 rev_id) 6721 { 6722 const soc_cm_device_info_t *info; 6723 6724 if ((info = _soc_cm_find_device(dev_id, rev_id)) != NULL) { 6725 return info->dev_name; 6726 } else { 6727 return "UNKNOWN"; 6728 } 6729 } 6730 6731 /* 6732 * Function: soc_cm_device_supported 6733 * Purpose: Determines whether the specified chip ID is known. 6734 * 6735 * Parameters: dev_id - the device id of the device. 6736 * rev_id - the revision id of the device. 6737 * 6738 * Returns: SOC_E_NONE if the device is known. 6739 * SOC_E_UNAVAIL if the device is not known. 6740 */ 6741 6742 int 6743 soc_cm_device_supported(uint16 dev_id, uint8 rev_id) 6744 { 6745 AINIT(); 6746 6747 if (_soc_cm_find_device(dev_id, rev_id) == NULL) { 6748 return SOC_E_UNAVAIL; 6749 } 6750 6751 return SOC_E_NONE; 6752 } 6753 6754 /* 6755 * Function: soc_cm_device_create_id 6756 * Purpose: Create a driver device. 6757 * 6758 * Parameters: dev_id - the device id of the device. 6759 * rev_id - the revision id of the device. 6760 * cookie - private client pointer you wish 6761 * to have passed back to you when 6762 * driver operations occur. 6763 * 6764 * Returns: SOC_E_XXX 6765 * 6766 * Note: The return value is device handle. 6767 * positive values are valid, and should not be interpreted as error. 6768 * Negative values indicate an error. 6769 * 6770 * Notes: See <soc/cmext.h> for a complete description 6771 * of driver creation/initialization. 6772 */ 6773 6774 6775 int 6776 soc_cm_device_create_id(uint16 dev_id, uint16 rev_id, void *cookie, int dev) 6777 { 6778 const soc_cm_device_info_t *info; 6779 cm_device_t null_device; 6780 int dev_idx; 6781 6782 AINIT(); 6783 6784 /* 6785 * User must verify soc_cm_device_supported() before trying to 6786 * attach. 6787 */ 6788 6789 if ((info = _soc_cm_find_device(dev_id, rev_id)) == NULL) { 6790 return SOC_E_UNAVAIL; 6791 } 6792 6793 sal_mutex_take(_soc_cm_lock, sal_mutex_FOREVER); 6794 6795 /* Allocate device id. */ 6796 sal_memset(&null_device, 0, sizeof(cm_device_t)); 6797 if (-1 == dev) { 6798 for (dev_idx = 0; dev_idx < SOC_MAX_NUM_DEVICES; dev_idx++) { 6799 if (0 == sal_memcmp(&CMDEV(dev_idx), &null_device, 6800 sizeof(cm_device_t))) { 6801 dev = dev_idx; 6802 break; 6803 } 6804 } 6805 if (-1 == dev) { 6806 sal_mutex_give(_soc_cm_lock); 6807 return SOC_E_UNIT; 6808 } 6809 } else { 6810 if (0 != sal_memcmp(&CMDEV(dev), &null_device, sizeof(cm_device_t))) { 6811 sal_mutex_give(_soc_cm_lock); 6812 return SOC_E_EXISTS; 6813 } 6814 } 6815 6816 /* 6817 * The chip ID passed by the user is not necessarily equal to that 6818 * in table, although it may differ ONLY by metal spin. 6819 */ 6820 6821 CMDEV(dev).dev.dev = dev; 6822 CMDEV(dev).dev.info = info; 6823 CMDEV(dev).dev.cookie = cookie; 6824 CMDEV(dev).dev.dev_id = dev_id; /* Record chip ID passed by user */ 6825 CMDEV(dev).dev.rev_id = rev_id; 6826 6827 soc_cm_device_count++; 6828 6829 /* Keep soc_ndev in sync */ 6830 soc_all_ndev = soc_cm_device_count; 6831 if (info->dev_type & SOC_SWITCH_DEV_TYPE) { 6832 SOC_NDEV_IDX2DEV(soc_ndev) = dev; 6833 soc_ndev ++; 6834 } 6835 sal_mutex_give(_soc_cm_lock); 6836 return dev; 6837 } 6838 6839 /* 6840 * Function: soc_cm_device_create 6841 * Purpose: Create a driver device. 6842 * 6843 * Parameters: dev_id - the device id of the device. 6844 * rev_id - the revision id of the device. 6845 * cookie - private client pointer you wish 6846 * to have passed back to you when 6847 * driver operations occur. 6848 * 6849 * Returns: SOC_E_XXX 6850 * 6851 * Notes: 6852 * 6853 * See <soc/cmext.h> for a complete description 6854 * of driver creation/initialization. 6855 */ 6856 6857 6858 int 6859 soc_cm_device_create(uint16 dev_id, uint16 rev_id, void *cookie) 6860 { 6861 int dev = -1; 6862 int rv; 6863 6864 rv = soc_cm_device_create_id(dev_id, rev_id, cookie, dev); 6865 6866 /* coverity[identical_branches] */ 6867 if (SOC_FAILURE(rv)) { 6868 return (rv); 6869 } else { 6870 return rv; 6871 } 6872 } 6873 6874 6875 /* 6876 * Function: soc_cm_device_init 6877 * Purpose: Initialize a SOC device. 6878 * 6879 * Parameters: dev - device handle (returned by soc_cm_device_create()) 6880 * vectors - device access vectors 6881 * 6882 * Returns: SOC_E_XXX 6883 * 6884 * Notes: 6885 * 6886 * See <soc/cmtypes.h> for a complete description 6887 * of driver creation/initialization. 6888 */ 6889 6890 int 6891 soc_cm_device_init(int dev, soc_cm_device_vectors_t *vectors) 6892 { 6893 AINIT(); 6894 6895 if (CMVEC(dev).interrupt_connect == NULL || !CMVEC(dev).init) { 6896 CMVEC(dev).init = 1; 6897 #define REQUIRE(vName) if (! vectors->vName) return SOC_E_PARAM 6898 REQUIRE(interrupt_connect); 6899 REQUIRE(interrupt_disconnect); 6900 #ifdef SOC_CM_MEMORY_BASE 6901 REQUIRE(base_address); 6902 if (vectors->base_address != 6903 (SOC_CM_MEMORY_BASE + (SOC_CM_MEMORY_OFFSET*dev))) { 6904 LOG_CLI((BSL_META("soc_cm_device_init: ERROR: dev %d " 6905 "compiled in base address (%#x) " 6906 "does not match run time (%#x)\n"), 6907 dev, 6908 SOC_CM_MEMORY_BASE + (SOC_CM_MEMORY_OFFSET*dev), 6909 PTR_TO_INT(vectors->base_address))); 6910 return SOC_E_PARAM; 6911 } 6912 #else 6913 #ifdef SOC_CM_MEMORY 6914 REQUIRE(base_address); 6915 #else 6916 #ifdef SOC_CM_FUNCTION 6917 REQUIRE(read); 6918 REQUIRE(write); 6919 #else 6920 if (vectors->base_address == 0) { 6921 REQUIRE(read); 6922 REQUIRE(write); 6923 } 6924 #endif /* SOC_CM_FUNCTION */ 6925 #endif /* SOC_CM_MEMORY */ 6926 #endif /* SOC_CM_MEMORY_BASE */ 6927 if (vectors->bus_type & SOC_PCI_DEV_TYPE) { 6928 REQUIRE(pci_conf_read); 6929 REQUIRE(pci_conf_write); 6930 } 6931 REQUIRE(salloc); 6932 REQUIRE(sfree); 6933 6934 #undef REQUIRE 6935 6936 CMVEC(dev) = *vectors; 6937 6938 /* Initialize SOC driver here */ 6939 if (CMDEV(dev).dev.info->dev_type & SOC_SWITCH_DEV_TYPE) { 6940 if (CMDEV(dev).dev.info->dev_type & SOC_SPI_DEV_TYPE) { 6941 6942 LOG_ERROR(BSL_LS_SOC_COMMON, 6943 (BSL_META("ERROR: devices should not be here !"))); 6944 } else if (CMDEV(dev).dev.info->dev_type & SOC_ET_DEV_TYPE) { 6945 6946 LOG_ERROR(BSL_LS_SOC_COMMON, 6947 (BSL_META("ERROR: devices should not be here !"))); 6948 } else if (CMDEV(dev).dev.info->dev_type & SOC_EMMI_DEV_TYPE){ 6949 LOG_ERROR(BSL_LS_SOC_COMMON, 6950 (BSL_META("ERROR: devices should not be here !"))); 6951 }else { 6952 #if defined(BCM_DNX_SUPPORT) 6953 if (SOC_IS_DNX_TYPE(CMDEV(dev).dev.info->dev_id)) { 6954 return soc_dnx_attach(dev); 6955 } 6956 #endif 6957 6958 #if defined(BCM_PETRA_SUPPORT) 6959 if (SOC_IS_DPP_TYPE(CMDEV(dev).dev.info->dev_id) 6960 6961 6962 ) { 6963 return soc_dpp_attach(dev); 6964 } 6965 #endif 6966 #if defined(BCM_DFE_SUPPORT) 6967 if (SOC_IS_DFE_TYPE(CMDEV(dev).dev.info->dev_id)) 6968 { 6969 return soc_dfe_attach(dev); 6970 } 6971 #endif 6972 #if defined(BCM_DNXF_SUPPORT) 6973 if (SOC_IS_DNXF_TYPE(CMDEV(dev).dev.info->dev_id)) 6974 { 6975 return soc_dnxf_attach(dev); 6976 } 6977 #endif 6978 #if defined(BCM_ESW_SUPPORT) 6979 return soc_attach(dev); 6980 #endif 6981 } 6982 6983 #if defined(BCM_KSCPU_SUPPORT) 6984 } else if (CMDEV(dev).dev.info->dev_type & SOC_CPU_DEV_TYPE) { 6985 return SOC_E_NONE; 6986 #endif 6987 } 6988 return SOC_E_UNIT; 6989 } else { 6990 /* Device already initialized */ 6991 return SOC_E_UNIT; 6992 } 6993 } 6994 6995 6996 /* 6997 * Function: soc_cm_device_destroy 6998 * Purpose: Destroy a SOC driver. 6999 * 7000 * Parameters: dev - device handle (returned by soc_cm_device_create()) 7001 * 7002 * Returns: SOC_E_XXX 7003 * 7004 * Notes: 7005 */ 7006 7007 int 7008 soc_cm_device_destroy(int dev) 7009 { 7010 const soc_cm_device_info_t *info; 7011 int rv = 0; 7012 int dev_idx; 7013 7014 AINIT(); 7015 7016 if (!CMDEV(dev).dev.info) { 7017 return SOC_E_UNIT; 7018 } 7019 sal_mutex_take(_soc_cm_lock, sal_mutex_FOREVER); 7020 7021 /* Initialize SOC driver here */ 7022 if (CMDEV(dev).dev.info->dev_type & SOC_SWITCH_DEV_TYPE) { 7023 if (CMDEV(dev).dev.info->dev_type & SOC_SPI_DEV_TYPE) { 7024 7025 LOG_ERROR(BSL_LS_SOC_COMMON, 7026 (BSL_META("ERROR: devices should not be here !"))); 7027 rv = SOC_E_INTERNAL; 7028 } else if (CMDEV(dev).dev.info->dev_type & SOC_ET_DEV_TYPE) { 7029 7030 LOG_ERROR(BSL_LS_SOC_COMMON, 7031 (BSL_META("ERROR: devices should not be here !"))); 7032 rv = SOC_E_INTERNAL; 7033 } else { 7034 #if defined(BCM_DNX_SUPPORT) 7035 if (SOC_IS_DNX_TYPE(CMDEV(dev).dev.info->dev_id)) { 7036 rv = soc_dnx_detach(dev); 7037 } else { 7038 #endif 7039 #if defined(BCM_PETRA_SUPPORT) 7040 if (SOC_IS_DPP_TYPE(CMDEV(dev).dev.info->dev_id)) { 7041 rv = soc_dpp_detach(dev); 7042 } else { 7043 #endif /* BCM_PETRA_SUPPORT */ 7044 #if defined(BCM_DFE_SUPPORT) 7045 if (SOC_IS_DFE_TYPE(CMDEV(dev).dev.info->dev_id)) { 7046 rv = soc_dfe_detach(dev); 7047 } else { 7048 #endif /* BCM_DFE_SUPPORT */ 7049 #if defined(BCM_DNXF_SUPPORT) 7050 if (SOC_IS_DNXF_TYPE(CMDEV(dev).dev.info->dev_id)) { 7051 rv = soc_dnxf_detach(dev); 7052 } else { 7053 #endif /* BCM_DFE_SUPPORT */ 7054 #if defined(BCM_ESW_SUPPORT) 7055 rv = soc_detach(dev); 7056 #endif 7057 #if defined(BCM_DNXF_SUPPORT) 7058 } 7059 #endif 7060 #if defined(BCM_DFE_SUPPORT) 7061 } 7062 #endif 7063 #if defined(BCM_PETRA_SUPPORT) 7064 } 7065 #endif 7066 #if defined(BCM_DNX_SUPPORT) 7067 } 7068 #endif 7069 7070 7071 #if !defined(BCM_ESW_SUPPORT) && !defined(BCM_SAND_SUPPORT) 7072 LOG_ERROR(BSL_LS_SOC_COMMON, 7073 (BSL_META("ERROR: ESW devices should not be here !"))); 7074 rv = SOC_E_INTERNAL; 7075 #endif 7076 } 7077 #if defined(BCM_KSCPU_SUPPORT) 7078 } else if (CMDEV(dev).dev.info->dev_type & SOC_CPU_DEV_TYPE) { 7079 sal_mutex_give(_soc_cm_lock); 7080 return SOC_E_NONE; 7081 #endif 7082 } else { 7083 rv = SOC_E_INTERNAL; 7084 } 7085 7086 info = _soc_cm_find_device(CMDEV(dev).dev.dev_id, 7087 CMDEV(dev).dev.rev_id); 7088 if (NULL == info) { 7089 sal_mutex_give(_soc_cm_lock); 7090 return SOC_E_UNAVAIL; 7091 } 7092 7093 /* Reset device structure.*/ 7094 if (info->dev_type & SOC_SWITCH_DEV_TYPE) { 7095 for(dev_idx = 0; dev_idx < soc_ndev; ++dev_idx) { 7096 if(SOC_NDEV_IDX2DEV(dev_idx) == dev) { 7097 break; 7098 } 7099 } 7100 if(dev_idx == soc_ndev) { 7101 LOG_ERROR(BSL_LS_SOC_COMMON, 7102 (BSL_META("ERROR: Device %d does not appear in the array soc_ndev_idx2dev_map !"), dev_idx)); 7103 rv = SOC_E_NOT_FOUND; 7104 } else { 7105 for(++dev_idx; dev_idx < soc_ndev; ++dev_idx) { 7106 SOC_NDEV_IDX2DEV(dev_idx - 1) = SOC_NDEV_IDX2DEV(dev_idx); 7107 } 7108 soc_ndev--; 7109 } 7110 } 7111 soc_cm_device_count--; 7112 /* Keep soc_ndev in sync */ 7113 soc_all_ndev = soc_cm_device_count; 7114 7115 sal_memset(&CMDEV(dev), 0, sizeof(cm_device_t)); 7116 7117 CMVEC(dev).interrupt_connect = NULL; 7118 CMVEC(dev).init = 0; 7119 sal_mutex_give(_soc_cm_lock); 7120 7121 return rv; 7122 } 7123 7124 7125 7126 /****************************************************************** 7127 * 7128 * SOC CM INTERNAL ROUTINES 7129 * 7130 * These routines are the DRIVER interface to the SOC configuration 7131 * manager. These should be used only be the driver. 7132 */ 7133 7134 7135 7136 /* 7137 * Function: soc_cm_get_name 7138 * Purpose: returns the symbolic name of the device. 7139 * 7140 * Parameters: dev - device handle 7141 * 7142 * Returns: symbolic name of this device. 7143 * 7144 * Note: The return value is symbolic name of this device. 7145 * String values are valid, and should not be interpreted as error. 7146 * Negative values indicate an error. 7147 */ 7148 7149 const char * 7150 soc_cm_get_name(int dev) 7151 { 7152 #ifdef BCM_TRIUMPH3_SUPPORT 7153 uint16 dev_id = 0; 7154 uint32 rval; 7155 /*It is used to store the device name which should be renamed by feature*/ 7156 static char _cm_dev_name[SOC_MAX_NUM_DEVICES][16]; 7157 7158 if ((NULL!=SOC_CONTROL(dev)) && 7159 (SOC_CONTROL(dev)->soc_flags & SOC_F_INITED)) { 7160 if (SOC_IS_HELIX4(dev)) { 7161 if (SOC_E_NONE == READ_TOP_SWITCH_FEATURE_ENABLEr(dev, &rval)) { 7162 if (rval & 0x8) { /*rval&8==1 means MPLS is enabled*/ 7163 dev_id = CMDEV(dev).dev.dev_id; 7164 if ((dev_id == BCM56340_DEVICE_ID) || (dev_id == BCM56342_DEVICE_ID) 7165 || (dev_id == BCM56344_DEVICE_ID)) { 7166 sal_memcpy(_cm_dev_name[dev], CMDEV(dev).dev.info->dev_name, 8); 7167 _cm_dev_name[dev][8] = 'M'; 7168 sal_memcpy(&(_cm_dev_name[dev][9]), &(CMDEV(dev).dev.info->dev_name[8]), 7169 sal_strlen(CMDEV(dev).dev.info->dev_name)-8); 7170 7171 return _cm_dev_name[dev]; 7172 } 7173 } 7174 } 7175 } 7176 else if (SOC_IS_TRIUMPH3(dev)) { 7177 if (SOC_E_NONE == READ_TOP_SWITCH_FEATURE_ENABLEr(dev, &rval)) { 7178 if (rval & 0x1) { /*rval&1==1 means 1588 is enabled*/ 7179 dev_id = CMDEV(dev).dev.dev_id; 7180 if ((dev_id == BCM56545_DEVICE_ID) || (dev_id == BCM56546_DEVICE_ID)) { 7181 sal_memcpy(_cm_dev_name[dev], CMDEV(dev).dev.info->dev_name, 8); 7182 _cm_dev_name[dev][8] = 'K'; 7183 sal_memcpy(&(_cm_dev_name[dev][9]), &(CMDEV(dev).dev.info->dev_name[8]), 7184 sal_strlen(CMDEV(dev).dev.info->dev_name)-8); 7185 7186 return _cm_dev_name[dev]; 7187 } 7188 } 7189 } 7190 } 7191 } 7192 #endif 7193 return CMDEV(dev).dev.info->dev_name; 7194 } 7195 7196 7197 /* 7198 * Function: soc_cm_get_dev_type 7199 * Purpose: returns the type of the device. 7200 * 7201 * Parameters: dev - device handle 7202 * 7203 * Returns: uint32 of the type of this device. 7204 * 7205 * Note: The return value is the type of this device. 7206 * Positive values are valid, and should not be interpreted as error. 7207 * Negative values indicate an error. 7208 */ 7209 7210 uint32 7211 soc_cm_get_dev_type(int dev) 7212 { 7213 return CMDEV(dev).dev.info->dev_type; 7214 } 7215 7216 7217 /* 7218 * Function: soc_cm_get_id 7219 * Purpose: Returns the real device and revision ids for this device. 7220 * 7221 * Parameters: dev_id - (OUTPUT) receives device id. 7222 * rev_id - (OUTPUT) receives revision id. 7223 * 7224 * Returns: SOC_E_NONE. 7225 */ 7226 7227 int 7228 soc_cm_get_id(int dev, uint16 *dev_id, uint8 *rev_id) 7229 { 7230 AINIT(); 7231 7232 if (dev_id) { 7233 *dev_id = CMDEV(dev).dev.dev_id; 7234 } 7235 7236 if (rev_id) { 7237 *rev_id = CMDEV(dev).dev.rev_id; 7238 } 7239 7240 return SOC_E_NONE; 7241 } 7242 7243 /* 7244 * Function: soc_cm_get_id_driver 7245 * Purpose: Returns the device and revision ids of the driver to 7246 * use to handle this device. 7247 * 7248 * Parameters: dev_id - (OUTPUT) receives device id. 7249 * rev_id - (OUTPUT) receives revision id. 7250 * 7251 * Returns: SOC_E_NONE - success 7252 * SOC_E_NOT_FOUND - chip not supported 7253 * 7254 * Notes: Several different real chip IDs may use the same driver. 7255 * This routine maps real chip ID to driver chip ID. 7256 */ 7257 7258 int 7259 soc_cm_get_id_driver(uint16 dev_id, uint8 rev_id, 7260 uint16 *dev_id_driver, uint8 *rev_id_driver) 7261 { 7262 const soc_cm_device_info_t *info; 7263 7264 if ((info = _soc_cm_find_device(dev_id, rev_id)) == NULL) { 7265 return SOC_E_NOT_FOUND; 7266 } 7267 7268 if (info->dev_id_driver == 0) { 7269 /* This found dev/rev pair describes a regsfile */ 7270 *dev_id_driver = info->dev_id; 7271 *rev_id_driver = info->rev_id; 7272 } else { 7273 /* Found info not a regsfile type, so get associated regsfile */ 7274 *dev_id_driver = info->dev_id_driver; 7275 *rev_id_driver = info->rev_id_driver; 7276 } 7277 7278 return SOC_E_NONE; 7279 } 7280 7281 /* 7282 * Function: soc_cm_get_num_devices 7283 * Purpose: Returns the total number of created devices. 7284 * 7285 * Parameters: None 7286 * 7287 * Returns: Total devices created. 7288 * 7289 * Note: The return value is the number of devices created. 7290 * Positive values are valid, and should not be interpreted as error. 7291 * Negative values indicate an error. 7292 */ 7293 7294 7295 int 7296 soc_cm_get_num_devices(void) 7297 { 7298 return soc_cm_device_count; 7299 } 7300 7301 /* 7302 * Function: soc_cm_get_rcpu_cfg 7303 * Purpose: Returns RCPU configurations of the device. 7304 * 7305 * Parameters: dev - device handle 7306 * rcpu_cfg - (OUTPUT) RCPU configurations. 7307 * 7308 * Returns: SOC_E_XXX 7309 */ 7310 #ifdef INCLUDE_RCPU 7311 int 7312 soc_cm_get_rcpu_cfg(int dev, soc_rcpu_cfg_t *rcpu_cfg) 7313 { 7314 if (NULL == CMDEV(dev).dev.cookie) { 7315 return SOC_E_PARAM; 7316 } 7317 *rcpu_cfg = *(soc_rcpu_cfg_t *)CMDEV(dev).dev.cookie; 7318 return SOC_E_NONE; 7319 } 7320 int 7321 soc_cm_set_rcpu_cfg(int dev, soc_rcpu_cfg_t *rcpu_cfg) 7322 { 7323 CMDEV(dev).dev.cookie = (void *)rcpu_cfg; 7324 return SOC_E_NONE; 7325 } 7326 int 7327 soc_cm_set_rcpu_trans_tpr(int dev, rcpu_trans_ptr_t *rcpu_tp) 7328 { 7329 CMVEC(dev).rcpu_tp = rcpu_tp; 7330 return SOC_E_NONE; 7331 } 7332 #endif /* INCLUDE_RCPU */ 7333 /* 7334 * Function: soc_cm_interrupt_connect 7335 * Purpose: Used by the driver to connect its interrupt handler 7336 * the device. 7337 * 7338 * Parameters: dev - device handle 7339 * handler - interrupt handler 7340 * data - isr data. 7341 * 7342 * Returns: 0 if successful 7343 * <0 if failed. 7344 */ 7345 7346 int 7347 soc_cm_interrupt_connect(int dev, soc_cm_isr_func_t handler, void *data) 7348 { 7349 return CMVEC(dev).interrupt_connect(&CMDEV(dev).dev, handler, data); 7350 } 7351 7352 /* 7353 * Function: soc_cm_interrupt_disconnect 7354 * Purpose: Used by the driver to disconnect its interrupt handler. 7355 * 7356 * Parameters: dev - device handle 7357 * 7358 * Returns: 0 if successful 7359 * <0 if failed. 7360 */ 7361 7362 int 7363 soc_cm_interrupt_disconnect(int dev) 7364 { 7365 return CMVEC(dev).interrupt_disconnect(&CMDEV(dev).dev); 7366 } 7367 7368 #ifdef BROADCOM_DEBUG 7369 static int soc_cm_debug_property_get(int unit) 7370 { 7371 if (0 == _soc_cm_debug_op[unit]) { 7372 _soc_cm_debug_enable[unit] = 7373 soc_property_get(unit, "dma_mem_debug_enable", 0); 7374 _soc_cm_debug_op[unit] = 1; 7375 } 7376 return _soc_cm_debug_enable[unit]; 7377 } 7378 int soc_cm_shared_good_range(int dev, shared_block_t *p) 7379 { 7380 if (soc_cm_debug_property_get(dev)) { 7381 return (((char *)p >= shared_start) && ((char *)p < shared_end)); 7382 } 7383 7384 return(TRUE); 7385 } 7386 #endif 7387 7388 7389 /* 7390 * Function: soc_cm_salloc 7391 * Purpose: Allocate shareable memory for communication with the device. 7392 * 7393 * Parameters: dev - device handle 7394 * size - amount of memory in bytes. 7395 * name - name of this memory (for debugging purposes only) 7396 * 7397 * Returns: Pointer to the memory if successful, otherwise NULL. 7398 * 7399 * Note: The return value is a pointer to the memory. 7400 * Positive values are valid, and should not be interpreted as error. 7401 * If unsuccesful, NULL is returned. 7402 */ 7403 void * 7404 soc_cm_salloc(int dev, int size, const char *name) 7405 { 7406 void *ptr; 7407 #ifdef BROADCOM_DEBUG 7408 if (soc_cm_debug_property_get(dev)) { 7409 shared_block_t *p = NULL; 7410 uint32 size_words = (size + 3) / 4; 7411 uint32 modified_size = 0; 7412 7413 assert(name != NULL); /* Don't pass NULLs in here! */ 7414 assert(name[0] != 0); /* Don't pass empty strings in here! */ 7415 7416 modified_size = sizeof (shared_block_t) + (size_words * 4); 7417 p = CMVEC(dev).salloc(&CMDEV(dev).dev, modified_size, name); 7418 7419 if (p == NULL) { 7420 return NULL; 7421 } 7422 p->start_sentinel = 0xaabbccdd; 7423 p->description = (char *)name; 7424 p->size = size; 7425 p->modified_size = modified_size; 7426 p->user_data[size_words] = 0xddccbbaa; 7427 7428 CM_DB_LOCK(); 7429 if (head != NULL) { 7430 head->prev = p; 7431 } 7432 p->prev = NULL; 7433 p->next = head; 7434 head = p; 7435 if ((char *)p < (char *)shared_start) { 7436 shared_start = (char*)p; 7437 } 7438 if ((((char *)p) + modified_size) > shared_end) { 7439 shared_end = (char*)((char *)p + modified_size); 7440 } 7441 7442 CM_DB_UNLOCK(); 7443 /* 7444 LOG_VERBOSE(BSL_LS_SOC_MEM, 7445 (BSL_META("Allocation: Start :%x: Description:%s: Size:%d:" 7446 "ModifiedSize:%d: End:%x:\n"), 7447 p->start_sentinel ,p->description, p->size,p->modified_size, 7448 p->user_data[size_words])); 7449 */ 7450 ptr = (void *)&p->user_data[0]; 7451 } 7452 else { 7453 ptr = CMVEC(dev).salloc(&CMDEV(dev).dev, size, name); 7454 } 7455 #else 7456 ptr = CMVEC(dev).salloc(&CMDEV(dev).dev, size, name); 7457 #endif 7458 7459 MEMLOG_ALLOC("soc_cm_salloc", ptr, size, name); 7460 7461 return ptr; 7462 } 7463 7464 /* 7465 * Function: soc_cm_sfree 7466 * Purpose: Free shared memory previously allocated with soc_cm_salloc 7467 * 7468 * Parameters: dev - device handle 7469 * ptr - shared memory pointer. 7470 * 7471 * Returns: None. 7472 */ 7473 7474 void 7475 soc_cm_sfree(int dev, void *ptr) 7476 { 7477 #ifdef BROADCOM_DEBUG 7478 if (soc_cm_debug_property_get(dev)) { 7479 shared_block_t *p = NULL; 7480 /* 7481 int size_words = 0; 7482 */ 7483 7484 p = (shared_block_t *) (((char*)ptr) - 7485 ( (((char*)&(((shared_block_t*)0)->user_data[0]))) - ((char*)(shared_block_t*)0) )); 7486 /* check sentinel */ 7487 assert(SHARED_GOOD_FREE(p)); 7488 assert(SHARED_GOOD_START(p)); 7489 assert(SHARED_GOOD_END(p)); 7490 7491 /* 7492 size_words = (p->size + 3) / 4; 7493 LOG_VERBOSE(BSL_LS_SOC_MEM, 7494 (BSL_META("Freeing Start:%x: Desc:%s: Size:%d: 7495 ModifiedSize:%d: End:%x:\n"), 7496 p->start_sentinel ,p->description, p->size,p->modified_size, 7497 p->user_data[size_words])); 7498 */ 7499 CM_DB_LOCK(); 7500 if (p == head) { 7501 head = p->next; 7502 if (head != NULL) { 7503 head->prev = NULL; 7504 } 7505 } else { 7506 p->prev->next = p->next; 7507 if (p->next != NULL) { 7508 p->next->prev = p->prev; 7509 } 7510 } 7511 /* Detect redundant frees */ 7512 p->start_sentinel = 0xdeadbeef; 7513 p->user_data[(p->size + 3) / 4] = 0xdddddddd; 7514 7515 CM_DB_UNLOCK(); 7516 CMVEC(dev).sfree(&CMDEV(dev).dev, p); 7517 } 7518 else { 7519 CMVEC(dev).sfree(&CMDEV(dev).dev, ptr); 7520 } 7521 #else /* !BROADCOM_DEBUG */ 7522 CMVEC(dev).sfree(&CMDEV(dev).dev, ptr); 7523 #endif 7524 MEMLOG_FREE("soc_cm_free", ptr); 7525 return; 7526 } 7527 #ifdef BROADCOM_DEBUG 7528 void soc_cm_dump_info(int dev) 7529 { 7530 shared_block_t *p; 7531 int size_words = 0, n = 0; 7532 char *buf; 7533 int len, rc; 7534 if (soc_cm_debug_property_get(dev)) { 7535 LOG_CLI((BSL_META("================== SHARED MEMORY INFO(BEGIN) \ 7536 ===========\n"))); 7537 LOG_CLI((BSL_META("Shared_start:%p Shared_end:%p\n"),shared_start, \ 7538 shared_end)); 7539 CM_DB_LOCK(); 7540 p = head; 7541 while (p != NULL) { 7542 n++; 7543 p = p->next; 7544 } 7545 CM_DB_UNLOCK(); 7546 len = n * CM_BUF_SZ; 7547 buf = sal_alloc(len, "soc cm info dump"); 7548 if (!buf) { 7549 return; 7550 } 7551 sal_memset(buf, 0, len); 7552 CM_DB_LOCK(); 7553 p = head; 7554 while (p != NULL) { 7555 size_words = (p->size + 3) / 4; 7556 LOG_CLI((BSL_META("Info p=:%p: Start :0x%x: Desc:%s: Size:%d:" 7557 "ModifiedSize:%d End:0x%x\n"), 7558 p, p->start_sentinel, p->description, p->size, 7559 p->modified_size, p->user_data[size_words])); 7560 rc = sal_snprintf(buf, len, 7561 "Info p=:%p: Start :0x%x: Desc:%s: Size:%d:" 7562 "ModifiedSize:%d End:0x%x\n", 7563 p, p->start_sentinel, p->description, p->size, 7564 p->modified_size, p->user_data[size_words]); 7565 len -= rc; 7566 if (len < CM_BUF_SZ) { 7567 break; 7568 } 7569 p = p->next; 7570 } 7571 CM_DB_UNLOCK(); 7572 LOG_CLI((BSL_META("%s"), buf)); 7573 LOG_CLI((BSL_META("==================== SHARED MEMORY INFO(END) \ 7574 ===========\n"))); 7575 sal_free(buf); 7576 } 7577 return; 7578 } 7579 #endif 7580 7581 /* 7582 * Function: soc_cm_sflush 7583 * Purpose: Perform a cache flush on a memory region, if required. 7584 * 7585 * Parameters: dev - device handle 7586 * addr - memory region 7587 * length - size of region 7588 * 7589 * Returns: SOC_E_XXX 7590 */ 7591 7592 int 7593 soc_cm_sflush(int dev, void *addr, int length) 7594 { 7595 #ifdef BROADCOM_DEBUG 7596 shared_block_t *p = NULL; 7597 char buf[CM_BUF_SZ]; 7598 int rc = 0; 7599 #endif 7600 if (CMVEC(dev).sflush) { 7601 #ifdef BROADCOM_DEBUG 7602 if (soc_cm_debug_property_get(dev)) { 7603 CM_DB_LOCK(); 7604 p = (shared_block_t *) (((char*)addr) - 7605 ( (((char*)&(((shared_block_t*)0)->user_data[0]))) - ((char*)(shared_block_t*)0) )); 7606 if (soc_cm_shared_good_range(dev, p)) { 7607 /* Cannot use assert as counter thread is using middle address!! */ 7608 if (SHARED_GOOD_START(p) && SHARED_GOOD_END_DEBUG(p)) { 7609 /* assert(SHARED_GOOD_START(p)); */ 7610 /* assert(SHARED_GOOD_END(p)); */ 7611 if (length > p->size) { 7612 rc = sal_snprintf(buf, sizeof(buf), 7613 "Suspicious DMA length: " 7614 "Desc:%s: Size:%u: length:%u\n", 7615 p->description, p->size, length); 7616 } 7617 } 7618 } else { 7619 rc = sal_snprintf(buf, sizeof(buf), 7620 "ERROR:ATTN: Address:%p:" 7621 "probably not in shared memory region \n", p); 7622 } 7623 CM_DB_UNLOCK(); 7624 if (rc > 0 && rc < sizeof(buf)) { 7625 LOG_ERROR(BSL_LS_SOC_COMMON, 7626 (BSL_META("%s"), buf)); 7627 } 7628 } 7629 #endif 7630 return CMVEC(dev).sflush(&CMDEV(dev).dev, addr, length); 7631 } 7632 7633 return SOC_E_NONE; 7634 } 7635 7636 /* 7637 * Function: soc_cm_sinval 7638 * Purpose: Invalidate a memory region, if required. 7639 * 7640 * Parameters: dev - device handle 7641 * addr - memory region 7642 * length - size of region 7643 * 7644 * Returns: SOC_E_XXX 7645 */ 7646 7647 int 7648 soc_cm_sinval(int dev, void *addr, int length) 7649 { 7650 if (CMVEC(dev).sinval) { 7651 return CMVEC(dev).sinval(&CMDEV(dev).dev, addr, length); 7652 } 7653 7654 return SOC_E_NONE; 7655 } 7656 7657 /* 7658 * Function: soc_cm_l2p 7659 * Purpose: Perform a logical (CPU relative) to 7660 * physical (chip relative) address translation. 7661 * 7662 * Parameters: dev - device handle 7663 * addr - address to translate. 7664 * 7665 * Returns: The translated address. 7666 * 7667 * Note: The return value is the translated address. 7668 * Positive values are valid, and should not be interpreted as error. 7669 * 7670 * This translation occurs in the context of driver <-> 7671 * chip communications. * This means that this function may 7672 * have to provide more than * a virtual mapping 7673 * translation -- if the device is configured to use * a 7674 * different physical *bus* address as well, then this 7675 * function must provide that also. 7676 * 7677 * The intent here is to share the memory in question with 7678 * the hardware, * so this function must return an address 7679 * that makes sense with respect to the hardware, as well. 7680 */ 7681 7682 sal_paddr_t 7683 soc_cm_l2p(int dev, void *addr) 7684 { 7685 if (CMVEC(dev).l2p) { 7686 return CMVEC(dev).l2p(&CMDEV(dev).dev, addr); 7687 } 7688 7689 return (sal_paddr_t)(sal_vaddr_t)addr; 7690 7691 } 7692 7693 /* 7694 * Function: soc_cm_p2l 7695 * Purpose: Perform a physical (chip relative) to logical 7696 * (CPU relative) address translation. 7697 * 7698 * Parameters: dev - device handle 7699 * addr - address to translate. 7700 * 7701 * Returns: The logical address. 7702 * 7703 * Note: The return value is the logical address. 7704 * Positive values are valid, and should not be interpreted as error. 7705 * 7706 * See soc_cm_p2l() (above) for requirements. 7707 */ 7708 7709 void* 7710 soc_cm_p2l(int dev, sal_paddr_t addr) 7711 { 7712 if (CMVEC(dev).p2l) { 7713 return CMVEC(dev).p2l(&CMDEV(dev).dev, addr); 7714 } 7715 7716 return (void *)(sal_vaddr_t)addr; 7717 } 7718 7719 /* 7720 * Function: soc_cm_spi_read 7721 * Purpose: Perform a device register read via spi interface 7722 * 7723 * Parameters: dev - device handle 7724 * addr - address to read. 7725 * buf - a buffer to store the data of the read register. 7726 * len - length to read. 7727 * 7728 * Returns: -1 if error, otherwise 0 (or actual bytes read) 7729 */ 7730 7731 int 7732 soc_cm_spi_read(int dev, uint32 addr, uint8 *buf, int len) 7733 { 7734 if (CMVEC(dev).spi_read) { 7735 return CMVEC(dev).spi_read(&CMDEV(dev).dev, addr, buf, len); 7736 } 7737 7738 return -1; 7739 } 7740 7741 /* 7742 * Function: soc_cm_spi_write 7743 * Purpose: Perform a device register write via spi interface 7744 * 7745 * Parameters: dev - device handle 7746 * addr - address to write. 7747 * buf - a buffer to store the data of the write register. 7748 * len - length to write. 7749 * 7750 * Returns: -1 if error, otherwise 0 (or actual bytes written) 7751 */ 7752 7753 int 7754 soc_cm_spi_write(int dev, uint32 addr, uint8 *buf, int len) 7755 { 7756 if (CMVEC(dev).spi_write) { 7757 return CMVEC(dev).spi_write(&CMDEV(dev).dev, addr, buf, len); 7758 } 7759 7760 return -1; 7761 } 7762 7763 /* 7764 * Function: soc_cm_iproc_read 7765 * Purpose: Read iProc register outside CMIC 7766 * 7767 * Parameters: dev - device handle 7768 * addr - address to read 7769 * 7770 * Returns: Register value 7771 */ 7772 7773 uint32 7774 soc_cm_iproc_read(int dev, uint32 addr) 7775 { 7776 #if defined(BCM_ESW_SUPPORT) || defined(BCM_SAND_SUPPORT) 7777 uint32 regval; 7778 7779 #if defined(IPROC_ACCESS_DEBUG) && (defined(BCM_DNX_SUPPORT) || defined(BCM_DNXF_SUPPORT)) 7780 if (SOC_IS_DNX(dev) || SOC_IS_DNXF(dev)) { 7781 assert(addr >= 0x80000); /* check that the address is in the currently supported address range of the iproc BAR in Jericho 2 and Ramon */ 7782 } 7783 #endif /* IPROC_ACCESS_DEBUG) && (defined(BCM_DNX_SUPPORT) || defined(BCM_DNXF_SUPPORT) */ 7784 7785 /* accessing some iProc registers will hang the system when uC is shut down, need to block the operation */ 7786 if (((IS_IHOST_S0_ADDR(addr)) || (IS_IHOST_ACP_ADDR(addr))) && 7787 (SOC_REG_IS_VALID(dev, CRU_IHOST_PWRDWN_STATUSr)) && 7788 (SOC_REG_FIELD_VALID(dev, CRU_IHOST_PWRDWN_STATUSr, LOGIC_PWRDOWN_CPU0f)) && 7789 (addr != soc_reg_addr(dev, CRU_IHOST_PWRDWN_STATUSr, REG_PORT_ANY, 0)) && 7790 (CMVEC(dev).iproc_read)) { 7791 regval = CMVEC(dev).iproc_read(&CMDEV(dev).dev, soc_reg_addr(dev, CRU_IHOST_PWRDWN_STATUSr, REG_PORT_ANY, 0)); 7792 if (soc_reg_field_get(dev, CRU_IHOST_PWRDWN_STATUSr, regval, LOGIC_PWRDOWN_CPU0f) == 1) { 7793 LOG_CLI((BSL_META("Error: the uC has been shut down, cannot read iproc register addr=0x%x.\n"), addr)); 7794 return 0; 7795 } 7796 } 7797 #endif 7798 7799 if (CMVEC(dev).iproc_read) { 7800 #if defined(SOC_PCI_DEBUG) && defined(IPROC_ACCESS_DEBUG) 7801 uint32 res = CMVEC(dev).iproc_read(&CMDEV(dev).dev, addr); 7802 LOG_DEBUG(BSL_LS_SOC_PCI, ("u=%d iprocR(0x%x)=0x%x\n", dev, (unsigned)addr, (unsigned)res)); 7803 return res; 7804 #else 7805 return CMVEC(dev).iproc_read(&CMDEV(dev).dev, addr); 7806 #endif 7807 } 7808 7809 return 0; 7810 } 7811 7812 /* 7813 * Function: soc_cm_iproc_write 7814 * Purpose: Write iProc register outside CMIC 7815 * 7816 * Parameters: dev - device handle 7817 * addr - address to write 7818 * val - register value 7819 * 7820 * Returns: None 7821 */ 7822 7823 void 7824 soc_cm_iproc_write(int dev, uint32 addr, uint32 val) 7825 { 7826 #if defined(BCM_ESW_SUPPORT) || defined(BCM_SAND_SUPPORT) 7827 uint32 regval; 7828 7829 #if defined(SOC_PCI_DEBUG) && defined(IPROC_ACCESS_DEBUG) 7830 LOG_DEBUG(BSL_LS_SOC_PCI, ("u=%d iprocW(0x%x)=0x%x\n", dev, (unsigned)addr, (unsigned)val)); 7831 #endif 7832 #if defined(IPROC_ACCESS_DEBUG) && (defined(BCM_DNX_SUPPORT) || defined(BCM_DNXF_SUPPORT)) 7833 if (SOC_IS_DNX(dev) || SOC_IS_DNXF(dev)) { 7834 assert(addr >= 0x80000); /* check that the address is in the currently supported address range of the iproc BAR in Jericho 2 and Ramon */ 7835 } 7836 #endif /* IPROC_ACCESS_DEBUG) && (defined(BCM_DNX_SUPPORT) || defined(BCM_DNXF_SUPPORT) */ 7837 7838 /* accessing some iProc registers will hang the system when uC is shut down, need to block the operation */ 7839 if (((IS_IHOST_S0_ADDR(addr)) || (IS_IHOST_ACP_ADDR(addr))) && 7840 (SOC_REG_IS_VALID(dev, CRU_IHOST_PWRDWN_STATUSr)) && 7841 (SOC_REG_FIELD_VALID(dev, CRU_IHOST_PWRDWN_STATUSr, LOGIC_PWRDOWN_CPU0f)) && 7842 (addr != soc_reg_addr(dev, CRU_IHOST_PWRDWN_STATUSr, REG_PORT_ANY, 0)) && 7843 (CMVEC(dev).iproc_read)) { 7844 regval = CMVEC(dev).iproc_read(&CMDEV(dev).dev, soc_reg_addr(dev, CRU_IHOST_PWRDWN_STATUSr, REG_PORT_ANY, 0)); 7845 if (soc_reg_field_get(dev, CRU_IHOST_PWRDWN_STATUSr, regval, LOGIC_PWRDOWN_CPU0f) == 1) { 7846 LOG_CLI((BSL_META("Error: the uC has been shut down, cannot write iproc register addr=0x%x.\n"), addr)); 7847 return; 7848 } 7849 } 7850 #endif 7851 7852 if (CMVEC(dev).iproc_write) { 7853 CMVEC(dev).iproc_write(&CMDEV(dev).dev, addr, val); 7854 } 7855 7856 return; 7857 } 7858 7859 /* 7860 * Note: The return value is the bus type. 7861 * Positive values are valid, and should not be interpreted as error. 7862 */ 7863 7864 uint32 7865 soc_cm_get_bus_type(int dev) 7866 { 7867 return CMVEC(dev).bus_type; 7868 } 7869 7870 /* 7871 * Function: soc_cm_pci_conf_read 7872 * Purpose: Perform a pci config read 7873 * 7874 * Parameters: dev - device handle 7875 * addr - address to read 7876 * 7877 * Returns: Register value 7878 */ 7879 7880 uint32 7881 soc_cm_pci_conf_read(int dev, uint32 addr) 7882 { 7883 if (CMVEC(dev).pci_conf_read) { 7884 return CMVEC(dev).pci_conf_read(&CMDEV(dev).dev, addr); 7885 } 7886 7887 return 0; 7888 } 7889 7890 /* 7891 * Function: soc_cm_pci_conf_write 7892 * Purpose: Perform a pci config write 7893 * 7894 * Parameters: dev - device handle 7895 * addr - address to write. 7896 * data - double word to write 7897 * 7898 * Returns: None 7899 */ 7900 7901 void 7902 soc_cm_pci_conf_write(int dev, uint32 addr, uint32 data) 7903 { 7904 if (CMVEC(dev).pci_conf_write) { 7905 CMVEC(dev).pci_conf_write(&CMDEV(dev).dev, addr, data); 7906 } 7907 7908 return; 7909 } 7910 7911 /* 7912 * Function: soc_cm_get_endian 7913 * Purpose: Returns the required endian configuration for this device. 7914 * 7915 * Parameters: dev - device handle 7916 * pio - (OUTPUT) receives the PIO endian configuration. 7917 * packet - (OUTPUT) receives the PACKET endian configuration. 7918 * other - (OUTPUT) receives the OTHER endian configuration. 7919 * 7920 * Returns: SOC_E_XXX 7921 */ 7922 7923 int 7924 soc_cm_get_endian(int dev, int *pio, int *packet, int *other) 7925 { 7926 *pio = CMVEC(dev).big_endian_pio; 7927 *packet = CMVEC(dev).big_endian_packet; 7928 *other = CMVEC(dev).big_endian_other; 7929 return SOC_E_NONE; 7930 } 7931 7932 /* 7933 * Function: soc_cm_dump 7934 * Purpose: Output configuration information about this device. 7935 * 7936 * Parameters: dev - device handle 7937 * 7938 * Returns: SOC_E_NONE 7939 */ 7940 7941 int 7942 soc_cm_dump(int dev) 7943 { 7944 LOG_CLI((BSL_META("CM: Base=%p\n"), (void *)CMVEC(dev).base_address)); 7945 7946 return SOC_E_NONE; 7947 } 7948 7949 /* 7950 * Function: soc_cm_config_var_get 7951 * Purpose: Gets the value a register should be initialized with when the 7952 * during chip initialization. 7953 * 7954 * Parameters: dev - device handle 7955 * name - name of the register 7956 * 7957 * Returns: A string version of the value. 7958 * 7959 * Note: The return value a string version of reg value. 7960 * String values are valid, and should not be interpreted as error. 7961 * If not found, NULL is returned. 7962 */ 7963 7964 char * 7965 soc_cm_config_var_get(int dev, const char *name) 7966 { 7967 if (CMVEC(dev).config_var_get == NULL) { 7968 return NULL; 7969 } 7970 return CMVEC(dev).config_var_get(&CMDEV(dev).dev, name); 7971 } 7972 7973 7974 /* Provided as a back door for current work-around requirements. 7975 * 7976 * Note: The return value is the base address. 7977 * Positive values are valid, and should not be interpreted as error. 7978 */ 7979 7980 sal_vaddr_t 7981 soc_cm_get_base_address(int dev) 7982 { 7983 return CMVEC(dev).base_address; 7984 } 7985 7986 /* Debug routine to display info about known chips 7987 * 7988 * Returns: None. 7989 */ 7990 void 7991 soc_cm_display_known_devices(void) 7992 { 7993 int i; 7994 uint16 dev_id_driver = 0; 7995 uint8 rev_id_driver = 0; 7996 7997 LOG_CLI((BSL_META("%-8s%-16s%-16s%-16s\n"), 7998 "Index", "Chip", "Chip Dev/Rev", "Driver Dev/Rev")); 7999 8000 for (i = 0; i < COUNTOF(soc_device_info); i++) { 8001 soc_cm_get_id_driver(soc_device_info[i].dev_id, 8002 soc_device_info[i].rev_id, 8003 &dev_id_driver, &rev_id_driver); 8004 8005 LOG_CLI((BSL_META("%-8d%-16s0x%04x 0x%02x 0x%04x 0x%02x\n"), 8006 i, 8007 soc_device_info[i].dev_name, 8008 soc_device_info[i].dev_id, 8009 soc_device_info[i].rev_id, 8010 dev_id_driver, 8011 rev_id_driver)); 8012 } 8013 } 8014 8015 /* 8016 * Purpose: Read a 4 byte word from the device using an I2C connection to the device. 8017 * 8018 * Parameters: 8019 * dev - The device handle (from cm_device_create()) 8020 * addr - The address to access in the internal device address space. 8021 * value - A pointer for storing the value to be read. 8022 * 8023 * Returns: Zero on success. 8024 */ 8025 int 8026 soc_cm_i2c_device_read(int dev, uint32 addr, uint32 *value) 8027 { 8028 return CMVEC(dev).i2c_device_read ? 8029 CMVEC(dev).i2c_device_read(&CMDEV(dev).dev, addr, value) : -1; 8030 } 8031 8032 /* 8033 * Purpose: Write a 4 byte word to the device using an I2C connection to the device. 8034 * 8035 * Parameters: 8036 * dev - The device handle (from cm_device_create()) 8037 * addr - The address to access in the internal device address space. 8038 * value - The value to be written. 8039 * 8040 * Returns: Zero on success. 8041 */ 8042 int 8043 soc_cm_i2c_device_write(int dev, uint32 addr, uint32 value) 8044 { 8045 return CMVEC(dev).i2c_device_write ? 8046 CMVEC(dev).i2c_device_write(&CMDEV(dev).dev, addr, value) : -1; 8047 }