diff options
author | Wai-Hong Tam <waihong@google.com> | 2020-09-25 12:18:40 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-09-26 00:47:20 +0000 |
commit | 95958b0da984aca8863fd039f76339a2e2a85e86 (patch) | |
tree | beb911ad22183708b538077aa8bdda60138494a7 /board/pompom | |
parent | 4ce2585f263da305785244aade6142f11f936861 (diff) | |
download | chrome-ec-95958b0da984aca8863fd039f76339a2e2a85e86.tar.gz |
Trogdor: Mask proper Search key location on the board level
Don't use the default key mask, which enables both the old location
(KSO_01/KSI_00) and the new location (KSO_00/KSI_03) for the Search
key. It makes EC over-doing ghost detection. Define the key mask on
the board level:
* Trogdor/Lazor uses the old location
* Pompom uses the new location
* Coachz has no keyboard
BRANCH=None
BUG=b:169361784
TEST=Tested on Lazor, enabled "ksstate on" in EC console, pressed
Grave + Tab + Left-Ctrl and saw these keys detected.
Change-Id: I0cf37921901a4f997edbef3ac6a89e4351e742d7
Signed-off-by: Wai-Hong Tam <waihong@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2432449
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Diffstat (limited to 'board/pompom')
-rw-r--r-- | board/pompom/board.c | 21 | ||||
-rw-r--r-- | board/pompom/board.h | 1 |
2 files changed, 22 insertions, 0 deletions
diff --git a/board/pompom/board.c b/board/pompom/board.c index a3700d56bc..041993b01b 100644 --- a/board/pompom/board.c +++ b/board/pompom/board.c @@ -89,6 +89,27 @@ static void board_connect_c0_sbu(enum gpio_signal s) hook_call_deferred(&board_connect_c0_sbu_deferred_data, 0); } +/* Keyboard scan setting */ +struct keyboard_scan_config keyscan_config = { + /* Use 80 us, because KSO_02 passes through the H1. */ + .output_settle_us = 80, + /* + * Unmask 0x01 in [1] (KSO_01/KSI_00, the old location of Search key); + * as it uses the new location (KSO_00/KSI_03). And T11 key, which maps + * to KSO_01/KSI_00, is not there. + */ + .actual_key_mask = { + 0x1c, 0xfe, 0xff, 0xff, 0xff, 0xf5, 0xff, + 0xa4, 0xff, 0xfe, 0x55, 0xfa, 0xca + }, + /* Other values should be the same as the default configuration. */ + .debounce_down_us = 9 * MSEC, + .debounce_up_us = 30 * MSEC, + .scan_period_us = 3 * MSEC, + .min_post_scan_delay_us = 1000, + .poll_timeout_us = 100 * MSEC, +}; + /* I2C port map */ const struct i2c_port_t i2c_ports[] = { {"power", I2C_PORT_POWER, 100, GPIO_EC_I2C_POWER_SCL, diff --git a/board/pompom/board.h b/board/pompom/board.h index fa5517da74..11d48a5d40 100644 --- a/board/pompom/board.h +++ b/board/pompom/board.h @@ -24,6 +24,7 @@ #define CONFIG_FLASH_SIZE (512 * 1024) /* 512KB internal spi flash */ /* Keyboard */ +#define CONFIG_KEYBOARD_BOARD_CONFIG #define CONFIG_PWM_KBLIGHT /* BC 1.2 Charger */ |