stm32f0.nut 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. --
  2. -- * Copyright (C) 2014 by Uwe Bonnes(bon@elektron.ikp.physik.tu-darmstadt.de)
  3. --
  4. -- Redistribution and use in source and binary forms, with or without
  5. -- modification, are permitted provided that the following conditions
  6. -- are met:
  7. --
  8. -- 1. Redistributions of source code must retain the above copyright
  9. -- notice, this list of conditions and the following disclaimer.
  10. -- 2. Redistributions in binary form must reproduce the above copyright
  11. -- notice, this list of conditions and the following disclaimer in the
  12. -- documentation and/or other materials provided with the distribution.
  13. -- 3. Neither the name of the copyright holders nor the names of
  14. -- contributors may be used to endorse or promote products derived
  15. -- from this software without specific prior written permission.
  16. --
  17. -- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  18. -- ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  19. -- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  20. -- FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  21. -- COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
  22. -- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
  23. -- BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
  24. -- OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
  25. -- AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  26. -- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
  27. -- THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  28. -- SUCH DAMAGE.
  29. --
  30. -- For additional information see http://www.ethernut.de/
  31. --
  32. -- ARM CortexM3 Architecture
  33. -- STMicroelectronics STM32F0 Family Devices
  34. --
  35. -- $Id$
  36. --
  37. --
  38. --
  39. -- ********************************************************************************
  40. -- STM32F1 Family
  41. -- ********************************************************************************
  42. --
  43. nutarch_cm3_stm32f0 =
  44. {
  45. --
  46. -- MCU Family
  47. --
  48. {
  49. name = "nutarch_cm3_stm32f0_family",
  50. brief = "MCU F0 Family",
  51. sources = { "cm3/dev/stm/stm32f30_clk.c"},
  52. options =
  53. {
  54. {
  55. macro = "MCU_STM32F0",
  56. brief = "STM32F0",
  57. type = "integer",
  58. default = 1,
  59. provides = {
  60. "HW_RCC_STM32",
  61. -- "HW_RTC_STM32_V1",
  62. "HW_FLASH_STM32F1_3",
  63. "HW_GPIO_STM32V2",
  64. "HW_CRC32_STM32V2",
  65. "DEV_IRQ_STM32",
  66. "HW_EXTI01_STM32",
  67. "HW_EXTI23_STM32",
  68. "HW_EXTI415_STM32",
  69. "HW_WWDG_STM32",
  70. -- "HW_DMA1_STM32F1",
  71. -- "HW_I2C1_STM32",
  72. "HW_SPI1_STM32",
  73. "HW_USART1_STM32",
  74. "HW_TIM1_STM32",
  75. "HW_TIM3_STM32",
  76. "HW_TIM14_STM32",
  77. "HW_TIM16_STM32",
  78. "HW_TIM17_STM32",
  79. },
  80. file = "include/cfg/arch.h"
  81. },
  82. {
  83. macro = "MCU_CM_NO_BITBAND",
  84. brief = "No Bitbanding",
  85. description = "Selected family has no bitband support",
  86. type = "integer",
  87. default = 1,
  88. file = "include/cfg/arch.h"
  89. },
  90. }
  91. },
  92. --
  93. -- STM32F0 MCU Classes
  94. --
  95. {
  96. name = "nutarch_cm3_stm32f0_class",
  97. brief = "STM32F0 Device Classes",
  98. options =
  99. {
  100. {
  101. macro = "STM32F030",
  102. brief = "STM32F030",
  103. description = "STM32F030",
  104. flavor = "integer",
  105. default = 1,
  106. requires = { "HW_MCU_STM32F030" };
  107. provides = {
  108. "HW_USART2_STM32",
  109. -- "HW_I2C2_STM32",
  110. "HW_SPI2_STM32",
  111. "HW_TIM15_STM32",
  112. },
  113. file = "include/cfg/arch.h"
  114. },
  115. {
  116. macro = "STM32F031",
  117. brief = "STM32F031",
  118. description = "STM32F031.",
  119. flavor = "integer",
  120. default = 1,
  121. requires = { "HW_MCU_STM32F031" };
  122. provides = {
  123. "HW_PVD_STM32",
  124. "HW_TIM2_32BIT_STM32",
  125. },
  126. file = "include/cfg/arch.h"
  127. },
  128. {
  129. macro = "STM32F042",
  130. brief = "STM32F042",
  131. description = "STM32F042.",
  132. flavor = "integer",
  133. default = 1,
  134. requires = { "HW_MCU_STM32F042" };
  135. provides = {
  136. "HW_CEC_CAN_STM32",
  137. "HW_PVD_VDDIO2_STM32",
  138. "HW_SPI2_STM32",
  139. "HW_TIM2_32BIT_STM32",
  140. "HW_TSC_STM32",
  141. "HW_USART2_STM32",
  142. "HW_USB_STM32",
  143. },
  144. file = "include/cfg/arch.h"
  145. },
  146. {
  147. macro = "STM32F051",
  148. brief = "STM32F051",
  149. description = "STM32F051.",
  150. flavor = "integer",
  151. default = 1,
  152. requires = { "HW_MCU_STM32F051" };
  153. provides = {
  154. "HW_ADC1_COMP_STM32",
  155. "HW_CEC_STM32",
  156. -- "HW_I2C2_STM32",
  157. "HW_PVD_STM32",
  158. "HW_TSC_STM32",
  159. "HW_SPI2_STM32",
  160. "HW_TIM2_32BIT_STM32",
  161. "HW_TIM6_DAC_STM32",
  162. "HW_TIM15_STM32",
  163. "HW_USART2_STM32",
  164. },
  165. file = "include/cfg/arch.h"
  166. },
  167. {
  168. macro = "STM32F072",
  169. brief = "STM32F072",
  170. description = "STM32F072.",
  171. flavor = "integer",
  172. default = 1,
  173. requires = { "HW_MCU_STM32F072" };
  174. provides = {
  175. "HW_ADC1_COMP_STM32",
  176. "HW_CEC_CAN_STM32",
  177. -- "HW_I2C2_STM32",
  178. "HW_PVD_VDDIO2_STM32",
  179. "HW_SPI2_STM32",
  180. "HW_TIM2_32BIT_STM32",
  181. "HW_TIM6_DAC_STM32",
  182. "HW_TIM7_STM32",
  183. "HW_TIM15_STM32",
  184. "HW_TSC_STM32",
  185. "HW_USART2_STM32",
  186. "HW_USART3_4_STM32",
  187. },
  188. file = "include/cfg/arch.h"
  189. },
  190. },
  191. },
  192. }