bcm56547sanity.soc (11926B)
1 # 2 # This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 3 # 4 # Copyright 2007-2019 Broadcom Inc. All rights reserved. 5 # 6 # Helix4 BCM56547 / BCM56548 / BCM56548H Sanity 7 # 8 # Script to run all available tests as quickly as possible. 9 # For testing basic sanity of new drivers, simulators, chips, etc. 10 # 11 12 # Set run command script not to fail on errors reported by commands 13 # this allows the script to continue if a test fails 14 set rcerror=false 15 16 # Set up test mode: don't stop on errors, show progress on each test 17 tm -stoponerror +progress 18 # Unselect all 19 ts -* 20 21 # -------------------------------------------- # 22 # BCM56547 config.bcm # 23 # -------------------------------------------- # 24 # portgroup_12=1 25 # portgroup_11=1 26 # portgroup_10=1 27 # portgroup_9=1 28 # portgroup_8=1 29 # portgroup_7=1 30 # portgroup_6=1 31 # portgroup_5=1 32 # portgroup_4=1 33 # portgroup_3=1 34 # portgroup_2=1 35 # portgroup_1=1 36 # portgroup_0=1 37 # 38 # phy_sgmii_autoneg_ge=1 39 # 40 # phy_port_primary_and_offset_ge47=0x2907 41 # phy_port_primary_and_offset_ge46=0x2906 42 # phy_port_primary_and_offset_ge45=0x2905 43 # phy_port_primary_and_offset_ge44=0x2904 44 # phy_port_primary_and_offset_ge43=0x2903 45 # phy_port_primary_and_offset_ge42=0x2902 46 # phy_port_primary_and_offset_ge41=0x2901 47 # phy_port_primary_and_offset_ge40=0x2900 48 # phy_port_primary_and_offset_ge39=0x2107 49 # phy_port_primary_and_offset_ge38=0x2106 50 # phy_port_primary_and_offset_ge37=0x2105 51 # phy_port_primary_and_offset_ge36=0x2104 52 # phy_port_primary_and_offset_ge35=0x2103 53 # phy_port_primary_and_offset_ge34=0x2102 54 # phy_port_primary_and_offset_ge33=0x2101 55 # phy_port_primary_and_offset_ge32=0x2100 56 # phy_port_primary_and_offset_ge31=0x1907 57 # phy_port_primary_and_offset_ge30=0x1906 58 # phy_port_primary_and_offset_ge29=0x1905 59 # phy_port_primary_and_offset_ge28=0x1904 60 # phy_port_primary_and_offset_ge27=0x1903 61 # phy_port_primary_and_offset_ge26=0x1902 62 # phy_port_primary_and_offset_ge25=0x1901 63 # phy_port_primary_and_offset_ge24=0x1900 64 # phy_port_primary_and_offset_ge23=0x1107 65 # phy_port_primary_and_offset_ge22=0x1106 66 # phy_port_primary_and_offset_ge21=0x1105 67 # phy_port_primary_and_offset_ge20=0x1104 68 # phy_port_primary_and_offset_ge19=0x1103 69 # phy_port_primary_and_offset_ge18=0x1102 70 # phy_port_primary_and_offset_ge17=0x1101 71 # phy_port_primary_and_offset_ge16=0x1100 72 # phy_port_primary_and_offset_ge15=0x0907 73 # phy_port_primary_and_offset_ge14=0x0906 74 # phy_port_primary_and_offset_ge13=0x0905 75 # phy_port_primary_and_offset_ge12=0x0904 76 # phy_port_primary_and_offset_ge11=0x0903 77 # phy_port_primary_and_offset_ge10=0x0902 78 # phy_port_primary_and_offset_ge9=0x0901 79 # phy_port_primary_and_offset_ge8=0x0900 80 # phy_port_primary_and_offset_ge7=0x0107 81 # phy_port_primary_and_offset_ge6=0x0106 82 # phy_port_primary_and_offset_ge5=0x0105 83 # phy_port_primary_and_offset_ge4=0x0104 84 # phy_port_primary_and_offset_ge3=0x0103 85 # phy_port_primary_and_offset_ge2=0x0102 86 # phy_port_primary_and_offset_ge1=0x0101 87 # phy_port_primary_and_offset_ge0=0x0100 88 # 89 # pbmp_xport_xe.0=0x3c000000000000 90 # -------------------------------------------- # 91 # Enabling all ports - bcm56547 SKU 92 if $?BCM56547_A0 \ 93 'local pbmge 0x1fffffffffffe; \ 94 local pbmpmgmt 0x2000000000000; \ 95 local pbmxe 0x3c000000000000; \ 96 local pbmhg11 0x0; \ 97 local pbmhg42 0xc0000000000000; \ 98 local pbmport 0xfdfffffffffffe; \ 99 local pbmge25 0x0' 100 101 # -------------------------------------------- # 102 # BCM56548 config.bcm # 103 # -------------------------------------------- # 104 # portgroup_0=1 105 # portgroup_1=1 106 # portgroup_2=1 107 # portgroup_3=1 108 # portgroup_4=1 109 # portgroup_5=1 110 # portgroup_6=1 111 # portgroup_7=1 112 # portgroup_8=1 113 # portgroup_9=1 114 # 115 # phy_sgmii_autoneg_ge=1 116 # 117 # phy_port_primary_and_offset_ge0=0x0100 118 # phy_port_primary_and_offset_ge1=0x0101 119 # phy_port_primary_and_offset_ge2=0x0102 120 # phy_port_primary_and_offset_ge3=0x0103 121 # phy_port_primary_and_offset_ge4=0x0104 122 # phy_port_primary_and_offset_ge5=0x0105 123 # phy_port_primary_and_offset_ge6=0x0106 124 # phy_port_primary_and_offset_ge7=0x0107 125 # phy_port_primary_and_offset_ge8=0x0900 126 # phy_port_primary_and_offset_ge9=0x0901 127 # phy_port_primary_and_offset_ge10=0x0902 128 # phy_port_primary_and_offset_ge11=0x0903 129 # phy_port_primary_and_offset_ge12=0x0904 130 # phy_port_primary_and_offset_ge13=0x0905 131 # phy_port_primary_and_offset_ge14=0x0906 132 # phy_port_primary_and_offset_ge15=0x0907 133 # phy_port_primary_and_offset_ge16=0x1100 134 # phy_port_primary_and_offset_ge17=0x1101 135 # phy_port_primary_and_offset_ge18=0x1102 136 # phy_port_primary_and_offset_ge19=0x1103 137 # phy_port_primary_and_offset_ge20=0x1104 138 # phy_port_primary_and_offset_ge21=0x1105 139 # phy_port_primary_and_offset_ge22=0x1106 140 # phy_port_primary_and_offset_ge23=0x1107 141 # phy_port_primary_and_offset_ge24=0x1900 142 # phy_port_primary_and_offset_ge25=0x1901 143 # phy_port_primary_and_offset_ge26=0x1902 144 # phy_port_primary_and_offset_ge27=0x1903 145 # phy_port_primary_and_offset_ge28=0x1904 146 # 147 # pbmp_xport_xe=0x3fc0000000000 148 # -------------------------------------------- # 149 # Enabling all ports - bcm56548 SKU 150 if $?BCM56548_A0 \ 151 'local pbmge 0x1ffffffe; \ 152 local pbmpmgmt 0x20000000000; \ 153 local pbmhg42 0x4000000000000; \ 154 local pbmport 0x3ffc001ffffffe; \ 155 local pbmge25 0x0; \ 156 local pbmxe 0x3fc0000000000' 157 158 # -------------------------------------------- # 159 # BCM56548H config.bcm # 160 # -------------------------------------------- # 161 # portgroup_0=1 162 # portgroup_1=1 163 # portgroup_2=1 164 # portgroup_3=1 165 # portgroup_4=1 166 # portgroup_5=1 167 # portgroup_6=1 168 # portgroup_7=1 169 # 170 # phy_sgmii_autoneg_ge=1 171 # 172 # phy_port_primary_and_offset_ge0=0x0100 173 # phy_port_primary_and_offset_ge1=0x0101 174 # phy_port_primary_and_offset_ge2=0x0102 175 # phy_port_primary_and_offset_ge3=0x0103 176 # phy_port_primary_and_offset_ge4=0x0104 177 # phy_port_primary_and_offset_ge5=0x0105 178 # phy_port_primary_and_offset_ge6=0x0106 179 # phy_port_primary_and_offset_ge7=0x0107 180 # phy_port_primary_and_offset_ge8=0x0900 181 # phy_port_primary_and_offset_ge9=0x0901 182 # phy_port_primary_and_offset_ge10=0x0902 183 # phy_port_primary_and_offset_ge11=0x0903 184 # phy_port_primary_and_offset_ge12=0x0904 185 # phy_port_primary_and_offset_ge13=0x0905 186 # phy_port_primary_and_offset_ge14=0x0906 187 # phy_port_primary_and_offset_ge15=0x0907 188 # phy_port_primary_and_offset_ge16=0x1100 189 # phy_port_primary_and_offset_ge17=0x1101 190 # phy_port_primary_and_offset_ge18=0x1102 191 # phy_port_primary_and_offset_ge19=0x1103 192 # 193 # pbmp_xport_xe=0x3c0000000000 194 # -------------------------------------------- # 195 # Enabling all ports - bcm56548H SKU 196 if $?BCM56548H_A0 \ 197 'local pbmge 0x1ffffe; \ 198 local pbmpmgmt 0x20000000000; \ 199 local pbmhg42 0x0000000000000; \ 200 local pbmport 0x3ffc001ffffffe; \ 201 local pbmhg11 0x3fc00000000000; \ 202 local pbmge25 0x0; \ 203 local pbmxe 0x3c0000000000' 204 # Turn off Mem cache and Parity checks for mem tests 205 config add mem_cache_enable=0 206 config add parity_enable=0 207 208 if $?BCM56547_A0 \ 209 'echo "testsuite: started: sanity 0xb547"' 210 if $?BCM56548_A0 \ 211 'echo "testsuite: started: sanity 0xb548"' 212 if $?BCM56548H_A0 \ 213 'echo "testsuite: started: sanity 0xb5A"' 214 215 rcload rc.soc 216 counter off 217 l2mode off 218 219 # We need to print out port status since any cabling effects results. 220 *:ps 221 222 if $?1 'local full_test 1' 223 224 # Avoid link messages while testing 225 linkscan off 226 227 init 228 init misc 229 230 local done 'echo " Done"' 231 232 #Display some useful information 233 date 234 ver 235 soc 236 237 #Start Test 238 if !$?ihost_mode \ 239 'echo "Running PCI Compliance ...";\ 240 tr 2;\ 241 $done;' 242 243 if !$?ihost_mode \ 244 'echo "Running PCI S-Channel Buf ...";\ 245 tr 4;\ 246 $done;' 247 248 init soc 249 debug -warn 250 echo "Running Register reset defaults ..." 251 tr 1 252 $done 253 254 echo "Running Register read/write ..." 255 tr 3 mask64 256 $done 257 debug +warn 258 259 rcload rc.soc 260 counter off 261 l2mode off 262 echo "Running CPU Benchmarks (No Mem Cache) ..." 263 tr 21 264 $done 265 266 rcload rc.soc 267 counter off 268 l2mode off 269 linkscan off 270 hx4_mem.soc 271 272 # Re-initialize to clean up of various read/writes to MMU memories 273 rcload rc.soc 274 counter off 275 l2mode off 276 linkscan off 277 278 echo "Running counter width verification test ..." 279 tr 30 280 $done 281 282 echo "Running counter read/write test ..." 283 tr 31 284 $done 285 286 #Hashing tests 287 echo "Hash mem test ..." 288 tr 55 289 290 echo "Running MDIO Linkscan test" 291 tr 60 292 $done 293 294 echo "Testing CPU DMA loopback ..." 295 tr 17 296 $done 297 298 #echo "Testing CPU DMA, Scatter/Gather Reload ..." 299 tr 22 300 #$done 301 302 echo "Testing CPU DMA, Scatter/Gather Simple ..." 303 tr 23 304 $done 305 306 echo "Testing CPU DMA, Scatter/Gather Random ..." 307 tr 24 308 $done 309 310 ps 311 312 #MAC Loopback 313 echo "Testing MAC Loopback - 1 Gb/s all GE ports" 314 tr 18 PortBitMap=$pbmge Speed=1000 315 $done 316 317 echo "Testing MAC Loopback - 2.5 Gb/s GE 2.5 ports" 318 tr 18 PortBitMap=$pbmge25 Speed=2500 319 $done 320 321 echo "Testing MAC Loopback - 10 Gb/s all XE ports" 322 tr 18 PortBitMap=$pbmxe Speed=10G 323 $done 324 325 echo "Testing MAC Loopback - 11 Gb/s all HG ports" 326 tr 18 PortBitMap=$pbmhg11 Speed=11G 327 $done 328 329 echo "Testing MAC Loopback - 42 Gb/s all HG ports" 330 tr 18 PortBitMap=$pbmhg42 Speed=42G 331 $done 332 333 echo "Testing PHY Loopback - 1 Gb/s all GE ports" 334 tr 19 PortBitMap=$pbmge Speed=1000 335 $done 336 337 echo "Testing PHY Loopback - 2.5 Gb/s GE 2.5 ports" 338 tr 19 PortBitMap=$pbmge25 Speed=2500 339 $done 340 341 echo "Testing PHY Loopback - 10 Gb/s all XE ports" 342 tr 19 PortBitMap=$pbmxe Speed=10G 343 $done 344 345 echo "Testing PHY Loopback - 11 Gb/s all HG ports" 346 tr 19 PortBitMap=$pbmhg11 Speed=11G 347 $done 348 349 echo "Testing PHY Loopback - 42 Gb/s all HG ports" 350 tr 19 PortBitMap=$pbmhg42 Speed=42G 351 $done 352 353 # tr 48 does not work with mix of port types 354 echo "Running MAC loopback V2 on GE ports..." 355 tr 48 pbm=$pbmge sp=1000 356 $done 357 358 echo "Running MAC loopback V2 on XE ports ..." 359 tr 48 pbm=$pbmxe sp=10G 360 $done 361 362 echo "Running MAC loopback V2 on HG ports(11 Gb/s) ..." 363 tr 48 PortBitMap=$pbmhg11 Sp=11G 364 $done 365 366 echo "Running MAC loopback V2 on HG ports(42 Gb/s) ..." 367 tr 48 pbm=$pbmhg42 sp=42G 368 $done 369 370 # tr 49 does not work with mix of port types 371 echo "Running PHY loopback V2 on GE ports ..." 372 tr 49 pbm=$pbmge sp=1000 373 $done 374 375 echo "Running PHY loopback V2 on XE ports ..." 376 tr 49 pbm=$pbmxe sp=10G 377 $done 378 379 echo "Running PHY loopback V2 on HG ports(11 Gb/s) ..." 380 tr 49 PortBitMap=$pbmhg11 Sp=11G 381 $done 382 383 echo "Running PHY loopback V2 on HG ports(42 Gb/s) ..." 384 tr 49 pbm=$pbmhg42 sp=42G 385 $done 386 387 #Internal snake Loopback 388 echo "Running internal snake on GE ports, MAC loopback ..." 389 tr 39 LoopbackMode=MAC snakepath=TWOways PortBitMap=$pbmge 390 $done 391 392 echo "Running internal snake on GE ports, PHY loopback ..." 393 tr 39 LoopbackMode=PHY snakepath=TWOways PortBitMap=$pbmge 394 $done 395 396 echo "Running internal snake on XE ports, MAC loopback ..." 397 tr 39 LoopbackMode=MAC snakepath=TWOways PortBitMap=$pbmxe 398 $done 399 400 echo "Running internal snake on XE ports, PHY loopback ..." 401 tr 39 LoopbackMode=PHY snakepath=TWOways PortBitMap=$pbmxe 402 $done 403 404 #Traffic Test 405 echo "Running Traffic Test on GE ports in MAC mode ..." 406 tr 72 RunMode=MAC PortBitMap=$pbmge c=10 sp=1000 407 $done 408 409 #Traffic Test 410 echo "Running Traffic Test on GE 2.5 ports in MAC mode ..." 411 tr 72 RunMode=MAC PortBitMap=$pbmge25 c=10 sp=2500 412 $done 413 414 echo "Running Traffic Test on GE ports in PHY mode ..." 415 tr 72 RunMode=PHY PortBitMap=$pbmge c=10 sp=1000 416 $done 417 418 echo "Running Traffic Test on XE ports in MAC mode ..." 419 tr 72 RunMode=MAC PortBitMap=$pbmxe c=10 sp=10G 420 $done 421 422 echo "Running Traffic Test on XE ports in PHY mode ..." 423 tr 72 RunMode=PHY PortBitMap=$pbmxe c=10 sp=10G 424 $done 425 426 echo "Running Traffic Test on HG ports in MAC mode ..." 427 tr 72 RunMode=MAC PortBitMap=$pbmhg42 c=10 sp=42G 428 $done 429 430 echo "Running Traffic Test on HG ports in PHY mode ..." 431 tr 72 RunMode=PHY PortBitMap=$pbmhg42 c=10 sp=42G 432 $done 433 434 435 # Show status 436 date 437 tl 438 local returnCode $? 439 440 echo Tests Complete. Reinitializing ... 441 config refresh 442 rcload rc.soc 443 counter off 444 l2mode off 445 446 # We want to show the return code from the tl command which 447 # lists the results. The automated test infrastructure keys off of this 448 # value 449 echo "testsuite: finished: sanity: $returnCode"