ronnie
2022-10-14 1504bb53e29d3d46222c0b3ea994fc494b48e153
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
///*****************************************
//  Copyright (C) 2009-2019
//  ITE Tech. Inc. All Rights Reserved
//  Proprietary and Confidential
///*****************************************
//   @file   <hdmitx_hdcp.h>
//   @author Jau-Chih.Tseng@ite.com.tw
//   @date   2019/01/03
//   @fileversion: ITE_HDMITX_SAMPLE_3.27
//******************************************/
#ifndef _HDMITX_HDCP_H_
#define _HDMITX_HDCP_H_
 
 
#define REG_TX_HDCP_DESIRE 0x20
   #define B_TX_ENABLE_HDPC11 (1<<1)
   #define B_TX_CPDESIRE  (1<<0)
 
#define REG_TX_AUTHFIRE    0x21
#define REG_TX_LISTCTRL    0x22
   #define B_TX_LISTFAIL  (1<<1)
   #define B_TX_LISTDONE  (1<<0)
 
#define REG_TX_AKSV    0x23
#define REG_TX_AKSV0   0x23
#define REG_TX_AKSV1   0x24
#define REG_TX_AKSV2   0x25
#define REG_TX_AKSV3   0x26
#define REG_TX_AKSV4   0x27
 
#define REG_TX_AN  0x28
#define REG_TX_AN_GEN  0x30
#define REG_TX_ARI     0x38
#define REG_TX_ARI0    0x38
#define REG_TX_ARI1    0x39
#define REG_TX_APJ     0x3A
 
#define REG_TX_BKSV    0x3B
#define REG_TX_BRI     0x40
#define REG_TX_BRI0    0x40
#define REG_TX_BRI1    0x41
#define REG_TX_BPJ     0x42
#define REG_TX_BCAP    0x43
   #define B_TX_CAP_HDMI_REPEATER (1<<6)
   #define B_TX_CAP_KSV_FIFO_RDY  (1<<5)
   #define B_TX_CAP_HDMI_FAST_MODE    (1<<4)
   #define B_CAP_HDCP_1p1  (1<<1)
   #define B_TX_CAP_FAST_REAUTH   (1<<0)
#define REG_TX_BSTAT   0x44
#define REG_TX_BSTAT0   0x44
#define REG_TX_BSTAT1   0x45
   #define B_TX_CAP_HDMI_MODE (1<<12)
   #define B_TX_CAP_DVI_MODE (0<<12)
   #define B_TX_MAX_CASCADE_EXCEEDED  (1<<11)
   #define M_TX_REPEATER_DEPTH    (0x7<<8)
   #define O_TX_REPEATER_DEPTH    8
   #define B_TX_DOWNSTREAM_OVER   (1<<7)
   #define M_TX_DOWNSTREAM_COUNT  0x7F
 
#define REG_TX_AUTH_STAT 0x46
#define B_TX_AUTH_DONE (1<<7)
////////////////////////////////////////////////////
// Function Prototype
////////////////////////////////////////////////////
 
BOOL getHDMITX_AuthenticationDone(void);
void hdmitx_hdcp_ClearAuthInterrupt(void);
void hdmitx_hdcp_ResetAuth(void);
void hdmitx_hdcp_Auth_Fire(void);
void hdmitx_hdcp_StartAnCipher(void);
void hdmitx_hdcp_StopAnCipher(void);
void hdmitx_hdcp_GenerateAn(void);
SYS_STATUS hdmitx_hdcp_GetBCaps(PBYTE pBCaps ,PUSHORT pBStatus);
SYS_STATUS hdmitx_hdcp_GetBKSV(BYTE *pBKSV);
 
void hdmitx_hdcp_Reset(void);
SYS_STATUS hdmitx_hdcp_Authenticate(void);
SYS_STATUS hdmitx_hdcp_VerifyIntegration(void);
void hdmitx_hdcp_CancelRepeaterAuthenticate(void);
void hdmitx_hdcp_ResumeRepeaterAuthenticate(void);
SYS_STATUS hdmitx_hdcp_CheckSHA(BYTE pM0[],USHORT BStatus,BYTE pKSVList[],int cDownStream,BYTE Vr[]);
SYS_STATUS hdmitx_hdcp_GetKSVList(BYTE *pKSVList,BYTE cDownStream);
SYS_STATUS hdmitx_hdcp_GetVr(BYTE *pVr);
SYS_STATUS hdmitx_hdcp_GetM0(BYTE *pM0);
SYS_STATUS hdmitx_hdcp_Authenticate_Repeater(void);
void hdmitx_hdcp_ResumeAuthentication(void);
#endif // _HDMITX_HDCP_H_