ab32vg1_hal_msp.c 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /*
  2. * Copyright (c) 2020-2020, BLUETRUM Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #include "ab32vg1_hal.h"
  7. void hal_uart_mspinit(struct uart_handle *huart)
  8. {
  9. struct gpio_init gpio_init;
  10. if (huart->instance == UART0_BASE) {
  11. gpio_init.pin = GPIO_PIN_7;
  12. gpio_init.pull = GPIO_PULLUP;
  13. gpio_init.dir = GPIO_DIR_INPUT;
  14. gpio_init.de = GPIO_DIGITAL;
  15. gpio_init.alternate = GPIO_AF_MAP_Gx(UT0TXMAP_AF, GPIO_AF_G1) | UT0RXMAP_TX;
  16. gpio_init.af_con = GPIO_AFEN | GPIO_AFCON0 | UT0TXMAP_AF;
  17. hal_gpio_init(GPIOA_BASE, &gpio_init);
  18. } else if (huart->instance == UART1_BASE) {
  19. gpio_init.pin = GPIO_PIN_4;
  20. gpio_init.dir = GPIO_DIR_OUTPUT;
  21. gpio_init.de = GPIO_DIGITAL;
  22. gpio_init.alternate = GPIO_AF_MAP_Gx(UT1TXMAP_AF, GPIO_AF_G2);
  23. gpio_init.af_con = GPIO_AFEN | GPIO_AFCON0 | UT1TXMAP_AF;
  24. hal_gpio_init(GPIOA_BASE, &gpio_init);
  25. gpio_init.pin = GPIO_PIN_3;
  26. gpio_init.pull = GPIO_PULLUP;
  27. gpio_init.dir = GPIO_DIR_INPUT;
  28. gpio_init.de = GPIO_DIGITAL;
  29. gpio_init.alternate = GPIO_AF_MAP_Gx(UT1RXMAP_AF, GPIO_AF_G2);
  30. gpio_init.af_con = GPIO_AFEN | GPIO_AFCON0 | UT1RXMAP_AF;
  31. hal_gpio_init(GPIOA_BASE, &gpio_init);
  32. /* Interrupt */
  33. }
  34. }
  35. #ifdef HAL_DAC_MODULE_ENABLED
  36. void hal_dac_mspinit(struct dac_handle *hdac)
  37. {
  38. }
  39. #endif
  40. #ifdef HAL_SD_MODULE_ENABLED
  41. void hal_sd_mspinit(sd_handle_t hsd)
  42. {
  43. struct gpio_init gpio_init;
  44. gpio_init.pin = GPIO_PIN_0 | GPIO_PIN_2;
  45. gpio_init.pull = GPIO_PULLUP;
  46. gpio_init.dir = GPIO_DIR_INPUT;
  47. gpio_init.de = GPIO_DIGITAL;
  48. gpio_init.alternate = GPIO_AF_MAP_Gx(SD0MAP_AF, GPIO_AF_G2);
  49. gpio_init.af_con = GPIO_AFEN | GPIO_AFCON0 | SD0MAP_AF;
  50. hal_gpio_init(GPIOB_BASE, &gpio_init);
  51. gpio_init.pin = GPIO_PIN_1;
  52. gpio_init.dir = GPIO_DIR_OUTPUT;
  53. gpio_init.alternate = GPIO_AF_MAP_Gx(SD0MAP_AF, GPIO_AF_G2);
  54. gpio_init.af_con = GPIO_AFEN | GPIO_AFCON0 | SD0MAP_AF;
  55. hal_gpio_init(GPIOB_BASE, &gpio_init);
  56. }
  57. #endif