aboutsummaryrefslogtreecommitdiffstats
path: root/quantum/split_common/split_util.c
diff options
context:
space:
mode:
authorGravatar That-Canadian <Poole.Chris.11@gmail.com>2018-10-31 17:42:15 -0400
committerGravatar Drashna Jaelre <drashna@live.com>2018-10-31 14:42:15 -0700
commit5630ad7604f7a8243ef9b643a4409fc8f9f96ed0 (patch)
tree036737356e308d09ed2a76948d25a24239c6ae46 /quantum/split_common/split_util.c
parent75d657b5251c80b4d5a3de583d4ba97c10ac619f (diff)
downloadqmk_firmware-5630ad7604f7a8243ef9b643a4409fc8f9f96ed0.tar.gz
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.
Diffstat (limited to 'quantum/split_common/split_util.c')
-rw-r--r--quantum/split_common/split_util.c14
1 files changed, 14 insertions, 0 deletions
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
+}