summaryrefslogtreecommitdiffstats
path: root/tmk_core
diff options
context:
space:
mode:
authorfauxpark <fauxpark@gmail.com>2019-08-21 15:18:52 +1000
committerDrashna Jaelre <drashna@live.com>2019-08-20 22:18:52 -0700
commitf2c179de58c63b2202a490d283fd8fa216680ce7 (patch)
treeb6ac2946b63566f604251af6c2e160457ca5e11c /tmk_core
parent977c316eb1bdca7f0e13026936322cb9a9fcd0d2 (diff)
Remove superfluous JTAG disable code (#6445)
* Remove superfluous JTAG disable code * 32A has differently named register * Accidentally some operators * 32A also has different JTAG pins * Wrap disable_jtag() in an ifndef * Document this new define * Rename the define, it conflicts with a LUFA thing Also, move the ifndef wrapping to the call in keyboard_setup()
Diffstat (limited to 'tmk_core')
-rw-r--r--tmk_core/common/keyboard.c11
-rw-r--r--tmk_core/common/keyboard.h2
2 files changed, 9 insertions, 4 deletions
diff --git a/tmk_core/common/keyboard.c b/tmk_core/common/keyboard.c
index 85d2525480..8f0257cf66 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 bf8b71fb78..19f98c74ec 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. */