summary refs log tree commit diff
path: root/quantum/split_common
diff options
context:
space:
mode:
authorThat-Canadian <Poole.Chris.11@gmail.com>2018-10-31 17:42:15 -0400
committerDrashna Jaelre <drashna@live.com>2018-10-31 14:42:15 -0700
commit5630ad7604f7a8243ef9b643a4409fc8f9f96ed0 (patch)
tree036737356e308d09ed2a76948d25a24239c6ae46 /quantum/split_common
parent75d657b5251c80b4d5a3de583d4ba97c10ac619f (diff)
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')
-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 7c87de4d9b..7ca68c56cd 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
+}