~ruther/qmk_firmware

405dea01bef215a0b79524e4ff74364f1bcfeadf — fauxpark 6 years ago 2f6c068
Add some defaults for ATmega32A to mcu_selection.mk (#6253)

* 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>
3 files changed, 24 insertions(+), 49 deletions(-)

M quantum/mcu_selection.mk
M quantum/template/avr/rules.mk
M quantum/template/ps2avrgb/rules.mk
M quantum/mcu_selection.mk => quantum/mcu_selection.mk +24 -2
@@ 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

M quantum/template/avr/rules.mk => quantum/template/avr/rules.mk +0 -36
@@ 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

M quantum/template/ps2avrgb/rules.mk => quantum/template/ps2avrgb/rules.mk +0 -11
@@ 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