openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

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"