summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfauxpark <fauxpark@gmail.com>2019-08-09 07:09:54 +1000
committerDrashna Jaelre <drashna@live.com>2019-08-08 14:09:54 -0700
commit405dea01bef215a0b79524e4ff74364f1bcfeadf (patch)
treef265fc8731143dfe70b994ea63ae9685298f62b1
parent2f6c068e0dd7abc3cec1bb72df0b1e96032246f8 (diff)
Add some defaults for ATmega32A to mcu_selection.mk (#6253)0.6.446
* Add some defaults for ATmega32A to mcu_selection.mk * Remove boilerplate from templates * Relax INTERRUPT_CONTROL_ENDPOINT and PROGRAM_CMD * Apply suggestions from code review Co-Authored-By: Drashna Jaelre <drashna@live.com>
-rw-r--r--quantum/mcu_selection.mk26
-rw-r--r--quantum/template/avr/rules.mk36
-rw-r--r--quantum/template/ps2avrgb/rules.mk11
3 files changed, 24 insertions, 49 deletions
diff --git a/quantum/mcu_selection.mk b/quantum/mcu_selection.mk
index fa6dc8b53c..cca7720e9c 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
@@ -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,27 @@ 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
diff --git a/quantum/template/avr/rules.mk b/quantum/template/avr/rules.mk
index 133c9e363b..50deba92cf 100644
--- a/quantum/template/avr/rules.mk
+++ b/quantum/template/avr/rules.mk
@@ -1,42 +1,6 @@
# MCU name
MCU = atmega32u4
-# 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.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# 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(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
# Bootloader selection
# Teensy halfkay
diff --git a/quantum/template/ps2avrgb/rules.mk b/quantum/template/ps2avrgb/rules.mk
index 98a920e182..a3ac9bd75a 100644
--- a/quantum/template/ps2avrgb/rules.mk
+++ b/quantum/template/ps2avrgb/rules.mk
@@ -1,13 +1,5 @@
# MCU name
MCU = atmega32a
-PROTOCOL = VUSB
-
-# unsupported features for now
-NO_UART = yes
-NO_SUSPEND_POWER_DOWN = yes
-
-# processor frequency
-F_CPU = 12000000
# Bootloader
# This definition is optional, and if your keyboard supports multiple bootloaders of
@@ -28,6 +20,3 @@ RGBLIGHT_CUSTOM_DRIVER = yes
OPT_DEFS = -DDEBUG_LEVEL=0
SRC += i2c_master.c
-
-# programming options
-PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex