1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /*
- * Copyright (c) 2020-2021, Bluetrum Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2020-11-19 greedyhao first version
- */
- #ifndef DRV_GPIO_H__
- #define DRV_GPIO_H__
- #include "drv_common.h"
- #include "board.h"
- #define __AB32_PORT(port) GPIO##port
- #define __AB32_GET_PIN_A(PIN) PIN
- #define __AB32_GET_PIN_B(PIN) 8 + PIN
- #define __AB32_GET_PIN_E(PIN) 13 + PIN
- #define __AB32_GET_PIN_F(PIN) 21 + PIN
- #define WAKEUP_INT_ENABLE 16
- #define WAKEUP_CRICUIT_0 0 // PA7
- #define WAKEUP_CRICUIT_1 1 // PB1
- #define WAKEUP_CRICUIT_2 2 // PB2
- #define WAKEUP_CRICUIT_3 3 // PB3
- #define WAKEUP_CRICUIT_4 4 // PB4
- #define WAKEUP_CRICUIT_5 5 // WKO (RTC)
- #define WAKEUP_CRICUIT_6 6 // Falling edge for other GPIOs
- #define WAKEUP_CRICUIT_7 7 // Rising edge for other GPIOs
- #define WAKEUP_EDGE_SELECT_0 16
- #define WAKEUP_EDGE_SELECT_1 17
- #define WAKEUP_EDGE_SELECT_2 18
- #define WAKEUP_EDGE_SELECT_3 19
- #define WAKEUP_EDGE_SELECT_4 20
- #define WAKEUP_EDGE_SELECT_5 21
- #define WAKEUP_EDGE_SELECT_6 22
- #define WAKEUP_EDGE_SELECT_7 23
- /* structure to store IRQ handler and arguments per pin */
- struct ab32_pin_irq
- {
- void (*hdr)(void *args);
- void *args;
- };
- int rt_hw_pin_init(void);
- #endif // DRV_GPIO_H__
|