]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Move disable JTAG code from `keyboard_init` to `keyboard_setup`
authorDanny Nguyen <danny@keeb.io>
Fri, 2 Nov 2018 19:28:16 +0000 (15:28 -0400)
committerDrashna Jaelre <drashna@live.com>
Fri, 2 Nov 2018 21:31:29 +0000 (14:31 -0700)
This way all split keyboards are using that code instead of just those using split_common with the fix

quantum/split_common/matrix.c
quantum/split_common/split_util.c
tmk_core/common/keyboard.c
tmk_core/common/keyboard.h

index ff6738b58f4ce0bba6b214b01558ec1205c0f1d7..d6359b51fb3aaa93368bdd1203b6f45b2999aac6 100644 (file)
@@ -128,12 +128,6 @@ uint8_t matrix_cols(void)
 
 void matrix_init(void)
 {
-#ifdef DISABLE_JTAG
-  // JTAG disable for PORT F. write JTD bit twice within four cycles.
-  MCUCR |= (1<<JTD);
-  MCUCR |= (1<<JTD);
-#endif
-
     debug_enable = true;
     debug_matrix = true;
     debug_mouse = true;
index 8d39329d460f83de24a7bf867267267c2184b13a..7d1d7ee0473a32bd3a879c79633b7b7f33a9ff4b 100644 (file)
@@ -94,10 +94,6 @@ void split_keyboard_setup(void) {
 
 void disable_JTAG(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
@@ -157,13 +153,3 @@ 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
-}
index 13b3cb4c0c1f5a035034760cef32c38fa6edc055..a6a5fb56b16ea2e54be672b8fc47f1c80cd4feea 100644 (file)
@@ -120,6 +120,14 @@ static inline bool has_ghost_in_row(uint8_t row, matrix_row_t rowdata)
 
 #endif
 
+void disable_jtag(void) {
+// 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
+}
+
 /** \brief matrix_setup
  *
  * FIXME: needs doc
@@ -133,6 +141,7 @@ void matrix_setup(void) {
  * FIXME: needs doc
  */
 void keyboard_setup(void) {
+    disable_jtag();
     matrix_setup();
 }
 
@@ -151,11 +160,6 @@ bool is_keyboard_master(void) {
  */
 void keyboard_init(void) {
     timer_init();
-// 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
     matrix_init();
 #ifdef PS2_MOUSE_ENABLE
     ps2_mouse_init();
index f17003c2ff97c13e4c6585ed133b1e3bbb814463..71e594a8909c2416d6027edb62cd28250de8ae7e 100644 (file)
@@ -57,6 +57,8 @@ static inline bool IS_RELEASED(keyevent_t event) { return (!IS_NOEVENT(event) &&
     .time = (timer_read() | 1)                          \
 }
 
+void disable_jtag(void);
+
 /* it runs once at early stage of startup before keyboard_init. */
 void keyboard_setup(void);
 /* it runs once after initializing host side protocol, debug and MCU peripherals. */