]> git.sur5r.net Git - freertos/blob - Demo/CORTEX_A2F200_IAR_and_Keil/MicroSemi_Code/drivers/mss_ace/mtd_data.h
Create directory structure to hold the (not yet created) Keil and IAR demo projects...
[freertos] / Demo / CORTEX_A2F200_IAR_and_Keil / MicroSemi_Code / drivers / mss_ace / mtd_data.h
1 /*******************************************************************************\r
2  * (c) Copyright 2008 Actel Corporation.  All rights reserved.\r
3  * \r
4  *  Manufacturing Test Data data structures.\r
5  *  This header files specified the layout of the various data structures used\r
6  *  to store manaufacturing test data within eNVM.\r
7  *\r
8  * SVN $Revision: 700 $\r
9  * SVN $Date: 2009-03-13 13:22:03 +0000 (Fri, 13 Mar 2009) $\r
10  */\r
11 #ifndef MTD_DATA_H\r
12 #define MTD_DATA_H\r
13 \r
14 #include <stdint.h>\r
15 \r
16 #ifdef __cplusplus\r
17 extern "C" {\r
18 #endif \r
19 \r
20 /*\r
21  * Analog block specifications\r
22  */\r
23 #define NB_OF_QUADS                     6\r
24 #define NB_OF_ABPS_PER_QUAD             2\r
25 #define TOTAL_NB_OF_ABPS                (NB_OF_QUADS * NB_OF_ABPS_PER_QUAD)\r
26 #define NB_OF_ABPS_RANGES               4\r
27 #define NB_OF_ANALOG_MODULES            3\r
28 #define NB_OF_OBD_MODES                 2\r
29 #define NB_OF_QUADS_PER_MODULE          2\r
30 #define NB_OF_CHOPPING_OPTIONS          2\r
31 #define NB_OF_DIRECT_INPUTS_PER_ADC     4\r
32 \r
33 #define NB_OF_ADC_CHANNELS      13\r
34 \r
35 /*------------------------------------------------------------------------------\r
36  * mtd_global_settings_t\r
37  *------------------------------------------------------------------------------\r
38  * This typedef specifies the layout of the data structure holding the \r
39  * manufacturing test data global settings.\r
40  */\r
41 typedef struct __mtd_global_settings_t\r
42 {\r
43     uint16_t    crc16;\r
44     uint8_t     serial[6];\r
45     uint32_t    revision;\r
46     uint16_t    sram_repair[8];\r
47     uint16_t    varef_m;\r
48     uint16_t    spare;\r
49     uint8_t     big_dec;\r
50     uint8_t     reserved0;\r
51     uint16_t    reserved1;\r
52 } mtd_global_settings_t;\r
53 \r
54 /*------------------------------------------------------------------------------\r
55  * mtd_abps_trim_t\r
56  *------------------------------------------------------------------------------\r
57  * The following data structure is used to store ABPS trimming information.\r
58  */\r
59 typedef struct __mtd_abps_trim_t\r
60 {\r
61     uint8_t dacdec;\r
62     uint8_t negtrim_per4_per3b_gtdec;\r
63 } mtd_abps_trim_t;\r
64 \r
65 \r
66 /*------------------------------------------------------------------------------\r
67  * mtd_calibration_mc_t\r
68  *------------------------------------------------------------------------------\r
69  * The following data structure is used to store M and C calibration\r
70  * coefficients.\r
71  */\r
72 typedef struct __mtd_calibration_mc_t\r
73 {\r
74     uint16_t m;\r
75     uint16_t c;\r
76 } mtd_calibration_mc_t;\r
77 \r
78 \r
79 /*------------------------------------------------------------------------------\r
80  * mtd_data_t\r
81  *------------------------------------------------------------------------------\r
82  * The following data structure is used to hold the full set of manufacturing\r
83  * test data.\r
84  */\r
85 typedef struct __mtd_data_t\r
86 {\r
87     mtd_global_settings_t   global_settings;\r
88     mtd_abps_trim_t         abps_trimming[NB_OF_QUADS][NB_OF_ABPS_PER_QUAD][NB_OF_ABPS_RANGES];\r
89     uint8_t                 odb_trimming[NB_OF_ANALOG_MODULES][NB_OF_OBD_MODES][NB_OF_CHOPPING_OPTIONS];\r
90     mtd_calibration_mc_t    abps_calibration[NB_OF_QUADS][NB_OF_ABPS_PER_QUAD][NB_OF_ABPS_RANGES];\r
91     mtd_calibration_mc_t    obd_calibration[NB_OF_ANALOG_MODULES][NB_OF_OBD_MODES][NB_OF_CHOPPING_OPTIONS];\r
92     mtd_calibration_mc_t    cm_calibration[NB_OF_QUADS];\r
93     mtd_calibration_mc_t    tm_calibration[NB_OF_QUADS];\r
94     mtd_calibration_mc_t    quads_direct_input_cal[NB_OF_QUADS][2];\r
95     mtd_calibration_mc_t    adc_direct_input_cal[NB_OF_ANALOG_MODULES][NB_OF_DIRECT_INPUTS_PER_ADC];\r
96     uint16_t                comparators_offsets[NB_OF_QUADS];\r
97     uint32_t                ccc_delays_cal;\r
98 } mtd_data_t;\r
99 \r
100 #ifdef __cplusplus\r
101 }\r
102 #endif\r
103 \r
104 #endif\r