/******************************************************************************* NAME fpgaLedDiag.h SUMMARY header file for Zebulon FPGA LED function diagnostics VERSION %version: 1 % UPDATE DATE %date_modified: Apr 27 20:30 2009 % PROGRAMMER %created_by: Jim Tu % Copyright 2009 Quanta Corporation. All Rights Reserved. DESCRIPTION: This file has code to test LED function of Zebulon FPGA NOTES: REFERENCE: *******************************************************************************/ #ifndef __FPGA_LED_DIAG_H__ #define __FPGA_LED_DIAG_H__ #define NUMBER_LED_PIKESPEAK 24 #define NUMBER_LED_PATTERN_PIKESPEAK 12 #define LED_PATTERN_ON 0x01 #define LED_PATTERN_OFF 0x00 /*** LED Pattern/Index ***/ #define DRIVE_0_FAULT_LED 0x00 #define DRIVE_0_RTR_LED 0x01 #define DRIVE_1_FAULT_LED 0x03 #define DRIVE_1_RTR_LED 0x04 #define DRIVE_2_FAULT_LED 0x06 #define DRIVE_2_RTR_LED 0x07 #define DRIVE_3_FAULT_LED 0x09 #define DRIVE_3_RTR_LED 0x0A #define DRIVE_4_FAULT_LED 0x0C #define DRIVE_4_RTR_LED 0x0D #define DRIVE_5_FAULT_LED 0x0F #define DRIVE_5_RTR_LED 0x10 #define DRIVE_6_FAULT_LED 0x12 #define DRIVE_6_RTR_LED 0x13 #define DRIVE_7_FAULT_LED 0x15 #define DRIVE_7_RTR_LED 0x16 #define DRIVE_8_FAULT_LED 0x18 #define DRIVE_8_RTR_LED 0x19 #define DRIVE_9_FAULT_LED 0x1B #define DRIVE_9_RTR_LED 0x1C #define DRIVE_10_FAULT_LED 0x1E #define DRIVE_10_RTR_LED 0x1F #define DRIVE_11_FAULT_LED 0x21 #define DRIVE_11_RTR_LED 0x22 #define DRIVE_12_FAULT_LED 0x24 #define DRIVE_12_RTR_LED 0x25 #define DRIVE_13_FAULT_LED 0x27 #define DRIVE_13_RTR_LED 0x28 #define DRIVE_14_FAULT_LED 0x2A #define DRIVE_14_RTR_LED 0x2B #define DRIVE_15_FAULT_LED 0x2D #define DRIVE_15_RTR_LED 0x2E #define DRIVE_16_FAULT_LED 0x30 #define DRIVE_16_RTR_LED 0x31 #define DRIVE_17_FAULT_LED 0x33 #define DRIVE_17_RTR_LED 0x34 #define DRIVE_18_FAULT_LED 0x36 #define DRIVE_18_RTR_LED 0x37 #define DRIVE_19_FAULT_LED 0x39 #define DRIVE_19_RTR_LED 0x3A #define DRIVE_20_FAULT_LED 0x3C #define DRIVE_20_RTR_LED 0x3D #define DRIVE_21_FAULT_LED 0x3F #define DRIVE_21_RTR_LED 0x40 #define DRIVE_22_FAULT_LED 0x42 #define DRIVE_22_RTR_LED 0x43 #define DRIVE_23_FAULT_LED 0x45 #define DRIVE_23_RTR_LED 0x46 //LED on Enclosure #define TRAY_IDENTIFY_LED 0xC0 #define SUMMARY_FAULT_LED 0xC1 #define CONTROLLER_FAULT_LED 0xD0 #define CONTROLLER_RTR_LED 0xD1 #define CACHE_ACTIVE_LED 0xD2 #define BBU_FAULT_LED 0xD3 #define BBU_CHARGING_LED 0xD5 #define INTERNAL_CACHE_ACTIVE_LED 0xD6 #define ALT_RTR_LED 0xE1 /*** Seven Segment Display System Identification Information mode ***/ // The 7-segment displays are controlled by segments corresponding to the // following diagram: // // a // --- // f| |b // | g | // --- // e| |c // | | // --- // d // #define DISPLAY_SEGMENT_A 0x01 #define DISPLAY_SEGMENT_B 0x02 #define DISPLAY_SEGMENT_C 0x04 #define DISPLAY_SEGMENT_D 0x08 #define DISPLAY_SEGMENT_E 0x10 #define DISPLAY_SEGMENT_F 0x20 #define DISPLAY_SEGMENT_G 0x40 #define DISPLAY_SEGMENT_POINT 0x80 #define DISPLAY_0 (DISPLAY_SEGMENT_A | DISPLAY_SEGMENT_B | DISPLAY_SEGMENT_C | \ DISPLAY_SEGMENT_D | DISPLAY_SEGMENT_E | DISPLAY_SEGMENT_F) #define DISPLAY_1 (DISPLAY_SEGMENT_B | DISPLAY_SEGMENT_C) #define DISPLAY_2 (DISPLAY_SEGMENT_A | DISPLAY_SEGMENT_B | DISPLAY_SEGMENT_G | \ DISPLAY_SEGMENT_E | DISPLAY_SEGMENT_D) #define DISPLAY_3 (DISPLAY_SEGMENT_A | DISPLAY_SEGMENT_B | DISPLAY_SEGMENT_G | \ DISPLAY_SEGMENT_C | DISPLAY_SEGMENT_D) #define DISPLAY_4 (DISPLAY_SEGMENT_F | DISPLAY_SEGMENT_G | DISPLAY_SEGMENT_B | \ DISPLAY_SEGMENT_C) #define DISPLAY_5 (DISPLAY_SEGMENT_A | DISPLAY_SEGMENT_F | DISPLAY_SEGMENT_G | \ DISPLAY_SEGMENT_C | DISPLAY_SEGMENT_D) #define DISPLAY_6 (DISPLAY_SEGMENT_A | DISPLAY_SEGMENT_F | DISPLAY_SEGMENT_E | \ DISPLAY_SEGMENT_D | DISPLAY_SEGMENT_C | DISPLAY_SEGMENT_G) #define DISPLAY_7 (DISPLAY_SEGMENT_A | DISPLAY_SEGMENT_B | DISPLAY_SEGMENT_B | \ DISPLAY_SEGMENT_C) #define DISPLAY_8 (DISPLAY_SEGMENT_A | DISPLAY_SEGMENT_B | DISPLAY_SEGMENT_C | \ DISPLAY_SEGMENT_D | DISPLAY_SEGMENT_E | DISPLAY_SEGMENT_F | \ DISPLAY_SEGMENT_G) #define DISPLAY_9 (DISPLAY_SEGMENT_A | DISPLAY_SEGMENT_B | DISPLAY_SEGMENT_C | \ DISPLAY_SEGMENT_D | DISPLAY_SEGMENT_F | DISPLAY_SEGMENT_G) #define DISPLAY_A (DISPLAY_SEGMENT_E | DISPLAY_SEGMENT_F | DISPLAY_SEGMENT_A | \ DISPLAY_SEGMENT_B | DISPLAY_SEGMENT_C | DISPLAY_SEGMENT_G) #define DISPLAY_B (DISPLAY_SEGMENT_F | DISPLAY_SEGMENT_E | DISPLAY_SEGMENT_D | \ DISPLAY_SEGMENT_C | DISPLAY_SEGMENT_G) #define DISPLAY_C (DISPLAY_SEGMENT_A | DISPLAY_SEGMENT_F | DISPLAY_SEGMENT_E | \ DISPLAY_SEGMENT_D) #define DISPLAY_D (DISPLAY_SEGMENT_B | DISPLAY_SEGMENT_C | DISPLAY_SEGMENT_D | \ DISPLAY_SEGMENT_E | DISPLAY_SEGMENT_G) #define DISPLAY_E (DISPLAY_SEGMENT_A | DISPLAY_SEGMENT_F | DISPLAY_SEGMENT_G | \ DISPLAY_SEGMENT_E | DISPLAY_SEGMENT_D) #define DISPLAY_F (DISPLAY_SEGMENT_A | DISPLAY_SEGMENT_F | DISPLAY_SEGMENT_G | \ DISPLAY_SEGMENT_E) #define DISPLAY_I (DISPLAY_SEGMENT_F | DISPLAY_SEGMENT_E) #define DISPLAY_P (DISPLAY_SEGMENT_A | DISPLAY_SEGMENT_B | DISPLAY_SEGMENT_E | \ DISPLAY_SEGMENT_F | DISPLAY_SEGMENT_G) #define DISPLAY_S DISPLAY_5 #define DISPLAY_L (DISPLAY_SEGMENT_F | DISPLAY_SEGMENT_E | DISPLAY_SEGMENT_D) #define DISPLAY_PERIOD DISPLAY_SEGMENT_POINT #define DISPLAY_OFF 0x00 #define DISPLAY_ON 0xFF /*** Export Function ***/ /****************************************/ /*** Seven-segment Control Function ***/ /****************************************/ VOID fpgaSevenSegmentDisplayDiag(UINT8 SevenSegDisplayL, UINT8 SevenSegDisplayR); /**********************************/ /*** LED Diagnostics Function ***/ /**********************************/ INT32 fpgaMidplaneLdDiag(VOID); VOID fpgaFrontPanelLedDiagOn(VOID); VOID fpgaFrontPanelLedDiagOff(VOID); VOID fpga7SegDisplaySet(UINT8 item, UINT8 status); #endif //__FPGA_LED_DIAG_H__