diff options
author | Denis Brockus <dbrockus@chromium.org> | 2019-10-14 14:06:05 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-10-16 08:42:19 +0000 |
commit | 7a4e700b6488a138d0c5c55aaa47e626d90a5299 (patch) | |
tree | 7df9a085eed09ffbcff37b4c8a09c71b5e9af0ca /common/usbc | |
parent | 2dd2eecaa743a65d8369c7799bbc1450b0d91d0e (diff) | |
download | chrome-ec-7a4e700b6488a138d0c5c55aaa47e626d90a5299.tar.gz |
pd: Add PE FRS unit test for new stack
BUG=none
BRANCH=none
TEST=make buildall -j
Change-Id: I55453ddf1d1da0fdee902a33e14357716fb12c4a
Signed-off-by: Denis Brockus <dbrockus@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1859826
Reviewed-by: Jett Rink <jettrink@chromium.org>
Diffstat (limited to 'common/usbc')
-rw-r--r-- | common/usbc/build.mk | 1 | ||||
-rw-r--r-- | common/usbc/usb_pe_drp_sm.c | 29 |
2 files changed, 28 insertions, 2 deletions
diff --git a/common/usbc/build.mk b/common/usbc/build.mk index fea97cde43..69e540ed67 100644 --- a/common/usbc/build.mk +++ b/common/usbc/build.mk @@ -15,6 +15,7 @@ ifneq ($(CONFIG_USB_PE_SM),) all-obj-$(CONFIG_USB_TYPEC_VPD)+=$(_usbc_dir)usb_pe_ctvpd_sm.o all-obj-$(CONFIG_USB_TYPEC_CTVPD)+=$(_usbc_dir)usb_pe_ctvpd_sm.o all-obj-$(CONFIG_USB_TYPEC_DRP_ACC_TRYSRC)+=$(_usbc_dir)usb_pe_drp_sm.o +all-obj-$(CONFIG_TEST_USB_PE_SM)+=$(_usbc_dir)usb_pe_drp_sm.o endif all-obj-$(CONFIG_USB_TYPEC_VPD)+=$(_usbc_dir)usb_tc_vpd_sm.o all-obj-$(CONFIG_USB_TYPEC_CTVPD)+=$(_usbc_dir)usb_tc_ctvpd_sm.o diff --git a/common/usbc/usb_pe_drp_sm.c b/common/usbc/usb_pe_drp_sm.c index abd5e5bb6b..fc1fb2353e 100644 --- a/common/usbc/usb_pe_drp_sm.c +++ b/common/usbc/usb_pe_drp_sm.c @@ -437,7 +437,8 @@ static struct svdm_amode_data *get_modep(int port, uint16_t svid); #endif test_export_static enum usb_pe_state get_state_pe(const int port); -static void set_state_pe(const int port, const enum usb_pe_state new_state); +test_export_static void set_state_pe(const int port, + const enum usb_pe_state new_state); static void pe_init(int port) { @@ -730,7 +731,8 @@ void pe_exit_dp_mode(int port) */ /* Set the TypeC state machine to a new state. */ -static void set_state_pe(const int port, const enum usb_pe_state new_state) +test_export_static void set_state_pe(const int port, + const enum usb_pe_state new_state) { set_state(port, &pe[port].ctx, &pe_states[new_state]); } @@ -3384,6 +3386,7 @@ static void pe_do_port_discovery_entry(int port) static void pe_do_port_discovery_run(int port) { +#ifdef CONFIG_USB_PD_ALT_MODE_DFP uint32_t *payload = (uint32_t *)emsg[port].buf; struct svdm_amode_data *modep = get_modep(port, PD_VDO_VID(payload[0])); int ret = 0; @@ -3473,6 +3476,7 @@ static void pe_do_port_discovery_run(int port) pe[port].vdm_cnt = ret; set_state_pe(port, PE_VDM_REQUEST); } +#endif } /** @@ -5138,4 +5142,25 @@ const struct test_sm_data test_pe_sm_data[] = { }, }; const int test_pe_sm_data_size = ARRAY_SIZE(test_pe_sm_data); + +void pe_set_flag(int port, int flag) +{ + PE_SET_FLAG(port, flag); +} +void pe_clr_flag(int port, int flag) +{ + PE_CLR_FLAG(port, flag); +} +int pe_chk_flag(int port, int flag) +{ + return PE_CHK_FLAG(port, flag); +} +int pe_get_all_flags(int port) +{ + return pe[port].flags; +} +void pe_set_all_flags(int port, int flags) +{ + pe[port].flags = flags; +} #endif |