R E L E A S E N O T E S ============================ Broadcom BCM57340 Chimp/Tang/Ape/Kong/Bono Diag Firmwares Copyright (c) 2017 Broadcom Limited All rights reserved. Version 4.5.19.0 (Aug 25, 2017) ================================== 1. Chimp Diag FW (adchimp.bin): . 2. APE diag FW (adape.bin): . 3. KONG diag FW (adkong.bin): . Fixed CFA tests for SR+ FPGA build 4. BONO diag FW (adbono.bin): . 5. CPU test TCL scripts (4.5.18.0): . Version 4.5.18.0 (Mar 31, 2017) ================================== 1. Chimp Diag FW (adchimp.bin): . Add Stratus A1 Chip support 2. APE diag FW (adape.bin): . Add Stratus A1 Chip support 3. KONG diag FW (adkong.bin): . Add Stratus A1 Chip support 4. BONO diag FW (adbono.bin): . Add Stratus A1 Chip support . Problem: CTRL-24899 BONO HDMA failed in customer system Cause: The problem is not observed when ASPM disabled. When ASPM enabled, it takes some time to wake up the PCIE bus. Thus caused the HDMA timeout. Fix: Increase the HDMA timeout value 5. CPU test TCL scripts (4.5.18.0): . Improve the Chimp/Ape/Kong/Bono debug trace ability Version 4.5.17.0 (Feb 12, 2017) ================================== 1. Chimp Diag FW (adchimp.bin): . Improved CAG test, test all entries within a ring; 2. APE diag FW (adape.bin): . 3. KONG diag FW (adkong.bin): . Improved CAG test, test all entries within a ring; 4. BONO diag FW (adbono.bin): . Improved CAG test, test all entries within a ring; 5. CPU test TCL scripts (4.5.17.0): . Use $::current(TOTAL_DEV) instead of $::MAX_NETW_PHY_PORTS($::current(CHIP_CFG)) to determine how many network ports are available . Improved CAG test, test every entry in a compl ring Version 4.5.16.0 (Jan 06, 2017) ================================== 1. Chimp Diag FW (adchimp.bin): . Support SR chip; 2. APE diag FW (adape.bin): . Support SR chip; 3. KONG diag FW (adkong.bin): . Support SR chip; 4. BONO diag FW (adbono.bin): . Support SR chip; . Update TAU context to p4p5 5. CPU test TCL scripts (4.5.13.0): . add diagread command to read chimp/ape/kong/bono registers. xxx is cpu name, can be chimp/ape/bono/kong; . add diagwrite to write chimp/ape/kong/bono registers. Version 4.5.15.0 (Nov 23, 2016) ================================== 1. Chimp Diag FW (adchimp.bin): . add diag trace support; 2. APE diag FW (adape.bin): . add diag trace support; 3. KONG diag FW (adkong.bin): . add diag trace support; 4. BONO diag FW (adbono.bin): . add diag trace support; 5. CPU test TCL scripts (4.5.13.0): . add diagtrace command to dump chimp/ape/kong/bono diag FW trace. xxx is cpu name, can be chimp/ape/bono/kong; . add diagfb to fastboot diagfw . add diagtest to do one test Version 4.5.13.0 (Aug 12, 2016) ================================== 1. Chimp Diag FW (adchimp.bin): . Use "DIAG" as new image signature; 2. APE diag FW (adape.bin): . Use "DIAG" as new image signature; 3. KONG diag FW (adkong.bin): . Use "DIAG" as new image signature; 4. BONO diag FW (adbono.bin): . Use "DIAG" as new image signature; 5. CPU test TCL scripts (4.5.13.0): . improve the driver unload routine . remove a print in STAT tests Version 4.5.12.0 (Jun 28, 2016) ================================== 1. Chimp Diag FW (adchimp.bin): . Added test id to enable/disable IPC interrupt. Disable the IPC interrupt by default. . Remove the NVRAM dynamic flash clock detection. Flash part ID will always use lowest clock rate, CUMULUS-7584 2. APE diag FW (adape.bin): . Added test id to enable/disable IPC interrupt. Disable the IPC interrupt by default. 3. KONG diag FW (adkong.bin): . Added test id to enable/disable IPC interrupt. Disable the IPC interrupt by default. 4. BONO diag FW (adbono.bin): . Added test id to enable/disable IPC interrupt. Disable the IPC interrupt by default. 5. CPU test TCL scripts (4.5.11.0): . Fixed the problem that the BONO/KONG PTU DMA tests are missed from regression tests . Enable the IPC interrupt before the IPC test and disable the interrupt after the IPC test. Version 4.5.11.0 (Jun 20, 2016) ================================== 1. Chimp Diag FW (adchimp.bin): . Added NVRAM device MX25L6406E support 2. APE diag FW (adape.bin): . 3. KONG diag FW (adkong.bin): . only run the memory test on whole kong2ape space once 4. BONO diag FW (adbono.bin): . 5. CPU test TCL scripts (4.5.11.0): . Use 48 completion ring for level 6 CAG/DB_RING test; . Add Chimp/Bono/Kong DB_RING test case to check out ring status from both GRC and cpu itself; . Increase the timeout value for KONG RATE test in FPGA . Fixed APE/KONG TMP CAM port mask problem for various SKUs that has different total port number. Version 4.5.10.0 (May 20, 2016) ================================== 1. Chimp Diag FW (adchimp.bin): . Expand CAG cmd field to support 4k rings . Necessary changes for Stingray 2. APE diag FW (adape.bin): . Necessary changes for Stingray 3. KONG diag FW (adkong.bin): . Expand CAG cmd field to support 4k rings . Necessary changes for Stingray 4. BONO diag FW (adbono.bin): . Expand CAG cmd field to support 4k rings . Necessary changes for Stingray 5. CPU test TCL scripts (4.5.10.0): . fixed TMP/RMP loopback test failure in one port device . skip RMU internal loopback test for ASIC chip . fixed the Chimp/Bono/Kong CAG test failure in Linux. . fixed a KONG DB_RING test problem Version 4.5.9.0 (May 13, 2016) ================================== 1. Chimp Diag FW (adchimp.bin): . Reset Chimp after PCIE reset; the only exception is that the Chimp is running the PCIE/core reset test; 2. APE diag FW (adape.bin): . Reset Ape after PCIE reset; the only exception is that the Ape is running the PCIE/core reset test; 3. KONG diag FW (adkong.bin): . 4. BONO diag FW (adbono.bin): . 5. CPU test TCL scripts (4.5.9.0): . added option '-no_rst' to not reset core in cpu tests; . skip Ape/Kong Tmp/Rmp loopback test on loopback port; Version 4.5.6.0 (May 06, 2016) ================================== 1. Necessary change to bringup Cu+ chip Version 4.5.5.0 (May 05, 2016) ================================== 1. Necessary change to bringup Cu+ chip Version 4.5.4.0 (May 04, 2016) ================================== 1. Chimp Diag FW (adchimp.bin): . Improve ST STAT test 2. APE diag FW (adape.bin): . Fixed a timer problem 3. KONG diag FW (adkong.bin): . 4. BONO diag FW (adbono.bin): . 5. CPU test TCL scripts (4.5.3.0): . Version 4.5.3.0 (May 03, 2016) ================================== 1. Chimp Diag FW (adchimp.bin): . Improve the DB_RING STAT test, do not use max number of rings in nictest; . Improve the CAG test, do not use max number of rings in nictest; 2. APE diag FW (adape.bin): . 3. KONG diag FW (adkong.bin): . Improve the DB_RING STAT test, do not use max number of rings in nictest; . Improve the CAG test, do not use max number of rings in nictest; 4. BONO diag FW (adbono.bin): . Improve the DB_RING STAT test, do not use max number of rings in nictest; . Improve the CAG test, do not use max number of rings in nictest; 5. CPU test TCL scripts (4.5.3.0): . Improve the DB_RING STAT test, do not use max number of rings in nictest; . Do not run cpu tests on VFs in nictest; . Improve the Chimp/Kong/Bono CAG test, do not use max number of rings in nictest; Version 4.5.2.0 (Apr 27, 2016) ================================== 1. Chimp Diag FW (adchimp.bin): . Improve the DB_RING flush test 2. APE diag FW (adape.bin): . Improve the APE RMU loopback test 3. KONG diag FW (adkong.bin): . Improve the DB_RING flush test . Inrease the RATE TDI timeout value 4. BONO diag FW (adbono.bin): . Improve the DB_RING flush test 5. CPU test TCL scripts (4.5.2.0): . Fixed a DB_RING flush problem; . Run the Ape/Kong TMP/RMP test with complete length in test level 4; In nictest, the test is level 3, only first and last 1/15 pkts are tested; . Apply larger granularity for these tests in nictest: .. KONG TE CFA RATE .. KONG TE CFA AGGRAGATION .. APE RMU loopback .. Chimp HDMA .. KONG HDMA/PDMA .. BONO HDMA/PDMA .. Chimp/Ape/Kong/Bono Timer test .. CPU memory .. Chimp2Ape, Chimp2Kong, Chimp2Bono, Ape/Kong/Bono-2-Chimp space .. APE/KONG TMP_CAM tests . Improve the TMP CAM test for Stingray . Add a seprate PTU DMA test in KONG and BONO nictest: seperate the PTU DMA test from HDMA tests; Previously, the PTU test is incldued in HDMA test. . Seperate Chimp/Kong/Bono PXP client test from HDMA/PTU test Version 4.5.1.0 (Apr 19, 2016) ================================== 1. Chimp Diag FW (adchimp.bin): . Fixed a PXP after_client test problem 2. APE diag FW (adape.bin): . 3. KONG diag FW (adkong.bin): . Added KONG TE_CFA flow ring overflow test . Added KONG TE_CCA flow ring overflow test (CUMULUS-7852 KONG CCA flow ejection entry is corrupted when overflow) 4. BONO diag FW (adbono.bin): . 5. CPU test TCL scripts (4.5.1.0): . Added commands to read/write processor's registers: rdchimp/rdape/rdkong/rdtang/rdbono/wchimp/wape/wtang/wkong/wbono . CTRL-21961: Switch to specific device to do the HDMA test which is associate with that device PF . Added KONG TE_CFA flow ring overflow test . Fixed a HDMA test fid problem for Ax . Added KONG TE_CCA flow ring overflow test Version 4.5.0.0 (Apr 06, 2016) ================================== 1. Chimp Diag FW (adchimp.bin): . Initial support for Stingray; . Config Phase 4.5 RE_VNIC(cring_lookup_table) and RXP(enable)registers to support Stingray STAT test. . Add 4K VF support for host Communication Channel, each channel message is 16B (CuB0 has 128B message length) . Added FLR test for CuB0 and SR(support 4K VF) . Added workaround for Cumulus-7667; Verify the SR FLR fix Cumulus-7668; . Added STAT test for SR, support 4K VF . Fixed CTRL-21926; Add 4K MRRS support for Ax Chimp HDMA. 2. APE diag FW (adape.bin): . Initial support for Stingray; . Disable VDM 3. KONG diag FW (adkong.bin): . Initial support for Stingray; . Add 4K VF support for host Communication Channel, each channel message is 16B (CuB0 has 128B message length) . Support Stingray TE_CFA table oneset ejection; 4. BONO diag FW (adbono.bin): . Initial support for Stingray; . Add 4K VF support for host Communication Channel, each channel message is 16B (CuB0 has 128B message length) . Update TAU test to reflect the phase4.5 TAU_UPDATE message format change. 5. CPU test TCL scripts (4.5.0.0): a. Initial support for Stingray; b. Add 4K VF support for host Communication Channel, each channel message is 16B (CuB0 has 128B message length) c. Do not load driver on VFs for TMP/RMP loopback test. d. Added chimp-2-bono space test e. Update KONG TE_CFA aggregation ejection test to reflect the phase45 change: register location change and support up to 4k counts/ejec; JIRA-7784 f. Reset core after the FLR test; It fixed the PME test failure which is after FLR test; Version 4.0.16.0 (Mar 02, 2016) ================================== 1. Chimp Diag FW (adchimp.bin): . Added CAG test for PFs an VFs; . Raised the command interrupt priority; . Fixed the problem that the bsc command isnot always return same data. . Improved NVRAM init and setup routine to use the clk_divider that can retrieve the device ID correctly. . Added GRC IPC ISR. 2. TANG diag FW (adtang.bin): . removed from B0. 3. APE diag FW (adape.bin): . Fixed TMP/RMP problem that caused by autoneg. 4. KONG diag FW (adkong.bin): . Added CAG test for PFs an VFs; . The RE_CFA_REG_PROF_EM_KEY_CFG_MEM (Offset: 0x1006000) is removed from Cumulus B0, and thus caused the CFA access test failed. Choose another register range RE_CFA_REG_LKUP_TCAM_RECORD_MEM (Offset: 0x1008000) for the test; . Raised the command interrupt priority; . Add a manual test for the RATE ring overflow (JIRA 7430/7459); . Fixed TMP/RMP problem that caused by autoneg. 5. BONO diag FW (adbono.bin): . Added CAG test for PFs an VFs; . Raised the command interrupt priority; 6. CPU test TCL scripts (4.0.16.0): a. Added Chimp/Kong/Bono CAG test for PFs an VFs; b. Fixed invalid return for host communication channel test; c. Fixed Device switching problem. Version 4.0.15.0 (Feb 11, 2016) ================================== 1. Chimp Diag FW (adchimp.bin): . Added DB_RING access test . Added DB_RING flush test . Added DB_RING stat test . Added PXP after_client test 2. TANG diag FW (adtang.bin): . removed from B0. 3. APE diag FW (adape.bin): . 4. KONG diag FW (adkong.bin): . Added DB_RING access test . Added DB_RING flush test . Added DB_RING stat test . Added PXP after_client test 5. BONO diag FW (adbono.bin): . Added DB_RING access test . Added DB_RING flush test . Added DB_RING stat test . Added PXP after_client test 6. CPU test TCL scripts (4.0.15.0): a. Added KONG/Chimp/Bono DB_RING access test; b. Do the CPUs unused block reg test if level >=7; read the first and the last register of each block; c. Added KONG/Chimp/Bono DB_RING flush test; d. Added KONG/BONO DB_RING STAT test for PFs and VFs; e. Added Chimp DB_RING stat test; f. Fastboot KONG/BONO after core reset, CUMULUS-7106; g. Added PXP after_client test; h. Remove PTU DMA from after_client test, after_client feature is only expected to work with physical access not PTU access, CUMULUS-7335 i. 'unload driver' and 'reset core' in the init routine; j. Setup ROCE PFID and System PFID mapping before the Bono After_Client test, CUMULUS-7334; k. Added VF after_client tests for KONG/BONO l. Improve the cpu script, now the '_cpu::load_driver' and '_cpu::unload_driver' can be called from cdiag to load/unload driver for all PFs and VFs. With option to setup max tx/rx ring. m. Check out the PTU DMAZ descriptor PXP error for the after_client test. Version 4.0.14.0 (Jan 14, 2016) ================================== 1. Chimp Diag FW (adchimp.bin): 2. TANG diag FW (adtang.bin): . removed from B0. 3. APE diag FW (adape.bin): . 4. KONG diag FW (adkong.bin): . Added KONG CCA flow periodic tests; . Added some delay in lookup ejections ISR to allow all data come in. . Decreased the flow status clock cycle to walk 16K table faster. . Added KONG CCA flow ring test (single ejections). . Decrese the GRC release id register access in hostDMA test to avoid a cdiag crash/system hang problem. 5. BONO diag FW (adbono.bin): . 6. CPU test TCL scripts (4.0.13.0): a. Do the KONG PTU invalidation from chimp_invalidation registers; It is different from BONO. b. Added KONG CCA flow periodic tests; c. Skip KONG/BONO idle_check in the end of cpu test; It is covered in the CPU test itself; d. Only load driver for the TMP/RMP, TMP_CAM, and STAT tests, other tests do not need the driver; e. Reset core and KONG before the rates tests; the CFA SRAM could be filled out by the traffic related tests thus caused the test failure. f. Reset TE CFA sram0 before and after each test; g. Remove 4kB DMA test from incremental_addresses test; h. Change duplicated rate sub_test IDs. i. Use global variable to store if the chip is Bx to decrease the GRC register access j. Added KONG CCA flow ring test (single ejections) k. Fixed a cdiag crash/system hang issue caused by host memory corruption. Version 4.0.13.0 (Dec 18, 2015) ================================== 1. Chimp Diag FW (adchimp.bin): 2. TANG diag FW (adtang.bin): . removed from B0. 3. APE diag FW (adape.bin): . 4. KONG diag FW (adkong.bin): . Added initial KONG TE_CFA ring tests . Added rollover support to TE_CFA ring0/ring/periodic_flow . added TE_CFA ring test with non_zero table offset . Added TE_CFA ring0 lookup ejection ISR, write all ejected hashes to mailbox for host to read. 5. BONO diag FW (adbono.bin): . Fixed CUMULUS-6931, update FW to reflect the "Bono Update Request Interface Modify QP Init to RTR Data Message" format change. 6. CPU test TCL scripts (4.0.13.0): a. Added KONG TE_CFA ring tests b. Init KONG Rate block after core reset c. Do the PTU invalidation per function; previously it is per function and per resource type. c. Added option 'no_fb' to 'driver load' Version 4.0.12.0 (Dec 04, 2015) ================================== 1. Chimp Diag FW (adchimp.bin): . Do not do the local 4k cross boundary test on Ax . Added expansion rom support. Chimp returns testing data in response to the expansion rom interrupt, the upper 4 bits is PF#, lower 28 bits are offset. 2. TANG diag FW (adtang.bin): . removed from B0. 3. APE diag FW (adape.bin): . 4. KONG diag FW (adkong.bin): . Added KONG TE_CFA single message tests for aggregation type . Do not do the local 4k cross boundary test on Ax . Added KONG TE_CFA single message tests for rate type . Added KONG TE_CFA aggregate type periodic tests . Added KONG TE_CFA rate type periodic tests 5. BONO diag FW (adbono.bin): . 6. CPU test TCL scripts (4.0.12.0): a. Add cpu test level 5, run the complete DMA test on one descriptor, not all descriptor b. Do not do the local 4k cross boundary test on Ax KONG c. Added KONG TE_CFA aggregate type periodic tests d. Added KONG TE_CFA rate type periodic tests e. Update KONG rate counter table, JIRA-6813 Version 4.0.11.0 (Nov 16, 2015) ================================== 1. Chimp Diag FW (adchimp.bin): . Add HDMA test cases for local CPU complete addresses 2. TANG diag FW (adtang.bin): . removed from B0. 3. APE diag FW (adape.bin): . Fixed CUMULUS-6145: Processor loopback (PLB) packet corruption when suspending/resuming APE traffic; . Support VDM message type 112(DEFAULT) with different PF and VF; . Add VDM Request type = 114 MSGD support; 4. KONG diag FW (adkong.bin): . Fixed CUMULUS-6145: Processor loopback (PLB) packet corruption when suspending/resuming APE traffic; . Add HDMA/PTU test cases for local CPU complete addresses 5. BONO diag FW (adbono.bin): . Add HDMA/PTU test cases for local CPU complete addresses 6. CPU test TCL scripts (4.0.11.0): a. Add HDMA test cases for local CPU complete addresses b. Do the processor loopback test only on applicable CPUs Version 4.0.10.0 (Oct 22, 2015) ================================== 1. Chimp Diag FW (adchimp.bin): . 2. TANG diag FW (adtang.bin): . removed from B0. 3. APE diag FW (adape.bin): . Added more TMP CAM test cases since it is fixed (CUMULUS-4289); . Improve the TMP CAM test to cover port_map instead of single port . VDM initial support 4. KONG diag FW (adkong.bin): . Added KONG-2-Ape extension access test; . Added KONG PTU test for type KONG and CFA; . Added more TMP CAM test cases; . Improve the TMP CAM test to cover port_map instead of single port 5. BONO diag FW (adbono.bin): . Added BONO PTU test for type FW; . Code change to verify CUMULUS-5951 (TAU): . TAU context is not get updated after a BONO TAU transfer; . Added more TMP CAM test cases; . Added more TAU context region verification 6. CPU test TCL scripts (4.0.10.0): a. Added KONG-2-Ape extension access test; b. Added BONO PTU test for type FW; c. Added KONG PTU test for type KONG and CFA; d. Get supported cpu list based on CHIP_CFG; e. Added more TMP CAM test cases; f. Improve the TMP CAM test to cover port_map instead of single port. Version 4.0.9.0 (Sep 25, 2015) ================================== 1. Chimp Diag FW (adchimp.bin): . Implemented new workaround for CUMULUS-5971: SW breaks down DMA read requests into MRRS size; there is no side effect to DMA write. 2. TANG diag FW (adtang.bin): . removed from B0. 3. APE diag FW (adape.bin): . 4. KONG diag FW (adkong.bin): . 5. BONO diag FW (adbono.bin): . Added context read/write test 6. CPU test TCL scripts (4.0.9.0): a. Removed the old workaround for CUMULUS-5971: bpe_mps_mrrs reset. b. Added BONO context read/write test Version 4.0.8.0 (Sep 23, 2015) ================================== 1. Chimp Diag FW (adchimp.bin): . Additional code change for the woukaround CUMULUS-5971 2. TANG diag FW (adtang.bin): . removed from B0. 3. APE diag FW (adape.bin): . 4. KONG diag FW (adkong.bin): . 5. BONO diag FW (adbono.bin): 6. CPU test TCL scripts (4.0.8.0): a. Improve the Ax Chimp HDMA read test to cover complete 1B-4K length. b. moved the bpe_mps_mrrs reset to diag_init routine. Version 4.0.7.0 (Sep 21, 2015) ================================== 1. Chimp Diag FW (adchimp.bin): . Fixed WOL problem. . Workaround CUMULUS-5971: Chimp A0 HDMA READ Out of order issue. . Compatible with 4.0.10 header . Use number not bit map for TEST_ID . Fixed a UDMA test problem 2. TANG diag FW (adtang.bin): . removed from B0. . Use number not bit map for TEST_ID 3. APE diag FW (adape.bin): . Compatible with 4.0.10 header . Use number not bit map for TEST_ID 4. KONG diag FW (adkong.bin): . Compatible with 4.0.10 header . Use number not bit map for TEST_ID 5. BONO diag FW (adbono.bin): . Added TAU interrupt test . Compatible with 4.0.10 header . Use number not bit map for TEST_ID . Added BONO Context read/write test; 6. CPU test TCL scripts (4.0.7.8): a. Do not do Chimp-2-Tang IPC test on Bx; b. Do not do the Chimp-2-Tang Space test on Bx; c. Remmoved the Tang access from Chimp uDMA test; e. Do not do Kong2Chimp space test on Bx; f. Use number not bit map for TEST_ID; Version 4.0.6.0 (Sep 14, 2015) ================================== 1. Chimp Diag FW (adchimp.bin): . Fixed WOL problem. 2. TANG diag FW (adtang.bin): . removed from B0. 3. APE diag FW (adape.bin): . TMPCAM changes based on HW change 4. KONG diag FW (adkong.bin): . TMPCAM changes based on HW change 5. BONO diag FW (adbono.bin): . Preliminary TAU support 6. CPU test TCL scripts (4.0.7): a. Do not do the communication channel test on Ax Kong. b. Increase the APE RMU timeout value c. TMPCAM changes based on HW change d. Fixed a PTU complete address problem. Version 4.0.5.0 (Aug 28, 2015) ================================== 1. Chimp Diag FW (adchimp.bin): . 2. TANG diag FW (adtang.bin): . removed from B0. 3. APE diag FW (adape.bin): . 4. KONG diag FW (adkong.bin): . Support PTU DMA with virtual addresses and page table 5. BONO diag FW (adbono.bin): . Support PTU DMA with virtual addresses and page table 6. CPU test TCL scripts (4.0.3): a. Support PTU DMA with virtual addresses and page table b. Invalidate the PTU PBL cache before the PTU DMA test. c. Support PTU DMA Read/Write Complete Length test from 1B-4KB; d. Unload driver before doing Chimp/Ape/Kong/Bono-2-GRC register test. This is to avoid the error message "TX Queue FLUSH didn't complete". e. Fixed CTRL-20928: D5 Chimp test case failed while running nictest. support multiple Cumulus/NS2 NICs in one host system. f. Added PTU DMA complete address support. Version 4.0.4.0 (Aug 19, 2015) ================================== 1. Chimp Diag FW (adchimp.bin): . 2. TANG diag FW (adtang.bin): . removed from B0. 3. APE diag FW (adape.bin): . 4. KONG diag FW (adkong.bin): . Do not enable TMP interrupt for A0 5. BONO diag FW (adbono.bin): . 6. CPU test TCL scripts (4.0.3): . Run KONG TDI RATE interval test only on B0 Version 4.0.3.0 (Aug 12, 2015) ================================== 1. Chimp Diag FW (adchimp.bin): . Reset Bx Chimp HostDMA . Name and location change for 4.0.4 header 2. TANG diag FW (adtang.bin): . removed from B0. 3. APE diag FW (adape.bin): . Add TMP Interrupt service routine . Update TMP/RMP location and name for the 4.0.4 header . CUMULUS-4796: Removed the A0 chip RMU workaround for internal and external loopback test. . Increase the RMU loopback test max packet size to 1522 4. KONG diag FW (adkong.bin): . Add TMP Interrupt service routine: KONG TMP interrupt doesn't work well in Ax. In B0, the problem is fixed. BUG: CUMULUS-3766; . Added host communication channel test . Name and location change for 4.0.4 header . Fixed CUMULUS-4064: Change the RATE TDI block to new location for B0; using new bits for interrupts. 5. BONO diag FW (adbono.bin): . Added PL330 test . Added BONO hostDMA . Added host communication channel test, fixed CUMULUS-5541 6. CPU test TCL scripts (4.0.3): . Reset TMP processor control before TMP/RMP loopback test . Added KONG and Bono host communication test . Added KONG RATE-TDI interval test . Before APE TMP/RMP test, reset both APE TMP component reset and GRC-TMP block processor buffer Version 4.0.1.0 (July 23, 2015) ================================== 1. Chimp Diag FW (adchimp.bin): . Initial Cumumulus B0 and NS2 B0 support . Ported KONG Ax HostDMA to Chimp 2. TANG diag FW (adtang.bin): . removed from B0. 3. APE diag FW (adape.bin): . Initial Cumumulus B0 support . Support Loopback bit in TMP header . TMP CAM new change . Ported KONG Ax TMP/RMP to Ape 4. KONG diag FW (adkong.bin): . Initial Cumumulus B0 support . Support Loopback bit in TMP header 5. BONO diag FW (adbono.bin): . Added HostDMA . TMP CAM new change 6. CPU test TCL scripts (4.0.1): . Initial Cumumulus B0 and NS2 B0 support . Move RE_VNIC blcok to new location . TMP CAM new change . For NS2, remove the test that relates to other CPUs Version 3.0.20.0 (Jun 22, 2015) ================================== 1. Chimp Diag FW (adchimp.bin): . Chimp-2-Bono IPC . Increased the mailbox size to 0x400B . Increased the Chimp CODE_SIZE for the expanding FW. . Added Chimp I2C loopback test . Added SFP support 2. TANG diag FW (adtang.bin): . Increased the mailbox size to 0x400B . Compiled with 4.0 header (TMP/RMP location change) 3. APE diag FW (adape.bin): . Increased the mailbox size to 0x400B . Compiled with 4.0 header (TMP/RMP location change) 4. KONG diag FW (adkong.bin): . Increased the mailbox size to 0x400B . Compiled with 4.0 header (RATE location change) 5. BONO diag FW (adbono.bin): . Increased the mailbox size to 0x400B . Added Host Communication test . Added CentComm test . Support Mutex register test . Support Event test . Support Timer test . Support IPC test . Support PL330 uDMA channel 1-7 test . Support PL330 large data DMA from variable sources to destinations . Support Scratch pad test . Support Bono-2-Chimp space test . Support GRC space test 6. CPU test TCL scripts (3.0.20.0): . Initial Bono support . Increased the mailbox size to 0x400B . Decreased the Chimp HostDMA test time by half for SysOP. . Add option to support Chimp SFP data retrieval Version 3.0.14.0 (May 21, 2015) ================================== Change the Version number: Version 3.0.x.x : for phase 3; Version 3.5.x.x : for phase 3.5; Version 3.7.x.x : for phase 3.7; Version 4.0.x.x : for phase 4; 1. Chimp Diag FW (adchimp.bin): . Do the PME assertion in PME test by default. Only in Linux, disable PCIE PME and only check the PME status 2. TANG diag FW (adtang.bin): . 3. APE diag FW (adape.bin): . Add both RMU external loopback and internal loopback test to nictest. 4. KONG diag FW (adkong.bin): . 5. BONO diag FW (adbono.bin, not released): . Initial support 6. CPU test TCL scripts (3.0.14.0): . Get the system port count for all possible NVRAM configuration. . Run APE GPIO only on FPGA or Palladium. . Do the PME assertion in PME test by default. Only in Linux, disable PCIE PME and only check the PME status Version 3.13.0 (May 12, 2015) ================================== 1. Chimp Diag FW (adchimp.bin): . Dump PCIE reset counter and core reset coounter to mailbox; . Run the PME test on confited port only. 2. TANG diag FW (adtang.bin): . Dump PCIE reset counter and core reset coounter to mailbox; 3. APE diag FW (adape.bin): . Added 'tx_only' option to RMU test to have RMU send packet out; . Added APE core dumpt routine . Dump PCIE reset counter and core reset coounter to mailbox; . Workaround RMU memory fifo issue: .. Problem: instead of passing read/write of 0-383 to mem0 and read/write of 384-767 to mem1, we pass the lower 9 bits of read/write addresses directly to both memories and turn on mem1_sel when index is more than 383. Therefore anything written to after index 384 are lost/corrupted; Both ingress and egress have problem. .. Current work around: reset RMU before transmit a packet and/or after receive a packet; big delay before reset to make sure the packet goes out the port. The reset include the APE RMU component reset (offset 0xdc bit 12 and 13), and RMU ingress/ egress mac control reset. 4. KONG diag FW (adkong.bin): . Previous KONG CFA test used CFA offset 0x8 register. It is not unique from kong-GRC and kong-CFA interface and caused test failed after host CFA test. The fix is to change the test to use another register 0x88. . Fixed KONG Timer failure for chip. . Clean Chimp CentComm space after Kong-2-Chimp space test to avoid the Chimp act on the junk data. . Fixed the KONG host DMA test failure in some system: In slow system, it takes longer time for KONG to complete host DMA with multiple reads. The fix is to check that the first DW get DMAed to KONG for all reads before cheking for Interrupt and Data integrity. . Do not reset Chimp after uDMA test. 5. BONO diag FW (adbono.bin, not released): . Initial support 6. cpu test TCL scripts (3.11.0): . Display the PCIE reset counter and Core reset counter for the PCIE/ Core reset test; . Instead of testing STAT/HostDMA/CommChnl with MAX_NETW_PHY_PORTS, using the configed ports number that retunred by 'lmdev get_phy_core_cfg'. Run the TMP/RMP test on confited port and loopback port. Version 3.11.0 (April 24, 2015) ================================== 1. Chimp Diag FW (adchimp.bin): . Get chip_cfg information from GRC space dynamically. . Use 12b/7b fid for realchip/FPGA hostDMA. . Use GRC space to determine if the HW is FPGA. 2. TANG diag FW (adtang.bin): . Get chip_cfg information from GRC space dynamically. . Use GRC space to determine if the HW is FPGA. 3. APE diag FW (adape.bin): . Get chip_cfg information from GRC space dynamically. . Use GRC space to determine if the HW is FPGA. 4. KONG diag FW (adkong.bin): . Get chip_cfg information from GRC space dynamically. . Use GRC space to determine if the HW is FPGA. 5. BONO diag FW (adbono.bin, not released): . Initial support 6. cpu test TCL scripts (3.11.0): . Return to original device after the nictest . Add test coverage granularities. a. Minimum b. A bit more than minimum: +shmem; +one grc block c. Standard: +complete eth ; + KONG idle check d. More than standard: +scpad, complete hdma, 2nd grc block e. Complete test w/o GRC f. Complete test w/ GRC . Add an option to check if the FW is running before the test, if the FW is running, do not load the FW to scpad and kick start fastboot. . Do not run the 'dev vf_en' command and run vf tests if the PF does not support VF, or VF is disabled. Version 3.10.0 (April 02 , 2015) ================================== 1. Chimp Diag FW (adchimp.bin): . Linux kennel respond to the PME assertion and thus cause the test failure. The solution is to not enable PCIE PME in Linux platform and only check the PME status; we still enable the PME assertion in DOS platform. 2. TANG diag FW (adtang.bin): . 3. APE diag FW (adape.bin): . 4. KONG diag FW (adkong.bin): . 5. cpu test TCL scripts (3.8.0): . Added '-b', block option to support nictest - cpu groups. Supported blks: {apespace bonospace centcomm cfa chimpspace commchnl event eth gpio grcreg hdma i2c idle ipc kongspace mutex nvram pme rate rmu scpad shmem smb stat tangspace timer tmpcam udma} . Support Linux host memory allocation; pass physical address to diagFWs for host DMA related operation. Changed 'hmem alloc' to 'hmem palloc' with 'hmem paddr [hmem palloc]' for DMA operation. . skip all vf related operation if option '-no_vf' entered. . unload driver in the end of test . set sub command id to do or not to do the PME assertion test based on the OS types (Linux/DOS/UEFI). Version 3.9.0 (Mar 20 , 2015) ================================== 1. Chimp Diag FW (adchimp.bin): . Added Core reset test 2. TANG diag FW (adtang.bin): . Added Core reset test . Added TMP management CAM test 3. APE diag FW (adape.bin): . Added Core reset test . Added TMP management CAM test 4. KONG diag FW (adkong.bin): . Added IDLE check . Added TMP management CAM test . Clean R5 CentComm-R after the test; otherwise, the RomCode will pose strang status. . Halt Chimp before the PL330 large data test and reset Chimp after that. The test move data from KONG Rom space to Chimp scpad. 5. cpu test TCL scripts (3.8.0): . Added IDLE check; . Changed RXP set up to not route the pkt to RE when doing CPU TMP/RMP loopback test; . Do not reset other cpu in fini {}; . Use R5 reset, not SW_reset for KONG reset routine; . do 'driver poll' in STAT test to avoid the CAG IDLE check failure; . Added KONG idle check after whole cpu test; . Triple the TDI RATE pace_time to avoid the RATE_INF_BPRES_INT; Version 3.8.0 (Mar 04 , 2015) ================================== 1. Chimp Diag FW (adchimp.bin): . 2. TANG diag FW (adtang.bin): . TANG Firmware should check bit0 of proc_status for the processor to see if 512 + 4kbyte queue is empty before queuing next packet 3. APE diag FW (adape.bin): . APE Firmware should check bit0 of proc_status for the processor to see if 512 + 4kbyte queue is empty before queuing next packet 4. KONG diag FW (adkong.bin): . KONG Firmware should check bit0 of proc_status for the processor to see if 2K + 4kbyte queue is empty before queuing next packet 5. cpu test TCL scripts (3.8.0): . Added KONG HDMA read/write test for all possible addresses within 4K boundary . Added Chimp HDMA write test for all possible addresses within 4K boundary . Do not load driver for CM_E PF 2&3 to avoid Chimp STAT test failure. Version 3.7.0 (Feb 25 , 2015) ================================== 1. Chimp Diag FW (adchimp.bin): . Added concurrent test . Added CommChnl stress test 2. TANG diag FW (adtang.bin): . Added concurrent test . Added corrupted pkt counter for PLB RXP test . Workaround CUMULUS-4094, check the TMP proc status register for idle before send pkt. If not idle, report error and drop the pkt 3. APE diag FW (adape.bin): . Added concurrent test . Added corrupted pkt counter for PLB RXP test . Workaround CUMULUS-4094, check the TMP proc status register for idle before send pkt. If not idle, report error and drop the pkt 4. KONG diag FW (adkong.bin): . Added concurrent test . Added TDI RATE test code . Added one-shot TDI RATE stress test . Added corrupted pkt counter for PLB RXP test . Added more PL330 large data test: .. From Rom space to ChimpSPAD .. From Rom space to KONG ATCM_CFG .. From Rom space to both ChimpSPAD and ATCM_CFG . Workaround CUMULUS-4094, check the TMP proc status register for idle before send pkt. If not idle, report error and drop the pkt 5. cpu test TCL scripts (3.7.0): . Added KONG TDI RATE test . Added KONG one-shot TDI RATE stress test . Fixed KONG-2-Chimp IPC problem. . Added more PL330 large data test: Version 3.6.0 (Feb 11 , 2015) ================================== 1. Chimp Diag FW (adchimp.bin): . enable event2 by default. . do not swap data is the processor is in PLB mode 2. TANG diag FW (adtang.bin): . enable event2 by default. . do not swap data is the processor is in PLB mode 3. APE diag FW (adape.bin): . enable event2 by default. . Fixed a RMU receiving problem. . do not swap data is the processor is in PLB mode 4. KONG diag FW (adkong.bin): . Increased kONG-2-Chimp IPC timeout value . do not swap data is the processor is in PLB mode . added CFA test 5. cpu test TCL scripts (3.6.0): . use $current(CHIP_BUILD) to determine the timeout value for loading FW. . added CFA test Version 3.5.0 (Feb 04 , 2015) ================================== 1. Chimp Diag FW (adchimp.bin): . 2. TANG diag FW (adtang.bin): . Disable RMP interrupt when doing TMP only test . support continuous traffic 3. APE diag FW (adape.bin): . Disable RMP interrupt when doing TMP only test . Verify RMU receiving length, minus 4B CRC . support continuous traffic 4. KONG diag FW (adkong.bin): . Disable RMP interrupt when doing TMP only test . support continuous traffic 5. cpu test TCL scripts (3.5.1): . Added "-eth_ctrl loop" option to continuously transmit packets; . Added "-eth_ctrl resume/pause/exit" to control the eth test. . add 'no_drv' option to skip driver load/unload; . do 'driver unload; reset core; driver load' before traffic test; . do not do diag_init if fastboot_only, or check_result; . Fixed PLB RMP setup problem. . Provided "set/stop/resume" options to '-plb'. Version 3.4.0 (Jan 23 , 2015) ================================== 1. Chimp Diag FW (adchimp.bin): . 2. TANG diag FW (adtang.bin): . Added GPIO test . Added PLB (processor loopback mode) 3. APE diag FW (adape.bin): . Added GPIO test . Fixed CUMULUS 3803, Now, KCSa nd URD reset and status_change also trigger INT #20 . Added PLB (processor loopback mode) 4. KONG diag FW (adkong.bin): . Added Timer test . Fixed a HostDMA bug . Added PLB (processor loopback mode) 5. cpu test TCL scripts (3.4): . Added PLB (processor loopback mode), use option '-plb' to 'set/stop' . Added 'eth_ctrl' option to set CPU to trnasmit only mode; . Added APE-2-GRC register test . Added GPIO test Version 3.3.0 (Jan 15 , 2015) ================================== 1. Chimp Diag FW (adchimp.bin): . Modify Chimp-2-Kong IPC test to use DW access to KONG CentComm. 2. TANG diag FW (adtang.bin): . Workaround CUMULUS-3702, send the loopback header as part of data, do not set loopback header bit in TMP command; . For loopback port, the max supported TMP lenght is 2043, not 2047, because of CUMULUS-3702. . process Chdr_hdr in RMP header 3. APE diag FW (adape.bin): . Add I2C test . Workaround CUMULUS-3702, send the loopback header as part of data, do not set loopback header bit in TMP command. . process Chdr_hdr in RMP header . For loopback port, the max supported TMP lenght is 2043, not 2047, because of CUMULUS-3702. 4. KONG diag FW (adkong.bin): . Added host DMA read and write test, support up to 8 transaction at same time. . Added stack init routine . Use both ATCM and ATCM_CFG as scpad, update related fastboot, memory test code, mailbox; . Added TMP/RMP loopback test for regular and loopback port . Added CentComm read/write test . For loopback port, the max supported TMP lenght is 2043, not 2047, because of CUMULUS-3702. 5. cpu test TCL scripts (3.3): . Added KONG host DMA test: . for each PF, do random read . for each PF, do random write . for each PF, do mixed random read or write . for mixed random read or write with mixed PF . for each descriptor, do complete read (1B-4KB) with PF0 . for each descriptor, do complete write (1B-4KB) with PF0 . do random read or write with each VF . Added KONG TMP/RMP test . Added APE I2C test . Added KONG CentComm read/write test . For loopback port, the max supported TMP lenght is 2043, not 2047, because of CUMULUS-3702. . Added KONG-2-GRC test case . Reset VIC before loading KONG FW. Version 3.2.0 (December 13 , 2014) ================================== 1. Chimp Diag FW (adchimp.bin): . Added Chimp-2-KONG space test 2. TANG diag FW (adtang.bin): . 3. APE diag FW (adape.bin): . 4. KONG diag FW (adkong.bin, not released yet): . Added KONG event event ISR . Added KONG-2-Chimp IPC . Adjust KONG timer register offset . Post KONG diag_progress . Added KONG UDMA test . Updated large data test for KONG PL330 5. cpu test TCL scripts (3.2): . Preliminary check in for KONG diag Version 3.1.0 (December 04 , 2014) ================================== 1. Chimp Diag FW (adchimp.bin): . Get correct MRRS value during hostdma init routine. 2. TANG diag FW (adtang.bin): . 3. APE diag FW (adape.bin): . Add SMBUS loopback test 4. KONG diag FW (adkong.bin, not released yet): . 5. cpu test TCL scripts (3.1): . Modify STAT DMA test to use 13 bits FID. . Add option '-smbus' to do the APE SMBUS loopback test . reset PXP and Echo twice before hostDMA test Version 3.0.0 (November 24 , 2014) ================================== 1. Chimp Diag FW (adchimp.bin): . Add test case to do extensive back to back STAT DMA test . Instead of using 4K aligned host address, use the random address now. DMA the random pkt length within 4k boundary. . Expand SPAD test to cover the top portion reserved for ROM code . Fixed a Macro problem that caused WOL test fail. . Modify Host DMA test to use 7bits FID, in the real chip, it would be 12 bits. 2. TANG diag FW (adtang.bin): . Expand SPAD test to cover the top portion reserved for ROM code 3. APE diag FW (adape.bin): . Expand SPAD test to cover the top portion reserved for ROM code 4. KONG diag FW (adkong.bin, not released yet): . Expand SPAD test to cover the top portion reserved for ROM code 5. cpu test TCL scripts (3.0): . Modify test casese for HostDMA read with 1B to max length within 4K boundary. . Modify test casese for HostDMA write with 1B to max length within 4K boundary . Added test casese for all VF HostDMA random read and write . Added test case to do extensive back to back STAT DMA test . Modify Host DMA test to use 7bits FID, in the real chip, it would be 12 bits. Version 2.2.11 (November 13 , 2014) ================================== 1. Chimp Diag FW (adchimp.bin): . Add Chimp-2-Kong space SPAD and Mutex test . Changed hostDMA read and write test to use bytes instead of Fifos . Added MPS ISR, calculate MPS based on PCIe registers, and setup FBE and LBE accordingly. . Setup HostDMA transfer with Fid. 2. TANG diag FW (adtang.bin): 3. APE diag FW (adape.bin): 4. KONG diag FW (adkong.bin, not released yet): 5. cpu test TCL scripts (2.16): . Added test case for HostDMA read with 1B to 4096B length . Added test case for HostDMA write with 1B to 4096B length . Added test casees for all PF HostDMA read and write . Added option '-complete' to run the time-consuming test, without this option, below tests are skipped: .. Chimp-2-APE SPAD test .. TMP/RMP test with 60B-2047B .. HostDMA read test with 1B to 4096B length .. HostDMA write test with 1B to 4096B length .. Chimp-2-GRC register test .. Tang-2-GRC register test Version 2.2.10 (November 06 , 2014) ================================== 1. Chimp Diag FW (adchimp.bin): . Added STAT DMA test . Use architecture header 2. TANG diag FW (adtang.bin): . Increased TMP/RMP pkt test max length from 1514 to 2047 . Added test option to do the tx only for TMP/RMP test 3. APE diag FW (adape.bin): . Increased TMP/RMP pkt test max length from 1514 to 2047 . Added test option to do the tx only for TMP/RMP test 4. KONG diag FW (adkong.bin, not released yet): . Separated System exception table from Interrupt Controller PL192 . Included uDMA and HostDMA code 5. cpu test TCL scripts: . Add STAT DMA test and Setup TE_BLD and RE_VINC blocks. . Increase NS2 Management packet max length to 2047 . Add diag_init routine to initialize driver, STAT, and TMP/RMP . Add '-tmp_only' option to do the TMP/RMP test without rx pkt. Version 2.2.9 (October 27, 2014) ================================== 1. Chimp Diag FW (adchimp.bin): . Decreased DMALD and DMAST numbers to avoid resource starvation; and improve the uDMA performance 2. TANG diag FW (adtang.bin): . 3. APE diag FW (adape.bin): . Fire Interrupt #3 if to debug the occasional APE SPAD failure. 4. KONG diag FW (adkong.bin, not released yet): . preliminary build Version 2.2.8 (October 16, 2014) ================================== 1. Chimp Diag FW (adchimp.bin): . Added PCIE reset test . Added uDMA test from NVRAM to APE (or Tang) scratch pad; . Added uDMA test from NVRAM to both APE and Tang SPAD concurrently. . Added uDMA test from RomSpace to both APE and Tang SPAD concurrently. 2. TANG diag FW (adtang.bin): . Added PCIE reset test 3. APE diag FW (adape.bin): . Added PCIE reset test Previous releases ================================== 1. Chimp Diag FW (adchimp.bin): . Support HostDMA Write test . Support HostDMA READ test . Support HostDMA INT_VALUE tests . Support WOL test . Support PL330 uDMA channel 1-7 test . Support PL330 large data DMA from variable sources to destinations . Support PME test . Support NVRAM test . Support Mutex register test . Support Event test . Support Timer test . Support CentComm test . Support Host Communication Channel test for PF 1-4 . Support Host Communication Channle test for VFs . Support Scratch pad test . Support Chimp-2-Tang IPC test . Support Chimp-2-APE IPC test . Support 4-set register test . Support Chimp-2-APE space test, include scratch pad; mutex; shared memory . Support Chimp-2-Tang space test, include scratch pad; mutex; shared memory . Support GRC register test from Chimp 2. TANG diag FW (adtang.bin): . Support Event test . Support Timer test . Support Shared memory test . Support TMP/RMP test for port 0-3, pkt size up to 1514 . Support Mutex register test . Support Scratch pad test . Support Tang-2-Chimp space test, include scratch pad; mutex; CentComm . Support GRC register test from Tang . Support Tang-2-Chimp IPC test 3. APE diag FW (adape.bin): . Support Event test . Support Timer test . Support Shared memory test . Support Mutex register test . Support Scratch pad test . Support RMU loopback test . Support Tang-2-Chimp space test, include scratch pad; mutex; CentComm . Support Ape-2-Chimp IPC test 4. KONG diag FW (adkong.bin): . N/a 5. cpu test TCL scripts: . Support Chimp/Tang diag from host