aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Nguyen <danny@keeb.io>2018-11-02 15:28:16 -0400
committerDrashna Jaelre <drashna@live.com>2018-11-02 14:31:29 -0700
commita5fa75fcb3de822f4e43dcf29cee6eb9f945a992 (patch)
tree38e37e3e83e34f611293a266b59be0cee906de34
parent5779ffb59a2e36fd45c3d4000d41ad73ad140de3 (diff)
downloadqmk_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.c6
-rw-r--r--quantum/split_common/split_util.c14
-rw-r--r--tmk_core/common/keyboard.c14
-rw-r--r--tmk_core/common/keyboard.h2
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
129void matrix_init(void) 129void 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
95void disable_JTAG(void); 95void disable_JTAG(void);
96void keyboard_slave_loop(void) { 96void 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
162void 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
123void 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 */
135void keyboard_setup(void) { 143void 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 */
152void keyboard_init(void) { 161void 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
60void 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. */
61void keyboard_setup(void); 63void 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. */