diff options
author | Yaotian Feng <codetector@codetector.cn> | 2019-09-25 14:52:17 -0400 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2019-09-25 11:52:17 -0700 |
commit | c61d7d7cb001498e6edf09a9ebc6124c1fe6ed97 (patch) | |
tree | 74045b30c256bed3b533b786edd2af06ee20ced0 /keyboards/ergodox_stm32/mcuconf.h | |
parent | eac4ce972d951855ee168705b46bc9421a4d4deb (diff) | |
download | qmk_firmware-c61d7d7cb001498e6edf09a9ebc6124c1fe6ed97.tar.gz qmk_firmware-c61d7d7cb001498e6edf09a9ebc6124c1fe6ed97.zip |
[Keyboard] Added support for ErgoDox with STM32 Microcontroller (#5398)
* Began Work On STM32 Ergodox
Changes to be committed:
new file: keyboards/ergodox_stm32/config.h
new file: keyboards/ergodox_stm32/rules.mk
* test
* Now it compile. Not linking thou
* Screw this Linker. It links now!
* Blinkly Keyboard
* bootloader test code
* Working on matrix / i2c stuff
* Progress (LED Blink)
* Progress on MCP_23017 Status Flag
* [WIP]
* update
* Works! Remeber to change back the bootloader address when the new bootloadrer is ready.
* Time to go debug the i2c
* Finally, it now works with PCB Rev 1.0.2
* updated for rev.2 pcb
* minor compilation fix
* Why when debugger is enabled then everything works.
* Remeber to call init functions.
* Update arm i2c driver to support STM32F103 series device.
* fix include once header. Replaced with #pragma once.
* complication test
Diffstat (limited to 'keyboards/ergodox_stm32/mcuconf.h')
-rw-r--r-- | keyboards/ergodox_stm32/mcuconf.h | 209 |
1 files changed, 209 insertions, 0 deletions
diff --git a/keyboards/ergodox_stm32/mcuconf.h b/keyboards/ergodox_stm32/mcuconf.h new file mode 100644 index 000000000..0494526e5 --- /dev/null +++ b/keyboards/ergodox_stm32/mcuconf.h | |||
@@ -0,0 +1,209 @@ | |||
1 | /* | ||
2 | ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio | ||
3 | |||
4 | Licensed under the Apache License, Version 2.0 (the "License"); | ||
5 | you may not use this file except in compliance with the License. | ||
6 | You may obtain a copy of the License at | ||
7 | |||
8 | http://www.apache.org/licenses/LICENSE-2.0 | ||
9 | |||
10 | Unless required by applicable law or agreed to in writing, software | ||
11 | distributed under the License is distributed on an "AS IS" BASIS, | ||
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
13 | See the License for the specific language governing permissions and | ||
14 | limitations under the License. | ||
15 | */ | ||
16 | |||
17 | #ifndef _MCUCONF_H_ | ||
18 | #define _MCUCONF_H_ | ||
19 | |||
20 | #define STM32F103_MCUCONF | ||
21 | |||
22 | /* | ||
23 | * STM32F103 drivers configuration. | ||
24 | * The following settings override the default settings present in | ||
25 | * the various device driver implementation headers. | ||
26 | * Note that the settings for each driver only have effect if the whole | ||
27 | * driver is enabled in halconf.h. | ||
28 | * | ||
29 | * IRQ priorities: | ||
30 | * 15...0 Lowest...Highest. | ||
31 | * | ||
32 | * DMA priorities: | ||
33 | * 0...3 Lowest...Highest. | ||
34 | */ | ||
35 | |||
36 | /* | ||
37 | * HAL driver system settings. | ||
38 | */ | ||
39 | #define STM32_NO_INIT FALSE | ||
40 | #define STM32_HSI_ENABLED TRUE | ||
41 | #define STM32_LSI_ENABLED FALSE | ||
42 | #define STM32_HSE_ENABLED TRUE | ||
43 | #define STM32_LSE_ENABLED FALSE | ||
44 | #define STM32_SW STM32_SW_PLL | ||
45 | #define STM32_PLLSRC STM32_PLLSRC_HSE | ||
46 | #define STM32_PLLXTPRE STM32_PLLXTPRE_DIV1 | ||
47 | #define STM32_PLLMUL_VALUE 9 | ||
48 | #define STM32_HPRE STM32_HPRE_DIV1 | ||
49 | #define STM32_PPRE1 STM32_PPRE1_DIV2 | ||
50 | #define STM32_PPRE2 STM32_PPRE2_DIV2 | ||
51 | #define STM32_ADCPRE STM32_ADCPRE_DIV4 | ||
52 | #define STM32_USB_CLOCK_REQUIRED TRUE | ||
53 | #define STM32_USBPRE STM32_USBPRE_DIV1P5 | ||
54 | #define STM32_MCOSEL STM32_MCOSEL_NOCLOCK | ||
55 | #define STM32_RTCSEL STM32_RTCSEL_HSEDIV | ||
56 | #define STM32_PVD_ENABLE FALSE | ||
57 | #define STM32_PLS STM32_PLS_LEV0 | ||
58 | |||
59 | /* | ||
60 | * ADC driver system settings. | ||
61 | */ | ||
62 | #define STM32_ADC_USE_ADC1 FALSE | ||
63 | #define STM32_ADC_ADC1_DMA_PRIORITY 2 | ||
64 | #define STM32_ADC_ADC1_IRQ_PRIORITY 6 | ||
65 | |||
66 | /* | ||
67 | * CAN driver system settings. | ||
68 | */ | ||
69 | #define STM32_CAN_USE_CAN1 FALSE | ||
70 | #define STM32_CAN_CAN1_IRQ_PRIORITY 11 | ||
71 | |||
72 | /* | ||
73 | * EXT driver system settings. | ||
74 | */ | ||
75 | #define STM32_EXT_EXTI0_IRQ_PRIORITY 6 | ||
76 | #define STM32_EXT_EXTI1_IRQ_PRIORITY 6 | ||
77 | #define STM32_EXT_EXTI2_IRQ_PRIORITY 6 | ||
78 | #define STM32_EXT_EXTI3_IRQ_PRIORITY 6 | ||
79 | #define STM32_EXT_EXTI4_IRQ_PRIORITY 6 | ||
80 | #define STM32_EXT_EXTI5_9_IRQ_PRIORITY 6 | ||
81 | #define STM32_EXT_EXTI10_15_IRQ_PRIORITY 6 | ||
82 | #define STM32_EXT_EXTI16_IRQ_PRIORITY 6 | ||
83 | #define STM32_EXT_EXTI17_IRQ_PRIORITY 6 | ||
84 | #define STM32_EXT_EXTI18_IRQ_PRIORITY 6 | ||
85 | #define STM32_EXT_EXTI19_IRQ_PRIORITY 6 | ||
86 | |||
87 | /* | ||
88 | * GPT driver system settings. | ||
89 | */ | ||
90 | #define STM32_GPT_USE_TIM1 FALSE | ||
91 | #define STM32_GPT_USE_TIM2 FALSE | ||
92 | #define STM32_GPT_USE_TIM3 FALSE | ||
93 | #define STM32_GPT_USE_TIM4 FALSE | ||
94 | #define STM32_GPT_USE_TIM5 FALSE | ||
95 | #define STM32_GPT_USE_TIM8 FALSE | ||
96 | #define STM32_GPT_TIM1_IRQ_PRIORITY 7 | ||
97 | #define STM32_GPT_TIM2_IRQ_PRIORITY 7 | ||
98 | #define STM32_GPT_TIM3_IRQ_PRIORITY 7 | ||
99 | #define STM32_GPT_TIM4_IRQ_PRIORITY 7 | ||
100 | #define STM32_GPT_TIM5_IRQ_PRIORITY 7 | ||
101 | #define STM32_GPT_TIM8_IRQ_PRIORITY 7 | ||
102 | |||
103 | /* | ||
104 | * I2C driver system settings. | ||
105 | */ | ||
106 | #define STM32_I2C_USE_I2C1 TRUE | ||
107 | #define STM32_I2C_USE_I2C2 FALSE | ||
108 | #define STM32_I2C_BUSY_TIMEOUT 50 | ||
109 | #define STM32_I2C_I2C1_IRQ_PRIORITY 5 | ||
110 | #define STM32_I2C_I2C2_IRQ_PRIORITY 5 | ||
111 | #define STM32_I2C_I2C1_DMA_PRIORITY 3 | ||
112 | #define STM32_I2C_I2C2_DMA_PRIORITY 3 | ||
113 | #define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure") | ||
114 | |||
115 | /* | ||
116 | * ICU driver system settings. | ||
117 | */ | ||
118 | #define STM32_ICU_USE_TIM1 FALSE | ||
119 | #define STM32_ICU_USE_TIM2 FALSE | ||
120 | #define STM32_ICU_USE_TIM3 FALSE | ||
121 | #define STM32_ICU_USE_TIM4 FALSE | ||
122 | #define STM32_ICU_USE_TIM5 FALSE | ||
123 | #define STM32_ICU_USE_TIM8 FALSE | ||
124 | #define STM32_ICU_TIM1_IRQ_PRIORITY 7 | ||
125 | #define STM32_ICU_TIM2_IRQ_PRIORITY 7 | ||
126 | #define STM32_ICU_TIM3_IRQ_PRIORITY 7 | ||
127 | #define STM32_ICU_TIM4_IRQ_PRIORITY 7 | ||
128 | #define STM32_ICU_TIM5_IRQ_PRIORITY 7 | ||
129 | #define STM32_ICU_TIM8_IRQ_PRIORITY 7 | ||
130 | |||
131 | /* | ||
132 | * PWM driver system settings. | ||
133 | */ | ||
134 | #define STM32_PWM_USE_ADVANCED FALSE | ||
135 | #define STM32_PWM_USE_TIM1 FALSE | ||
136 | #define STM32_PWM_USE_TIM2 FALSE | ||
137 | #define STM32_PWM_USE_TIM3 FALSE | ||
138 | #define STM32_PWM_USE_TIM4 FALSE | ||
139 | #define STM32_PWM_USE_TIM5 FALSE | ||
140 | #define STM32_PWM_USE_TIM8 FALSE | ||
141 | #define STM32_PWM_TIM1_IRQ_PRIORITY 7 | ||
142 | #define STM32_PWM_TIM2_IRQ_PRIORITY 7 | ||
143 | #define STM32_PWM_TIM3_IRQ_PRIORITY 7 | ||
144 | #define STM32_PWM_TIM4_IRQ_PRIORITY 7 | ||
145 | #define STM32_PWM_TIM5_IRQ_PRIORITY 7 | ||
146 | #define STM32_PWM_TIM8_IRQ_PRIORITY 7 | ||
147 | |||
148 | /* | ||
149 | * RTC driver system settings. | ||
150 | */ | ||
151 | #define STM32_RTC_IRQ_PRIORITY 15 | ||
152 | |||
153 | /* | ||
154 | * SERIAL driver system settings. | ||
155 | */ | ||
156 | #define STM32_SERIAL_USE_USART1 FALSE | ||
157 | #define STM32_SERIAL_USE_USART2 FALSE | ||
158 | #define STM32_SERIAL_USE_USART3 FALSE | ||
159 | #define STM32_SERIAL_USE_UART4 FALSE | ||
160 | #define STM32_SERIAL_USE_UART5 FALSE | ||
161 | #define STM32_SERIAL_USART1_PRIORITY 12 | ||
162 | #define STM32_SERIAL_USART2_PRIORITY 12 | ||
163 | #define STM32_SERIAL_USART3_PRIORITY 12 | ||
164 | #define STM32_SERIAL_UART4_PRIORITY 12 | ||
165 | #define STM32_SERIAL_UART5_PRIORITY 12 | ||
166 | |||
167 | /* | ||
168 | * SPI driver system settings. | ||
169 | */ | ||
170 | #define STM32_SPI_USE_SPI1 FALSE | ||
171 | #define STM32_SPI_USE_SPI2 FALSE | ||
172 | #define STM32_SPI_USE_SPI3 FALSE | ||
173 | #define STM32_SPI_SPI1_DMA_PRIORITY 1 | ||
174 | #define STM32_SPI_SPI2_DMA_PRIORITY 1 | ||
175 | #define STM32_SPI_SPI3_DMA_PRIORITY 1 | ||
176 | #define STM32_SPI_SPI1_IRQ_PRIORITY 10 | ||
177 | #define STM32_SPI_SPI2_IRQ_PRIORITY 10 | ||
178 | #define STM32_SPI_SPI3_IRQ_PRIORITY 10 | ||
179 | #define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure") | ||
180 | |||
181 | /* | ||
182 | * ST driver system settings. | ||
183 | */ | ||
184 | #define STM32_ST_IRQ_PRIORITY 8 | ||
185 | #define STM32_ST_USE_TIMER 2 | ||
186 | |||
187 | /* | ||
188 | * UART driver system settings. | ||
189 | */ | ||
190 | #define STM32_UART_USE_USART1 FALSE | ||
191 | #define STM32_UART_USE_USART2 FALSE | ||
192 | #define STM32_UART_USE_USART3 FALSE | ||
193 | #define STM32_UART_USART1_IRQ_PRIORITY 12 | ||
194 | #define STM32_UART_USART2_IRQ_PRIORITY 12 | ||
195 | #define STM32_UART_USART3_IRQ_PRIORITY 12 | ||
196 | #define STM32_UART_USART1_DMA_PRIORITY 0 | ||
197 | #define STM32_UART_USART2_DMA_PRIORITY 0 | ||
198 | #define STM32_UART_USART3_DMA_PRIORITY 0 | ||
199 | #define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure") | ||
200 | |||
201 | /* | ||
202 | * USB driver system settings. | ||
203 | */ | ||
204 | #define STM32_USB_USE_USB1 TRUE | ||
205 | #define STM32_USB_LOW_POWER_ON_SUSPEND FALSE | ||
206 | #define STM32_USB_USB1_HP_IRQ_PRIORITY 13 | ||
207 | #define STM32_USB_USB1_LP_IRQ_PRIORITY 14 | ||
208 | |||
209 | #endif /* _MCUCONF_H_ */ | ||