diff options
Diffstat (limited to 'tmk_core')
| -rw-r--r-- | tmk_core/common/keyboard.c | 11 | ||||
| -rw-r--r-- | tmk_core/common/keyboard.h | 2 | 
2 files changed, 9 insertions, 4 deletions
diff --git a/tmk_core/common/keyboard.c b/tmk_core/common/keyboard.c index 85d252548..8f0257cf6 100644 --- a/tmk_core/common/keyboard.c +++ b/tmk_core/common/keyboard.c @@ -130,10 +130,15 @@ static inline bool has_ghost_in_row(uint8_t row, matrix_row_t rowdata)  #endif  void disable_jtag(void) { -// To use PORTF disable JTAG with writing JTD bit twice within four cycles. -#if (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega32U4__)) +// 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  } @@ -184,7 +189,9 @@ void keyboard_post_init_kb(void) {   * FIXME: needs doc   */  void keyboard_setup(void) { +#ifndef NO_JTAG_DISABLE      disable_jtag(); +#endif      matrix_setup();      keyboard_pre_init_kb();  } diff --git a/tmk_core/common/keyboard.h b/tmk_core/common/keyboard.h index bf8b71fb7..19f98c74e 100644 --- a/tmk_core/common/keyboard.h +++ b/tmk_core/common/keyboard.h @@ -57,8 +57,6 @@ static inline bool IS_RELEASED(keyevent_t event) { return (!IS_NOEVENT(event) &&      .time = (timer_read() | 1)                          \  } -void disable_jtag(void); -  /* it runs once at early stage of startup before keyboard_init. */  void keyboard_setup(void);  /* it runs once after initializing host side protocol, debug and MCU peripherals. */  | 
