diff options
Diffstat (limited to 'tmk_core/common/keyboard.c')
-rw-r--r-- | tmk_core/common/keyboard.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/tmk_core/common/keyboard.c b/tmk_core/common/keyboard.c index 85d252548..8f0257cf6 100644 --- a/tmk_core/common/keyboard.c +++ b/tmk_core/common/keyboard.c | |||
@@ -130,10 +130,15 @@ static inline bool has_ghost_in_row(uint8_t row, matrix_row_t rowdata) | |||
130 | #endif | 130 | #endif |
131 | 131 | ||
132 | void disable_jtag(void) { | 132 | void disable_jtag(void) { |
133 | // To use PORTF disable JTAG with writing JTD bit twice within four cycles. | 133 | // To use PF4-7 (PC2-5 on ATmega32A), disable JTAG by writing JTD bit twice within four cycles. |
134 | #if (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega32U4__)) | 134 | #if (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || \ |
135 | defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || \ | ||
136 | defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) | ||
135 | MCUCR |= _BV(JTD); | 137 | MCUCR |= _BV(JTD); |
136 | MCUCR |= _BV(JTD); | 138 | MCUCR |= _BV(JTD); |
139 | #elif defined(__AVR_ATmega32A__) | ||
140 | MCUCSR |= _BV(JTD); | ||
141 | MCUCSR |= _BV(JTD); | ||
137 | #endif | 142 | #endif |
138 | } | 143 | } |
139 | 144 | ||
@@ -184,7 +189,9 @@ void keyboard_post_init_kb(void) { | |||
184 | * FIXME: needs doc | 189 | * FIXME: needs doc |
185 | */ | 190 | */ |
186 | void keyboard_setup(void) { | 191 | void keyboard_setup(void) { |
192 | #ifndef NO_JTAG_DISABLE | ||
187 | disable_jtag(); | 193 | disable_jtag(); |
194 | #endif | ||
188 | matrix_setup(); | 195 | matrix_setup(); |
189 | keyboard_pre_init_kb(); | 196 | keyboard_pre_init_kb(); |
190 | } | 197 | } |