This way all split keyboards are using that code instead of just those using split_common with the fix
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;
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
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
-}
#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
* FIXME: needs doc
*/
void keyboard_setup(void) {
+ disable_jtag();
matrix_setup();
}
*/
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();
.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. */