diff options
author | YH Lin <yueherngl@chromium.org> | 2022-12-03 00:19:30 +0000 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-12-05 17:43:05 +0000 |
commit | c8af732351cc5c7167f27e8390e26f0556f53a5a (patch) | |
tree | bdff671e5ad3e71e30ab56f4f084f34a2fd72e28 /test/kb_8042.c | |
parent | af25602b15b22b9ef5821dcba9934311f2157c48 (diff) | |
download | chrome-ec-c8af732351cc5c7167f27e8390e26f0556f53a5a.tar.gz |
Revert "Merge remote-tracking branch cros/main into factory-brya-14517.B-main"factory-brya-14517.B-main
This reverts commit af25602b15b22b9ef5821dcba9934311f2157c48.
Reason for revert: broken build due to ec-utils.
Original change's description:
> Merge remote-tracking branch cros/main into factory-brya-14517.B-main
>
> Generated by: util/update_release_branch.py --baseboard brya --relevant_paths_file
> baseboard/brya/relevant-paths.txt factory-brya-14517.B-main
>
> Relevant changes:
>
> git log --oneline 54462f034b..aa40b859b3 -- baseboard/brya board/agah
> board/anahera board/banshee board/brya board/crota board/felwinter
> board/gimble board/kano board/mithrax board/osiris board/primus
> board/redrix board/taeko board/taniks board/vell board/volmar
> driver/bc12/pi3usb9201_public.* driver/charger/bq25710.*
> driver/ppc/nx20p348x.* driver/ppc/syv682x_public.*
> driver/retimer/bb_retimer_public.* driver/tcpm/nct38xx.*
> driver/tcpm/ps8xxx_public.* driver/tcpm/tcpci.* include/power/alderlake*
> include/intel_x86.h power/alderlake* power/intel_x86.c
> util/getversion.sh
>
> e6da633c38 driver: Sort header files
> 234a87ae2d tcpci: Add FRS enable to driver structure
> a56be59ccd tcpm_header: add test for tcpm_dump_registers
> 57b3256963 Rename CONFIG_CHARGER_INPUT_CURRENT to _CHARGER_DEFAULT_CURRENT_LIMIT
> e420c8ff9a marasov: Modify TypeC and TypeA configuration.
> 43b53e0045 Add default implementation of board_set_charge_limit
> b75dc90677 Add CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT
> f1b563c350 baseboard: Sort header files
> 7d01b1e58d driver/retimer/ps8818.h: Add I2C ADDR FLAGS 0x30, 0x58, 0x70
> ec31407993 Add CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
> 8f89f69a5b crota: disable lid angle sensor for clamshell
>
> BRANCH=None
> BUG=b:259002141 b:255184961 b:247100970 b:259354679 b:260630630
> BUG=b:163093572 b:254328661
> TEST=`emerge-brya chromeos-ec`
>
> Force-Relevant-Builds: all
> Change-Id: Ia85a701fbf6b8e67ec214b9e25e0e55e980a6f47
> Signed-off-by: YH Lin <yueherngl@google.com>
Bug: b:259002141 b:255184961 b:247100970 b:259354679 b:260630630
Bug: b:163093572 b:254328661
Change-Id: I48d5aa4cc67a69ee1f6ac9255ac3087d34da4c72
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4077248
Tested-by: YH Lin <yueherngl@chromium.org>
Commit-Queue: YH Lin <yueherngl@chromium.org>
Reviewed-by: Boris Mittelberg <bmbm@google.com>
Auto-Submit: YH Lin <yueherngl@chromium.org>
Diffstat (limited to 'test/kb_8042.c')
-rw-r--r-- | test/kb_8042.c | 104 |
1 files changed, 49 insertions, 55 deletions
diff --git a/test/kb_8042.c b/test/kb_8042.c index 0065319576..e7d7690cff 100644 --- a/test/kb_8042.c +++ b/test/kb_8042.c @@ -5,6 +5,7 @@ * Tests for keyboard MKBP protocol */ +#include <stdbool.h> #include "atkbd_protocol.h" #include "common.h" #include "console.h" @@ -23,8 +24,6 @@ #include "timer.h" #include "util.h" -#include <stdbool.h> - static const char *action[2] = { "release", "press" }; /* @@ -262,7 +261,6 @@ static int _read_cmd_byte(uint8_t *cmd) void before_test(void) { /* Make sure all tests start with the controller in the same state */ - keyboard_clear_buffer(); _write_cmd_byte(I8042_XLATE | I8042_AUX_DIS | I8042_KBD_DIS); } @@ -276,7 +274,7 @@ void after_test(void) } } -test_static int test_8042_aux_loopback(void) +static int test_8042_aux_loopback(void) { /* Disable all IRQs */ WRITE_CMD_BYTE(0); @@ -295,7 +293,7 @@ test_static int test_8042_aux_loopback(void) return EC_SUCCESS; } -test_static int test_8042_aux_two_way_communication(void) +static int test_8042_aux_two_way_communication(void) { /* Enable AUX IRQ */ WRITE_CMD_BYTE(I8042_ENIRQ12); @@ -313,7 +311,7 @@ test_static int test_8042_aux_two_way_communication(void) return EC_SUCCESS; } -test_static int test_8042_aux_inhibit(void) +static int test_8042_aux_inhibit(void) { /* Enable AUX IRQ, but inhibit the AUX device from sending data. */ WRITE_CMD_BYTE(I8042_ENIRQ12 | I8042_AUX_DIS); @@ -341,7 +339,7 @@ test_static int test_8042_aux_inhibit(void) return EC_SUCCESS; } -test_static int test_8042_aux_controller_commands(void) +static int test_8042_aux_controller_commands(void) { uint8_t ctrl; @@ -361,7 +359,7 @@ test_static int test_8042_aux_controller_commands(void) return EC_SUCCESS; } -test_static int test_8042_aux_test_command(void) +static int test_8042_aux_test_command(void) { i8042_write_cmd(I8042_TEST_MOUSE); @@ -370,7 +368,7 @@ test_static int test_8042_aux_test_command(void) return EC_SUCCESS; } -test_static int test_8042_self_test(void) +static int test_8042_self_test(void) { i8042_write_cmd(I8042_RESET_SELF_TEST); VERIFY_LPC_CHAR("\x55"); @@ -378,7 +376,7 @@ test_static int test_8042_self_test(void) return EC_SUCCESS; } -test_static int test_8042_keyboard_test_command(void) +static int test_8042_keyboard_test_command(void) { i8042_write_cmd(I8042_TEST_KB_PORT); VERIFY_LPC_CHAR("\x00"); /* Data and Clock are not stuck */ @@ -386,7 +384,7 @@ test_static int test_8042_keyboard_test_command(void) return EC_SUCCESS; } -test_static int test_8042_keyboard_controller_commands(void) +static int test_8042_keyboard_controller_commands(void) { uint8_t ctrl; @@ -406,7 +404,7 @@ test_static int test_8042_keyboard_controller_commands(void) return EC_SUCCESS; } -test_static int test_8042_keyboard_key_pressed_while_inhibited(void) +static int test_8042_keyboard_key_pressed_while_inhibited(void) { ENABLE_KEYSTROKE(1); @@ -442,8 +440,7 @@ test_static int test_8042_keyboard_key_pressed_while_inhibited(void) return EC_SUCCESS; } -test_static int -test_8042_keyboard_key_pressed_before_inhibit_using_cmd_byte(void) +static int test_8042_keyboard_key_pressed_before_inhibit_using_cmd_byte(void) { ENABLE_KEYSTROKE(1); /* Simulate a keypress on the keyboard */ @@ -475,7 +472,7 @@ test_8042_keyboard_key_pressed_before_inhibit_using_cmd_byte(void) return EC_SUCCESS; } -test_static int +static int test_8042_keyboard_key_pressed_before_inhibit_using_cmd_byte_with_read(void) { uint8_t cmd; @@ -527,7 +524,7 @@ test_8042_keyboard_key_pressed_before_inhibit_using_cmd_byte_with_read(void) return EC_SUCCESS; } -test_static int test_8042_keyboard_key_pressed_before_inhibit_using_cmd(void) +static int test_8042_keyboard_key_pressed_before_inhibit_using_cmd(void) { ENABLE_KEYSTROKE(1); /* Simulate a keypress on the keyboard */ @@ -559,7 +556,7 @@ test_static int test_8042_keyboard_key_pressed_before_inhibit_using_cmd(void) return EC_SUCCESS; } -test_static int test_single_key_press(void) +static int test_single_key_press(void) { ENABLE_KEYSTROKE(1); press_key(1, 1, 1); @@ -575,7 +572,7 @@ test_static int test_single_key_press(void) return EC_SUCCESS; } -test_static int test_disable_keystroke(void) +static int test_disable_keystroke(void) { ENABLE_KEYSTROKE(0); press_key(1, 1, 1); @@ -586,7 +583,7 @@ test_static int test_disable_keystroke(void) return EC_SUCCESS; } -test_static int test_typematic(void) +static int test_typematic(void) { ENABLE_KEYSTROKE(1); @@ -613,7 +610,7 @@ test_static int test_typematic(void) return EC_SUCCESS; } -test_static int test_atkbd_get_scancode(void) +static int test_atkbd_get_scancode(void) { SET_SCANCODE(1); @@ -638,7 +635,7 @@ test_static int test_atkbd_get_scancode(void) return EC_SUCCESS; } -test_static int test_atkbd_set_scancode_with_keystroke_disabled(void) +static int test_atkbd_set_scancode_with_keystroke_disabled(void) { ENABLE_KEYSTROKE(0); @@ -650,7 +647,7 @@ test_static int test_atkbd_set_scancode_with_keystroke_disabled(void) return EC_SUCCESS; } -test_static int test_atkbd_set_scancode_with_key_press_before_set(void) +static int test_atkbd_set_scancode_with_key_press_before_set(void) { ENABLE_KEYSTROKE(0); ENABLE_KEYSTROKE(1); @@ -663,17 +660,26 @@ test_static int test_atkbd_set_scancode_with_key_press_before_set(void) * ATKBD_CMD_SSCANSET should cause the keyboard to stop scanning, flush * the keyboards output queue, and reset the typematic key. */ - i8042_write_data(ATKBD_CMD_SSCANSET); - VERIFY_ATKBD_ACK(); + keyboard_host_write(ATKBD_CMD_SSCANSET, 0); + /* Read out the scan code that got pushed into the output buffer before + * the command was sent. + */ + VERIFY_LPC_CHAR("\x01"); /* * FIXME: This is wrong. The keyboard's output queue should have been * flushed when it received the `ATKBD_CMD_SSCANSET` command. */ - VERIFY_LPC_CHAR("\x01\x81"); + VERIFY_LPC_CHAR("\x81"); + + /* This is the ACK for `ATKBD_CMD_SSCANSET`. */ + VERIFY_ATKBD_ACK(); + + /* The keyboard has flushed the buffer so no more keys. */ + VERIFY_NO_CHAR(); /* Finish setting scan code 1 */ - i8042_write_data(1); + keyboard_host_write(1, 0); VERIFY_ATKBD_ACK(); /* Key scanning should be restored. */ @@ -684,7 +690,7 @@ test_static int test_atkbd_set_scancode_with_key_press_before_set(void) return EC_SUCCESS; } -test_static int test_atkbd_set_scancode_with_key_press_during_set(void) +static int test_atkbd_set_scancode_with_key_press_during_set(void) { ENABLE_KEYSTROKE(1); @@ -692,7 +698,7 @@ test_static int test_atkbd_set_scancode_with_key_press_during_set(void) * ATKBD_CMD_SSCANSET should cause the keyboard to stop scanning, flush * the keyboards output queue, and reset the typematic key. */ - i8042_write_data(ATKBD_CMD_SSCANSET); + keyboard_host_write(ATKBD_CMD_SSCANSET, 0); VERIFY_ATKBD_ACK(); /* These keypresses should be dropped. */ @@ -705,7 +711,7 @@ test_static int test_atkbd_set_scancode_with_key_press_during_set(void) VERIFY_LPC_CHAR("\x01\x81"); /* Finish setting scan code 1 */ - i8042_write_data(1); + keyboard_host_write(1, 0); VERIFY_ATKBD_ACK(); /* Key scanning should be restored. */ @@ -716,7 +722,7 @@ test_static int test_atkbd_set_scancode_with_key_press_during_set(void) return EC_SUCCESS; } -test_static int test_atkbd_echo(void) +static int test_atkbd_echo(void) { i8042_write_data(ATKBD_CMD_DIAG_ECHO); VERIFY_ATKBD_ACK(); @@ -726,7 +732,7 @@ test_static int test_atkbd_echo(void) return EC_SUCCESS; } -test_static int test_atkbd_get_id(void) +static int test_atkbd_get_id(void) { i8042_write_data(ATKBD_CMD_GETID); VERIFY_ATKBD_ACK(); @@ -741,10 +747,8 @@ test_static int test_atkbd_get_id(void) return EC_SUCCESS; } -test_static int test_atkbd_set_leds_keypress_during(void) +static int test_atkbd_set_leds_keypress_during(void) { - ENABLE_KEYSTROKE(1); - /* This should pause scanning. */ i8042_write_data(ATKBD_CMD_SETLEDS); VERIFY_ATKBD_ACK(); @@ -752,20 +756,16 @@ test_static int test_atkbd_set_leds_keypress_during(void) /* Simulate keypress while keyboard is waiting for option byte */ press_key(1, 1, 1); press_key(1, 1, 0); - - /* Scancode is kept in queue during SETLEDS. */ - VERIFY_NO_CHAR(); + /* FIXME: This is wrong, we shouldn't have any key strokes */ + VERIFY_LPC_CHAR("\x01\x81"); i8042_write_data(0x01); VERIFY_ATKBD_ACK(); - /* Scancode previously queued should be sent now. */ - VERIFY_LPC_CHAR("\x01\x81"); - return EC_SUCCESS; } -test_static int test_atkbd_set_leds_abort_set(void) +static int test_atkbd_set_leds_abort_set(void) { i8042_write_data(ATKBD_CMD_SETLEDS); VERIFY_ATKBD_ACK(); @@ -785,7 +785,7 @@ test_static int test_atkbd_set_leds_abort_set(void) return EC_SUCCESS; } -test_static int test_atkbd_set_ex_leds(void) +static int test_atkbd_set_ex_leds(void) { i8042_write_data(ATKBD_CMD_EX_SETLEDS); VERIFY_ATKBD_ACK(); @@ -801,10 +801,9 @@ test_static int test_atkbd_set_ex_leds(void) return EC_SUCCESS; } -test_static int test_scancode_set2(void) +static int test_scancode_set2(void) { SET_SCANCODE(2); - ENABLE_KEYSTROKE(1); WRITE_CMD_BYTE(READ_CMD_BYTE() | I8042_XLATE); press_key(1, 1, 1); @@ -821,7 +820,7 @@ test_static int test_scancode_set2(void) return EC_SUCCESS; } -test_static int test_power_button(void) +static int test_power_button(void) { ENABLE_KEYSTROKE(0); @@ -858,7 +857,7 @@ test_static int test_power_button(void) return EC_SUCCESS; } -test_static int test_sysjump(void) +static int test_sysjump(void) { SET_SCANCODE(2); ENABLE_KEYSTROKE(1); @@ -869,17 +868,15 @@ test_static int test_sysjump(void) return EC_ERROR_UNKNOWN; } -test_static int test_sysjump_cont(void) +static int test_sysjump_cont(void) { WRITE_CMD_BYTE(READ_CMD_BYTE() | I8042_XLATE); - press_key(1, 1, 1); VERIFY_LPC_CHAR("\x01"); press_key(1, 1, 0); VERIFY_LPC_CHAR("\x81"); WRITE_CMD_BYTE(READ_CMD_BYTE() & ~I8042_XLATE); - press_key(1, 1, 1); VERIFY_LPC_CHAR("\x76"); press_key(1, 1, 0); @@ -888,7 +885,7 @@ test_static int test_sysjump_cont(void) return EC_SUCCESS; } -test_static const struct ec_response_keybd_config keybd_config = { +static const struct ec_response_keybd_config keybd_config = { .num_top_row_keys = 13, .action_keys = { TK_BACK, /* T1 */ @@ -913,7 +910,7 @@ board_vivaldi_keybd_config(void) return &keybd_config; } -test_static int test_ec_cmd_get_keybd_config(void) +static int test_ec_cmd_get_keybd_config(void) { struct ec_response_keybd_config resp; int rv; @@ -934,25 +931,22 @@ test_static int test_ec_cmd_get_keybd_config(void) return EC_SUCCESS; } -test_static int test_vivaldi_top_keys(void) +static int test_vivaldi_top_keys(void) { SET_SCANCODE(2); /* Test REFRESH key */ WRITE_CMD_BYTE(READ_CMD_BYTE() | I8042_XLATE); - press_key(2, 3, 1); /* Press T2 */ VERIFY_LPC_CHAR("\xe0\x67"); /* Check REFRESH scancode in set-1 */ /* Test SNAPSHOT key */ WRITE_CMD_BYTE(READ_CMD_BYTE() | I8042_XLATE); - press_key(4, 3, 1); /* Press T2 */ VERIFY_LPC_CHAR("\xe0\x13"); /* Check SNAPSHOT scancode in set-1 */ /* Test VOL_UP key */ WRITE_CMD_BYTE(READ_CMD_BYTE() | I8042_XLATE); - press_key(5, 3, 1); /* Press T2 */ VERIFY_LPC_CHAR("\xe0\x30"); /* Check VOL_UP scancode in set-1 */ |