summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael5 Chen1 <michael5_chen1@pegatron.corp-partner.google.com>2022-02-14 10:03:14 +0800
committerCommit Bot <commit-bot@chromium.org>2022-02-15 11:49:59 +0000
commitd26837d2716ac8040993e6d4e95d64ae615f4748 (patch)
treebce30aceffe3cb044b696581bcb17555d382babe
parentc09e13ca676a25c64a66f5db2149d8e2197ffbb9 (diff)
downloadchrome-ec-d26837d2716ac8040993e6d4e95d64ae615f4748.tar.gz
parasa: Config keyboard configruation for parasa
Config keyboard configuration for parasa. BUG=b:215961769 BRANCH=dedede TEST=Manual Check keyboard scan by evtest. Signed-off-by: Michael5 Chen1 <michael5_chen1@pegatron.corp-partner.google.com> Change-Id: I5fa31c451b215e69f3198b672b298b52d82f154f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3459586 Reviewed-by: Shou-Chieh Hsu <shouchieh@chromium.org> Commit-Queue: Shou-Chieh Hsu <shouchieh@chromium.org>
-rw-r--r--board/pirika/board.c35
-rw-r--r--board/pirika/board.h2
2 files changed, 34 insertions, 3 deletions
diff --git a/board/pirika/board.c b/board/pirika/board.c
index 7da53b686c..04dc69d73c 100644
--- a/board/pirika/board.c
+++ b/board/pirika/board.c
@@ -7,6 +7,7 @@
#include "adc_chip.h"
#include "button.h"
+#include "cbi_fw_config.h"
#include "charge_manager.h"
#include "charge_state_v2.h"
#include "charger.h"
@@ -21,6 +22,7 @@
#include "gpio.h"
#include "hooks.h"
#include "intc.h"
+#include "keyboard_raw.h"
#include "keyboard_scan.h"
#include "lid_switch.h"
#include "power.h"
@@ -64,7 +66,7 @@ __override struct keyboard_scan_config keyscan_config = {
.min_post_scan_delay_us = 1000,
.poll_timeout_us = 100 * MSEC,
.actual_key_mask = {
- 0x14, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xff,
+ 0x1c, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xff,
0xa4, 0xff, 0xf6, 0x55, 0xfa, 0xca /* full set */
},
};
@@ -86,10 +88,29 @@ static const struct ec_response_keybd_config pirika_kb = {
.capabilities = KEYBD_CAP_SCRNLOCK_KEY,
};
+static const struct ec_response_keybd_config pasara_kb = {
+ .num_top_row_keys = 10,
+ .action_keys = {
+ TK_BACK, /* T1 */
+ TK_REFRESH, /* T2 */
+ TK_FULLSCREEN, /* T3 */
+ TK_OVERVIEW, /* T4 */
+ TK_SNAPSHOT, /* T5 */
+ TK_BRIGHTNESS_DOWN, /* T6 */
+ TK_BRIGHTNESS_UP, /* T7 */
+ TK_VOL_MUTE, /* T8 */
+ TK_VOL_DOWN, /* T9 */
+ TK_VOL_UP, /* T10 */
+ },
+ .capabilities = KEYBD_CAP_SCRNLOCK_KEY | KEYBD_CAP_NUMERIC_KEYPAD,
+};
__override const struct ec_response_keybd_config
*board_vivaldi_keybd_config(void)
{
- return &pirika_kb;
+ if (get_cbi_fw_config_numeric_pad() == NUMERIC_PAD_ABSENT)
+ return &pirika_kb;
+ else
+ return &pasara_kb;
}
static void notify_c0_chips(void)
@@ -405,6 +426,16 @@ void board_init(void)
on = chipset_in_state(CHIPSET_STATE_ON | CHIPSET_STATE_ANY_SUSPEND |
CHIPSET_STATE_SOFT_OFF);
board_power_5v_enable(on);
+
+ if (get_cbi_fw_config_numeric_pad() == NUMERIC_PAD_ABSENT) {
+ keyboard_raw_set_cols(KEYBOARD_COLS_NO_KEYPAD);
+ } else {
+ /* Setting scan mask KSO11, KSO12, KSO13 and KSO14 */
+ keyscan_config.actual_key_mask[11] = 0xfe;
+ keyscan_config.actual_key_mask[12] = 0xff;
+ keyscan_config.actual_key_mask[13] = 0xff;
+ keyscan_config.actual_key_mask[14] = 0xff;
+ }
}
DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT);
diff --git a/board/pirika/board.h b/board/pirika/board.h
index db119d5191..16cd88b3f9 100644
--- a/board/pirika/board.h
+++ b/board/pirika/board.h
@@ -90,7 +90,7 @@
/* Keyboard */
#define CONFIG_KEYBOARD_VIVALDI
#define CONFIG_KEYBOARD_REFRESH_ROW3
-
+#define CONFIG_KEYBOARD_KEYPAD
#ifndef __ASSEMBLER__