You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

112 lines
3.5 KiB

  1. /*
  2. ChibiOS - Copyright (C) 2006..2021 Giovanni Di Sirio
  3. Licensed under the Apache License, Version 2.0 (the "License");
  4. you may not use this file except in compliance with the License.
  5. You may obtain a copy of the License at
  6. http://www.apache.org/licenses/LICENSE-2.0
  7. Unless required by applicable law or agreed to in writing, software
  8. distributed under the License is distributed on an "AS IS" BASIS,
  9. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  10. See the License for the specific language governing permissions and
  11. limitations under the License.
  12. */
  13. #ifndef MCUCONF_H
  14. #define MCUCONF_H
  15. /*
  16. * RP2040_MCUCONF drivers configuration.
  17. *
  18. * IRQ priorities:
  19. * 3...0 Lowest...Highest.
  20. *
  21. * DMA priorities:
  22. * 0...1 Lowest...Highest.
  23. */
  24. #define RP2040_MCUCONF
  25. /*
  26. * HAL driver system settings.
  27. */
  28. #define RP_NO_INIT FALSE
  29. #define RP_CORE1_START FALSE
  30. #define RP_CORE1_VECTORS_TABLE _vectors
  31. #define RP_CORE1_ENTRY_POINT _crt0_c1_entry
  32. #define RP_CORE1_STACK_END __c1_main_stack_end__
  33. /*
  34. * IRQ system settings.
  35. */
  36. #define RP_IRQ_SYSTICK_PRIORITY 2
  37. #define RP_IRQ_TIMER_ALARM0_PRIORITY 2
  38. #define RP_IRQ_TIMER_ALARM1_PRIORITY 2
  39. #define RP_IRQ_TIMER_ALARM2_PRIORITY 2
  40. #define RP_IRQ_TIMER_ALARM3_PRIORITY 2
  41. #define RP_IRQ_ADC1_PRIORITY 3
  42. #define RP_IRQ_UART0_PRIORITY 3
  43. #define RP_IRQ_UART1_PRIORITY 3
  44. #define RP_IRQ_SPI0_PRIORITY 2
  45. #define RP_IRQ_SPI1_PRIORITY 2
  46. #define RP_IRQ_USB0_PRIORITY 3
  47. #define RP_IRQ_I2C0_PRIORITY 2
  48. #define RP_IRQ_I2C1_PRIORITY 2
  49. /*
  50. * ADC driver system settings.
  51. */
  52. #define RP_ADC_USE_ADC1 TRUE
  53. /*
  54. * SIO driver system settings.
  55. */
  56. #define RP_SIO_USE_UART0 FALSE
  57. #define RP_SIO_USE_UART1 FALSE
  58. /*
  59. * SPI driver system settings.
  60. */
  61. #define RP_SPI_USE_SPI0 TRUE
  62. #define RP_SPI_USE_SPI1 FALSE
  63. #define RP_SPI_SPI0_RX_DMA_CHANNEL RP_DMA_CHANNEL_ID_ANY
  64. #define RP_SPI_SPI0_TX_DMA_CHANNEL RP_DMA_CHANNEL_ID_ANY
  65. #define RP_SPI_SPI1_RX_DMA_CHANNEL RP_DMA_CHANNEL_ID_ANY
  66. #define RP_SPI_SPI1_TX_DMA_CHANNEL RP_DMA_CHANNEL_ID_ANY
  67. #define RP_SPI_SPI0_DMA_PRIORITY 1
  68. #define RP_SPI_SPI1_DMA_PRIORITY 1
  69. #define RP_SPI_DMA_ERROR_HOOK(spip)
  70. /*
  71. * PWM driver system settings.
  72. */
  73. #define RP_PWM_USE_PWM0 FALSE
  74. #define RP_PWM_USE_PWM1 FALSE
  75. #define RP_PWM_USE_PWM2 FALSE
  76. #define RP_PWM_USE_PWM3 FALSE
  77. #define RP_PWM_USE_PWM4 FALSE
  78. #define RP_PWM_USE_PWM5 FALSE
  79. #define RP_PWM_USE_PWM6 FALSE
  80. #define RP_PWM_USE_PWM7 FALSE
  81. #define RP_PWM_IRQ_WRAP_NUMBER_PRIORITY 3
  82. /*
  83. * I2C driver system settings.
  84. */
  85. #define RP_I2C_USE_I2C0 TRUE
  86. #define RP_I2C_USE_I2C1 FALSE
  87. #define RP_I2C_BUSY_TIMEOUT 50
  88. #define RP_I2C_ADDRESS_MODE_10BIT FALSE
  89. /*
  90. * USB driver system settings.
  91. */
  92. #define RP_USB_USE_USBD0 TRUE
  93. #define RP_USB_FORCE_VBUS_DETECT TRUE
  94. #define RP_USE_EXTERNAL_VBUS_DETECT FALSE
  95. #define RP_USB_USE_SOF_INTR TRUE
  96. #define RP_USB_USE_ERROR_DATA_SEQ_INTR FALSE
  97. #endif /* MCUCONF_H */