diff options
-rw-r--r-- | common/mock/build.mk | 1 | ||||
-rw-r--r-- | common/mock/usb_pd_mock.c | 101 | ||||
-rw-r--r-- | common/mock/usb_pe_sm_mock.c | 26 | ||||
-rw-r--r-- | common/mock/usb_prl_mock.c | 1 | ||||
-rw-r--r-- | common/mock/usb_tc_sm_mock.c | 61 | ||||
-rw-r--r-- | common/usbc/usb_tc_drp_acc_trysrc_sm.c | 4 | ||||
-rw-r--r-- | include/mock/usb_pd_mock.h | 23 | ||||
-rw-r--r-- | include/mock/usb_tc_sm_mock.h | 3 | ||||
-rw-r--r-- | test/usb_pe_drp.c | 6 | ||||
-rw-r--r-- | test/usb_pe_drp.mocklist | 1 | ||||
-rw-r--r-- | test/usb_pe_drp_noextended.mocklist | 1 | ||||
-rw-r--r-- | test/usb_prl.c | 5 | ||||
-rw-r--r-- | test/usb_prl.mocklist | 1 | ||||
-rw-r--r-- | test/usb_typec_drp_acc_trysrc.c | 13 |
14 files changed, 99 insertions, 148 deletions
diff --git a/common/mock/build.mk b/common/mock/build.mk index 5f2d548825..bc824259a6 100644 --- a/common/mock/build.mk +++ b/common/mock/build.mk @@ -14,7 +14,6 @@ mock-$(HAS_MOCK_TCPM) += tcpm_mock.o mock-$(HAS_MOCK_TCPCI_I2C) += tcpci_i2c_mock.o mock-$(HAS_MOCK_TIMER) += timer_mock.o mock-$(HAS_MOCK_USB_MUX) += usb_mux_mock.o -mock-$(HAS_MOCK_USB_PD) += usb_pd_mock.o mock-$(HAS_MOCK_USB_PE_SM) += usb_pe_sm_mock.o mock-$(HAS_MOCK_USB_TC_SM) += usb_tc_sm_mock.o mock-$(HAS_MOCK_USB_PD_DPM) += usb_pd_dpm_mock.o diff --git a/common/mock/usb_pd_mock.c b/common/mock/usb_pd_mock.c deleted file mode 100644 index b699fd72ec..0000000000 --- a/common/mock/usb_pd_mock.c +++ /dev/null @@ -1,101 +0,0 @@ -/* Copyright 2020 The Chromium OS Authors. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -/* Mock USB Type-C PD */ - -#include "common.h" -#include "console.h" -#include "usb_pd.h" -#include "mock/usb_pd_mock.h" -#include "memory.h" - -#ifndef TEST_BUILD -#error "Mocks should only be in the test build." -#endif - -struct mock_pd_port_t mock_pd_port[CONFIG_USB_PD_PORT_MAX_COUNT]; - -void mock_pd_reset(void) -{ - /* Reset all values to 0. */ - memset(mock_pd_port, 0, sizeof(mock_pd_port)); -} - -enum pd_dual_role_states pd_get_dual_role(int port) -{ - return PD_DRP_TOGGLE_ON; -} - -enum pd_data_role pd_get_data_role(int port) -{ - return mock_pd_port[port].data_role; -} - -enum pd_power_role pd_get_power_role(int port) -{ - return mock_pd_port[port].power_role; -} - -enum pd_cc_states pd_get_task_cc_state(int port) -{ - return PD_CC_NONE; -} - -int pd_is_connected(int port) -{ - return 1; -} - -bool pd_is_disconnected(int port) -{ - return false; -} - -__overridable const uint32_t * const pd_get_src_caps(int port) -{ - return NULL; -} - -__overridable uint8_t pd_get_src_cap_cnt(int port) -{ - return 0; -} - -__overridable void pd_set_src_caps(int port, int cnt, uint32_t *src_caps) -{ -} - -bool pd_get_partner_usb_comm_capable(int port) -{ - return true; -} - -inline uint8_t board_get_usb_pd_port_count(void) -{ - return CONFIG_USB_PD_PORT_MAX_COUNT; -} - -void pd_set_suspend(int port, int suspend) -{ -} - -enum tcpc_cc_polarity pd_get_polarity(int port) -{ - return POLARITY_CC1; -} - -void pd_request_data_swap(int port) -{} - -void pd_request_vconn_swap_off(int port) -{} - -void pd_request_vconn_swap_on(int port) -{} - -bool pd_alt_mode_capable(int port) -{ - return false; -} diff --git a/common/mock/usb_pe_sm_mock.c b/common/mock/usb_pe_sm_mock.c index 0a47f22387..e7e9230901 100644 --- a/common/mock/usb_pe_sm_mock.c +++ b/common/mock/usb_pe_sm_mock.c @@ -7,6 +7,7 @@ #include "common.h" #include "console.h" +#include "usb_pd.h" #include "usb_pe_sm.h" #include "mock/usb_pe_sm_mock.h" #include "memory.h" @@ -86,3 +87,28 @@ bool pe_in_local_ams(int port) return false; } +const uint32_t * const pd_get_src_caps(int port) +{ + return NULL; +} + +uint8_t pd_get_src_cap_cnt(int port) +{ + return 0; +} + +void pd_set_src_caps(int port, int cnt, uint32_t *src_caps) +{ +} + +void pd_request_power_swap(int port) +{} + +int pd_get_rev(int port, enum tcpm_transmit_type type) +{ + return IS_ENABLED(CONFIG_USB_PD_REV30) ? PD_REV30 : PD_REV20; +} + +void pe_invalidate_explicit_contract(int port) +{ +} diff --git a/common/mock/usb_prl_mock.c b/common/mock/usb_prl_mock.c index cb4b035ff4..5dba2b2805 100644 --- a/common/mock/usb_prl_mock.c +++ b/common/mock/usb_prl_mock.c @@ -126,6 +126,7 @@ int mock_prl_wait_for_tx_msg(int port, } task_wait_event(5 * MSEC); } + /* A message of the expected type should have been sent by end_time. */ TEST_ASSERT(0); return EC_ERROR_UNKNOWN; } diff --git a/common/mock/usb_tc_sm_mock.c b/common/mock/usb_tc_sm_mock.c index ebbbb43bb3..71609cb2b2 100644 --- a/common/mock/usb_tc_sm_mock.c +++ b/common/mock/usb_tc_sm_mock.c @@ -7,6 +7,7 @@ #include "common.h" #include "console.h" +#include "ec_commands.h" #include "usb_tc_sm.h" #include "mock/usb_tc_sm_mock.h" #include "memory.h" @@ -35,6 +36,8 @@ void mock_tc_port_reset(void) mock_tc_port[port].attached_snk = 0; mock_tc_port[port].attached_src = 0; mock_tc_port[port].vconn_src = false; + mock_tc_port[port].data_role = PD_ROLE_UFP; + mock_tc_port[port].power_role = PD_ROLE_SINK; } } @@ -128,3 +131,61 @@ void tc_snk_power_off(int port) void tc_request_power_swap(int port) { } + +enum pd_dual_role_states pd_get_dual_role(int port) +{ + return PD_DRP_TOGGLE_ON; +} + +enum pd_data_role pd_get_data_role(int port) +{ + return mock_tc_port[port].data_role; +} + +enum pd_power_role pd_get_power_role(int port) +{ + return mock_tc_port[port].power_role; +} + +enum pd_cc_states pd_get_task_cc_state(int port) +{ + return PD_CC_NONE; +} + +int pd_is_connected(int port) +{ + return 1; +} + +bool pd_is_disconnected(int port) +{ + return false; +} + +bool pd_get_partner_usb_comm_capable(int port) +{ + return true; +} + +void pd_set_suspend(int port, int suspend) +{ +} + +enum tcpc_cc_polarity pd_get_polarity(int port) +{ + return POLARITY_CC1; +} + +void pd_request_data_swap(int port) +{} + +void pd_request_vconn_swap_off(int port) +{} + +void pd_request_vconn_swap_on(int port) +{} + +bool pd_alt_mode_capable(int port) +{ + return false; +} diff --git a/common/usbc/usb_tc_drp_acc_trysrc_sm.c b/common/usbc/usb_tc_drp_acc_trysrc_sm.c index fa146b3bfa..519dbab8f6 100644 --- a/common/usbc/usb_tc_drp_acc_trysrc_sm.c +++ b/common/usbc/usb_tc_drp_acc_trysrc_sm.c @@ -517,6 +517,10 @@ uint8_t pd_get_snk_cap_cnt(int port) return 0; } +void pd_set_src_caps(int port, int cnt, uint32_t *src_caps) +{ +} + #endif /* !CONFIG_USB_PR_SM */ void pd_update_contract(int port) diff --git a/include/mock/usb_pd_mock.h b/include/mock/usb_pd_mock.h deleted file mode 100644 index 353437d3e3..0000000000 --- a/include/mock/usb_pd_mock.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2020 The Chromium OS Authors. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ -/* Mock USB PD */ - -#ifndef __MOCK_USB_PD_MOCK_H -#define __MOCK_USB_PD_MOCK_H - -#include "common.h" -#include "usb_pd.h" - -/* Defaults should all be 0 values. */ -struct mock_pd_port_t { - enum pd_data_role data_role; - enum pd_power_role power_role; -}; - -extern struct mock_pd_port_t mock_pd_port[CONFIG_USB_PD_PORT_MAX_COUNT]; - -void mock_pd_reset(void); - -#endif /* __MOCK_USB_PD_MOCK_H */ diff --git a/include/mock/usb_tc_sm_mock.h b/include/mock/usb_tc_sm_mock.h index f5c599ca1f..1120ea850b 100644 --- a/include/mock/usb_tc_sm_mock.h +++ b/include/mock/usb_tc_sm_mock.h @@ -9,6 +9,7 @@ #include "common.h" #include "usb_tc_sm.h" +#include "usb_pd.h" struct mock_tc_port_t { int rev; @@ -20,6 +21,8 @@ struct mock_tc_port_t { int attached_snk; int attached_src; bool vconn_src; + enum pd_data_role data_role; + enum pd_power_role power_role; }; extern struct mock_tc_port_t mock_tc_port[CONFIG_USB_PD_PORT_MAX_COUNT]; diff --git a/test/usb_pe_drp.c b/test/usb_pe_drp.c index be040dff0c..10269db779 100644 --- a/test/usb_pe_drp.c +++ b/test/usb_pe_drp.c @@ -16,7 +16,6 @@ #include "mock/usb_tc_sm_mock.h" #include "mock/tcpc_mock.h" #include "mock/usb_mux_mock.h" -#include "mock/usb_pd_mock.h" #include "mock/usb_pd_dpm_mock.h" #include "mock/dp_alt_mode_mock.h" #include "mock/usb_prl_mock.h" @@ -39,7 +38,6 @@ void before_test(void) mock_tc_port_reset(); mock_tcpc_reset(); mock_usb_mux_reset(); - mock_pd_reset(); mock_dpm_reset(); mock_dp_alt_mode_reset(); mock_prl_reset(); @@ -138,7 +136,7 @@ test_static int finish_src_discovery(void) test_static int test_send_caps_error_before_connected(void) { /* Enable PE as source, expect SOURCE_CAP. */ - mock_pd_port[PORT0].power_role = PD_ROLE_SOURCE; + mock_tc_port[PORT0].power_role = PD_ROLE_SOURCE; mock_tc_port[PORT0].pd_enable = 1; mock_tc_port[PORT0].vconn_src = true; TEST_EQ(mock_prl_wait_for_tx_msg(PORT0, TCPC_TX_SOP, @@ -205,7 +203,7 @@ test_static int test_send_caps_error_before_connected(void) test_static int test_send_caps_error_when_connected(void) { /* Enable PE as source, expect SOURCE_CAP. */ - mock_pd_port[PORT0].power_role = PD_ROLE_SOURCE; + mock_tc_port[PORT0].power_role = PD_ROLE_SOURCE; mock_tc_port[PORT0].pd_enable = 1; mock_tc_port[PORT0].vconn_src = true; TEST_EQ(mock_prl_wait_for_tx_msg(PORT0, TCPC_TX_SOP, diff --git a/test/usb_pe_drp.mocklist b/test/usb_pe_drp.mocklist index b690044789..1d8e4c8a81 100644 --- a/test/usb_pe_drp.mocklist +++ b/test/usb_pe_drp.mocklist @@ -5,7 +5,6 @@ #define CONFIG_TEST_MOCK_LIST \ MOCK(USB_TC_SM) \ - MOCK(USB_PD) \ MOCK(TCPC) \ MOCK(USB_MUX) \ MOCK(USB_PD_DPM) \ diff --git a/test/usb_pe_drp_noextended.mocklist b/test/usb_pe_drp_noextended.mocklist index b690044789..1d8e4c8a81 100644 --- a/test/usb_pe_drp_noextended.mocklist +++ b/test/usb_pe_drp_noextended.mocklist @@ -5,7 +5,6 @@ #define CONFIG_TEST_MOCK_LIST \ MOCK(USB_TC_SM) \ - MOCK(USB_PD) \ MOCK(TCPC) \ MOCK(USB_MUX) \ MOCK(USB_PD_DPM) \ diff --git a/test/usb_prl.c b/test/usb_prl.c index d0f3d48322..c381295abf 100644 --- a/test/usb_prl.c +++ b/test/usb_prl.c @@ -7,7 +7,6 @@ #include "common.h" #include "mock/tcpc_mock.h" #include "mock/tcpm_mock.h" -#include "mock/usb_pd_mock.h" #include "mock/usb_pe_sm_mock.h" #include "mock/usb_tc_sm_mock.h" #include "task.h" @@ -140,8 +139,8 @@ void before_test(void) { mock_tc_port_reset(); mock_tc_port[PORT0].rev = PD_REV30; - mock_pd_port[PORT0].power_role = PD_ROLE_SOURCE; - mock_pd_port[PORT0].data_role = PD_ROLE_DFP; + mock_tc_port[PORT0].power_role = PD_ROLE_SOURCE; + mock_tc_port[PORT0].data_role = PD_ROLE_DFP; mock_tcpm_reset(); mock_pe_port_reset(); diff --git a/test/usb_prl.mocklist b/test/usb_prl.mocklist index c89e12e78b..bf5357334a 100644 --- a/test/usb_prl.mocklist +++ b/test/usb_prl.mocklist @@ -6,6 +6,5 @@ #define CONFIG_TEST_MOCK_LIST \ MOCK(TCPC) \ MOCK(TCPM) \ - MOCK(USB_PD) \ MOCK(USB_PE_SM) \ MOCK(USB_TC_SM) diff --git a/test/usb_typec_drp_acc_trysrc.c b/test/usb_typec_drp_acc_trysrc.c index 605d133934..f33c7079cf 100644 --- a/test/usb_typec_drp_acc_trysrc.c +++ b/test/usb_typec_drp_acc_trysrc.c @@ -27,19 +27,6 @@ /* Unreachable time in future */ #define TIMER_DISABLED 0xffffffffffffffff -/* TODO(b/153071799): Move these pd_* and pe_* function into mock */ -__overridable void pd_request_power_swap(int port) -{} - -void pd_set_src_caps(int port, int cnt, uint32_t *src_caps) -{ -} - -__overridable void pe_invalidate_explicit_contract(int port) -{ -} -/* End pd_ mock section */ - /* Install Mock TCPC and MUX drivers */ const struct tcpc_config_t tcpc_config[CONFIG_USB_PD_PORT_MAX_COUNT] = { { |