2 * @brief GIO Driver Definition File
\r
3 * @date 11.August.2009
\r
8 /* (c) Texas Instruments 2009-2010, All rights reserved. */
\r
15 * @brief GIO Base Register Definition
\r
17 * This structure is used to access the GIO module egisters.
\r
19 /** @typedef gioBASE_t
\r
20 * @brief GIO Register Frame Type Definition
\r
22 * This type is used to access the GIO Registers.
\r
24 typedef volatile struct gioBase
\r
26 unsigned GCR0; /**< 0x0000: Global Control Register */
\r
27 unsigned PWDN; /**< 0x0004: Power Down Register */
\r
28 unsigned INTDET; /**< 0x0008: Interrupt Detect Regsiter*/
\r
29 unsigned POL; /**< 0x000C: Interrupt Polarity Register */
\r
30 unsigned INTENASET; /**< 0x0010: Interrupt Enable Set Register */
\r
31 unsigned INTENACLR; /**< 0x0014: Interrupt Enable Clear Register */
\r
32 unsigned LVLSET; /**< 0x0018: Interrupt Priority Set Register */
\r
33 unsigned LVLCLR; /**< 0x001C: Interrupt Priority Clear Register */
\r
34 unsigned FLG; /**< 0x0020: Interrupt Flag Register */
\r
35 unsigned OFFSET0; /**< 0x0024: Interrupt Offset A Register */
\r
36 unsigned OFFSET1; /**< 0x0028: Interrupt Offset B Register */
\r
41 * @brief GIO Port Register Definition
\r
43 /** @typedef gioPORT_t
\r
44 * @brief GIO Port Register Type Definition
\r
46 * This type is used to access the GIO Port Registers.
\r
48 typedef volatile struct gioPort
\r
50 unsigned DIR; /**< 0x0000: Data Direction Register */
\r
51 unsigned DIN; /**< 0x0004: Data Input Register */
\r
52 unsigned DOUT; /**< 0x0008: Data Output Register */
\r
53 unsigned DSET; /**< 0x000C: Data Output Set Register */
\r
54 unsigned DCLR; /**< 0x0010: Data Output Clear Register */
\r
55 unsigned PDR; /**< 0x0014: Open Drain Regsiter */
\r
56 unsigned PULDIS; /**< 0x0018: Pullup Disable Register */
\r
57 unsigned PSL; /**< 0x001C: Pull Up/Down Selection Register */
\r
62 * @brief GIO Register Frame Pointer
\r
64 * This pointer is used by the GIO driver to access the gio module registers.
\r
66 #define gioREG ((gioBASE_t *)0xFFF7BC00U)
\r
69 * @brief GIO Port (A) Register Pointer
\r
71 * Pointer used by the GIO driver to access PORTA
\r
73 #define gioPORTA ((gioPORT_t *)0xFFF7BC34U)
\r
76 * @brief GIO Port (B) Register Pointer
\r
78 * Pointer used by the GIO driver to access PORTB
\r
80 #define gioPORTB ((gioPORT_t *)0xFFF7BC54U)
\r
83 /* GIO Interface Functions */
\r
85 void gioSetDirection(gioPORT_t *port, unsigned dir);
\r
86 void gioSetBit(gioPORT_t *port, unsigned bit, unsigned value);
\r
87 void gioSetPort(gioPORT_t *port, unsigned value);
\r
88 unsigned gioGetBit(gioPORT_t *port, unsigned bit);
\r
89 unsigned gioGetPort(gioPORT_t *port);
\r
90 void gioEnableNotification(unsigned bit);
\r
91 void gioDisableNotification(unsigned bit);
\r
92 void gioNotification(int bit);
\r