Go to the documentation of this file.
52 #ifndef __GR55xx_HAL_AON_GPIO_H__
53 #define __GR55xx_HAL_AON_GPIO_H__
145 #define AON_GPIO_PIN_0 ((uint16_t)0x0001U)
146 #define AON_GPIO_PIN_1 ((uint16_t)0x0002U)
147 #define AON_GPIO_PIN_2 ((uint16_t)0x0004U)
148 #define AON_GPIO_PIN_3 ((uint16_t)0x0008U)
149 #define AON_GPIO_PIN_4 ((uint16_t)0x0010U)
150 #define AON_GPIO_PIN_5 ((uint16_t)0x0020U)
151 #define AON_GPIO_PIN_6 ((uint16_t)0x0040U)
152 #define AON_GPIO_PIN_7 ((uint16_t)0x0080U)
154 #define AON_GPIO_PIN_ALL ((uint16_t)0x00FFU)
156 #define AON_GPIO_PIN_MASK (0x000000FFU)
166 #define AON_GPIO_MODE_NONE (LL_AON_GPIO_MODE_NONE << 0)
167 #define AON_GPIO_MODE_INPUT (LL_AON_GPIO_MODE_INPUT << 0)
168 #define AON_GPIO_MODE_OUTPUT (LL_AON_GPIO_MODE_OUTPUT << 0)
169 #define AON_GPIO_MODE_INOUT (LL_AON_GPIO_MODE_INOUT << 0)
170 #define AON_GPIO_MODE_MUX (LL_AON_GPIO_MODE_INOUT << 0)
171 #define AON_GPIO_MODE_IT_RISING (LL_AON_GPIO_TRIGGER_RISING << 4 | AON_GPIO_MODE_INPUT)
172 #define AON_GPIO_MODE_IT_FALLING (LL_AON_GPIO_TRIGGER_FALLING << 4 | AON_GPIO_MODE_INPUT)
173 #define AON_GPIO_MODE_IT_HIGH (LL_AON_GPIO_TRIGGER_HIGH << 4 | AON_GPIO_MODE_INPUT)
174 #define AON_GPIO_MODE_IT_LOW (LL_AON_GPIO_TRIGGER_LOW << 4 | AON_GPIO_MODE_INPUT)
175 #define AON_GPIO_MODE_IT_BOTH_EDGE (LL_AON_GPIO_TRIGGER_BOTH_EDGE << 4 | AON_GPIO_MODE_INPUT)
183 #define AON_GPIO_NOPULL LL_AON_GPIO_PULL_NO
184 #define AON_GPIO_PULLUP LL_AON_GPIO_PULL_UP
185 #define AON_GPIO_PULLDOWN LL_AON_GPIO_PULL_DOWN
191 #define AON_GPIO_SPEED_MEDIUM LL_AON_GPIO_SPEED_MEDIUM
192 #define AON_GPIO_SPEED_HIGH LL_AON_GPIO_SPEED_HIGH
198 #define AON_GPIO_STRENGTH_LOW LL_AON_GPIO_STRENGTH_LOW
199 #define AON_GPIO_STRENGTH_MEDIUM LL_AON_GPIO_STRENGTH_MEDIUM
200 #define AON_GPIO_STRENGTH_HIGH LL_AON_GPIO_STRENGTH_HIGH
201 #define AON_GPIO_STRENGTH_ULTRA LL_AON_GPIO_STRENGTH_ULTRA
207 #define AON_GPIO_INPUT_TYPE_CMOS LL_AON_GPIO_INPUT_TYPE_CMOS
208 #define AON_GPIO_INPUT_TYPE_SCHMITT LL_AON_GPIO_INPUT_TYPE_SCHMITT
214 #define AON_GPIO_DEFAULT_CONFIG \
216 .pin = AON_GPIO_PIN_ALL, \
217 .mode = AON_GPIO_MODE_INPUT, \
218 .pull = AON_GPIO_PULLDOWN, \
219 .mux = AON_GPIO_MUX_8, \
220 .speed = AON_GPIO_SPEED_MEDIUM, \
221 .strength = AON_GPIO_STRENGTH_MEDIUM, \
222 .input_type = AON_GPIO_INPUT_TYPE_CMOS, \
237 #define __HAL_AON_GPIO_IT_GET_IT(__AON_GPIO_PIN__) ll_aon_gpio_read_flag_it(__AON_GPIO_PIN__)
245 #define __HAL_AON_GPIO_IT_CLEAR_IT(__AON_GPIO_PIN__) ll_aon_gpio_clear_flag_it(__AON_GPIO_PIN__)
259 #define IS_AON_GPIO_PIN_ACTION(__ACTION__) (((__ACTION__) == AON_GPIO_PIN_RESET) || ((__ACTION__) == AON_GPIO_PIN_SET))
266 #define IS_AON_GPIO_PIN(__PIN__) ((((__PIN__) & AON_GPIO_PIN_MASK) != 0x00U) &&\
267 (((__PIN__) & ~AON_GPIO_PIN_MASK) == 0x00U))
274 #define IS_AON_GPIO_MODE(__MODE__) (((__MODE__) == AON_GPIO_MODE_INPUT) ||\
275 ((__MODE__) == AON_GPIO_MODE_OUTPUT) ||\
276 ((__MODE__) == AON_GPIO_MODE_MUX) ||\
277 ((__MODE__) == AON_GPIO_MODE_IT_RISING) ||\
278 ((__MODE__) == AON_GPIO_MODE_IT_FALLING) ||\
279 ((__MODE__) == AON_GPIO_MODE_IT_HIGH) ||\
280 ((__MODE__) == AON_GPIO_MODE_IT_LOW))
287 #define IS_AON_GPIO_PULL(__PULL__) (((__PULL__) == AON_GPIO_NOPULL) ||\
288 ((__PULL__) == AON_GPIO_PULLUP) || \
289 ((__PULL__) == AON_GPIO_PULLDOWN))
struct _aon_gpio_init aon_gpio_init_t
AON_GPIO init structure definition.
void hal_aon_gpio_toggle_pin(uint16_t aon_gpio_pin)
Toggle the specified AON_GPIO pin.
void hal_aon_gpio_deinit(uint32_t aon_gpio_pin)
De-initialize the AON_GPIOx peripheral registers to their default reset values.
Header file containing functions prototypes of AON GPIO LL library.
aon_gpio_pin_state_t
AON_GPIO Bit SET and Bit RESET enumerations.
void hal_aon_gpio_write_pin(uint16_t aon_gpio_pin, aon_gpio_pin_state_t pin_state)
Set or clear the selected data port bit.
void(* aon_gpio_callback)(uint16_t aon_gpio_pin)
HAL AON_GPIO Callback function definition.
struct _hal_aon_gpio_callback hal_aon_gpio_callback_t
HAL AON_GPIO Callback function definition.
void hal_aon_gpio_callback(uint16_t aon_gpio_pin)
AON GPIO pin detection callback.
void hal_aon_gpio_init(aon_gpio_init_t *p_aon_gpio_init)
Initialize the AON_GPIOx peripheral according to the specified parameters in the aon_gpio_init_t.
AON_GPIO init structure definition.
void hal_aon_gpio_irq_handler(void)
Handle AON_GPIO interrupt request.
aon_gpio_pin_state_t hal_aon_gpio_read_pin(uint16_t aon_gpio_pin)
Read the specified input port pin.
This file contains HAL common definitions, enumeration, macros and structures definitions.
Header file containing extended macro of AON GPIO HAL library.