diff --git a/platforms/avr/platform.c b/platforms/avr/platform.c index 3e35b4fe4c7..37decb6ec8e 100644 --- a/platforms/avr/platform.c +++ b/platforms/avr/platform.c @@ -16,6 +16,17 @@ #include "platform_deps.h" -void platform_setup(void) { - // do nothing +static void disable_jtag(void) { +// To use PF4-7 (PC2-5 on ATmega32A), disable JTAG by writing JTD bit twice within four cycles. +#if (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) + MCUCR |= _BV(JTD); + MCUCR |= _BV(JTD); +#elif defined(__AVR_ATmega32A__) + MCUCSR |= _BV(JTD); + MCUCSR |= _BV(JTD); +#endif +} + +void platform_setup(void) { + disable_jtag(); } diff --git a/quantum/keyboard.c b/quantum/keyboard.c index 63236f0b20b..1dccd48e2fe 100644 --- a/quantum/keyboard.c +++ b/quantum/keyboard.c @@ -211,17 +211,6 @@ static inline bool has_ghost_in_row(uint8_t row, matrix_row_t rowdata) { #endif -void disable_jtag(void) { -// To use PF4-7 (PC2-5 on ATmega32A), disable JTAG by writing JTD bit twice within four cycles. -#if (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) - MCUCR |= _BV(JTD); - MCUCR |= _BV(JTD); -#elif defined(__AVR_ATmega32A__) - MCUCSR |= _BV(JTD); - MCUCSR |= _BV(JTD); -#endif -} - /** \brief matrix_setup * * FIXME: needs doc @@ -263,9 +252,6 @@ __attribute__((weak)) void keyboard_post_init_kb(void) { * FIXME: needs doc */ void keyboard_setup(void) { -#ifndef NO_JTAG_DISABLE - disable_jtag(); -#endif print_set_sendchar(sendchar); #ifdef EEPROM_DRIVER eeprom_driver_init();