]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Added JTAG disable code to the split_common (#4309)
authorThat-Canadian <Poole.Chris.11@gmail.com>
Wed, 31 Oct 2018 21:42:15 +0000 (17:42 -0400)
committerDrashna Jaelre <drashna@live.com>
Wed, 31 Oct 2018 21:42:15 +0000 (14:42 -0700)
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

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
+}