1#ifndef _UAPI__HDMI_HDCP_MGR_H
2#define _UAPI__MSM_HDMI_HDCP_MGR_H
3
4enum DS_TYPE {  /* type of downstream device */
5	DS_UNKNOWN,
6	DS_RECEIVER,
7	DS_REPEATER,
8};
9
10enum {
11	MSG_ID_IDX,
12	RET_CODE_IDX,
13	HEADER_LEN,
14};
15
16enum RET_CODE {
17	HDCP_NOT_AUTHED,
18	HDCP_AUTHED,
19	HDCP_DISABLE,
20};
21
22enum MSG_ID { /* List of functions expected to be called after it */
23	DOWN_CHECK_TOPOLOGY,
24	UP_REQUEST_TOPOLOGY,
25	UP_SEND_TOPOLOGY,
26	DOWN_REQUEST_TOPOLOGY,
27	MSG_NUM,
28};
29
30enum SOURCE_ID {
31	HDCP_V1_TX,
32	HDCP_V1_RX,
33	HDCP_V2_RX,
34	HDCP_V2_TX,
35	SRC_NUM,
36};
37
38/*
39 * how to parse sysfs params buffer
40 * from hdcp_tx driver.
41 */
42
43struct HDCP_V2V1_MSG_TOPOLOGY {
44	/* indicates downstream's type */
45	uint32_t ds_type;
46	uint8_t bksv[5];
47	uint8_t dev_count;
48	uint8_t depth;
49	uint8_t ksv_list[5 * 127];
50	uint32_t max_cascade_exceeded;
51	uint32_t max_dev_exceeded;
52};
53
54#endif /* _UAPI__MSM_HDMI_HDCP_MGR_H */
55