diff options
Diffstat (limited to 'tmk_core/common')
-rw-r--r-- | tmk_core/common/keyboard.c | 11 | ||||
-rw-r--r-- | tmk_core/common/keyboard.h | 2 |
2 files changed, 9 insertions, 4 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 | } |
diff --git a/tmk_core/common/keyboard.h b/tmk_core/common/keyboard.h index bf8b71fb7..19f98c74e 100644 --- a/tmk_core/common/keyboard.h +++ b/tmk_core/common/keyboard.h | |||
@@ -57,8 +57,6 @@ static inline bool IS_RELEASED(keyevent_t event) { return (!IS_NOEVENT(event) && | |||
57 | .time = (timer_read() | 1) \ | 57 | .time = (timer_read() | 1) \ |
58 | } | 58 | } |
59 | 59 | ||
60 | void disable_jtag(void); | ||
61 | |||
62 | /* it runs once at early stage of startup before keyboard_init. */ | 60 | /* it runs once at early stage of startup before keyboard_init. */ |
63 | void keyboard_setup(void); | 61 | void keyboard_setup(void); |
64 | /* it runs once after initializing host side protocol, debug and MCU peripherals. */ | 62 | /* it runs once after initializing host side protocol, debug and MCU peripherals. */ |