diff options
author | William Chang <william@factual.com> | 2019-11-20 22:17:07 -0800 |
---|---|---|
committer | William Chang <william@factual.com> | 2019-11-20 22:17:07 -0800 |
commit | e7f4d56592b3975c38af329e77b4efd9108495e8 (patch) | |
tree | 0a416bccbf70bfdbdb9ffcdb3bf136b47378c014 /quantum/mcu_selection.mk | |
parent | 71493b2f9bbd5f3d18373c518fa14ccafcbf48fc (diff) | |
parent | 8416a94ad27b3ff058576f09f35f0704a8b39ff3 (diff) |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'quantum/mcu_selection.mk')
-rw-r--r-- | quantum/mcu_selection.mk | 51 |
1 files changed, 44 insertions, 7 deletions
diff --git a/quantum/mcu_selection.mk b/quantum/mcu_selection.mk index fa6dc8b53c..6815a0d8a5 100644 --- a/quantum/mcu_selection.mk +++ b/quantum/mcu_selection.mk @@ -1,4 +1,3 @@ - ifneq ($(findstring STM32F303, $(MCU)),) ## chip/board settings # - the next two should match the directories in @@ -8,15 +7,15 @@ ifneq ($(findstring STM32F303, $(MCU)),) # Linker script to use # - it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/ - # or <this_dir>/ld/ + # or <keyboard_dir>/ld/ MCU_LDSCRIPT ?= STM32F303xC # Startup code to use # - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/ MCU_STARTUP ?= stm32f3xx - # Board: it should exist either in <chibios>/os/hal/boards/ - # or <this_dir>/boards + # Board: it should exist either in <chibios>/os/hal/boards/, + # <keyboard_dir>/boards/, or drivers/boards/ BOARD ?= GENERIC_STM32_F303XC # Cortex version @@ -28,7 +27,7 @@ ifneq ($(findstring STM32F303, $(MCU)),) USE_FPU = yes # Vector table for application - # 0x00000000-0x00001000 area is occupied by bootlaoder.*/ + # 0x00000000-0x00001000 area is occupied by bootloader.*/ # The CORTEX_VTOR... is needed only for MCHCK/Infinity KB # OPT_DEFS = -DCORTEX_VTOR_INIT=0x08005000 @@ -37,7 +36,7 @@ ifneq ($(findstring STM32F303, $(MCU)),) DFU_SUFFIX_ARGS = -p DF11 -v 0483 endif -ifneq (,$(filter $(MCU),atmega32u4 at90usb1286)) +ifneq (,$(filter $(MCU),atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb1286)) # Processor frequency. # This will define a symbol, F_CPU, in all source code files equal to the # processor frequency in Hz. You can then use this symbol in your source code to @@ -54,7 +53,7 @@ ifneq (,$(filter $(MCU),atmega32u4 at90usb1286)) # LUFA specific # # Target architecture (see library "Board Types" documentation). - ARCH ?= AVR8 + ARCH = AVR8 # Input clock frequency. # This will define a symbol, F_USB, in all source code files equal to the @@ -68,4 +67,42 @@ ifneq (,$(filter $(MCU),atmega32u4 at90usb1286)) # If no clock division is performed on the input clock inside the AVR (via the # CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. F_USB ?= $(F_CPU) + + # Interrupt driven control endpoint task + ifeq (,$(filter $(NO_INTERRUPT_CONTROL_ENDPOINT),yes)) + OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + endif +endif + +ifneq (,$(filter $(MCU),atmega32a)) + PROTOCOL = VUSB + + # Processor frequency. + # This will define a symbol, F_CPU, in all source code files equal to the + # processor frequency in Hz. You can then use this symbol in your source code to + # calculate timings. Do NOT tack on a 'UL' at the end, this will be done + # automatically to create a 32-bit value in your source code. + F_CPU ?= 12000000 + + # unsupported features for now + NO_UART ?= yes + NO_SUSPEND_POWER_DOWN ?= yes + + # Programming options + PROGRAM_CMD ?= ./util/atmega32a_program.py $(TARGET).hex +endif + +ifneq (,$(filter $(MCU),atmega328p)) + PROTOCOL = VUSB + + # Processor frequency. + # This will define a symbol, F_CPU, in all source code files equal to the + # processor frequency in Hz. You can then use this symbol in your source code to + # calculate timings. Do NOT tack on a 'UL' at the end, this will be done + # automatically to create a 32-bit value in your source code. + F_CPU ?= 16000000 + + # unsupported features for now + NO_UART ?= yes + NO_SUSPEND_POWER_DOWN ?= yes endif |