From 5630ad7604f7a8243ef9b643a4409fc8f9f96ed0 Mon Sep 17 00:00:00 2001 From: That-Canadian Date: Wed, 31 Oct 2018 17:42:15 -0400 Subject: [PATCH] Added JTAG disable code to the split_common (#4309) Added JTAG disable code to the split_common slave code since the slave never calls keyboard_init(). In the future the slave should likely be modified to call keyboard_init() in some way, but without calling any of the unnecessary USB initialization code. --- quantum/split_common/split_util.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/quantum/split_common/split_util.c b/quantum/split_common/split_util.c index 7c87de4d9..7ca68c56c 100644 --- a/quantum/split_common/split_util.c +++ b/quantum/split_common/split_util.c @@ -93,6 +93,10 @@ void split_keyboard_setup(void) { } void keyboard_slave_loop(void) { + // Disable JTAG since we skip calling keyboard_init() on the slave side + // Future fix will possible call keyboard_init() on the slave to remove this need + disable_JTAG(); + matrix_init(); //Init RGB @@ -152,3 +156,13 @@ void matrix_setup(void) { keyboard_slave_loop(); } } + +// Temporary code to disable JTAG on the slave board +void disable_JTAG(void) { + /* Copied from tmk_core/common/keybaord.c */ + // 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 +}