uart_periph.c 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. /*
  2. * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #include "soc/uart_periph.h"
  7. /*
  8. Bunch of constants for every UART peripheral: GPIO signals, irqs, hw addr of registers etc
  9. */
  10. const uart_signal_conn_t uart_periph_signal[SOC_UART_NUM] = {
  11. { // HP UART0
  12. .pins = {
  13. [SOC_UART_TX_PIN_IDX] = {
  14. .default_gpio = U0TXD_GPIO_NUM,
  15. .iomux_func = U0TXD_MUX_FUNC,
  16. .input = 0,
  17. .signal = U0TXD_OUT_IDX,
  18. },
  19. [SOC_UART_RX_PIN_IDX] = {
  20. .default_gpio = U0RXD_GPIO_NUM,
  21. .iomux_func = U0RXD_MUX_FUNC,
  22. .input = 1,
  23. .signal = U0RXD_IN_IDX,
  24. },
  25. [SOC_UART_RTS_PIN_IDX] = {
  26. .default_gpio = U0RTS_GPIO_NUM,
  27. .iomux_func = U0RTS_MUX_FUNC,
  28. .input = 0,
  29. .signal = U0RTS_OUT_IDX,
  30. },
  31. [SOC_UART_CTS_PIN_IDX] = {
  32. .default_gpio = U0CTS_GPIO_NUM,
  33. .iomux_func = U0CTS_MUX_FUNC,
  34. .input = 1,
  35. .signal = U0CTS_IN_IDX,
  36. }
  37. },
  38. .irq = ETS_UART0_INTR_SOURCE,
  39. .module = PERIPH_UART0_MODULE,
  40. },
  41. { // HP UART1
  42. .pins = {
  43. [SOC_UART_TX_PIN_IDX] = {
  44. .default_gpio = U1TXD_GPIO_NUM,
  45. .iomux_func = U1TXD_MUX_FUNC,
  46. .input = 0,
  47. .signal = U1TXD_OUT_IDX,
  48. },
  49. [SOC_UART_RX_PIN_IDX] = {
  50. .default_gpio = U1RXD_GPIO_NUM,
  51. .iomux_func = U1RXD_MUX_FUNC,
  52. .input = 1,
  53. .signal = U1RXD_IN_IDX,
  54. },
  55. [SOC_UART_RTS_PIN_IDX] = {
  56. .default_gpio = U1RTS_GPIO_NUM,
  57. .iomux_func = U1RTS_MUX_FUNC,
  58. .input = 0,
  59. .signal = U1RTS_OUT_IDX,
  60. },
  61. [SOC_UART_CTS_PIN_IDX] = {
  62. .default_gpio = U1CTS_GPIO_NUM,
  63. .iomux_func = U1CTS_MUX_FUNC,
  64. .input = 1,
  65. .signal = U1CTS_IN_IDX,
  66. },
  67. },
  68. .irq = ETS_UART1_INTR_SOURCE,
  69. .module = PERIPH_UART1_MODULE,
  70. },
  71. { // LP UART0
  72. .pins = {
  73. [SOC_UART_TX_PIN_IDX] = {
  74. .default_gpio = LP_U0TXD_GPIO_NUM,
  75. .iomux_func = LP_U0TXD_MUX_FUNC,
  76. .input = 0,
  77. .signal = UINT8_MAX, // Signal not available in signal map
  78. },
  79. [SOC_UART_RX_PIN_IDX] = {
  80. .default_gpio = LP_U0RXD_GPIO_NUM,
  81. .iomux_func = LP_U0RXD_MUX_FUNC,
  82. .input = 1,
  83. .signal = UINT8_MAX, // Signal not available in signal map
  84. },
  85. [SOC_UART_RTS_PIN_IDX] = {
  86. .default_gpio = LP_U0RTS_GPIO_NUM,
  87. .iomux_func = LP_U0RTS_MUX_FUNC,
  88. .input = 0,
  89. .signal = UINT8_MAX, // Signal not available in signal map
  90. },
  91. [SOC_UART_CTS_PIN_IDX] = {
  92. .default_gpio = LP_U0CTS_GPIO_NUM,
  93. .iomux_func = LP_U0CTS_MUX_FUNC,
  94. .input = 1,
  95. .signal = UINT8_MAX, // Signal not available in signal map
  96. },
  97. },
  98. .irq = ETS_LP_UART_INTR_SOURCE,
  99. .module = PERIPH_LP_UART0_MODULE,
  100. },
  101. };