diff options
author | YH Lin <yueherngl@google.com> | 2022-11-30 21:44:08 +0000 |
---|---|---|
committer | YH Lin <yueherngl@google.com> | 2022-11-30 21:44:08 +0000 |
commit | af25602b15b22b9ef5821dcba9934311f2157c48 (patch) | |
tree | d0c89ae8814c2ba35c238c6c0644ec6b1602c63a /zephyr/test/drivers/host_cmd/src/pd_log.c | |
parent | 54462f034b635260dd09173b3d082e47fc960ef3 (diff) | |
parent | aa40b859b3a73e5a205bc561c1a29eff38485461 (diff) | |
download | chrome-ec-af25602b15b22b9ef5821dcba9934311f2157c48.tar.gz |
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>
Diffstat (limited to 'zephyr/test/drivers/host_cmd/src/pd_log.c')
-rw-r--r-- | zephyr/test/drivers/host_cmd/src/pd_log.c | 39 |
1 files changed, 35 insertions, 4 deletions
diff --git a/zephyr/test/drivers/host_cmd/src/pd_log.c b/zephyr/test/drivers/host_cmd/src/pd_log.c index a6022d8bb1..819f020890 100644 --- a/zephyr/test/drivers/host_cmd/src/pd_log.c +++ b/zephyr/test/drivers/host_cmd/src/pd_log.c @@ -3,13 +3,14 @@ * found in the LICENSE file. */ -#include <zephyr/kernel.h> -#include <zephyr/ztest.h> - #include "event_log.h" #include "host_command.h" #include "test/drivers/test_state.h" #include "usb_pd.h" +#include "util.h" + +#include <zephyr/kernel.h> +#include <zephyr/ztest.h> /** * @brief This is the maximum size of a single log entry. @@ -20,6 +21,14 @@ #define MAX_EVENT_LOG_ENTRY_SIZE (sizeof(struct event_log_entry) + 16) /** + * @brief This is the maximum size of a response pd log entry. + * + * Each entry must contain some common data + up to 16 bytes of additional type + * specific data. + */ +#define MAX_RESPONSE_PD_LOG_ENTRY_SIZE (sizeof(struct ec_response_pd_log) + 16) + +/** * @brief The size of the PD log entry data * * Logs from the PD include an additional 8 bytes of data to be sent to the AP. @@ -120,7 +129,7 @@ ZTEST_USER_F(pd_log, test_mcu_connect) ZTEST_USER_F(pd_log, test_read_log_entry) { - uint8_t response_buffer[sizeof(struct ec_response_pd_log) + 16]; + uint8_t response_buffer[MAX_RESPONSE_PD_LOG_ENTRY_SIZE]; struct ec_response_pd_log *response = (struct ec_response_pd_log *)response_buffer; struct host_cmd_handler_args args = @@ -133,3 +142,25 @@ ZTEST_USER_F(pd_log, test_read_log_entry) zassert_equal(sizeof(struct event_log_entry), args.response_size, NULL); zassert_equal(PD_EVENT_NO_ENTRY, response->type, NULL); } + +ZTEST_USER_F(pd_log, test_log_recv_vdm) +{ + uint8_t response_buffer[MAX_RESPONSE_PD_LOG_ENTRY_SIZE]; + uint32_t *payload = (uint32_t *)response_buffer; + struct ec_response_pd_log *response = + (struct ec_response_pd_log *)&payload[1]; + + memset(response_buffer, 0, sizeof(response_buffer)); + payload[0] |= VDO_SRC_RESPONDER; + response->type = PD_EVENT_MCU_CONNECT; + response->size_port = 8; + int cnt = DIV_ROUND_UP(response->size_port, sizeof(uint32_t)) + 2; + + pd_log_recv_vdm(0, cnt, payload); + + (void)log_dequeue_event(&fixture->log_entry); + + zassert_equal(response->type, fixture->log_entry.type, + "type=%d, received=%d", response->type, + fixture->log_entry.type); +} |