~ruther/qmk_firmware

de4a47f1cc28c4ef66e7560eac2a50f717070ae2 — fauxpark 6 years ago beb4a12
Cleanup rules.mk for 32A and 328P keyboards (#6767)

M docs/flashing.md => docs/flashing.md +55 -25
@@ 10,11 10,17 @@ Atmel's DFU bootloader comes on all atmega32u4 chips by default, and is used by 

To ensure compatibility with the DFU bootloader, make sure this block is present your `rules.mk` (optionally with `lufa-dfu` or `qmk-dfu` instead):

    # Bootloader
    #     This definition is optional, and if your keyboard supports multiple bootloaders of
    #     different sizes, comment this out, and the correct address will be loaded
    #     automatically (+60). See bootloader.mk for all options.
    BOOTLOADER = atmel-dfu
```make
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = atmel-dfu
```

Compatible flashers:



@@ 64,11 70,17 @@ Arduino boards and their clones use the [Caterina bootloader](https://github.com

To ensure compatibility with the Caterina bootloader, make sure this block is present your `rules.mk`:

    # Bootloader
    #     This definition is optional, and if your keyboard supports multiple bootloaders of
    #     different sizes, comment this out, and the correct address will be loaded
    #     automatically (+60). See bootloader.mk for all options.
    BOOTLOADER = caterina
```make
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = caterina
```

Compatible flashers:



@@ 100,11 112,17 @@ Halfkay is a super-slim protocol developed by PJRC that uses HID, and come on al

To ensure compatibility with the Halfkay bootloader, make sure this block is present your `rules.mk`:

    # Bootloader
    #     This definition is optional, and if your keyboard supports multiple bootloaders of
    #     different sizes, comment this out, and the correct address will be loaded
    #     automatically (+60). See bootloader.mk for all options.
    BOOTLOADER = halfkay
```make
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = halfkay
```

Compatible flashers:



@@ 125,11 143,17 @@ USBasploader is a bootloader developed by matrixstorm. It is used in some non-US

To ensure compatibility with the USBasploader bootloader, make sure this block is present in your `rules.mk`:

    # Bootloader
    #     This definition is optional, and if your keyboard supports multiple bootloaders of
    #     different sizes, comment this out, and the correct address will be loaded
    #     automatically (+60). See bootloader.mk for all options.
    BOOTLOADER = USBasp
```make
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = USBasp
```

Compatible flashers:



@@ 150,11 174,17 @@ BootloadHID is a USB bootloader for AVR microcontrollers. The uploader tool requ

To ensure compatibility with the bootloadHID bootloader, make sure this block is present your `rules.mk`:

    # Bootloader
    #     This definition is optional, and if your keyboard supports multiple bootloaders of
    #     different sizes, comment this out, and the correct address will be loaded
    #     automatically (+60). See bootloader.mk for all options.
    BOOTLOADER = bootloadHID
```make
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID
```

Compatible flashers:


M keyboards/ares/rules.mk => keyboards/ares/rules.mk +8 -15
@@ 15,18 15,15 @@

# MCU name
MCU = atmega32a
PROTOCOL = VUSB

# unsupported features for now
NO_SUSPEND_POWER_DOWN = yes

# processor frequency
F_CPU = 12000000

# Bootloader
#     This definition is optional, and if your keyboard supports multiple bootloaders of
#     different sizes, comment this out, and the correct address will be loaded 
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 38,11 35,7 @@ COMMAND_ENABLE = yes
BACKLIGHT_ENABLE = no
RGBLIGHT_ENABLE = no
RGBLIGHT_CUSTOM_DRIVER = yes
NO_UART = yes

OPT_DEFS = -DDEBUG_LEVEL=0

SRC += i2c_master.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

M keyboards/bfake/rules.mk => keyboards/bfake/rules.mk +8 -15
@@ 15,19 15,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded 
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 45,6 41,3 @@ OPT_DEFS = -DDEBUG_LEVEL=0
# custom matrix setup
CUSTOM_MATRIX = yes
SRC = matrix.c i2c.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

M keyboards/canoe/rules.mk => keyboards/canoe/rules.mk +8 -15
@@ 15,19 15,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 45,6 41,3 @@ OPT_DEFS = -DDEBUG_LEVEL=0
# custom matrix setup
CUSTOM_MATRIX = yes
SRC = matrix.c i2c.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

M keyboards/coseyfannitutti/discipline/rules.mk => keyboards/coseyfannitutti/discipline/rules.mk +3 -49
@@ 1,61 1,19 @@
# MCU name
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.
#
#     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.
# Processor frequency
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
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   atmega32a    bootloadHID
#
# This uses usbaspbootloader
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = USBasp

# If you don't know the bootloader type, then you can specify the
# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
#   Teensy halfKay      512
#   Teensy++ halfKay    1024
#   Atmel DFU loader    4096
#   LUFA bootloader     4096
#   USBaspLoader        2048

# Flash program via avrdude, but default command is not suitable.
# You can use plaid:default:program
PROGRAM_CMD = avrdude -c usbasp -p m32 -U flash:w:$(BUILD_DIR)/$(TARGET).hex


@@ 84,8 42,4 @@ AUDIO_ENABLE = no           # Audio output on port C6
FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches
HD44780_ENABLE = no 		# Enable support for HD44780 based LCDs (+400)

# unsupported features for now
NO_UART = yes
NO_SUSPEND_POWER_DOWN = yes

LAYOUTS = 65_ansi

M keyboards/donutcables/budget96/rules.mk => keyboards/donutcables/budget96/rules.mk +8 -15
@@ 15,19 15,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 44,6 40,3 @@ OPT_DEFS = -DDEBUG_LEVEL=0

# custom matrix setup
SRC = i2c_master.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

M keyboards/eve/meteor/rules.mk => keyboards/eve/meteor/rules.mk +8 -4
@@ 16,10 16,14 @@
# MCU name
MCU = atmega32a

# Bootloader
#     This definition is optional, and if your keyboard supports multiple bootloaders of
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options

M keyboards/exclusive/e6v2/le_bmc/rules.mk => keyboards/exclusive/e6v2/le_bmc/rules.mk +3 -55
@@ 1,46 1,5 @@
# MCU name
MCU = atmega32a
PROTOCOL = VUSB

NO_UART = yes
NO_SUSPEND_POWER_DOWN = yes

# 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 = 12000000


#
# 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 = -DDEBUG_LEVEL=0


# Bootloader selection
#   Teensy       halfkay


@@ 48,20 7,10 @@ OPT_DEFS = -DDEBUG_LEVEL=0
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   atmega32a    bootloadHID
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID


# If you don't know the bootloader type, then you can specify the
# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
#   Teensy halfKay      512
#   Teensy++ halfKay    1024
#   Atmel DFU loader    4096
#   LUFA bootloader     4096
#   USBaspLoader        2048
# OPT_DEFS += -DBOOTLOADER_SIZE=4096


# Build Options
#   change yes to no to disable
#


@@ 84,6 33,5 @@ AUDIO_ENABLE = no           # Audio output on port C6
FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches
HD44780_ENABLE = no 		# Enable support for HD44780 based LCDs (+400)

OPT_DEFS = -DDEBUG_LEVEL=0
SRC += i2c_master.c

PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

M keyboards/exclusive/e6v2/oe_bmc/rules.mk => keyboards/exclusive/e6v2/oe_bmc/rules.mk +3 -55
@@ 1,46 1,5 @@
# MCU name
MCU = atmega32a
PROTOCOL = VUSB

NO_UART = yes
NO_SUSPEND_POWER_DOWN = yes

# 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 = 12000000


#
# 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 = -DDEBUG_LEVEL=0


# Bootloader selection
#   Teensy       halfkay


@@ 48,20 7,10 @@ OPT_DEFS = -DDEBUG_LEVEL=0
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   atmega32a    bootloadHID
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID


# If you don't know the bootloader type, then you can specify the
# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
#   Teensy halfKay      512
#   Teensy++ halfKay    1024
#   Atmel DFU loader    4096
#   LUFA bootloader     4096
#   USBaspLoader        2048
# OPT_DEFS += -DBOOTLOADER_SIZE=4096


# Build Options
#   change yes to no to disable
#


@@ 84,6 33,5 @@ AUDIO_ENABLE = no           # Audio output on port C6
FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches
HD44780_ENABLE = no 		# Enable support for HD44780 based LCDs (+400)

OPT_DEFS = -DDEBUG_LEVEL=0
SRC += i2c_master.c

PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

M keyboards/facew/rules.mk => keyboards/facew/rules.mk +8 -15
@@ 15,19 15,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 45,7 41,4 @@ OPT_DEFS = -DDEBUG_LEVEL=0
# custom matrix setup
SRC = i2c_master.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

LAYOUTS = 60_ansi

M keyboards/ft/mars80/rules.mk => keyboards/ft/mars80/rules.mk +8 -15
@@ 15,19 15,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 44,7 40,4 @@ OPT_DEFS = -DDEBUG_LEVEL=0

SRC += i2c_master.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

LAYOUTS = tkl_ansi tkl_iso

M keyboards/gingham/rules.mk => keyboards/gingham/rules.mk +2 -3
@@ 10,9 10,8 @@ MCU = atmega328p
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   atmega32a    bootloadHID
#
# This uses usbaspbootloader
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = USBasp

# Flash program via avrdude, but default command is not suitable.

M keyboards/gray_studio/hb85/rules.mk => keyboards/gray_studio/hb85/rules.mk +8 -15
@@ 15,19 15,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 43,6 39,3 @@ RGBLIGHT_CUSTOM_DRIVER = yes
OPT_DEFS = -DDEBUG_LEVEL=0

SRC += i2c_master.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

M keyboards/handwired/hnah40/rules.mk => keyboards/handwired/hnah40/rules.mk +9 -1
@@ 1,7 1,15 @@
# MCU name
MCU = atmega328p

BOOTLOADER = bootloadHID
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = USBasp

# Flash program via avrdude, but default command is not suitable.
# You can use hnah40:default:program

M keyboards/jc65/v32a/rules.mk => keyboards/jc65/v32a/rules.mk +8 -15
@@ 15,19 15,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 45,6 41,3 @@ OPT_DEFS = -DDEBUG_LEVEL=0
# custom matrix setup
CUSTOM_MATRIX = yes
SRC = matrix.c i2c.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

M keyboards/jj40/rules.mk => keyboards/jj40/rules.mk +8 -15
@@ 15,19 15,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# Build Options


@@ 54,7 50,4 @@ HD44780_ENABLE = no 		# Enable support for HD44780 based LCDs (+400)

SRC += i2c_master.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

LAYOUTS = ortho_4x12 planck_mit

M keyboards/jj4x4/rules.mk => keyboards/jj4x4/rules.mk +8 -15
@@ 15,19 15,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# Build Options


@@ 54,7 50,4 @@ HD44780_ENABLE = no 		# Enable support for HD44780 based LCDs (+400)

SRC += i2c_master.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

LAYOUTS = ortho_4x4

M keyboards/jj50/keymaps/archetype/rules.mk => keyboards/jj50/keymaps/archetype/rules.mk +8 -15
@@ 16,19 16,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 59,7 55,4 @@ SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
CUSTOM_MATRIX = yes
SRC = matrix.c i2c.c backlight.c

# programming options
PROGRAM_CMD = ./keyboards/ps2avrGB/program $(TARGET).hex

LAYOUTS = ortho_5x12

M keyboards/jj50/rules.mk => keyboards/jj50/rules.mk +2 -12
@@ 16,14 16,6 @@

# MCU name
MCU = atmega32a
PROTOCOL = VUSB

# unsupported features for now
NO_UART = yes
NO_SUSPEND_POWER_DOWN = yes

# processor frequency
F_CPU = 12000000

# Bootloader selection
#   Teensy       halfkay


@@ 31,7 23,8 @@ F_CPU = 12000000
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   atmega32a    bootloadHID
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 60,7 53,4 @@ SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
CUSTOM_MATRIX = yes
SRC = matrix.c i2c.c backlight.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

LAYOUTS = ortho_5x12

M keyboards/kbdfans/kbdpad/mk1/rules.mk => keyboards/kbdfans/kbdpad/mk1/rules.mk +8 -15
@@ 15,19 15,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 43,6 39,3 @@ RGBLIGHT_CUSTOM_DRIVER = no
OPT_DEFS = -DDEBUG_LEVEL=0

QUANTUM_LIB_SRC = i2c_master.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

M keyboards/mechmini/v1/rules.mk => keyboards/mechmini/v1/rules.mk +8 -15
@@ 15,19 15,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = atmel-dfu

# build options


@@ 45,6 41,3 @@ OPT_DEFS = -DDEBUG_LEVEL=0
# custom matrix setup
CUSTOM_MATRIX = yes
SRC = matrix.c i2c.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

M keyboards/mehkee96/rules.mk => keyboards/mehkee96/rules.mk +8 -13
@@ 1,18 1,16 @@
# MCU name
MCU = atmega32a
PROTOCOL = VUSB

# unsupported features for now
NO_UART = yes
NO_SUSPEND_POWER_DOWN = yes

# Processor frequency.
F_CPU = 12000000

# Bootloader
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID


# Build Options
#   comment out to disable the options.
#


@@ 30,6 28,3 @@ OPT_DEFS = -DDEBUG_LEVEL=0
# custom matrix setup
CUSTOM_MATRIX = yes
SRC = matrix.c i2c.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

M keyboards/mt40/rules.mk => keyboards/mt40/rules.mk +8 -15
@@ 1,18 1,14 @@
# 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
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 37,8 33,5 @@ OPT_DEFS = -DDEBUG_LEVEL=0
CUSTOM_MATRIX = yes
SRC = matrix.c i2c.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

LAYOUTS = planck_mit
LAYOUTS_HAS_RGB = no

M keyboards/panc60/rules.mk => keyboards/panc60/rules.mk +8 -15
@@ 15,19 15,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 45,7 41,4 @@ OPT_DEFS = -DDEBUG_LEVEL=0
# custom matrix setup
SRC = i2c_master.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

LAYOUTS = 60_ansi 60_hhkb

M keyboards/pearl/rules.mk => keyboards/pearl/rules.mk +8 -15
@@ 15,19 15,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 44,6 40,3 @@ OPT_DEFS = -DDEBUG_LEVEL=0

# custom matrix setup
SRC = i2c_master.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

M keyboards/plaid/rules.mk => keyboards/plaid/rules.mk +3 -15
@@ 7,21 7,9 @@ MCU = atmega328p
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   atmega32a    bootloadHID
#
# This uses usbaspbootloader
# BOOTLOADER = atmel-dfu


# If you don't know the bootloader type, then you can specify the
# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
#   Teensy halfKay      512
#   Teensy++ halfKay    1024
#   Atmel DFU loader    4096
#   LUFA bootloader     4096
#   USBaspLoader        2048
# OPT_DEFS += -DBOOTLOADER_SIZE=4096
OPT_DEFS += -DBOOTLOADER_SIZE=2048
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = USBasp

# Flash program via avrdude, but default command is not suitable.
# You can use plaid:default:program

M keyboards/singa/rules.mk => keyboards/singa/rules.mk +8 -15
@@ 15,19 15,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 43,6 39,3 @@ RGBLIGHT_CUSTOM_DRIVER = yes
OPT_DEFS = -DDEBUG_LEVEL=0

SRC = i2c_master.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

M keyboards/skog/rules.mk => keyboards/skog/rules.mk +8 -15
@@ 15,19 15,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 50,6 46,3 @@ SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
# custom matrix setup
CUSTOM_MATRIX = yes
SRC = matrix.c i2c.c backlight.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

M keyboards/tgr/alice/rules.mk => keyboards/tgr/alice/rules.mk +8 -15
@@ 15,19 15,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 43,6 39,3 @@ RGBLIGHT_CUSTOM_DRIVER = yes
OPT_DEFS = -DDEBUG_LEVEL=0

SRC += i2c_master.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

M keyboards/tgr/jane/rules.mk => keyboards/tgr/jane/rules.mk +8 -15
@@ 15,19 15,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 44,7 40,4 @@ OPT_DEFS = -DDEBUG_LEVEL=0

QUANTUM_LIB_SRC = i2c_master.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

LAYOUTS = tkl_ansi tkl_iso

M keyboards/unikorn/rules.mk => keyboards/unikorn/rules.mk +8 -15
@@ 15,19 15,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 43,6 39,3 @@ RGBLIGHT_CUSTOM_DRIVER = no
OPT_DEFS = -DDEBUG_LEVEL=0

SRC = i2c_master.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

M keyboards/winkeyless/bface/rules.mk => keyboards/winkeyless/bface/rules.mk +9 -12
@@ 15,14 15,16 @@

# MCU name
MCU = atmega32a
PROTOCOL = VUSB

# unsupported features for now
NO_UART = yes
NO_SUSPEND_POWER_DOWN = yes

# processor frequency
F_CPU = 12000000
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options
BOOTMAGIC_ENABLE = no


@@ 37,11 39,6 @@ RGBLIGHT_ENABLE = yes
RGBLIGHT_CUSTOM_DRIVER = yes

OPT_DEFS = -DDEBUG_LEVEL=0
BOOTLOADER = bootloadHID

# custom matrix setup
SRC = i2c_master.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex


M keyboards/winkeyless/bmini/rules.mk => keyboards/winkeyless/bmini/rules.mk +8 -15
@@ 15,19 15,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 45,6 41,3 @@ OPT_DEFS = -DDEBUG_LEVEL=0
# custom matrix setup
CUSTOM_MATRIX = yes
SRC = matrix.c i2c.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

M keyboards/winkeyless/bminiex/rules.mk => keyboards/winkeyless/bminiex/rules.mk +8 -15
@@ 15,19 15,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded 
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 51,6 47,3 @@ OPT_DEFS = -DDEBUG_LEVEL=0
# custom matrix setup
CUSTOM_MATRIX = yes
SRC = matrix.c i2c.c backlight.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

M keyboards/ymd75/rules.mk => keyboards/ymd75/rules.mk +8 -16
@@ 16,19 16,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded 
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 56,7 52,3 @@ SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
# custom matrix setup
CUSTOM_MATRIX = yes
SRC = matrix.c i2c.c backlight.c


# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

M keyboards/ymd96/rules.mk => keyboards/ymd96/rules.mk +8 -15
@@ 15,19 15,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 53,6 49,3 @@ OPT_DEFS = -DDEBUG_LEVEL=0
# custom matrix setup
CUSTOM_MATRIX = yes
SRC = matrix.c i2c.c backlight.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

M keyboards/ymdk/bface/rules.mk => keyboards/ymdk/bface/rules.mk +10 -2
@@ 16,6 16,16 @@
# MCU name
MCU = atmega32a

# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options
BOOTMAGIC_ENABLE = no
MOUSEKEY_ENABLE = yes


@@ 29,5 39,3 @@ RGBLIGHT_ENABLE = no
RGBLIGHT_CUSTOM_DRIVER = no

OPT_DEFS = -DDEBUG_LEVEL=0
BOOTLOADER = bootloadHID


M keyboards/ymdk_np21/rules.mk => keyboards/ymdk_np21/rules.mk +8 -15
@@ 15,19 15,15 @@

# 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
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options


@@ 54,6 50,3 @@ OPT_DEFS = -DDEBUG_LEVEL=0
# custom matrix setup
CUSTOM_MATRIX = yes
SRC = matrix.c i2c.c backlight.c

# programming options
PROGRAM_CMD = ./util/atmega32a_program.py $(TARGET).hex

M quantum/template/avr/rules.mk => quantum/template/avr/rules.mk +2 -4
@@ 1,17 1,16 @@
# MCU name
MCU = atmega32u4


# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   atmega32a    bootloadHID
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = atmel-dfu


# If you don't know the bootloader type, then you can specify the
# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
#   Teensy halfKay      512


@@ 21,7 20,6 @@ BOOTLOADER = atmel-dfu
#   USBaspLoader        2048
# OPT_DEFS += -DBOOTLOADER_SIZE=4096


# Build Options
#   change yes to no to disable
#

M quantum/template/ps2avrgb/rules.mk => quantum/template/ps2avrgb/rules.mk +8 -4
@@ 1,10 1,14 @@
# MCU name
MCU = atmega32a

# Bootloader
#     This definition is optional, and if your keyboard supports multiple bootloaders of
#     different sizes, comment this out, and the correct address will be loaded
#     automatically (+60). See bootloader.mk for all options.
# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   ATmega32A    bootloadHID
#   ATmega328P   USBasp
BOOTLOADER = bootloadHID

# build options