ibmpc: Fix XT reset comment and add inhibit_xt()
This commit is contained in:
parent
12e5a3a13e
commit
842b3f29b6
2 changed files with 13 additions and 6 deletions
|
|
@ -204,9 +204,10 @@ uint8_t matrix_scan(void)
|
||||||
case XT_RESET:
|
case XT_RESET:
|
||||||
// Reset XT-initialize keyboard
|
// Reset XT-initialize keyboard
|
||||||
// XT: hard reset 500ms for IBM XT Type-1 keyboard and clones
|
// XT: hard reset 500ms for IBM XT Type-1 keyboard and clones
|
||||||
// XT: soft reset 20ms min(clock Lo)
|
// XT: soft reset 20ms min
|
||||||
ibmpc_host_disable(); // soft reset: inihibit(clock Lo/Data Hi)
|
// https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-XT-Keyboard-Protocol#keyboard-soft-reset
|
||||||
IBMPC_RST_LO(); // hard reset: reset pin Lo
|
ibmpc_host_disable(); // soft reset: Clock Lo/Data Hi
|
||||||
|
IBMPC_RST_LO(); // hard reset: Reset pin Lo
|
||||||
|
|
||||||
init_time = timer_read();
|
init_time = timer_read();
|
||||||
state = XT_RESET_WAIT;
|
state = XT_RESET_WAIT;
|
||||||
|
|
@ -217,9 +218,9 @@ uint8_t matrix_scan(void)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case XT_RESET_DONE:
|
case XT_RESET_DONE:
|
||||||
IBMPC_RST_HIZ(); // hard reset: reset pin HiZ
|
IBMPC_RST_HIZ(); // hard reset: Reset pin HiZ
|
||||||
ibmpc_host_isr_clear();
|
ibmpc_host_isr_clear();
|
||||||
ibmpc_host_enable(); // soft reset: idle(clock Hi/Data Hi)
|
ibmpc_host_enable(); // soft reset: idle(Clock Hi/Data Hi)
|
||||||
|
|
||||||
xprintf("X%u ", timer_read());
|
xprintf("X%u ", timer_read());
|
||||||
init_time = timer_read();
|
init_time = timer_read();
|
||||||
|
|
|
||||||
|
|
@ -188,11 +188,17 @@ static inline void idle(void)
|
||||||
data_hi();
|
data_hi();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* inhibit device to send */
|
/* inhibit device to send(AT), soft reset(XT) */
|
||||||
static inline void inhibit(void)
|
static inline void inhibit(void)
|
||||||
{
|
{
|
||||||
clock_lo();
|
clock_lo();
|
||||||
data_hi();
|
data_hi();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* inhibit device to send(XT) */
|
||||||
|
static inline void inhibit_xt(void)
|
||||||
|
{
|
||||||
|
clock_hi();
|
||||||
|
data_lo();
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue