summaryrefslogtreecommitdiffstats
path: root/tmk_core
diff options
context:
space:
mode:
authorDanny Nguyen <danny@keeb.io>2018-11-02 20:28:16 +0100
committerDrashna Jaelre <drashna@live.com>2018-11-02 22:31:29 +0100
commita5fa75fcb3de822f4e43dcf29cee6eb9f945a992 (patch)
tree38e37e3e83e34f611293a266b59be0cee906de34 /tmk_core
parent5779ffb59a2e36fd45c3d4000d41ad73ad140de3 (diff)
downloadqmk_firmware-a5fa75fcb3de822f4e43dcf29cee6eb9f945a992.tar.gz
qmk_firmware-a5fa75fcb3de822f4e43dcf29cee6eb9f945a992.tar.xz
Move disable JTAG code from `keyboard_init` to `keyboard_setup`
This way all split keyboards are using that code instead of just those using split_common with the fix
Diffstat (limited to 'tmk_core')
-rw-r--r--tmk_core/common/keyboard.c14
-rw-r--r--tmk_core/common/keyboard.h2
2 files changed, 11 insertions, 5 deletions
diff --git a/tmk_core/common/keyboard.c b/tmk_core/common/keyboard.c
index 13b3cb4c0..a6a5fb56b 100644
--- a/tmk_core/common/keyboard.c
+++ b/tmk_core/common/keyboard.c
@@ -120,6 +120,14 @@ 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__))
+ MCUCR |= _BV(JTD);
+ MCUCR |= _BV(JTD);
+#endif
+}
+
/** \brief matrix_setup
*
* FIXME: needs doc
@@ -133,6 +141,7 @@ void matrix_setup(void) {
* FIXME: needs doc
*/
void keyboard_setup(void) {
+ disable_jtag();
matrix_setup();
}
@@ -151,11 +160,6 @@ bool is_keyboard_master(void) {
*/
void keyboard_init(void) {
timer_init();
-// To use PORTF disable JTAG with writing JTD bit twice within four cycles.
-#if (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega32U4__))
- MCUCR |= _BV(JTD);
- MCUCR |= _BV(JTD);
-#endif
matrix_init();
#ifdef PS2_MOUSE_ENABLE
ps2_mouse_init();
diff --git a/tmk_core/common/keyboard.h b/tmk_core/common/keyboard.h
index f17003c2f..71e594a89 100644
--- a/tmk_core/common/keyboard.h
+++ b/tmk_core/common/keyboard.h
@@ -57,6 +57,8 @@ 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. */