diff options
author | Danny Nguyen <danny@keeb.io> | 2018-11-02 15:28:16 -0400 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2018-11-02 14:31:29 -0700 |
commit | a5fa75fcb3de822f4e43dcf29cee6eb9f945a992 (patch) | |
tree | 38e37e3e83e34f611293a266b59be0cee906de34 | |
parent | 5779ffb59a2e36fd45c3d4000d41ad73ad140de3 (diff) | |
download | qmk_firmware-a5fa75fcb3de822f4e43dcf29cee6eb9f945a992.tar.gz qmk_firmware-a5fa75fcb3de822f4e43dcf29cee6eb9f945a992.zip |
Move disable JTAG code from `keyboard_init` to `keyboard_setup`
This way all split keyboards are using that code instead of just those using split_common with the fix
-rw-r--r-- | quantum/split_common/matrix.c | 6 | ||||
-rw-r--r-- | quantum/split_common/split_util.c | 14 | ||||
-rw-r--r-- | tmk_core/common/keyboard.c | 14 | ||||
-rw-r--r-- | tmk_core/common/keyboard.h | 2 |
4 files changed, 11 insertions, 25 deletions
diff --git a/quantum/split_common/matrix.c b/quantum/split_common/matrix.c index ff6738b58..d6359b51f 100644 --- a/quantum/split_common/matrix.c +++ b/quantum/split_common/matrix.c | |||
@@ -128,12 +128,6 @@ uint8_t matrix_cols(void) | |||
128 | 128 | ||
129 | void matrix_init(void) | 129 | void matrix_init(void) |
130 | { | 130 | { |
131 | #ifdef DISABLE_JTAG | ||
132 | // JTAG disable for PORT F. write JTD bit twice within four cycles. | ||
133 | MCUCR |= (1<<JTD); | ||
134 | MCUCR |= (1<<JTD); | ||
135 | #endif | ||
136 | |||
137 | debug_enable = true; | 131 | debug_enable = true; |
138 | debug_matrix = true; | 132 | debug_matrix = true; |
139 | debug_mouse = true; | 133 | debug_mouse = true; |
diff --git a/quantum/split_common/split_util.c b/quantum/split_common/split_util.c index 8d39329d4..7d1d7ee04 100644 --- a/quantum/split_common/split_util.c +++ b/quantum/split_common/split_util.c | |||
@@ -94,10 +94,6 @@ void split_keyboard_setup(void) { | |||
94 | 94 | ||
95 | void disable_JTAG(void); | 95 | void disable_JTAG(void); |
96 | void keyboard_slave_loop(void) { | 96 | void keyboard_slave_loop(void) { |
97 | // Disable JTAG since we skip calling keyboard_init() on the slave side | ||
98 | // Future fix will possible call keyboard_init() on the slave to remove this need | ||
99 | disable_JTAG(); | ||
100 | |||
101 | matrix_init(); | 97 | matrix_init(); |
102 | 98 | ||
103 | //Init RGB | 99 | //Init RGB |
@@ -157,13 +153,3 @@ void matrix_setup(void) { | |||
157 | keyboard_slave_loop(); | 153 | keyboard_slave_loop(); |
158 | } | 154 | } |
159 | } | 155 | } |
160 | |||
161 | // Temporary code to disable JTAG on the slave board | ||
162 | void disable_JTAG(void) { | ||
163 | /* Copied from tmk_core/common/keybaord.c */ | ||
164 | // To use PORTF disable JTAG with writing JTD bit twice within four cycles. | ||
165 | #if (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega32U4__)) | ||
166 | MCUCR |= _BV(JTD); | ||
167 | MCUCR |= _BV(JTD); | ||
168 | #endif | ||
169 | } | ||
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(); |
diff --git a/tmk_core/common/keyboard.h b/tmk_core/common/keyboard.h index f17003c2f..71e594a89 100644 --- a/tmk_core/common/keyboard.h +++ b/tmk_core/common/keyboard.h | |||
@@ -57,6 +57,8 @@ 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 | |||
60 | /* it runs once at early stage of startup before keyboard_init. */ | 62 | /* it runs once at early stage of startup before keyboard_init. */ |
61 | void keyboard_setup(void); | 63 | void keyboard_setup(void); |
62 | /* it runs once after initializing host side protocol, debug and MCU peripherals. */ | 64 | /* it runs once after initializing host side protocol, debug and MCU peripherals. */ |