diff options
Diffstat (limited to 'tmk_core/common/keyboard.c')
| -rw-r--r-- | tmk_core/common/keyboard.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/tmk_core/common/keyboard.c b/tmk_core/common/keyboard.c index 13b3cb4c0..a6a5fb56b 100644 --- a/tmk_core/common/keyboard.c +++ b/tmk_core/common/keyboard.c | |||
| @@ -120,6 +120,14 @@ static inline bool has_ghost_in_row(uint8_t row, matrix_row_t rowdata) | |||
| 120 | 120 | ||
| 121 | #endif | 121 | #endif |
| 122 | 122 | ||
| 123 | void disable_jtag(void) { | ||
| 124 | // To use PORTF disable JTAG with writing JTD bit twice within four cycles. | ||
| 125 | #if (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega32U4__)) | ||
| 126 | MCUCR |= _BV(JTD); | ||
| 127 | MCUCR |= _BV(JTD); | ||
| 128 | #endif | ||
| 129 | } | ||
| 130 | |||
| 123 | /** \brief matrix_setup | 131 | /** \brief matrix_setup |
| 124 | * | 132 | * |
| 125 | * FIXME: needs doc | 133 | * FIXME: needs doc |
| @@ -133,6 +141,7 @@ void matrix_setup(void) { | |||
| 133 | * FIXME: needs doc | 141 | * FIXME: needs doc |
| 134 | */ | 142 | */ |
| 135 | void keyboard_setup(void) { | 143 | void keyboard_setup(void) { |
| 144 | disable_jtag(); | ||
| 136 | matrix_setup(); | 145 | matrix_setup(); |
| 137 | } | 146 | } |
| 138 | 147 | ||
| @@ -151,11 +160,6 @@ bool is_keyboard_master(void) { | |||
| 151 | */ | 160 | */ |
| 152 | void keyboard_init(void) { | 161 | void keyboard_init(void) { |
| 153 | timer_init(); | 162 | timer_init(); |
| 154 | // To use PORTF disable JTAG with writing JTD bit twice within four cycles. | ||
| 155 | #if (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega32U4__)) | ||
| 156 | MCUCR |= _BV(JTD); | ||
| 157 | MCUCR |= _BV(JTD); | ||
| 158 | #endif | ||
| 159 | matrix_init(); | 163 | matrix_init(); |
| 160 | #ifdef PS2_MOUSE_ENABLE | 164 | #ifdef PS2_MOUSE_ENABLE |
| 161 | ps2_mouse_init(); | 165 | ps2_mouse_init(); |
