]> git.sur5r.net Git - freertos/blob
aefdeb3a7ccf79bcb43256761c727753dfe0b77f
[freertos] /
1 /*\r
2  * @brief Serial GPIO registers and control functions\r
3  *\r
4  * @note\r
5  * Copyright(C) NXP Semiconductors, 2012\r
6  * All rights reserved.\r
7  *\r
8  * @par\r
9  * Software that is described herein is for illustrative purposes only\r
10  * which provides customers with programming information regarding the\r
11  * LPC products.  This software is supplied "AS IS" without any warranties of\r
12  * any kind, and NXP Semiconductors and its licensor disclaim any and\r
13  * all warranties, express or implied, including all implied warranties of\r
14  * merchantability, fitness for a particular purpose and non-infringement of\r
15  * intellectual property rights.  NXP Semiconductors assumes no responsibility\r
16  * or liability for the use of the software, conveys no license or rights under any\r
17  * patent, copyright, mask work right, or any other intellectual property rights in\r
18  * or to any products. NXP Semiconductors reserves the right to make changes\r
19  * in the software without notification. NXP Semiconductors also makes no\r
20  * representation or warranty that such application will be suitable for the\r
21  * specified use without further testing or modification.\r
22  *\r
23  * @par\r
24  * Permission to use, copy, modify, and distribute this software and its\r
25  * documentation is hereby granted, under NXP Semiconductors' and its\r
26  * licensor's relevant copyrights in the software, without fee, provided that it\r
27  * is used in conjunction with NXP Semiconductors microcontrollers.  This\r
28  * copyright, permission, and disclaimer notice must appear in all copies of\r
29  * this code.\r
30  */\r
31 \r
32 #ifndef __SGPIO_001_H_\r
33 #define __SGPIO_001_H_\r
34 \r
35 #include "sys_config.h"\r
36 #include "cmsis.h"\r
37 \r
38 #ifdef __cplusplus\r
39 extern "C" {\r
40 #endif\r
41 \r
42 /** @defgroup IP_SGPIO_001 IP: SGPIO register block and driver\r
43  * @ingroup IP_Drivers\r
44  * Serial GPIO\r
45  * @{\r
46  */\r
47 \r
48 /**\r
49  * @brief Serial GPIO register block structure\r
50  */\r
51 typedef struct {                                                /*!< SGPIO Structure        */\r
52         __IO uint32_t  OUT_MUX_CFG[16];         /*!< Pin multiplexer configurationregisters. */\r
53         __IO uint32_t  SGPIO_MUX_CFG[16];       /*!< SGPIO multiplexer configuration registers. */\r
54         __IO uint32_t  SLICE_MUX_CFG[16];       /*!< Slice multiplexer configuration registers. */\r
55         __IO uint32_t  REG[16];                         /*!< Slice data registers. Eachtime COUNT0 reaches 0x0 the register shifts loading bit 31 withdata captured from DIN(n). DOUT(n) is set to REG(0) */\r
56         __IO uint32_t  REG_SS[16];                      /*!< Slice data shadow registers. Each time POSreaches 0x0 the contents of REG_SS is exchanged with the contentof REG */\r
57         __IO uint32_t  PRESET[16];                      /*!< Reload valueof COUNT0, loaded when COUNT0 reaches 0x0 */\r
58         __IO uint32_t  COUNT[16];                       /*!< Down counter, counts down each clock cycle. */\r
59         __IO uint32_t  POS[16];                         /*!< Each time COUNT0 reaches 0x0 */\r
60         __IO uint32_t  MASK_A;                          /*!< Mask for pattern match function of slice A */\r
61         __IO uint32_t  MASK_H;                          /*!< Mask for pattern match function of slice H */\r
62         __IO uint32_t  MASK_I;                          /*!< Mask for pattern match function of slice I */\r
63         __IO uint32_t  MASK_P;                          /*!< Mask for pattern match function of slice P */\r
64         __I  uint32_t  GPIO_INREG;                      /*!< GPIO input status register */\r
65         __IO uint32_t  GPIO_OUTREG;                     /*!< GPIO output control register */\r
66         __IO uint32_t  GPIO_OENREG;                     /*!< GPIO OE control register */\r
67         __IO uint32_t  CTRL_ENABLED;            /*!< Enables the slice COUNT counter */\r
68         __IO uint32_t  CTRL_DISABLED;           /*!< Disables the slice COUNT counter */\r
69         __I  uint32_t  RESERVED0[823];\r
70         __O  uint32_t  CLR_EN_0;                        /*!< Shift clock interrupt clear mask */\r
71         __O  uint32_t  SET_EN_0;                        /*!< Shift clock interrupt set mask */\r
72         __I  uint32_t  ENABLE_0;                        /*!< Shift clock interrupt enable */\r
73         __I  uint32_t  STATUS_0;                        /*!< Shift clock interrupt status */\r
74         __O  uint32_t  CTR_STATUS_0;            /*!< Shift clock interrupt clear status */\r
75         __O  uint32_t  SET_STATUS_0;            /*!< Shift clock interrupt set status */\r
76         __I  uint32_t  RESERVED1[2];\r
77         __O  uint32_t  CLR_EN_1;                        /*!< Capture clock interrupt clear mask */\r
78         __O  uint32_t  SET_EN_1;                        /*!< Capture clock interrupt set mask */\r
79         __I  uint32_t  ENABLE_1;                        /*!< Capture clock interrupt enable */\r
80         __I  uint32_t  STATUS_1;                        /*!< Capture clock interrupt status */\r
81         __O  uint32_t  CTR_STATUS_1;            /*!< Capture clock interrupt clear status */\r
82         __O  uint32_t  SET_STATUS_1;            /*!< Capture clock interrupt set status */\r
83         __I  uint32_t  RESERVED2[2];\r
84         __O  uint32_t  CLR_EN_2;                        /*!< Pattern match interrupt clear mask */\r
85         __O  uint32_t  SET_EN_2;                        /*!< Pattern match interrupt set mask */\r
86         __I  uint32_t  ENABLE_2;                        /*!< Pattern match interrupt enable */\r
87         __I  uint32_t  STATUS_2;                        /*!< Pattern match interrupt status */\r
88         __O  uint32_t  CTR_STATUS_2;            /*!< Pattern match interrupt clear status */\r
89         __O  uint32_t  SET_STATUS_2;            /*!< Pattern match interrupt set status */\r
90         __I  uint32_t  RESERVED3[2];\r
91         __O  uint32_t  CLR_EN_3;                        /*!< Input interrupt clear mask */\r
92         __O  uint32_t  SET_EN_3;                        /*!< Input bit match interrupt set mask */\r
93         __I  uint32_t  ENABLE_3;                        /*!< Input bit match interrupt enable */\r
94         __I  uint32_t  STATUS_3;                        /*!< Input bit match interrupt status */\r
95         __O  uint32_t  CTR_STATUS_3;            /*!< Input bit match interrupt clear status */\r
96         __O  uint32_t  SET_STATUS_3;            /*!< Shift clock interrupt set status */\r
97 } IP_SGPIO_001_T;\r
98 \r
99 /**\r
100  * @}\r
101  */\r
102 \r
103 #ifdef __cplusplus\r
104 }\r
105 #endif\r
106 \r
107 #endif /* __SGPIO_001_H_ */\r