summaryrefslogtreecommitdiff
path: root/zephyr/test/drivers/default/src/integration/usbc/usb_pd_rev3.c
diff options
context:
space:
mode:
Diffstat (limited to 'zephyr/test/drivers/default/src/integration/usbc/usb_pd_rev3.c')
-rw-r--r--zephyr/test/drivers/default/src/integration/usbc/usb_pd_rev3.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/zephyr/test/drivers/default/src/integration/usbc/usb_pd_rev3.c b/zephyr/test/drivers/default/src/integration/usbc/usb_pd_rev3.c
index 0ac22ae359..6a93e4704d 100644
--- a/zephyr/test/drivers/default/src/integration/usbc/usb_pd_rev3.c
+++ b/zephyr/test/drivers/default/src/integration/usbc/usb_pd_rev3.c
@@ -6,10 +6,12 @@
#include "battery.h"
#include "battery_smart.h"
#include "chipset.h"
+#include "ec_commands.h"
#include "emul/emul_isl923x.h"
#include "emul/emul_smart_battery.h"
#include "emul/tcpc/emul_tcpci_partner_src.h"
#include "hooks.h"
+#include "host_command.h"
#include "test/drivers/stubs.h"
#include "test/drivers/test_state.h"
#include "test/drivers/utils.h"
@@ -21,6 +23,8 @@
#include <zephyr/sys/slist.h>
#include <zephyr/ztest.h>
+#define TEST_PORT 0
+
struct usb_attach_5v_3a_pd_source_rev3_fixture {
struct tcpci_partner_data source_5v_3a;
struct tcpci_src_emul_data src_ext;
@@ -172,6 +176,20 @@ ZTEST_F(usb_attach_5v_3a_pd_source_rev3, test_batt_cap_invalid)
"Invalid battery ref bit should be set");
}
+ZTEST_F(usb_attach_5v_3a_pd_source_rev3, verify_typec_status_using_rmdo)
+{
+ struct ec_params_typec_status params = { .port = TEST_PORT };
+ struct ec_response_typec_status response;
+ struct host_cmd_handler_args args =
+ BUILD_HOST_COMMAND(EC_CMD_TYPEC_STATUS, 0, response, params);
+
+ /* Check that the revision response in EC_CMD_TYPEC_STATUS matches
+ * bits 16-31 of the partner's RMDO
+ */
+ zassert_ok(host_command_process(&args));
+ zassert_equal(response.sop_revision, fixture->source_5v_3a.rmdo >> 16);
+}
+
ZTEST_F(usb_attach_5v_3a_pd_source_rev3, verify_alert_msg)
{
zassert_equal(pd_broadcast_alert_msg(ADO_OTP_EVENT), EC_SUCCESS);