summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2020-09-27 20:33:03 +1000
committerGitHub <noreply@github.com>2020-09-27 20:33:03 +1000
commit70fce6564fe691912387d09344efa1d1ce5b949e (patch)
tree42d9b87a3c1c2f22ca2722645c946a96bcad4795
parent28ff51175b6d45ce5a8dbfe7ed6e7a12df3bc8a8 (diff)
downloadqmk_firmware-70fce6564fe691912387d09344efa1d1ce5b949e.tar.gz
qmk_firmware-70fce6564fe691912387d09344efa1d1ce5b949e.zip
Add logic for AT90USBxx7 where needed (#10203)
-rw-r--r--bootloader.mk12
-rw-r--r--lib/python/qmk/constants.py2
-rw-r--r--quantum/config_common.h4
-rw-r--r--quantum/keymap.h4
-rw-r--r--quantum/mcu_selection.mk2
5 files changed, 14 insertions, 10 deletions
diff --git a/bootloader.mk b/bootloader.mk
index d5f803f896..a7e596e476 100644
--- a/bootloader.mk
+++ b/bootloader.mk
@@ -35,30 +35,30 @@
ifeq ($(strip $(BOOTLOADER)), atmel-dfu)
OPT_DEFS += -DBOOTLOADER_ATMEL_DFU
OPT_DEFS += -DBOOTLOADER_DFU
- ifneq (,$(filter $(MCU), at90usb646 atmega16u2 atmega16u4 atmega32u2 atmega32u4))
+ ifneq (,$(filter $(MCU), atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb647))
BOOTLOADER_SIZE = 4096
endif
- ifeq ($(strip $(MCU)), at90usb1286)
+ ifneq (,$(filter $(MCU), at90usb1286 at90usb1287))
BOOTLOADER_SIZE = 8192
endif
endif
ifeq ($(strip $(BOOTLOADER)), lufa-dfu)
OPT_DEFS += -DBOOTLOADER_LUFA_DFU
OPT_DEFS += -DBOOTLOADER_DFU
- ifneq (,$(filter $(MCU), at90usb646 atmega16u2 atmega16u4 atmega32u2 atmega32u4))
+ ifneq (,$(filter $(MCU), atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb647))
BOOTLOADER_SIZE = 4096
endif
- ifeq ($(strip $(MCU)), at90usb1286)
+ ifneq (,$(filter $(MCU), at90usb1286 at90usb1287))
BOOTLOADER_SIZE = 8192
endif
endif
ifeq ($(strip $(BOOTLOADER)), qmk-dfu)
OPT_DEFS += -DBOOTLOADER_QMK_DFU
OPT_DEFS += -DBOOTLOADER_DFU
- ifneq (,$(filter $(MCU), at90usb646 atmega16u2 atmega16u4 atmega32u2 atmega32u4))
+ ifneq (,$(filter $(MCU), atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb647))
BOOTLOADER_SIZE = 4096
endif
- ifeq ($(strip $(MCU)), at90usb1286)
+ ifneq (,$(filter $(MCU), at90usb1286 at90usb1287))
BOOTLOADER_SIZE = 8192
endif
endif
diff --git a/lib/python/qmk/constants.py b/lib/python/qmk/constants.py
index 0a4708e4ce..0450724df4 100644
--- a/lib/python/qmk/constants.py
+++ b/lib/python/qmk/constants.py
@@ -10,6 +10,6 @@ MAX_KEYBOARD_SUBFOLDERS = 5
# Supported processor types
ARM_PROCESSORS = 'cortex-m0', 'cortex-m0plus', 'cortex-m3', 'cortex-m4', 'MKL26Z64', 'MK20DX128', 'MK20DX256', 'STM32F042', 'STM32F072', 'STM32F103', 'STM32F303', 'STM32F401', 'STM32F411'
-AVR_PROCESSORS = 'at90usb1286', 'at90usb646', 'atmega16u2', 'atmega328p', 'atmega32a', 'atmega32u2', 'atmega32u4', None
+AVR_PROCESSORS = 'atmega16u2', 'atmega32u2', 'atmega16u4', 'atmega32u4', 'at90usb646', 'at90usb647', 'at90usb1286', 'at90usb1287', 'atmega328p', 'atmega32a', None
ALL_PROCESSORS = ARM_PROCESSORS + AVR_PROCESSORS
VUSB_PROCESSORS = 'atmega328p', 'atmega32a', 'atmega328', 'attiny85'
diff --git a/quantum/config_common.h b/quantum/config_common.h
index 84edc46395..c1e6698e50 100644
--- a/quantum/config_common.h
+++ b/quantum/config_common.h
@@ -44,7 +44,7 @@
# define PINB_ADDRESS 0x3
# define PINC_ADDRESS 0x6
# define PIND_ADDRESS 0x9
-# elif defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB646__)
+# elif defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__)
# define ADDRESS_BASE 0x00
# define PINA_ADDRESS 0x0
# define PINB_ADDRESS 0x3
@@ -307,7 +307,7 @@
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
sei(); \
} while (0)
-# elif (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__))
+# elif defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__)
# define SERIAL_UART_BAUD 115200
# define SERIAL_UART_DATA UDR1
/* UBRR should result in ~16 and set UCSR1A = _BV(U2X1) as per rn42 documentation. HC05 needs baudrate configured accordingly */
diff --git a/quantum/keymap.h b/quantum/keymap.h
index 34a9c8f8c6..de3bece11e 100644
--- a/quantum/keymap.h
+++ b/quantum/keymap.h
@@ -40,6 +40,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#if defined(PROTOCOL_CHIBIOS)
# define RESET QK_RESET
#endif
+// Gross hack, remove me and change RESET keycode to QK_BOOT
+#if defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1287__)
+# undef RESET
+#endif
#include "quantum_keycodes.h"
diff --git a/quantum/mcu_selection.mk b/quantum/mcu_selection.mk
index 6ec5dff5f5..295dfd3189 100644
--- a/quantum/mcu_selection.mk
+++ b/quantum/mcu_selection.mk
@@ -280,7 +280,7 @@ ifneq ($(findstring STM32F411, $(MCU)),)
DFU_SUFFIX_ARGS ?= -v 0483 -p DF11
endif
-ifneq (,$(filter $(MCU),atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb1286))
+ifneq (,$(filter $(MCU),atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb647 at90usb1286 at90usb1287))
PROTOCOL = LUFA
# Processor frequency.