diff --git a/src/board/system76/common/include/board/kbc.h b/src/board/system76/common/include/board/kbc.h index d3bc4e6..14735e3 100644 --- a/src/board/system76/common/include/board/kbc.h +++ b/src/board/system76/common/include/board/kbc.h @@ -10,6 +10,7 @@ extern uint8_t kbc_leds; void kbc_init(void); +void kbc_reset(void); bool kbc_scancode(uint16_t key, bool pressed); void kbc_event(struct Kbc *kbc); diff --git a/src/board/system76/common/kbc.c b/src/board/system76/common/kbc.c index 73b76aa..7114ce7 100644 --- a/src/board/system76/common/kbc.c +++ b/src/board/system76/common/kbc.c @@ -18,6 +18,11 @@ void kbc_init(void) { // Set IRQ mode to level-triggered *(KBC.irq) = 0; #endif + + kbc_reset(); +} + +void kbc_reset(void) { // Set "key lock" to disabled *(KBC.status) = BIT(4); } diff --git a/src/ec/ite/include/ec/kbc.h b/src/ec/ite/include/ec/kbc.h index 2fb2e44..8025ef7 100644 --- a/src/ec/ite/include/ec/kbc.h +++ b/src/ec/ite/include/ec/kbc.h @@ -8,8 +8,6 @@ #include #include -void kbc_init(void); - struct Kbc { // Control register volatile uint8_t *control;