Support STM32 Primer2
[gnuk/neug.git] / boards / common / mcuconf-common.h
1 /*
2     ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio.
3
4     This file is part of ChibiOS/RT.
5
6     ChibiOS/RT is free software; you can redistribute it and/or modify
7     it under the terms of the GNU General Public License as published by
8     the Free Software Foundation; either version 3 of the License, or
9     (at your option) any later version.
10
11     ChibiOS/RT is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14     GNU General Public License for more details.
15
16     You should have received a copy of the GNU General Public License
17     along with this program. If not, see <http://www.gnu.org/licenses/>.
18
19                                       ---
20
21     A special exception to the GPL can be applied should you wish to distribute
22     a combined work that includes ChibiOS/RT, without being obliged to provide
23     the source code for any proprietary components. See the file exception.txt
24     for full details of how and when the exception can be applied.
25 */
26
27 /*
28  * STM32 drivers configuration.
29  * The following settings override the default settings present in
30  * the various device driver implementation headers.
31  * Note that the settings for each driver only have effect if the driver
32  * is enabled in halconf.h.
33  *
34  * IRQ priorities:
35  * 15...0       Lowest...Highest.
36  *
37  * DMA priorities:
38  * 0...3        Lowest...Highest.
39  */
40
41 /*
42  * HAL driver system settings.
43  */
44 #define STM32_NO_INIT                       FALSE
45 #define STM32_HSI_ENABLED                   TRUE
46 #define STM32_LSI_ENABLED                   FALSE
47 #define STM32_HSE_ENABLED                   TRUE
48 #define STM32_LSE_ENABLED                   FALSE
49 #define STM32_USB_CLOCK_REQUIRED            TRUE
50 #define STM32_USBPRE                        STM32_USBPRE_DIV1P5
51 #define STM32_MCOSEL                        STM32_MCOSEL_NOCLOCK
52 #define STM32_PVD_ENABLE                    FALSE
53 #define STM32_PLS                           STM32_PLS_LEV0
54
55 /*
56  * ADC driver system settings.
57  */
58 #define USE_STM32_ADC1              TRUE
59 #define STM32_ADC1_DMA_PRIORITY     3
60 #define STM32_ADC1_IRQ_PRIORITY     5
61 #define STM32_ADC1_DMA_ERROR_HOOK() chSysHalt()
62
63 /*
64  * CAN driver system settings.
65  */
66 #define USE_STM32_CAN1              FALSE
67 #define STM32_CAN1_IRQ_PRIORITY     11
68
69 /*
70  * PWM driver system settings.
71  */
72 #define USE_STM32_PWM1              FALSE
73 #define USE_STM32_PWM2              FALSE
74 #define USE_STM32_PWM3              FALSE
75 #define USE_STM32_PWM4              FALSE
76 #define STM32_PWM1_IRQ_PRIORITY     7
77 #define STM32_PWM2_IRQ_PRIORITY     7
78 #define STM32_PWM3_IRQ_PRIORITY     7
79 #define STM32_PWM4_IRQ_PRIORITY     7
80
81 /*
82  * SERIAL driver system settings.
83  */
84 #define USE_STM32_USART1            FALSE
85 #define USE_STM32_USART2            FALSE
86 #define USE_STM32_USART3            FALSE
87 #if defined(STM32F10X_HD) || defined(STM32F10X_CL)
88 #define USE_STM32_UART4             FALSE
89 #define USE_STM32_UART5             FALSE
90 #endif
91 #define STM32_USART1_PRIORITY       12
92 #define STM32_USART2_PRIORITY       12
93 #define STM32_USART3_PRIORITY       12
94 #if defined(STM32F10X_HD) || defined(STM32F10X_CL)
95 #define STM32_UART4_PRIORITY        12
96 #define STM32_UART5_PRIORITY        12
97 #endif
98
99 /*
100  * SPI driver system settings.
101  */
102 #define USE_STM32_SPI1              FALSE
103 #define USE_STM32_SPI2              FALSE
104 #define STM32_SPI1_DMA_PRIORITY     2
105 #define STM32_SPI2_DMA_PRIORITY     2
106 #define STM32_SPI1_IRQ_PRIORITY     10
107 #define STM32_SPI2_IRQ_PRIORITY     10
108 #define STM32_SPI1_DMA_ERROR_HOOK() chSysHalt()
109
110 /*
111  * USB driver system settings.
112  */
113 #define STM32_USB_USE_USB1                  TRUE
114 #define STM32_USB_LOW_POWER_ON_SUSPEND      FALSE
115 #define STM32_USB_USB1_HP_IRQ_PRIORITY      6
116 #define STM32_USB_USB1_LP_IRQ_PRIORITY      14