summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfauxpark <fauxpark@gmail.com>2019-09-21 15:06:32 +1000
committerDrashna Jaelre <drashna@live.com>2019-09-20 22:06:32 -0700
commitde4a47f1cc28c4ef66e7560eac2a50f717070ae2 (patch)
tree541f612a0b7175f7f7b13311e1e28149a6142d4f
parentbeb4a12c9d06d30cc0f544ca52e618898fbb5302 (diff)
Cleanup rules.mk for 32A and 328P keyboards (#6767)
-rw-r--r--docs/flashing.md80
-rw-r--r--keyboards/ares/rules.mk23
-rw-r--r--keyboards/bfake/rules.mk23
-rw-r--r--keyboards/canoe/rules.mk23
-rw-r--r--keyboards/coseyfannitutti/discipline/rules.mk52
-rw-r--r--keyboards/donutcables/budget96/rules.mk23
-rw-r--r--keyboards/eve/meteor/rules.mk12
-rw-r--r--keyboards/exclusive/e6v2/le_bmc/rules.mk58
-rw-r--r--keyboards/exclusive/e6v2/oe_bmc/rules.mk58
-rw-r--r--keyboards/facew/rules.mk23
-rw-r--r--keyboards/ft/mars80/rules.mk23
-rw-r--r--keyboards/gingham/rules.mk5
-rw-r--r--keyboards/gray_studio/hb85/rules.mk23
-rw-r--r--keyboards/handwired/hnah40/rules.mk10
-rw-r--r--keyboards/jc65/v32a/rules.mk23
-rw-r--r--keyboards/jj40/rules.mk23
-rw-r--r--keyboards/jj4x4/rules.mk23
-rw-r--r--keyboards/jj50/keymaps/archetype/rules.mk23
-rw-r--r--keyboards/jj50/rules.mk14
-rw-r--r--keyboards/kbdfans/kbdpad/mk1/rules.mk23
-rw-r--r--keyboards/mechmini/v1/rules.mk23
-rw-r--r--keyboards/mehkee96/rules.mk21
-rw-r--r--keyboards/mt40/rules.mk23
-rw-r--r--keyboards/panc60/rules.mk23
-rw-r--r--keyboards/pearl/rules.mk23
-rw-r--r--keyboards/plaid/rules.mk18
-rw-r--r--keyboards/singa/rules.mk23
-rw-r--r--keyboards/skog/rules.mk23
-rw-r--r--keyboards/tgr/alice/rules.mk23
-rw-r--r--keyboards/tgr/jane/rules.mk23
-rw-r--r--keyboards/unikorn/rules.mk23
-rw-r--r--keyboards/winkeyless/bface/rules.mk21
-rw-r--r--keyboards/winkeyless/bmini/rules.mk23
-rw-r--r--keyboards/winkeyless/bminiex/rules.mk23
-rw-r--r--keyboards/ymd75/rules.mk24
-rw-r--r--keyboards/ymd96/rules.mk23
-rw-r--r--keyboards/ymdk/bface/rules.mk12
-rw-r--r--keyboards/ymdk_np21/rules.mk23
-rw-r--r--quantum/template/avr/rules.mk6
-rw-r--r--quantum/template/ps2avrgb/rules.mk12
40 files changed, 333 insertions, 645 deletions
diff --git a/docs/flashing.md b/docs/flashing.md
index b47a5ebf8e..00350b8406 100644
--- a/docs/flashing.md
+++ b/docs/flashing.md
@@ -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:
diff --git a/keyboards/ares/rules.mk b/keyboards/ares/rules.mk
index cd8edc6112..3ac90cf973 100644
--- a/keyboards/ares/rules.mk
+++ b/keyboards/ares/rules.mk
@@ -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
diff --git a/keyboards/bfake/rules.mk b/keyboards/bfake/rules.mk
index 6577ea193f..b5b3b852cb 100644
--- a/keyboards/bfake/rules.mk
+++ b/keyboards/bfake/rules.mk
@@ -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
diff --git a/keyboards/canoe/rules.mk b/keyboards/canoe/rules.mk
index 3d7bc0215d..8cfc810566 100644
--- a/keyboards/canoe/rules.mk
+++ b/keyboards/canoe/rules.mk
@@ -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
diff --git a/keyboards/coseyfannitutti/discipline/rules.mk b/keyboards/coseyfannitutti/discipline/rules.mk
index bc81342de2..24b5969b74 100644
--- a/keyboards/coseyfannitutti/discipline/rules.mk
+++ b/keyboards/coseyfannitutti/discipline/rules.mk
@@ -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
diff --git a/keyboards/donutcables/budget96/rules.mk b/keyboards/donutcables/budget96/rules.mk
index 67697ac733..4f9e0e412d 100644
--- a/keyboards/donutcables/budget96/rules.mk
+++ b/keyboards/donutcables/budget96/rules.mk
@@ -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
diff --git a/keyboards/eve/meteor/rules.mk b/keyboards/eve/meteor/rules.mk
index 10fc8cd032..e43baee5c5 100644
--- a/keyboards/eve/meteor/rules.mk
+++ b/keyboards/eve/meteor/rules.mk
@@ -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
diff --git a/keyboards/exclusive/e6v2/le_bmc/rules.mk b/keyboards/exclusive/e6v2/le_bmc/rules.mk
index a9156adeb5..13a5f1b89a 100644
--- a/keyboards/exclusive/e6v2/le_bmc/rules.mk
+++ b/keyboards/exclusive/e6v2/le_bmc/rules.mk
@@ -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
diff --git a/keyboards/exclusive/e6v2/oe_bmc/rules.mk b/keyboards/exclusive/e6v2/oe_bmc/rules.mk
index a9156adeb5..13a5f1b89a 100644
--- a/keyboards/exclusive/e6v2/oe_bmc/rules.mk
+++ b/keyboards/exclusive/e6v2/oe_bmc/rules.mk
@@ -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
diff --git a/keyboards/facew/rules.mk b/keyboards/facew/rules.mk
index b939b0fd24..c9942e3694 100644
--- a/keyboards/facew/rules.mk
+++ b/keyboards/facew/rules.mk
@@ -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
diff --git a/keyboards/ft/mars80/rules.mk b/keyboards/ft/mars80/rules.mk
index 159307f8d0..f1c79b196c 100644
--- a/keyboards/ft/mars80/rules.mk
+++ b/keyboards/ft/mars80/rules.mk
@@ -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
diff --git a/keyboards/gingham/rules.mk b/keyboards/gingham/rules.mk
index 9afbd09644..aa228c875b 100644
--- a/keyboards/gingham/rules.mk
+++ b/keyboards/gingham/rules.mk
@@ -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.
diff --git a/keyboards/gray_studio/hb85/rules.mk b/keyboards/gray_studio/hb85/rules.mk
index c3e17e4932..5339aad89c 100644
--- a/keyboards/gray_studio/hb85/rules.mk
+++ b/keyboards/gray_studio/hb85/rules.mk
@@ -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
diff --git a/keyboards/handwired/hnah40/rules.mk b/keyboards/handwired/hnah40/rules.mk
index 341b8d03d9..bbdf5176c4 100644
--- a/keyboards/handwired/hnah40/rules.mk
+++ b/keyboards/handwired/hnah40/rules.mk
@@ -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
diff --git a/keyboards/jc65/v32a/rules.mk b/keyboards/jc65/v32a/rules.mk
index fac85172ec..ee6efb3fa5 100644
--- a/keyboards/jc65/v32a/rules.mk
+++ b/keyboards/jc65/v32a/rules.mk
@@ -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
diff --git a/keyboards/jj40/rules.mk b/keyboards/jj40/rules.mk
index 3e496f97e9..b0bf574bd7 100644
--- a/keyboards/jj40/rules.mk
+++ b/keyboards/jj40/rules.mk
@@ -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.