1 /* 2 * Copyright (C) 2021, Huada Semiconductor Co., Ltd. 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 * 2021-08-19 pjq first version 9 */ 10 11 #ifndef __DRV_GPIO_H__ 12 #define __DRV_GPIO_H__ 13 14 #include <rtdevice.h> 15 16 #ifdef RT_USING_PIN 17 18 #define __HC_PORT(port) GpioPort##port 19 #define GET_PIN(PORT, PIN) (((rt_uint16_t)__HC_PORT(PORT) / 0x40 * 16) + PIN) 20 21 #ifndef EXINT0_IRQ_CONFIG 22 #define EXINT0_IRQ_CONFIG \ 23 { \ 24 .irq = EXINT0_INT_IRQn, \ 25 .irq_prio = EXINT0_INT_PRIO, \ 26 } 27 #endif /* EXINT1_IRQ_CONFIG */ 28 29 #ifndef EXINT1_IRQ_CONFIG 30 #define EXINT1_IRQ_CONFIG \ 31 { \ 32 .irq = EXINT1_INT_IRQn, \ 33 .irq_prio = EXINT1_INT_PRIO, \ 34 } 35 #endif /* EXINT1_IRQ_CONFIG */ 36 37 #ifndef EXINT2_IRQ_CONFIG 38 #define EXINT2_IRQ_CONFIG \ 39 { \ 40 .irq = EXINT2_INT_IRQn, \ 41 .irq_prio = EXINT2_INT_PRIO, \ 42 } 43 #endif /* EXINT2_IRQ_CONFIG */ 44 45 #ifndef EXINT3_IRQ_CONFIG 46 #define EXINT3_IRQ_CONFIG \ 47 { \ 48 .irq = EXINT3_INT_IRQn, \ 49 .irq_prio = EXINT3_INT_PRIO, \ 50 } 51 #endif /* EXINT3_IRQ_CONFIG */ 52 53 #ifndef EXINT4_IRQ_CONFIG 54 #define EXINT4_IRQ_CONFIG \ 55 { \ 56 .irq = EXINT4_INT_IRQn, \ 57 .irq_prio = EXINT4_INT_PRIO, \ 58 } 59 #endif /* EXINT4_IRQ_CONFIG */ 60 61 #ifndef EXINT5_IRQ_CONFIG 62 #define EXINT5_IRQ_CONFIG \ 63 { \ 64 .irq = EXINT5_INT_IRQn, \ 65 .irq_prio = EXINT5_INT_PRIO, \ 66 } 67 #endif /* EXINT5_IRQ_CONFIG */ 68 69 #ifndef EXINT6_IRQ_CONFIG 70 #define EXINT6_IRQ_CONFIG \ 71 { \ 72 .irq = EXINT6_INT_IRQn, \ 73 .irq_prio = EXINT6_INT_PRIO, \ 74 } 75 #endif /* EXINT6_IRQ_CONFIG */ 76 77 #ifndef EXINT7_IRQ_CONFIG 78 #define EXINT7_IRQ_CONFIG \ 79 { \ 80 .irq = EXINT7_INT_IRQn, \ 81 .irq_prio = EXINT7_INT_PRIO, \ 82 } 83 #endif /* EXINT7_IRQ_CONFIG */ 84 85 #ifndef EXINT8_IRQ_CONFIG 86 #define EXINT8_IRQ_CONFIG \ 87 { \ 88 .irq = EXINT8_INT_IRQn, \ 89 .irq_prio = EXINT8_INT_PRIO, \ 90 } 91 #endif /* EXINT8_IRQ_CONFIG */ 92 93 #ifndef EXINT9_IRQ_CONFIG 94 #define EXINT9_IRQ_CONFIG \ 95 { \ 96 .irq = EXINT9_INT_IRQn, \ 97 .irq_prio = EXINT9_INT_PRIO, \ 98 } 99 #endif /* EXINT9_IRQ_CONFIG */ 100 101 #ifndef EXINT10_IRQ_CONFIG 102 #define EXINT10_IRQ_CONFIG \ 103 { \ 104 .irq = EXINT10_INT_IRQn, \ 105 .irq_prio = EXINT10_INT_PRIO, \ 106 } 107 #endif /* EXINT10_IRQ_CONFIG */ 108 109 #ifndef EXINT11_IRQ_CONFIG 110 #define EXINT11_IRQ_CONFIG \ 111 { \ 112 .irq = EXINT11_INT_IRQn, \ 113 .irq_prio = EXINT11_INT_PRIO, \ 114 } 115 #endif /* EXINT11_IRQ_CONFIG */ 116 117 #ifndef EXINT12_IRQ_CONFIG 118 #define EXINT12_IRQ_CONFIG \ 119 { \ 120 .irq = EXINT12_INT_IRQn, \ 121 .irq_prio = EXINT12_INT_PRIO, \ 122 } 123 #endif /* EXINT12_IRQ_CONFIG */ 124 125 #ifndef EXINT13_IRQ_CONFIG 126 #define EXINT13_IRQ_CONFIG \ 127 { \ 128 .irq = EXINT13_INT_IRQn, \ 129 .irq_prio = EXINT13_INT_PRIO, \ 130 } 131 #endif /* EXINT13_IRQ_CONFIG */ 132 133 #ifndef EXINT14_IRQ_CONFIG 134 #define EXINT14_IRQ_CONFIG \ 135 { \ 136 .irq = EXINT14_INT_IRQn, \ 137 .irq_prio = EXINT14_INT_PRIO, \ 138 } 139 #endif /* EXINT14_IRQ_CONFIG */ 140 141 #ifndef EXINT15_IRQ_CONFIG 142 #define EXINT15_IRQ_CONFIG \ 143 { \ 144 .irq = EXINT15_INT_IRQn, \ 145 .irq_prio = EXINT15_INT_PRIO, \ 146 } 147 #endif /* EXINT15_IRQ_CONFIG */ 148 149 #endif 150 151 #endif /* __DRV_GPIO_H__ */ 152