gr55xx_hal_msio_ex.h
Go to the documentation of this file.
1 /**
2 ****************************************************************************************
3 *
4 * @file gr55xx_hal_msio_ex.h
5 * @author BLE Driver Team
6 * @brief Header file containing extended macro of MSIO HAL library.
7 *
8 ****************************************************************************************
9 * @attention
10 #####Copyright (c) 2019 GOODIX
11 All rights reserved.
12
13 Redistribution and use in source and binary forms, with or without
14 modification, are permitted provided that the following conditions are met:
15 * Redistributions of source code must retain the above copyright
16 notice, this list of conditions and the following disclaimer.
17 * Redistributions in binary form must reproduce the above copyright
18 notice, this list of conditions and the following disclaimer in the
19 documentation and/or other materials provided with the distribution.
20 * Neither the name of GOODIX nor the names of its contributors may be used
21 to endorse or promote products derived from this software without
22 specific prior written permission.
23
24 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
28 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34 POSSIBILITY OF SUCH DAMAGE.
35 ****************************************************************************************
36 */
37
38 /** @addtogroup PERIPHERAL Peripheral Driver
39 * @{
40 */
41
42 /** @addtogroup HAL_DRIVER HAL Driver
43 * @{
44 */
45
46 /** @defgroup HAL_MSIOEx MSIOEx
47 * @brief MSIOEx HAL module driver.
48 * @{
49 */
50
51 /* Define to prevent recursive inclusion -------------------------------------*/
52 #ifndef __GR55xx_HAL_MSIO_EX_H__
53 #define __GR55xx_HAL_MSIO_EX_H__
54
55 #ifdef __cplusplus
56 extern "C" {
57 #endif
58
59 /* Includes ------------------------------------------------------------------*/
60 #include "gr55xx_hal_def.h"
61 #include "gr55xx_ll_msio.h"
62
63 /* Exported types ------------------------------------------------------------*/
64
65 /**
66 * @defgroup HAL_MSIOEX_MACRO Defines
67 * @{
68 */
69
70 /* Exported constants --------------------------------------------------------*/
71 /** @defgroup MSIOEx_Exported_Constants MSIOEx Exported Constants
72 * @{
73 */
74
75 /** @defgroup MSIOEx_Mux_Mode MSIOEx Mux Mode definition
76 * @{
77 */
78 #define MSIO_MUX_0 LL_MSIO_MUX_0 /**< MSIO mux mode 0 */
79 #define MSIO_MUX_1 LL_MSIO_MUX_1 /**< MSIO mux mode 1 */
80 #define MSIO_MUX_2 LL_MSIO_MUX_2 /**< MSIO mux mode 2 */
81 #define MSIO_MUX_3 LL_MSIO_MUX_3 /**< MSIO mux mode 3 */
82 #define MSIO_MUX_4 LL_MSIO_MUX_4 /**< MSIO mux mode 4 */
83 #define MSIO_MUX_5 LL_MSIO_MUX_5 /**< MSIO mux mode 5 */
84 #define MSIO_MUX_6 LL_MSIO_MUX_6 /**< MSIO mux mode 6 */
85 #define MSIO_MUX_7 LL_MSIO_MUX_7 /**< MSIO mux mode 7 */
86 /** @} */
87
88 /** @defgroup MSIOEx_Mux_Function_Selection MSIOEx Mux function selection
89 * @{
90 */
91
92 #if defined (GR551xx)
93 /*---------------------------------- GR551xx ------------------------------*/
94
95 /** @defgroup MSIOEx_Common_Selection MSIO PIN common MUX selection(Available for all MSIO pins)
96 * @{
97 */
98
99 #define MSIO_PIN_MUX_GPIO MSIO_MUX_7 /**< MSIO PIN x Mux Select GPIO */
100
101 /** @} */
102
103 /** @defgroup MSIOEx_PIN0_Mux_Selection MSIO_PIN0 MUX selection
104 * @{
105 */
106 #define MSIO_PIN0_MUX_PWM0_A MSIO_MUX_0 /**< MSIO_PIN0 Mux Select PWM0_A */
107 #define MSIO_PIN0_MUX_UART0_TX MSIO_MUX_1 /**< MSIO_PIN0 Mux Select UART0_TX */
108 #define MSIO_PIN0_MUX_UART1_TX MSIO_MUX_2 /**< MSIO_PIN0 Mux Select UART1_TX */
109 #define MSIO_PIN0_MUX_I2C0_SCL MSIO_MUX_3 /**< MSIO_PIN0 Mux Select I2C0_SCL */
110 #define MSIO_PIN0_MUX_I2C1_SCL MSIO_MUX_4 /**< MSIO_PIN0 Mux Select I2C1_SCL */
111 /** @} */
112
113 /** @defgroup MSIOEx_PIN1_Mux_Selection MSIO_PIN1 MUX selection
114 * @{
115 */
116 #define MSIO_PIN1_MUX_PWM0_B MSIO_MUX_0 /**< MSIO_PIN1 Mux Select PWM0_B */
117 #define MSIO_PIN1_MUX_UART0_RX MSIO_MUX_1 /**< MSIO_PIN1 Mux Select UART0_RX */
118 #define MSIO_PIN1_MUX_UART1_RX MSIO_MUX_2 /**< MSIO_PIN1 Mux Select UART1_RX */
119 #define MSIO_PIN1_MUX_I2C0_SDA MSIO_MUX_3 /**< MSIO_PIN1 Mux Select I2C0_SDA */
120 #define MSIO_PIN1_MUX_I2C1_SDA MSIO_MUX_4 /**< MSIO_PIN1 Mux Select I2C1_SDA */
121 /** @} */
122
123 /** @defgroup MSIOEx_PIN2_Mux_Selection MSIO_PIN2 MUX selection
124 * @{
125 */
126 #define MSIO_PIN2_MUX_PWM0_C MSIO_MUX_0 /**< MSIO_PIN2 Mux Select PWM0_C */
127 /** @} */
128
129 /** @defgroup MSIOEx_PIN3_Mux_Selection MSIO_PIN3 MUX selection
130 * @{
131 */
132 #define MSIO_PIN3_MUX_PWM1_A MSIO_MUX_0 /**< MSIO_PIN3 Mux Select PWM1_A */
133 #define MSIO_PIN3_MUX_UART0_RTS MSIO_MUX_1 /**< MSIO_PIN3 Mux Select UART0_RTS */
134 #define MSIO_PIN3_MUX_UART1_RTS MSIO_MUX_2 /**< MSIO_PIN3 Mux Select UART1_RTS */
135 #define MSIO_PIN3_MUX_I2C0_SCL MSIO_MUX_3 /**< MSIO_PIN3 Mux Select I2C0_SCL */
136 #define MSIO_PIN3_MUX_I2C1_SCL MSIO_MUX_4 /**< MSIO_PIN3 Mux Select I2C1_SCL */
137 /** @} */
138
139 /** @defgroup MSIOEx_PIN4_Mux_Selection MSIO_PIN4 MUX selection
140 * @{
141 */
142 #define MSIO_PIN4_MUX_PWM1_B MSIO_MUX_0 /**< MSIO_PIN4 Mux Select PWM1_B */
143 #define MSIO_PIN4_MUX_UART0_CTS MSIO_MUX_1 /**< MSIO_PIN4 Mux Select UART0_CTS */
144 #define MSIO_PIN4_MUX_UART1_CTS MSIO_MUX_2 /**< MSIO_PIN4 Mux Select UART1_CTS */
145 #define MSIO_PIN4_MUX_I2C0_SDA MSIO_MUX_3 /**< MSIO_PIN4 Mux Select I2C0_SDA */
146 #define MSIO_PIN4_MUX_I2C1_SDA MSIO_MUX_4 /**< MSIO_PIN4 Mux Select I2C1_SDA */
147 /** @} */
148
149 /**
150 * @brief Check if MSIO mux mode is valid.
151 * @param __MUX__ MSIO mux mode.
152 * @retval SET (__ACTION__ is valid) or RESET (__ACTION__ is invalid)
153 */
154 #define IS_MSIO_MUX(__MUX__) (((__MUX__) <= MSIO_MUX_7))
155
156 /*------------------------------------------------------------------------------------------*/
157 #endif /* GR551xx */
158
159 /** @} */
160
161 /** @} */
162
163 /** @} */
164
165 #ifdef __cplusplus
166 }
167 #endif
168
169 #endif /* __GR55xx_HAL_MSIO_EX_H__ */
170
171 /** @} */
172
173 /** @} */
174
175 /** @} */
176
gr55xx_ll_msio.h
Header file containing functions prototypes of MSIO LL library.
gr55xx_hal_def.h
This file contains HAL common definitions, enumeration, macros and structures definitions.