/**	tests_npa_56x4.h
 **
 ** Author: Ted Schmitz
 ** Date of original creation June 29, 2009
 **
 **     This file contains many necessary definitions that are used to hook
 ** the user's subtests into the common diagnostic handler code for the 
 ** NPA-56x4 AMC platform.
 **
 **/

extern struct tests test_table[]; /* subtest select & statsistics table */
extern void * disabled_tests[];	  /* disabled tests for "SDefaults command */

extern void init_for_diag_mon(void);
extern void leaving_diag_mon(void);
extern void dma_test(void);
extern void ll_eth_controller_test(void);
extern void octeon_eth_test(void);

#define NULLPTR (void *) 0   /* null function pointer */


/****************************************************************************
 *                                                                          *
 *    WARNING! Do not modify any text above this line or the diagnostic     *
 *             monitor may not operate properly!                            *
 *                                                                          *
 ****************************************************************************/


/**
 **	 All the subtest function protocols are define below. 
 **/
/* extern void led_reg_test(void);  <-Example */
extern void test1(void);
extern void test2(void);
extern void test3(void);
extern void test4(void);
extern void test5(void);
extern void test6(void);
extern void test7(void);
extern void test8(void);
extern void test9(void);
extern void test10(void);
extern void test11(void);
extern void test12(void);
extern void test13(void);
extern void test14(void);
extern void test15(void);
extern void test16(void);
extern void test17(void);
extern void test18(void);
extern void test19(void);
extern void test20(void);
extern void test21(void);
extern void test22(void);
extern void test23(void);
extern void test24(void);
extern void test25(void);
extern void test26(void);
extern void test27(void);
extern void test28(void);
extern void test29(void);
extern void test30(void);
extern void test31(void);
extern void test32(void);
extern void test33(void);
extern void test34(void);
extern void test35(void);
extern void test36(void);
extern void test37(void);
extern void test38(void);
extern void test_passed(void);

extern void i2c_dev_ack_test(void);
extern void ph2_err_logic_test(void);
extern void pci_dev_ack_test(void);
extern void h8_error_logic_test(void);
extern void h8_sensors_test(void);
extern void h8_fpga_dp_ram_test(void);
extern void fpga_ram_test(void);
extern void long_test_passed(void);
extern void test12_spin_wheel(void);
extern void test21_spin_wheel(void);
extern void test18_spin_wheel(void);
extern void test19_spin_wheel(void);
extern void test22_spin_wheel(void);
extern void test25_spin_wheel(void);
extern void data_lines_test(int test_no, int exec_count);
extern void address_lines_test(int test_no, int exec_count);
extern void ram_cells_test(int test_no, int exec_count);
extern void ph1_err_logic_test(int test_no, int exec_count);
extern void pm_data_lines_test(void);
extern void pm_address_lines_test(void);
extern void pm_cells_test(void);


/** All the test sign-on messages are defined here.
 **
 ** NOTE: ALL messages should be 45 characters or less!
 **/

/*  	The  following  definition is an example of a subtest
 *  	ASCII sign-on message.

#define LED_REG_TEST "LED register"

 */
#ifdef STANDALONE
#define TEST1_MSG "Example 1"
#define TEST2_MSG "Example 2"
#define TEST3_MSG "Example 3"
#define TEST4_MSG "Example 4"
#define TEST5_MSG "Example 5"
#define TEST6_MSG "Example 6"
#define TEST7_MSG "Example 7"
#define TEST8_MSG "Example 8"
#define TEST9_MSG "Example 9"
#define TEST10_MSG "Example 10"
#define TEST11_MSG "Example 11"
#define TEST12_MSG "Example 12"
#define TEST13_MSG "Example 13"
#define TEST14_MSG "Example 14"
#define TEST15_MSG "Example 15"
#define TEST16_MSG "Example 16"
#define TEST17_MSG "Example 17"
#define TEST18_MSG "Example 18"
#define TEST19_MSG "Example 19"
#define TEST20_MSG "Example 20"
#define TEST21_MSG "Example 21"
#define TEST22_MSG "Example 22"
#define TEST23_MSG "Example 23"
#define TEST24_MSG "Example 24"
#define TEST25_MSG "Example 25"
#define TEST26_MSG "Example 26"
#define TEST27_MSG "Example 27"
#define TEST28_MSG "Example 28"
#define TEST29_MSG "Example 29"
#define TEST30_MSG "Example 30"
#define TEST31_MSG "Example 31"
#define TEST32_MSG "Example 32"
#define TEST33_MSG "Example 33"
#define TEST34_MSG "Example 34"
#define TEST35_MSG "Example 35"
#define TEST36_MSG "Example 36"
#define TEST37_MSG "Example 37"
#define TEST38_MSG "Example 38"

#else

/* Example test descriptions */
#define TEST1_MSG "System address decode"
#define TEST2_MSG "Duart"
#define TEST3_MSG "Boot PROM CRC check"
#define TEST4_MSG "SDRAM data lines"
#define TEST5_MSG "SDRAM address lines"
#define TEST6_MSG "SDRAM cells"
#define TEST7_MSG "SDRAM ecc"
#define TEST8_MSG "Phase 1 Error Logic (Firmware Forced Error)"
#define TEST9_MSG "SDRAM odd boundary access"
#define TEST10_MSG "Interrupt Controller"
#define TEST11_MSG "Octeon FPGA Dual Port RAM"
#define TEST12_MSG "I2C bus device acknowledge"
#define TEST13_MSG "I2C voltage monitors"
#define TEST14_MSG "Phase 2 Error Logic (Firmware Forced Error)"
#define TEST15_MSG "I2C temp sensor"
#define TEST16_MSG "Interprocessor Communications"
#define TEST17_MSG "PCI device acknowledge"
#define TEST18_MSG "PCI devices"
#define TEST19_MSG "Redhawk 10GB MAC"
#define TEST20_MSG "Octeon Ethernet MAC"
#define TEST21_MSG "1GB Ethernet Controller/Switch"
#define TEST22_MSG "10GB Ethernet Controller/Switch"
#define TEST23_MSG "DMA/RAM Bursting"
#define TEST24_MSG "NOR FLASH Files System"
#define TEST25_MSG "H8 Sensors"
#define TEST26_MSG "H8 FPGA Dual Port RAM"
#define TEST27_MSG "H8 Error Logic (Firmware Forced Error)"
#define TEST28_MSG "Persistent memory data lines"
#define TEST29_MSG "Persistent memory address lines"
#define TEST30_MSG "Persistent memory cells"
#endif
