1 /* 2 * Copyright (C) 2022-2024, Xiaohua Semiconductor Co., Ltd. 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 * 2022-04-28 CDT first version 9 */ 10 11 12 #ifndef __BOARD_CONFIG_H__ 13 #define __BOARD_CONFIG_H__ 14 15 #include <rtconfig.h> 16 #include "hc32_ll.h" 17 #include "drv_config.h" 18 19 20 /************************* XTAL port **********************/ 21 #define XTAL_PORT (GPIO_PORT_H) 22 #define XTAL_IN_PIN (GPIO_PIN_01) 23 #define XTAL_OUT_PIN (GPIO_PIN_00) 24 25 /************************ USART port **********************/ 26 #if defined(BSP_USING_UART2) 27 #define USART2_RX_PORT (GPIO_PORT_A) 28 #define USART2_RX_PIN (GPIO_PIN_03) 29 #define USART2_RX_FUNC (GPIO_FUNC_37) 30 31 #define USART2_TX_PORT (GPIO_PORT_A) 32 #define USART2_TX_PIN (GPIO_PIN_02) 33 #define USART2_TX_FUNC (GPIO_FUNC_36) 34 #endif 35 36 #if defined(BSP_USING_UART4) 37 #define USART4_RX_PORT (GPIO_PORT_B) 38 #define USART4_RX_PIN (GPIO_PIN_09) 39 #define USART4_RX_FUNC (GPIO_FUNC_37) 40 41 #define USART4_TX_PORT (GPIO_PORT_E) 42 #define USART4_TX_PIN (GPIO_PIN_06) 43 #define USART4_TX_FUNC (GPIO_FUNC_36) 44 #endif 45 46 /************************ I2C port **********************/ 47 #if defined(BSP_USING_I2C1) 48 #define I2C1_SDA_PORT (GPIO_PORT_A) 49 #define I2C1_SDA_PIN (GPIO_PIN_07) 50 #define I2C1_SDA_FUNC (GPIO_FUNC_48) 51 52 #define I2C1_SCL_PORT (GPIO_PORT_C) 53 #define I2C1_SCL_PIN (GPIO_PIN_04) 54 #define I2C1_SCL_FUNC (GPIO_FUNC_49) 55 #endif 56 57 #if defined(BSP_USING_I2C3) 58 #define I2C3_SDA_PORT (GPIO_PORT_B) 59 #define I2C3_SDA_PIN (GPIO_PIN_05) 60 #define I2C3_SDA_FUNC (GPIO_FUNC_48) 61 62 #define I2C3_SCL_PORT (GPIO_PORT_E) 63 #define I2C3_SCL_PIN (GPIO_PIN_15) 64 #define I2C3_SCL_FUNC (GPIO_FUNC_49) 65 #endif 66 67 /*********** ADC configure *********/ 68 #if defined(BSP_USING_ADC1) 69 #define ADC1_CH_PORT (GPIO_PORT_C) /* Default ADC12_IN10 */ 70 #define ADC1_CH_PIN (GPIO_PIN_00) 71 #endif 72 73 #if defined(BSP_USING_ADC2) 74 #define ADC2_CH_PORT (GPIO_PORT_C) /* Default ADC12_IN11 */ 75 #define ADC2_CH_PIN (GPIO_PIN_01) 76 #endif 77 78 /*********** CAN configure *********/ 79 #if defined(BSP_USING_CAN1) 80 #define CAN1_TX_PORT (GPIO_PORT_B) 81 #define CAN1_TX_PIN (GPIO_PIN_07) 82 #define CAN1_TX_PIN_FUNC (GPIO_FUNC_50) 83 84 #define CAN1_RX_PORT (GPIO_PORT_B) 85 #define CAN1_RX_PIN (GPIO_PIN_06) 86 #define CAN1_RX_PIN_FUNC (GPIO_FUNC_51) 87 88 #define CAN1_STB_PORT (GPIO_PORT_D) 89 #define CAN1_STB_PIN (GPIO_PIN_15) 90 #endif 91 92 /************************* SPI port ***********************/ 93 #if defined(BSP_USING_SPI3) 94 #define SPI3_CS_PORT (GPIO_PORT_C) 95 #define SPI3_CS_PIN (GPIO_PIN_07) 96 97 #define SPI3_SCK_PORT (GPIO_PORT_C) 98 #define SPI3_SCK_PIN (GPIO_PIN_06) 99 #define SPI3_SCK_FUNC (GPIO_FUNC_43) 100 101 #define SPI3_MOSI_PORT (GPIO_PORT_D) 102 #define SPI3_MOSI_PIN (GPIO_PIN_08) 103 #define SPI3_MOSI_FUNC (GPIO_FUNC_40) 104 105 #define SPI3_MISO_PORT (GPIO_PORT_D) 106 #define SPI3_MISO_PIN (GPIO_PIN_09) 107 #define SPI3_MISO_FUNC (GPIO_FUNC_41) 108 109 #define SPI3_WP_PORT (GPIO_PORT_D) 110 #define SPI3_WP_PIN (GPIO_PIN_10) 111 112 #define SPI3_HOLD_PORT (GPIO_PORT_D) 113 #define SPI3_HOLD_PIN (GPIO_PIN_11) 114 #endif 115 116 /************************ SDIOC port **********************/ 117 #if defined(BSP_USING_SDIO1) 118 #define SDIOC1_CK_PORT (GPIO_PORT_C) 119 #define SDIOC1_CK_PIN (GPIO_PIN_12) 120 #define SDIOC1_CK_FUNC (GPIO_FUNC_9) 121 122 #define SDIOC1_CMD_PORT (GPIO_PORT_D) 123 #define SDIOC1_CMD_PIN (GPIO_PIN_02) 124 #define SDIOC1_CMD_FUNC (GPIO_FUNC_9) 125 126 #define SDIOC1_D0_PORT (GPIO_PORT_C) 127 #define SDIOC1_D0_PIN (GPIO_PIN_08) 128 #define SDIOC1_D0_FUNC (GPIO_FUNC_9) 129 130 #define SDIOC1_D1_PORT (GPIO_PORT_C) 131 #define SDIOC1_D1_PIN (GPIO_PIN_09) 132 #define SDIOC1_D1_FUNC (GPIO_FUNC_9) 133 134 #define SDIOC1_D2_PORT (GPIO_PORT_C) 135 #define SDIOC1_D2_PIN (GPIO_PIN_10) 136 #define SDIOC1_D2_FUNC (GPIO_FUNC_9) 137 138 #define SDIOC1_D3_PORT (GPIO_PORT_C) 139 #define SDIOC1_D3_PIN (GPIO_PIN_11) 140 #define SDIOC1_D3_FUNC (GPIO_FUNC_9) 141 #endif 142 143 /************************ RTC/PM *****************************/ 144 #if defined(BSP_USING_RTC) || defined(RT_USING_PM) 145 #if defined(BSP_RTC_USING_XTAL32) || defined(RT_USING_PM) 146 #define XTAL32_PORT (GPIO_PORT_C) 147 #define XTAL32_IN_PIN (GPIO_PIN_15) 148 #define XTAL32_OUT_PIN (GPIO_PIN_14) 149 #endif 150 #endif 151 152 #if defined(RT_USING_PWM) 153 /*********** PWM_TMRA configure *********/ 154 #if defined(BSP_USING_PWM_TMRA_1) 155 #if defined(BSP_USING_PWM_TMRA_1_CH1) 156 #define PWM_TMRA_1_CH1_PORT (GPIO_PORT_A) 157 #define PWM_TMRA_1_CH1_PIN (GPIO_PIN_08) 158 #define PWM_TMRA_1_CH1_PIN_FUNC (GPIO_FUNC_4) 159 #endif 160 #if defined(BSP_USING_PWM_TMRA_1_CH2) 161 #define PWM_TMRA_1_CH2_PORT (GPIO_PORT_A) 162 #define PWM_TMRA_1_CH2_PIN (GPIO_PIN_09) 163 #define PWM_TMRA_1_CH2_PIN_FUNC (GPIO_FUNC_4) 164 #endif 165 #if defined(BSP_USING_PWM_TMRA_1_CH3) 166 #define PWM_TMRA_1_CH3_PORT (GPIO_PORT_A) 167 #define PWM_TMRA_1_CH3_PIN (GPIO_PIN_10) 168 #define PWM_TMRA_1_CH3_PIN_FUNC (GPIO_FUNC_4) 169 #endif 170 #if defined(BSP_USING_PWM_TMRA_1_CH4) 171 #define PWM_TMRA_1_CH4_PORT (GPIO_PORT_A) 172 #define PWM_TMRA_1_CH4_PIN (GPIO_PIN_11) 173 #define PWM_TMRA_1_CH4_PIN_FUNC (GPIO_FUNC_4) 174 #endif 175 #endif 176 177 /*********** PWM_TMR4 configure *********/ 178 #if defined(BSP_USING_PWM_TMR4_1) 179 #if defined(BSP_USING_PWM_TMR4_1_OUH) 180 #define PWM_TMR4_1_OUH_PORT (GPIO_PORT_E) 181 #define PWM_TMR4_1_OUH_PIN (GPIO_PIN_09) 182 #define PWM_TMR4_1_OUH_PIN_FUNC (GPIO_FUNC_2) 183 #endif 184 #if defined(BSP_USING_PWM_TMR4_1_OUL) 185 #define PWM_TMR4_1_OUL_PORT (GPIO_PORT_E) 186 #define PWM_TMR4_1_OUL_PIN (GPIO_PIN_08) 187 #define PWM_TMR4_1_OUL_PIN_FUNC (GPIO_FUNC_2) 188 #endif 189 #if defined(BSP_USING_PWM_TMR4_1_OVH) 190 #define PWM_TMR4_1_OVH_PORT (GPIO_PORT_E) 191 #define PWM_TMR4_1_OVH_PIN (GPIO_PIN_11) 192 #define PWM_TMR4_1_OVH_PIN_FUNC (GPIO_FUNC_2) 193 #endif 194 #if defined(BSP_USING_PWM_TMR4_1_OVL) 195 #define PWM_TMR4_1_OVL_PORT (GPIO_PORT_E) 196 #define PWM_TMR4_1_OVL_PIN (GPIO_PIN_10) 197 #define PWM_TMR4_1_OVL_PIN_FUNC (GPIO_FUNC_2) 198 #endif 199 #if defined(BSP_USING_PWM_TMR4_1_OWH) 200 #define PWM_TMR4_1_OWH_PORT (GPIO_PORT_E) 201 #define PWM_TMR4_1_OWH_PIN (GPIO_PIN_13) 202 #define PWM_TMR4_1_OWH_PIN_FUNC (GPIO_FUNC_2) 203 #endif 204 #if defined(BSP_USING_PWM_TMR4_1_OWL) 205 #define PWM_TMR4_1_OWL_PORT (GPIO_PORT_E) 206 #define PWM_TMR4_1_OWL_PIN (GPIO_PIN_12) 207 #define PWM_TMR4_1_OWL_PIN_FUNC (GPIO_FUNC_2) 208 #endif 209 #endif 210 211 /*********** PWM_TMR6 configure *********/ 212 #if defined(BSP_USING_PWM_TMR6_1) 213 #if defined(BSP_USING_PWM_TMR6_1_A) 214 #define PWM_TMR6_1_A_PORT (GPIO_PORT_A) 215 #define PWM_TMR6_1_A_PIN (GPIO_PIN_08) 216 #define PWM_TMR6_1_A_PIN_FUNC (GPIO_FUNC_3) 217 #endif 218 #if defined(BSP_USING_PWM_TMR6_1_B) 219 #define PWM_TMR6_1_B_PORT (GPIO_PORT_A) 220 #define PWM_TMR6_1_B_PIN (GPIO_PIN_07) 221 #define PWM_TMR6_1_B_PIN_FUNC (GPIO_FUNC_3) 222 #endif 223 #endif 224 225 #endif 226 227 #if defined(BSP_USING_INPUT_CAPTURE) 228 #if defined(BSP_USING_INPUT_CAPTURE_TMR6_1) 229 #define INPUT_CAPTURE_TMR6_1_PORT (GPIO_PORT_A) 230 #define INPUT_CAPTURE_TMR6_1_PIN (GPIO_PIN_08) 231 #define INPUT_CAPTURE_TMR6_1_PIN_FUNC (GPIO_FUNC_3) 232 #endif 233 #if defined(BSP_USING_INPUT_CAPTURE_TMR6_2) 234 #define INPUT_CAPTURE_TMR6_2_PORT (GPIO_PORT_B) 235 #define INPUT_CAPTURE_TMR6_2_PIN (GPIO_PIN_02) 236 #define INPUT_CAPTURE_TMR6_2_PIN_FUNC (GPIO_FUNC_3) 237 #endif 238 #if defined(BSP_USING_INPUT_CAPTURE_TMR6_3) 239 #define INPUT_CAPTURE_TMR6_3_PORT (GPIO_PORT_A) 240 #define INPUT_CAPTURE_TMR6_3_PIN (GPIO_PIN_12) 241 #define INPUT_CAPTURE_TMR6_3_PIN_FUNC (GPIO_FUNC_3) 242 #endif 243 #endif 244 245 #if defined(BSP_USING_USBD) || defined(BSP_USING_USBH) 246 #if defined(BSP_USING_USBFS) 247 /* USBFS Core*/ 248 #define USBF_DP_PORT (GPIO_PORT_A) 249 #define USBF_DP_PIN (GPIO_PIN_12) 250 #define USBF_DM_PORT (GPIO_PORT_A) 251 #define USBF_DM_PIN (GPIO_PIN_11) 252 #define USBF_VBUS_PORT (GPIO_PORT_A) 253 #define USBF_VBUS_PIN (GPIO_PIN_09) 254 #define USBF_VBUS_FUNC (GPIO_FUNC_10) 255 #define USBF_DRVVBUS_PORT (GPIO_PORT_B) 256 #define USBF_DRVVBUS_PIN (GPIO_PIN_08) 257 #define USBF_DRVVBUS_FUNC (GPIO_FUNC_10) 258 #endif 259 #endif 260 261 #if defined(BSP_USING_QSPI) 262 #ifndef BSP_QSPI_USING_SOFT_CS 263 /* QSSN */ 264 #define QSPI_FLASH_CS_PORT (GPIO_PORT_C) 265 #define QSPI_FLASH_CS_PIN (GPIO_PIN_07) 266 #define QSPI_FLASH_CS_FUNC (GPIO_FUNC_7) 267 #endif 268 /* QSCK */ 269 #define QSPI_FLASH_SCK_PORT (GPIO_PORT_C) 270 #define QSPI_FLASH_SCK_PIN (GPIO_PIN_06) 271 #define QSPI_FLASH_SCK_FUNC (GPIO_FUNC_7) 272 /* QSIO0 */ 273 #define QSPI_FLASH_IO0_PORT (GPIO_PORT_D) 274 #define QSPI_FLASH_IO0_PIN (GPIO_PIN_08) 275 #define QSPI_FLASH_IO0_FUNC (GPIO_FUNC_7) 276 /* QSIO1 */ 277 #define QSPI_FLASH_IO1_PORT (GPIO_PORT_D) 278 #define QSPI_FLASH_IO1_PIN (GPIO_PIN_09) 279 #define QSPI_FLASH_IO1_FUNC (GPIO_FUNC_7) 280 /* QSIO2 */ 281 #define QSPI_FLASH_IO2_PORT (GPIO_PORT_D) 282 #define QSPI_FLASH_IO2_PIN (GPIO_PIN_10) 283 #define QSPI_FLASH_IO2_FUNC (GPIO_FUNC_7) 284 /* QSIO3 */ 285 #define QSPI_FLASH_IO3_PORT (GPIO_PORT_D) 286 #define QSPI_FLASH_IO3_PIN (GPIO_PIN_11) 287 #define QSPI_FLASH_IO3_FUNC (GPIO_FUNC_7) 288 #endif 289 290 /*********** TMRA_PULSE_ENCODER configure *********/ 291 #if defined(RT_USING_PULSE_ENCODER) 292 #if defined(BSP_USING_TMRA_PULSE_ENCODER) 293 #if defined(BSP_USING_PULSE_ENCODER_TMRA_1) 294 #define PULSE_ENCODER_TMRA_1_A_PORT (GPIO_PORT_A) 295 #define PULSE_ENCODER_TMRA_1_A_PIN (GPIO_PIN_08) 296 #define PULSE_ENCODER_TMRA_1_A_PIN_FUNC (GPIO_FUNC_4) 297 #define PULSE_ENCODER_TMRA_1_B_PORT (GPIO_PORT_A) 298 #define PULSE_ENCODER_TMRA_1_B_PIN (GPIO_PIN_09) 299 #define PULSE_ENCODER_TMRA_1_B_PIN_FUNC (GPIO_FUNC_4) 300 #endif /* BSP_USING_PULSE_ENCODER_TMRA_1 */ 301 #endif /* BSP_USING_TMRA_PULSE_ENCODER */ 302 303 #if defined(BSP_USING_TMR6_PULSE_ENCODER) 304 #if defined(BSP_USING_PULSE_ENCODER_TMR6_1) 305 #define PULSE_ENCODER_TMR6_1_A_PORT (GPIO_PORT_E) 306 #define PULSE_ENCODER_TMR6_1_A_PIN (GPIO_PIN_09) 307 #define PULSE_ENCODER_TMR6_1_A_PIN_FUNC (GPIO_FUNC_3) 308 #define PULSE_ENCODER_TMR6_1_B_PORT (GPIO_PORT_E) 309 #define PULSE_ENCODER_TMR6_1_B_PIN (GPIO_PIN_08) 310 #define PULSE_ENCODER_TMR6_1_B_PIN_FUNC (GPIO_FUNC_3) 311 #endif /* BSP_USING_PULSE_ENCODER_TMR6_1 */ 312 #endif /* BSP_USING_TMR6_PULSE_ENCODER */ 313 #endif /* RT_USING_PULSE_ENCODER */ 314 315 #endif 316 317