diff options
author | Divya Sasidharan <divya.s.sasidharan@intel.com> | 2018-03-28 09:50:09 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-04-04 20:55:34 -0700 |
commit | d1d5dc162a8ddd6db0b71a3e95ede90b2d5e6ae6 (patch) | |
tree | 7fdbaa9007d541c93124f7733af61ac0a66368f9 /board/yorp | |
parent | 039c4a95eb226241c492c8aca83d22f900e4a1b3 (diff) | |
download | chrome-ec-d1d5dc162a8ddd6db0b71a3e95ede90b2d5e6ae6.tar.gz |
yorp: Enable keyboard support
BUG=b:77487719
BRANCH=None
TEST=make buildall -j; on yorp test keyboard
Change-Id: Ieb3da871cfa6e2274a3e54274497846787edb796
Signed-off-by: Divya Sasidharan <divya.s.sasidharan@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/984385
Commit-Ready: Divya S Sasidharan <divya.s.sasidharan@intel.com>
Tested-by: Divya S Sasidharan <divya.s.sasidharan@intel.com>
Reviewed-by: Jett Rink <jettrink@chromium.org>
Diffstat (limited to 'board/yorp')
-rw-r--r-- | board/yorp/board.c | 20 | ||||
-rw-r--r-- | board/yorp/board.h | 6 | ||||
-rw-r--r-- | board/yorp/ec.tasklist | 2 | ||||
-rw-r--r-- | board/yorp/gpio.inc | 8 |
4 files changed, 36 insertions, 0 deletions
diff --git a/board/yorp/board.c b/board/yorp/board.c index 055708e460..72cb26a15a 100644 --- a/board/yorp/board.c +++ b/board/yorp/board.c @@ -341,6 +341,26 @@ error: return version; } +/* Keyboard scan setting */ +struct keyboard_scan_config keyscan_config = { + /* + * F3 key scan cycle completed but scan input is not + * charging to logic high when EC start scan next + * column for "T" key, so we set .output_settle_us + * to 80us from 50us. + */ + .output_settle_us = 80, + .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, + .actual_key_mask = { + 0x14, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xff, + 0xa4, 0xff, 0xfe, 0x55, 0xfa, 0xca /* full set */ + }, +}; + /* Motion sensors */ /* Mutexes */ static struct mutex g_lid_mutex; diff --git a/board/yorp/board.h b/board/yorp/board.h index d0bb7ddc11..e5d6e4299a 100644 --- a/board/yorp/board.h +++ b/board/yorp/board.h @@ -32,6 +32,12 @@ #define CONFIG_VSTORE_SLOT_COUNT 1 #define CONFIG_BOARD_VERSION #define CONFIG_BOARD_SPECIFIC_VERSION +/* Keyboard */ +#define CONFIG_CMD_KEYBOARD +#define CONFIG_KEYBOARD_BOARD_CONFIG +#define CONFIG_KEYBOARD_PROTOCOL_8042 +#define CONFIG_KEYBOARD_COL2_INVERTED +#define CONFIG_KEYBOARD_PWRBTN_ASSERTS_KSI2 /* EC console commands */ #define CONFIG_CMD_ACCELS diff --git a/board/yorp/ec.tasklist b/board/yorp/ec.tasklist index 33d7e596b1..dc260ef0fe 100644 --- a/board/yorp/ec.tasklist +++ b/board/yorp/ec.tasklist @@ -27,9 +27,11 @@ TASK_ALWAYS(CHARGER, charger_task, NULL, LARGER_TASK_STACK_SIZE) \ TASK_ALWAYS(MOTIONSENSE, motion_sense_task, NULL, VENTI_TASK_STACK_SIZE) \ TASK_NOTEST(CHIPSET, chipset_task, NULL, LARGER_TASK_STACK_SIZE) \ + TASK_NOTEST(KEYPROTO, keyboard_protocol_task, NULL, TASK_STACK_SIZE) \ TASK_NOTEST(PDCMD, pd_command_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(HOSTCMD, host_command_task, NULL, LARGER_TASK_STACK_SIZE) \ TASK_ALWAYS(CONSOLE, console_task, NULL, VENTI_TASK_STACK_SIZE) \ TASK_ALWAYS(POWERBTN, power_button_task, NULL, LARGER_TASK_STACK_SIZE) \ + TASK_NOTEST(KEYSCAN, keyboard_scan_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(PD_C0, pd_task, NULL, LARGER_TASK_STACK_SIZE) \ TASK_ALWAYS(PD_C1, pd_task, NULL, LARGER_TASK_STACK_SIZE) diff --git a/board/yorp/gpio.inc b/board/yorp/gpio.inc index 18661472ca..4b202228a2 100644 --- a/board/yorp/gpio.inc +++ b/board/yorp/gpio.inc @@ -109,6 +109,14 @@ GPIO(BAT_LED_BLUE_L, PIN(C, 4), GPIO_OUT_HIGH) /* LED_2_L */ /* Board IDs */ GPIO(EC_BRD_ID_EN, PIN(9, 6), GPIO_OUT_LOW) +/* Keyboard pins */ +ALTERNATE(PIN_MASK(3, 0x03), 0, MODULE_KEYBOARD_SCAN, GPIO_INPUT) /* KSI_00-01 */ +ALTERNATE(PIN_MASK(2, 0xFC), 0, MODULE_KEYBOARD_SCAN, GPIO_INPUT) /* KSI_02-07 */ +ALTERNATE(PIN_MASK(2, 0x03), 0, MODULE_KEYBOARD_SCAN, GPIO_ODR_HIGH) /* KSO_00-01 */ +ALTERNATE(PIN_MASK(1, 0x7F), 0, MODULE_KEYBOARD_SCAN, GPIO_ODR_HIGH) /* KSO_03-09 */ +ALTERNATE(PIN_MASK(0, 0xE0), 0, MODULE_KEYBOARD_SCAN, GPIO_ODR_HIGH) /* KSO_10-12 */ +GPIO(KBD_KSO2, PIN(1, 7), GPIO_OUT_LOW) /* KSO_02 inverted */ + /* Alternate functions GPIO definitions */ /* Cr50 requires no pull-ups on UART pins. */ ALTERNATE(PIN_MASK(6, 0x30), 0, MODULE_UART, 0) /* UART from EC to Servo */ |