1 /* 2 * Copyright (c) 2020-2020, BLUETRUM Development Team 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #ifndef AB32VG1_HAL_GPIO_EX_H__ 8 #define AB32VG1_HAL_GPIO_EX_H__ 9 10 /* Alternate function */ 11 #define GPIO_AF_MAP_Gx(AF, Gx) ((uint32_t)((Gx) << (AF))) 12 #define GPIO_AF_MAP_CLR(AF) ((uint32_t)(0xfu << (AF))) 13 14 #define GPIO_AF_G1 (1u) 15 #define GPIO_AF_G2 (2u) 16 #define GPIO_AF_G3 (3u) 17 #define GPIO_AF_G4 (4u) 18 #define GPIO_AF_G5 (5u) 19 #define GPIO_AF_G6 (6u) 20 #define GPIO_AF_G7 (7u) 21 22 /** 23 * UART0: 24 * G1: tx:PA7 rx:PA6 25 * G2: tx:PB2 rx:PB1 26 * G3: tx:PB3 rx:PB4 27 * G4: tx:PE7 rx:PE6 28 * G5: tx:PA1 rx:PA0 29 * G6: tx:PE0 rx:PE1 30 * G7: tx:PF2 rx:map to tx 31 * 32 * UART1: 33 * G1: tx:PA7 rx:PA6 34 * G2: tx:PA4 rx:PA3 35 * G3: tx:PF2 rx:map to tx 36 * 37 * UART2: 38 * G1: tx:PE3 rx:PE2 39 * G2: tx:PB2 rx:PB1 40 */ 41 42 #define UT2RXMAP_AF (8u) 43 #define UT2TXMAP_AF (4u) 44 45 #define UT1RXMAP_AF (28u) 46 #define UT1TXMAP_AF (24u) 47 #define HSUTRXMAP_AF (20u) 48 #define HSUTTXMAP_AF (16u) 49 #define UT0RXMAP_AF (12u) 50 #define UT0TXMAP_AF ( 8u) 51 #define SPI0MAP_AF ( 4u) 52 #define SD0MAP_AF ( 0u) 53 54 #define UT1RXMAP_TX ((uint32_t)(0x3u << (UT1RXMAP_AF))) 55 #define UT0RXMAP_TX ((uint32_t)(0x7u << (UT0RXMAP_AF))) 56 57 /** 58 * LPWM3: 59 * G1: PE7 60 * G2: PF2 61 * G3: PA3 62 * 63 * LPWM2: 64 * G1: PE6 65 * G2: PE0 66 * G3: PA2 67 * 68 * LPWM1: 69 * G1: PE5 70 * G2: PB4 71 * G3: PA1 72 * 73 * LPWM0: 74 * G1: PE4 75 * G2: PB3 76 * G3: PA0 77 */ 78 #define LPWM3MAP_AF (28u) 79 #define LPWM2MAP_AF (24u) 80 #define LPWM1MAP_AF (20u) 81 #define LPWM0MAP_AF (16u) 82 83 /** 84 * TMR5: 85 * G1: PE1 PE2 PE3 86 * 87 * TMR4: 88 * G1: PA5 PA6 PA7 89 * 90 * TMR3: 91 * G1: PB0 PB1 PB2 92 */ 93 #define TMR5MAP_AF (16u) 94 #define TMR4MAP_AF (12u) 95 #define TMR3MAP_AF ( 8u) 96 97 #endif 98