aboutsummaryrefslogtreecommitdiff
path: root/quantum/mcu_selection.mk
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/mcu_selection.mk')
-rw-r--r--quantum/mcu_selection.mk600
1 files changed, 0 insertions, 600 deletions
diff --git a/quantum/mcu_selection.mk b/quantum/mcu_selection.mk
deleted file mode 100644
index 3b86433a8..000000000
--- a/quantum/mcu_selection.mk
+++ /dev/null
@@ -1,600 +0,0 @@
1MCU_ORIG := $(MCU)
2
3ifneq ($(findstring MKL26Z64, $(MCU)),)
4 # Cortex version
5 MCU = cortex-m0plus
6
7 # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
8 ARMV = 6
9
10 ## chip/board settings
11 # - the next two should match the directories in
12 # <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
13 MCU_FAMILY = KINETIS
14 MCU_SERIES = KL2x
15
16 # Linker script to use
17 # - it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
18 # or <keyboard_dir>/ld/
19 MCU_LDSCRIPT ?= MKL26Z64
20
21 # Startup code to use
22 # - it should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
23 MCU_STARTUP ?= kl2x
24
25 # Board: it should exist either in <chibios>/os/hal/boards/,
26 # <keyboard_dir>/boards/, or drivers/boards/
27 BOARD ?= PJRC_TEENSY_LC
28endif
29
30ifneq ($(findstring MK20DX128, $(MCU)),)
31 # Cortex version
32 MCU = cortex-m4
33
34 # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
35 ARMV = 7
36
37 ## chip/board settings
38 # - the next two should match the directories in
39 # <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
40 MCU_FAMILY = KINETIS
41 MCU_SERIES = K20x
42
43 # Linker script to use
44 # - it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
45 # or <keyboard_dir>/ld/
46 MCU_LDSCRIPT ?= MK20DX128
47
48 # Startup code to use
49 # - it should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
50 MCU_STARTUP ?= k20x5
51
52 # Board: it should exist either in <chibios>/os/hal/boards/,
53 # <keyboard_dir>/boards/, or drivers/boards/
54 BOARD ?= PJRC_TEENSY_3
55endif
56
57ifneq ($(findstring MK20DX256, $(MCU)),)
58 # Cortex version
59 MCU = cortex-m4
60
61 # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
62 ARMV = 7
63
64 ## chip/board settings
65 # - the next two should match the directories in
66 # <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
67 MCU_FAMILY = KINETIS
68 MCU_SERIES = K20x
69
70 # Linker script to use
71 # - it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
72 # or <keyboard_dir>/ld/
73 MCU_LDSCRIPT ?= MK20DX256
74
75 # Startup code to use
76 # - it should exist in <chibios>/os/common/ports/ARMCMx/compilers/GCC/mk/
77 MCU_STARTUP ?= k20x7
78
79 # Board: it should exist either in <chibios>/os/hal/boards/,
80 # <keyboard_dir>/boards/, or drivers/boards/
81 BOARD ?= PJRC_TEENSY_3_1
82endif
83
84ifneq ($(findstring MK66F18, $(MCU)),)
85 # Cortex version
86 MCU = cortex-m4
87
88 # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
89 ARMV = 7
90
91 ## chip/board settings
92 # - the next two should match the directories in
93 # <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
94 MCU_FAMILY = KINETIS
95 MCU_SERIES = MK66F18
96
97 # Linker script to use
98 # - it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
99 # or <keyboard_dir>/ld/
100 MCU_LDSCRIPT ?= MK66FX1M0
101
102 # Startup code to use
103 # - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
104 MCU_STARTUP ?= MK66F18
105
106 # Board: it should exist either in <chibios>/os/hal/boards/,
107 # <keyboard_dir>/boards/, or drivers/boards/
108 BOARD ?= PJRC_TEENSY_3_6
109endif
110
111ifneq ($(findstring STM32F042, $(MCU)),)
112 # Cortex version
113 MCU = cortex-m0
114
115 # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
116 ARMV = 6
117
118 ## chip/board settings
119 # - the next two should match the directories in
120 # <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
121 MCU_FAMILY = STM32
122 MCU_SERIES = STM32F0xx
123
124 # Linker script to use
125 # - it should exist either in <chibios>/os/common/startup/ARMCMx/compilers/GCC/ld/
126 # or <keyboard_dir>/ld/
127 MCU_LDSCRIPT ?= STM32F042x6
128
129 # Startup code to use
130 # - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
131 MCU_STARTUP ?= stm32f0xx
132
133 # Board: it should exist either in <chibios>/os/hal/boards/,
134 # <keyboard_dir>/boards/, or drivers/boards/
135 BOARD ?= GENERIC_STM32_F042X6
136
137 USE_FPU ?= no
138
139 # UF2 settings
140 UF2_FAMILY ?= STM32F0
141endif
142
143ifneq ($(findstring STM32F072, $(MCU)),)
144 # Cortex version
145 MCU = cortex-m0
146
147 # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
148 ARMV = 6
149
150 ## chip/board settings
151 # - the next two should match the directories in
152 # <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
153 MCU_FAMILY = STM32
154 MCU_SERIES = STM32F0xx
155
156 # Linker script to use
157 # - it should exist either in <chibios>/os/common/startup/ARMCMx/compilers/GCC/ld/
158 # or <keyboard_dir>/ld/
159 MCU_LDSCRIPT ?= STM32F072xB
160
161 # Startup code to use
162 # - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
163 MCU_STARTUP ?= stm32f0xx
164
165 # Board: it should exist either in <chibios>/os/hal/boards/,
166 # <keyboard_dir>/boards/, or drivers/boards/
167 BOARD ?= GENERIC_STM32_F072XB
168
169 USE_FPU ?= no
170
171 # UF2 settings
172 UF2_FAMILY ?= STM32F0
173endif
174
175ifneq ($(findstring STM32F103, $(MCU)),)
176 # Cortex version
177 MCU = cortex-m3
178
179 # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
180 ARMV = 7
181
182 ## chip/board settings
183 # - the next two should match the directories in
184 # <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
185 MCU_FAMILY = STM32
186 MCU_SERIES = STM32F1xx
187
188 # Linker script to use
189 # - it should exist either in <chibios>/os/common/startup/ARMCMx/compilers/GCC/ld/
190 # or <keyboard_dir>/ld/
191 MCU_LDSCRIPT ?= STM32F103x8
192
193 # Startup code to use
194 # - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
195 MCU_STARTUP ?= stm32f1xx
196
197 # Board: it should exist either in <chibios>/os/hal/boards/,
198 # <keyboard_dir>/boards/, or drivers/boards/
199 BOARD ?= GENERIC_STM32_F103
200
201 USE_FPU ?= no
202
203 # UF2 settings
204 UF2_FAMILY ?= STM32F1
205endif
206
207ifneq ($(findstring STM32F303, $(MCU)),)
208 # Cortex version
209 MCU = cortex-m4
210
211 # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
212 ARMV = 7
213
214 ## chip/board settings
215 # - the next two should match the directories in
216 # <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
217 MCU_FAMILY = STM32
218 MCU_SERIES = STM32F3xx
219
220 # Linker script to use
221 # - it should exist either in <chibios>/os/common/startup/ARMCMx/compilers/GCC/ld/
222 # or <keyboard_dir>/ld/
223 MCU_LDSCRIPT ?= STM32F303xC
224
225 # Startup code to use
226 # - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
227 MCU_STARTUP ?= stm32f3xx
228
229 # Board: it should exist either in <chibios>/os/hal/boards/,
230 # <keyboard_dir>/boards/, or drivers/boards/
231 BOARD ?= GENERIC_STM32_F303XC
232
233 USE_FPU ?= yes
234
235 # UF2 settings
236 UF2_FAMILY ?= STM32F3
237endif
238
239ifneq ($(findstring STM32F401, $(MCU)),)
240 # Cortex version
241 MCU = cortex-m4
242
243 # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
244 ARMV = 7
245
246 ## chip/board settings
247 # - the next two should match the directories in
248 # <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
249 MCU_FAMILY = STM32
250 MCU_SERIES = STM32F4xx
251
252 # Linker script to use
253 # - it should exist either in <chibios>/os/common/startup/ARMCMx/compilers/GCC/ld/
254 # or <keyboard_dir>/ld/
255 ifeq ($(strip $(BOOTLOADER)), tinyuf2)
256 MCU_LDSCRIPT ?= STM32F401xC_tinyuf2
257 FIRMWARE_FORMAT ?= uf2
258 else
259 MCU_LDSCRIPT ?= STM32F401xC
260 endif
261
262 # Startup code to use
263 # - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
264 MCU_STARTUP ?= stm32f4xx
265
266 # Board: it should exist either in <chibios>/os/hal/boards/,
267 # <keyboard_dir>/boards/, or drivers/boards/
268 BOARD ?= BLACKPILL_STM32_F401
269
270 USE_FPU ?= yes
271
272 # UF2 settings
273 UF2_FAMILY ?= STM32F4
274endif
275
276ifneq ($(findstring STM32F407, $(MCU)),)
277 # Cortex version
278 MCU = cortex-m4
279
280 # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
281 ARMV = 7
282
283 ## chip/board settings
284 # - the next two should match the directories in
285 # <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
286 MCU_FAMILY = STM32
287 MCU_SERIES = STM32F4xx
288
289 # Linker script to use
290 # - it should exist either in <chibios>/os/common/startup/ARMCMx/compilers/GCC/ld/
291 # or <keyboard_dir>/ld/
292 MCU_LDSCRIPT ?= STM32F407xE
293
294 # Startup code to use
295 # - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
296 MCU_STARTUP ?= stm32f4xx
297
298 # Board: it should exist either in <chibios>/os/hal/boards/,
299 # <keyboard_dir>/boards/, or drivers/boards/
300 BOARD ?= GENERIC_STM32_F407XE
301
302 USE_FPU ?= yes
303
304 # UF2 settings
305 UF2_FAMILY ?= STM32F4
306endif
307
308ifneq ($(findstring STM32F411, $(MCU)),)
309 # Cortex version
310 MCU = cortex-m4
311
312 # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
313 ARMV = 7
314
315 ## chip/board settings
316 # - the next two should match the directories in
317 # <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
318 MCU_FAMILY = STM32
319 MCU_SERIES = STM32F4xx
320
321 # Linker script to use
322 # - it should exist either in <chibios>/os/common/startup/ARMCMx/compilers/GCC/ld/
323 # or <keyboard_dir>/ld/
324 ifeq ($(strip $(BOOTLOADER)), tinyuf2)
325 MCU_LDSCRIPT ?= STM32F411xE_tinyuf2
326 FIRMWARE_FORMAT ?= uf2
327 else
328 MCU_LDSCRIPT ?= STM32F411xE
329 endif
330
331 # Startup code to use
332 # - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
333 MCU_STARTUP ?= stm32f4xx
334
335 # Board: it should exist either in <chibios>/os/hal/boards/,
336 # <keyboard_dir>/boards/, or drivers/boards/
337 BOARD ?= BLACKPILL_STM32_F411
338
339 USE_FPU ?= yes
340
341 # UF2 settings
342 UF2_FAMILY ?= STM32F4
343endif
344
345ifneq ($(findstring STM32F446, $(MCU)),)
346 # Cortex version
347 MCU = cortex-m4
348
349 # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
350 ARMV = 7
351
352 ## chip/board settings
353 # - the next two should match the directories in
354 # <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
355 MCU_FAMILY = STM32
356 MCU_SERIES = STM32F4xx
357
358 # Linker script to use
359 # - it should exist either in <chibios>/os/common/startup/ARMCMx/compilers/GCC/ld/
360 # or <keyboard_dir>/ld/
361 MCU_LDSCRIPT ?= STM32F446xE
362
363 # Startup code to use
364 # - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
365 MCU_STARTUP ?= stm32f4xx
366
367 # Board: it should exist either in <chibios>/os/hal/boards/,
368 # <keyboard_dir>/boards/, or drivers/boards/
369 BOARD ?= GENERIC_STM32_F446XE
370
371 USE_FPU ?= yes
372endif
373
374ifneq ($(findstring STM32G431, $(MCU)),)
375 # Cortex version
376 MCU = cortex-m4
377
378 # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
379 ARMV = 7
380
381 ## chip/board settings
382 # - the next two should match the directories in
383 # <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
384 MCU_FAMILY = STM32
385 MCU_SERIES = STM32G4xx
386
387 # Linker script to use
388 # - it should exist either in <chibios>/os/common/startup/ARMCMx/compilers/GCC/ld/
389 # or <keyboard_dir>/ld/
390 MCU_LDSCRIPT ?= STM32G431xB
391
392 # Startup code to use
393 # - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
394 MCU_STARTUP ?= stm32g4xx
395
396 # Board: it should exist either in <chibios>/os/hal/boards/,
397 # <keyboard_dir>/boards/, or drivers/boards/
398 BOARD ?= GENERIC_STM32_G431XB
399
400 USE_FPU ?= yes
401
402 # UF2 settings
403 UF2_FAMILY ?= STM32G4
404endif
405
406ifneq ($(findstring STM32G474, $(MCU)),)
407 # Cortex version
408 MCU = cortex-m4
409
410 # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
411 ARMV = 7
412
413 ## chip/board settings
414 # - the next two should match the directories in
415 # <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
416 MCU_FAMILY = STM32
417 MCU_SERIES = STM32G4xx
418
419 # Linker script to use
420 # - it should exist either in <chibios>/os/common/startup/ARMCMx/compilers/GCC/ld/
421 # or <keyboard_dir>/ld/
422 MCU_LDSCRIPT ?= STM32G474xE
423
424 # Startup code to use
425 # - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
426 MCU_STARTUP ?= stm32g4xx
427
428 # Board: it should exist either in <chibios>/os/hal/boards/,
429 # <keyboard_dir>/boards/, or drivers/boards/
430 BOARD ?= GENERIC_STM32_G474XE
431
432 USE_FPU ?= yes
433
434 # UF2 settings
435 UF2_FAMILY ?= STM32G4
436endif
437
438ifneq (,$(filter $(MCU),STM32L433 STM32L443))
439 # Cortex version
440 MCU = cortex-m4
441
442 # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
443 ARMV = 7
444
445 ## chip/board settings
446 # - the next two should match the directories in
447 # <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
448 MCU_FAMILY = STM32
449 MCU_SERIES = STM32L4xx
450
451 # Linker script to use
452 # - it should exist either in <chibios>/os/common/startup/ARMCMx/compilers/GCC/ld/
453 # or <keyboard_dir>/ld/
454 MCU_LDSCRIPT ?= STM32L432xC
455
456 # Startup code to use
457 # - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
458 MCU_STARTUP ?= stm32l4xx
459
460 # Board: it should exist either in <chibios>/os/hal/boards/,
461 # <keyboard_dir>/boards/, or drivers/boards/
462 BOARD ?= GENERIC_STM32_L433XC
463
464 PLATFORM_NAME ?= platform_l432
465
466 USE_FPU ?= yes
467
468 # UF2 settings
469 UF2_FAMILY ?= STM32L4
470endif
471
472ifneq (,$(filter $(MCU),STM32L412 STM32L422))
473 # Cortex version
474 MCU = cortex-m4
475
476 # ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
477 ARMV = 7
478
479 ## chip/board settings
480 # - the next two should match the directories in
481 # <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
482 MCU_FAMILY = STM32
483 MCU_SERIES = STM32L4xx
484
485 # Linker script to use
486 # - it should exist either in <chibios>/os/common/startup/ARMCMx/compilers/GCC/ld/
487 # or <keyboard_dir>/ld/
488 MCU_LDSCRIPT ?= STM32L412xB
489
490 # Startup code to use
491 # - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
492 MCU_STARTUP ?= stm32l4xx
493
494 # Board: it should exist either in <chibios>/os/hal/boards/,
495 # <keyboard_dir>/boards/, or drivers/boards/
496 BOARD ?= GENERIC_STM32_L412XB
497
498 PLATFORM_NAME ?= platform_l432
499
500 USE_FPU ?= yes
501
502 # UF2 settings
503 UF2_FAMILY ?= STM32L4
504endif
505
506ifneq (,$(filter $(MCU),at90usb162 atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb647 at90usb1286 at90usb1287))
507 PROTOCOL = LUFA
508
509 # Processor frequency.
510 # This will define a symbol, F_CPU, in all source code files equal to the
511 # processor frequency in Hz. You can then use this symbol in your source code to
512 # calculate timings. Do NOT tack on a 'UL' at the end, this will be done
513 # automatically to create a 32-bit value in your source code.
514 #
515 # This will be an integer division of F_USB below, as it is sourced by
516 # F_USB after it has run through any CPU prescalers. Note that this value
517 # does not *change* the processor frequency - it should merely be updated to
518 # reflect the processor speed set externally so that the code can use accurate
519 # software delays.
520 F_CPU ?= 16000000
521
522 # LUFA specific
523 #
524 # Target architecture (see library "Board Types" documentation).
525 ARCH = AVR8
526
527 # Input clock frequency.
528 # This will define a symbol, F_USB, in all source code files equal to the
529 # input clock frequency (before any prescaling is performed) in Hz. This value may
530 # differ from F_CPU if prescaling is used on the latter, and is required as the
531 # raw input clock is fed directly to the PLL sections of the AVR for high speed
532 # clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
533 # at the end, this will be done automatically to create a 32-bit value in your
534 # source code.
535 #
536 # If no clock division is performed on the input clock inside the AVR (via the
537 # CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
538 F_USB ?= $(F_CPU)
539
540 # Interrupt driven control endpoint task
541 ifeq (,$(filter $(NO_INTERRUPT_CONTROL_ENDPOINT),yes))
542 OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
543 endif
544 ifneq (,$(filter $(MCU),at90usb162 atmega16u2 atmega32u2))
545 NO_I2C = yes
546 endif
547endif
548
549ifneq (,$(filter $(MCU),atmega32a))
550 # MCU name for avrdude
551 AVRDUDE_MCU = m32
552
553 PROTOCOL = VUSB
554
555 # Processor frequency.
556 # This will define a symbol, F_CPU, in all source code files equal to the
557 # processor frequency in Hz. You can then use this symbol in your source code to
558 # calculate timings. Do NOT tack on a 'UL' at the end, this will be done
559 # automatically to create a 32-bit value in your source code.
560 F_CPU ?= 12000000
561endif
562
563ifneq (,$(filter $(MCU),atmega328p))
564 # MCU name for avrdude
565 AVRDUDE_MCU = m328p
566
567 PROTOCOL = VUSB
568
569 # Processor frequency.
570 # This will define a symbol, F_CPU, in all source code files equal to the
571 # processor frequency in Hz. You can then use this symbol in your source code to
572 # calculate timings. Do NOT tack on a 'UL' at the end, this will be done
573 # automatically to create a 32-bit value in your source code.
574 F_CPU ?= 16000000
575endif
576
577ifneq (,$(filter $(MCU),atmega328))
578 # MCU name for avrdude
579 AVRDUDE_MCU = m328
580
581 PROTOCOL = VUSB
582
583 # Processor frequency.
584 # This will define a symbol, F_CPU, in all source code files equal to the
585 # processor frequency in Hz. You can then use this symbol in your source code to
586 # calculate timings. Do NOT tack on a 'UL' at the end, this will be done
587 # automatically to create a 32-bit value in your source code.
588 F_CPU ?= 16000000
589endif
590
591ifneq (,$(filter $(MCU),attiny85))
592 PROTOCOL = VUSB
593
594 # Processor frequency.
595 # This will define a symbol, F_CPU, in all source code files equal to the
596 # processor frequency in Hz. You can then use this symbol in your source code to
597 # calculate timings. Do NOT tack on a 'UL' at the end, this will be done
598 # automatically to create a 32-bit value in your source code.
599 F_CPU ?= 16500000
600endif