summaryrefslogtreecommitdiff
path: root/common/mock/usb_pd_dpm_mock.c
blob: 66b7ccfc2b3cd364a2be5d1a95456b816a0499bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
/* Copyright 2020 The ChromiumOS Authors
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

/*
 * Mock of Device Policy Manager implementation
 * Refer to USB PD 3.0 spec, version 2.0, sections 8.2 and 8.3
 */

#include "memory.h"
#include "mock/usb_pd_dpm_mock.h"
#include "usb_pd.h"
#include "usb_pd_tcpm.h"

#ifndef TEST_BUILD
#error "Mocks should only be in the test build."
#endif

struct mock_dpm_port_t dpm[CONFIG_USB_PD_PORT_MAX_COUNT];

void mock_dpm_reset(void)
{
	/* Reset all values to 0. */
	memset(dpm, 0, sizeof(dpm));
}

void dpm_init(int port)
{
	dpm[port].mode_entry_done = false;
	dpm[port].mode_exit_request = false;
}

void dpm_mode_exit_complete(int port)
{
}

void dpm_vdm_acked(int port, enum tcpci_msg_type type, int vdo_count,
		   uint32_t *vdm)
{
}

void dpm_vdm_naked(int port, enum tcpci_msg_type type, uint16_t svid,
		   uint8_t vdm_cmd)
{
}

void dpm_set_mode_exit_request(int port)
{
}

void dpm_run(int port, int evt, int en)
{
}

void dpm_evaluate_sink_fixed_pdo(int port, uint32_t vsafe5v_pdo)
{
}

void dpm_add_non_pd_sink(int port)
{
}

void dpm_evaluate_request_rdo(int port, uint32_t rdo)
{
}

void dpm_remove_sink(int port)
{
}

void dpm_remove_source(int port)
{
}

void dpm_bist_shared_mode_enter(int port)
{
}

void dpm_bist_shared_mode_exit(int port)
{
}

int dpm_get_source_pdo(const uint32_t **src_pdo, const int port)
{
	*src_pdo = pd_src_pdo;
	return pd_src_pdo_cnt;
}

int dpm_get_status_msg(int port, uint8_t *msg, uint32_t *len)
{
	return EC_SUCCESS;
}

void dpm_handle_alert(int port, uint32_t ado)
{
}

void dpm_set_pe_ready(int port, bool enable)
{
}