]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - quantum/split_common/split_util.c
Added JTAG disable code to the split_common (#4309)
[qmk_firmware.git] / quantum / split_common / split_util.c
index 7c87de4d9bdec6b0313bc5df65bd0e25331512d0..7ca68c56cdb573438791e5597c686f917d396b59 100644 (file)
@@ -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
+}