]> rtime.felk.cvut.cz Git - pes-rpp/rpp-test-sw.git/blob - include/dmm.h
Rewritten for using one task and direct usage of interrupts
[pes-rpp/rpp-test-sw.git] / include / dmm.h
1 /** @file dmm.h\r
2 *   @brief DMM Driver Definition File\r
3 *   @date 15.Mar.2012\r
4 *   @version 03.01.00\r
5 *   \r
6 */\r
7 \r
8 /* (c) Texas Instruments 2009-2012, All rights reserved. */\r
9 \r
10 \r
11 #ifndef __DMM_H__\r
12 #define __DMM_H__\r
13 \r
14 #include "sys_common.h"\r
15 #include "gio.h"\r
16 \r
17 \r
18 /** @struct dmmBase\r
19 *   @brief DMM Base Register Definition\r
20 *\r
21 *   This structure is used to access the DMM module egisters.\r
22 */\r
23 /** @typedef dmmBASE_t\r
24 *   @brief DMM Register Frame Type Definition\r
25 *\r
26 *   This type is used to access the DMM Registers.\r
27 */\r
28 \r
29 typedef volatile struct dmmBase\r
30 {\r
31     uint32_t  GLBCTRL;    /**< 0x0000: Global control register 0         */\r
32     uint32_t  INTSET;     /**< 0x0004: DMM Interrupt Set Register        */    \r
33     uint32_t  INTCLR;     /**< 0x0008: DMM Interrupt Clear Register      */\r
34     uint32_t  INTLVL;     /**< 0x000C: DMM Interrupt Level Register      */    \r
35     uint32_t  INTFLG;     /**< 0x0010: DMM Interrupt Flag Register       */\r
36     uint32_t  OFF1;       /**< 0x0014: DMM Interrupt Offset 1 Register           */\r
37     uint32_t  OFF2;       /**< 0x0018: DMM Interrupt Offset 2 Register           */\r
38     uint32_t  DDMDEST;    /**< 0x001C: DMM Direct Data Mode Destination Register                */\r
39     uint32_t  DDMBL;      /**< 0x0020: DMM Direct Data Mode Blocksize Register           */\r
40     uint32_t  DDMPT;      /**< 0x0024: DMM Direct Data Mode Pointer Register        */\r
41     uint32_t  INTPT;      /**< 0x0028: DMM Direct Data Mode Interrupt Pointer Register     */\r
42     uint32_t  DEST0REG1;  /**< 0x002C: DMM Destination 0 Region 1           */\r
43     uint32_t  DEST0BL1;   /**< 0x0030: DMM Destination 0 Blocksize 1                     */\r
44     uint32_t  DEST0REG2;  /**< 0x0034: DMM Destination 0 Region 2                  */\r
45     uint32_t  DEST0BL2;   /**< 0x0038: DMM Destination 0 Blocksize 2                 */\r
46     uint32_t  DEST1REG1;  /**< 0x003C: DMM Destination 1 Region 1                  */\r
47     uint32_t  DEST1BL1;   /**< 0x0040: DMM Destination 1 Blocksize 1                 */\r
48     uint32_t  DEST1REG2;  /**< 0x0044: DMM Destination 1 Region 2                   */\r
49     uint32_t  DEST1BL2;   /**< 0x0048: DMM Destination 1 Blocksize 2                  */\r
50     uint32_t  DEST2REG1;  /**< 0x004C: DMM Destination 2 Region 1                  */\r
51     uint32_t  DEST2BL1;   /**< 0x0050: DMM Destination 2 Blocksize 1                  */\r
52     uint32_t  DEST2REG2;  /**< 0x0054: DMM Destination 2 Region 2  */\r
53     uint32_t  DEST2BL2;   /**< 0x0058: DMM Destination 2 Blocksize 2   */\r
54     uint32_t  DEST3REG1;  /**< 0x005C: DMM Destination 3 Region 1 */\r
55     uint32_t  DEST3BL1;   /**< 0x0060: DMM Destination 3 Blocksize 1                       */\r
56     uint32_t  DEST3REG2;  /**< 0x0064: DMM Destination 3 Region 2              */\r
57     uint32_t  DEST3BL2;   /**< 0x0068: DMM Destination 3 Blocksize 2              */\r
58     uint32_t  PC0;        /**< 0x006C: DMM Pin Control 0                          */\r
59     uint32_t  PC1;        /**< 0x0070: DMM Pin Control 1               */     \r
60     uint32_t  PC2;        /**< 0x0074: DMM Pin Control 2              */\r
61     uint32_t  PC3;        /**< 0x0078: DMM Pin Control 3              */\r
62     uint32_t  PC4;        /**< 0x007C: DMM Pin Control 4   */\r
63     uint32_t  PC5;        /**< 0x0080: DMM Pin Control 5                 */\r
64     uint32_t  PC6;        /**< 0x0084: DMM Pin Control 6                              */\r
65     uint32_t  PC7;        /**< 0x0088: DMM Pin Control 7                             */\r
66     uint32_t  PC8;        /**< 0x008C: DMM Pin Control 8                              */\r
67 } dmmBASE_t;\r
68 \r
69 \r
70 /** @def dmmREG\r
71 *   @brief DMM Register Frame Pointer\r
72 *\r
73 *   This pointer is used by the DMM driver to access the DMM module registers.\r
74 */\r
75 #define dmmREG ((dmmBASE_t *)0xFFFFF700U)\r
76 \r
77 /** @def dmmPORT\r
78 *   @brief DMM Port Register Pointer\r
79 *\r
80 *   Pointer used by the GIO driver to access I/O PORT of DMM\r
81 *   (use the GIO drivers to access the port pins).\r
82 */\r
83 #define dmmPORT ((gioPORT_t *)0xFFFFF738U)\r
84 \r
85 \r
86 /* DMM Interface Functions */\r
87 \r
88 void dmmInit(void);\r
89 \r
90 #endif\r