hdcp22_tx
Vitis Drivers API Documentation
|
Data Structures | |
struct | XHdcp22_Tx_CertRx |
This typedef contains the public key certificate of Receiver that is received with AKE_Send_Cert. More... | |
struct | XHdcp22_Tx_AKESendCert |
This typedef contains the received AKE_Send_Cert message definition. More... | |
struct | XHdcp22_Tx_AKESendHPrime |
This typedef contains the received AKE_Send_H_prime message definition. More... | |
struct | XHdcp22_Tx_AKESendPairingInfo |
This typedef contains the received AKE_Send_Pairing_Info message definition. More... | |
struct | XHdcp22_Tx_LCSendLPrime |
This typedef contains the received AKE_Send_L_prime message definition. More... | |
struct | XHdcp22_Tx_AKEInit |
This typedef contains the transmitted AKE_Init message definition. More... | |
struct | XHdcp22_Tx_AKENoStoredKm |
This typedef contains the transmitted AKE_No_Stored_km message definition. More... | |
struct | XHdcp22_Tx_AKEStoredKm |
This typedef contains the transmitted AKE_Stored_km message definition. More... | |
struct | XHdcp22_Tx_LCInit |
This typedef contains the transmitted LC_Init message definition. More... | |
struct | XHdcp22_Tx_SKESendEks |
This typedef contains the transmitted SKE_Send_Eks message definition. More... | |
struct | XHdcp22_Tx_RepeatAuthSendRecvIDList |
This typedef contains the RepeaterAuth_Send_ReceiverID_List message definition. More... | |
struct | XHdcp22_Tx_RepeatAuthSendAck |
This typedef contains the RepeaterAuth_Send_Ack message definition. More... | |
struct | XHdcp22_Tx_RepeatAuthStreamManage |
This typedef contains the RepeaterAuth_Stream_Manage message definition. More... | |
struct | XHdcp22_Tx_RepeatAuthStreamReady |
This typedef contains the RepeaterAuth_Stream_Ready message definition. More... | |
union | XHdcp22_Tx_Message |
Message buffer structure. More... | |
struct | XHdcp22_Tx_DDCMessage |
Message including the DDC Address. More... | |
Macros | |
#define | XHDCP22_TX_I_H |
prevent circular inclusions by using protection macros. More... | |
#define | XHDCP22_TX_MAX_ALLOWED_LOCALITY_CHECKS 8 |
Maximum allowed re-checking locality, prescribed by LLC. More... | |
#define | XHDCP22_TX_MAX_ALLOWED_STREAM_MANAGE_CHECKS 128 |
Maximum allowed re-checking content stream management. More... | |
#define | XHDCP22_TX_LC128_SIZE 16 |
Lc128 global constant size. More... | |
#define | XHDCP22_TX_RCVID_SIZE 5 |
Unique receiver Id size in bytes. More... | |
#define | XHDCP22_TX_REPEATER_MAX_DEVICE_COUNT 31 |
Max number of downstream devices allowed. More... | |
#define | XHDCP22_TX_REPEATER_MAX_CASCADE_DEPTH 4 |
Max cascade depth. More... | |
#define | XHDCP22_TX_MSG_UNDEFINED 0 |
Undefined. More... | |
#define | XHDCP22_TX_AKE_INIT 2 |
AKE Init message. More... | |
#define | XHDCP22_TX_AKE_INIT_SIZE 12 |
AKE Init message size. More... | |
#define | XHDCP22_TX_AKE_SEND_CERT 3 |
AKE Send Certificate message. More... | |
#define | XHDCP22_TX_AKE_SEND_CERT_SIZE 534 |
AKE Send Certificate message size. More... | |
#define | XHDCP22_TX_AKE_NO_STORED_KM 4 |
AKE No Stored Km message. More... | |
#define | XHDCP22_TX_AKE_NO_STORED_KM_SIZE 129 |
AKE No Stored Km message size. More... | |
#define | XHDCP22_TX_AKE_STORED_KM 5 |
AKE Stored Km message size. More... | |
#define | XHDCP22_TX_AKE_STORED_KM_SIZE 33 |
AKE Stored Km message size. More... | |
#define | XHDCP22_TX_AKE_SEND_H_PRIME 7 |
AKE H' message. More... | |
#define | XHDCP22_TX_AKE_SEND_H_PRIME_SIZE 33 |
AKE H' message size. More... | |
#define | XHDCP22_TX_AKE_SEND_PAIRING_INFO 8 |
AKE Pairing info message. More... | |
#define | XHDCP22_TX_AKE_SEND_PAIRING_INFO_SIZE 17 |
AKE Pairing info message size. More... | |
#define | XHDCP22_TX_LC_INIT 9 |
LC Init message. More... | |
#define | XHDCP22_TX_LC_INIT_SIZE 9 |
LC Init message size. More... | |
#define | XHDCP22_TX_LC_SEND_L_PRIME 10 |
Send L' message. More... | |
#define | XHDCP22_TX_LC_SEND_L_PRIME_SIZE 33 |
Send L' message size. More... | |
#define | XHDCP22_TX_SKE_SEND_EKS 11 |
Send Eks message. More... | |
#define | XHDCP22_TX_SKE_SEND_EKS_SIZE 25 |
Send Eks message size. More... | |
#define | XHDCP22_TX_REPEATAUTH_SEND_RECVID_LIST 12 |
Repeater Auth send receiver ID list message. More... | |
#define | XHDCP22_TX_REPEATAUTH_SEND_RECVID_LIST_SIZE 177 |
Repeater Auth send receiver ID list maximum message size. More... | |
#define | XHDCP22_TX_REPEATAUTH_SEND_ACK 15 |
RepeaterAuth send ack message. More... | |
#define | XHDCP22_TX_REPEATAUTH_SEND_ACK_SIZE 17 |
RepeaterAuth send ack message size in bytes. More... | |
#define | XHDCP22_TX_REPEATAUTH_STREAM_MANAGE 16 |
RepeaterAuth stream manage message. More... | |
#define | XHDCP22_TX_REPEATAUTH_STREAM_MANAGE_SIZE 8 |
RepeaterAuth stream manage message size in bytes. More... | |
#define | XHDCP22_TX_REPEATAUTH_STREAM_READY 17 |
RepeaterAuth stream ready message. More... | |
#define | XHDCP22_TX_REPEATAUTH_STREAM_READY_SIZE 33 |
RepeaterAuth stream ready message size in bytes. More... | |
#define | XHDCP22_TX_TS_UNDEFINED XHDCP22_TX_MSG_UNDEFINED |
Reason why the timer was started: Undefined. More... | |
#define | XHDCP22_TX_TS_WAIT_FOR_STREAM_TYPE 0xFD |
Reason why the timer was started: Waiting for Content Stream Type to be set when in repeater mode. More... | |
#define | XHDCP22_TX_TS_WAIT_FOR_CIPHER 0xFE |
Reason why the timer was started: Mandatory wait of 200 ms before the cipher may be activated. More... | |
#define | XHDCP22_TX_TS_RX_REAUTH_CHECK 0xFF |
Reason why the timer was started: Status checking. More... | |
#define | XHDCP22_TX_TIMER_CNTR_0 0 |
Internal used timer counter for timeout checking. More... | |
#define | XHDCP22_TX_TIMER_CNTR_1 1 |
Internal used timer counter for logging. More... | |
#define | XHDCP22_TX_HDCPPORT_VERSION_OFFSET 0x50 |
DDC version offset. More... | |
#define | XHDCP22_TX_HDCPPORT_WRITE_MSG_OFFSET 0x60 |
DDC write message buffer offset. More... | |
#define | XHDCP22_TX_HDCPPORT_RXSTATUS_OFFSET 0x70 |
DDC RX status offset. More... | |
#define | XHDCP22_TX_HDCPPORT_READ_MSG_OFFSET 0x80 |
DDC read message buffer offset. More... | |
#define | XHDCP22_TX_RXSTATUS_REAUTH_REQ_MASK (1<<11) |
HDCP Port DDC Rx status register masks. More... | |
#define | XHDCP22_TX_RXSTATUS_READY_MASK (1<<10) |
RX status READY bit. More... | |
#define | XHDCP22_TX_RXSTATUS_AVAIL_BYTES_MASK (0x3FF) |
RX status available bytes in read message buffer. More... | |
#define | XHDCP22_TX_CERT_RCVID_SIZE 5 |
RX certificate and Tx public key sizes in bytes. More... | |
#define | XHDCP22_TX_CERT_PUB_KEY_N_SIZE 128 |
Public key-N size in the RX certificate. More... | |
#define | XHDCP22_TX_CERT_PUB_KEY_E_SIZE 3 |
Public key-E size in the RX certificate. More... | |
#define | XHDCP22_TX_CERT_RSVD_SIZE 2 |
Reserved size in the RX certificate. More... | |
#define | XHDCP22_TX_CERT_SIGNATURE_SIZE 384 |
Signature size in the RX certificate. More... | |
#define | XHDCP22_TX_CERT_SIZE |
Total size of the RX certificate. More... | |
#define | XHDCP22_TX_RXCAPS_SIZE 3 |
RX capabilities size. More... | |
#define | XHDCP22_TX_TXCAPS_SIZE 3 |
TX capabilities size. More... | |
#define | XHDCP22_TX_KPUB_DCP_LLC_N_SIZE 384 |
LLC public key-N size. More... | |
#define | XHDCP22_TX_KPUB_DCP_LLC_E_SIZE 1 |
LLC public key-E size. More... | |
#define | XHDCP22_TX_SHA256_HASH_SIZE 32 |
SHA256 hash size in bytes. More... | |
#define | XHDCP22_TX_AES128_SIZE 16 |
AES128 keys in bytes. More... | |
#define | XHDCP22_TX_RTX_SIZE 8 |
64 bits. More... | |
#define | XHDCP22_TX_RRX_SIZE 8 |
64 bits. More... | |
#define | XHDCP22_TX_E_KPUB_KM_SIZE 128 |
1024 bits. More... | |
#define | XHDCP22_TX_H_PRIME_SIZE 32 |
256 bits. More... | |
#define | XHDCP22_TX_EKH_KM_SIZE 16 |
128 bits. More... | |
#define | XHDCP22_TX_RN_SIZE 8 |
64-bits. More... | |
#define | XHDCP22_TX_RIV_SIZE 8 |
64-bits. More... | |
#define | XHDCP22_TX_L_PRIME_SIZE 32 |
256 bits. More... | |
#define | XHDCP22_TX_KS_SIZE 16 |
128 bits. More... | |
#define | XHDCP22_TX_EDKEY_KS_SIZE 16 |
128 bits. More... | |
#define | XHDCP22_TX_SRM_RCVID_SIZE XHDCP22_TX_RCVID_SIZE |
Receiver Id size in the SRM block. More... | |
#define | XHDCP22_TX_SRM_SIGNATURE_SIZE 384 |
Signature size in the SRM block. More... | |
#define | XHDCP22_TX_RXINFO_SIZE 2 |
RxInfo size in bytes. More... | |
#define | XHDCP22_TX_SEQ_NUM_V_SIZE 3 |
Seq_num_v size in bytes. More... | |
#define | XHDCP22_TX_V_SIZE 32 |
V size in bytes. More... | |
#define | XHDCP22_TX_V_PRIME_SIZE 16 |
VPrime size in bytes. More... | |
#define | XHDCP22_TX_SEQ_NUM_M_SIZE 3 |
Seq_num_m size in bytes. More... | |
#define | XHDCP22_TX_K_SIZE 2 |
K size in bytes. More... | |
#define | XHDCP22_TX_STREAMID_TYPE_SIZE 2 |
Stream ID and Type size in bytes. More... | |
#define | XHDCP22_TX_M_PRIME_SIZE 32 |
MPrime size in bytes. More... | |
#define | XHDCP22_TX_TEST_CERT_RX 0x00000001 |
Use a certificate test vector. More... | |
#define | XHDCP22_TX_TEST_H1 0x00000002 |
Use a H_Prime test vector. More... | |
#define | XHDCP22_TX_TEST_L1 0x00000004 |
Use a L_Prime test vector. More... | |
#define | XHDCP22_TX_TEST_EKH_KM 0x00000008 |
Use a pairing info Ekh(Km) test vector, use i.c.w XHDCP22_TX_TEST_RCV_TIMEOUT. More... | |
#define | XHDCP22_TX_TEST_INVALID_VALUE 0x00000010 |
Invalidate a value. More... | |
#define | XHDCP22_TX_TEST_RCV_TIMEOUT 0x00000020 |
Timeout on a received message. More... | |
#define | XHDCP22_TX_TEST_V1 0x00000040 |
Use a V_Prime test vector. More... | |
#define | XHDCP22_TX_TEST_M1 0x00000080 |
Use a M_Prime test vector. More... | |
#define | XHDCP22_TX_TEST_STORED_KM 0x00000100 |
AKE is forced using a stored Km scenarion. More... | |
#define | XHDCP22_TX_TEST_NO_TIMEOUT 0x00000200 |
Disable timeout checking. More... | |
#define | XHDCP22_TX_TEST_CLR_PAIRINGINFO 0x00000400 |
Pairing info is cleared, to force a non-stored Km scenario. More... | |
#define | XHDCP22_TX_TEST_USE_TEST_VECTOR_R1 0x80000000 |
Use testvectors for receiver R1. More... | |
#define | XHDCP22_TX_DDC_BASE_ADDRESS 0x3A |
DDC base address (0x74 >> 1) More... | |
Enumerations | |
enum | XHdcp22_Tx_TestMode { XHDCP22_TX_TESTMODE_DISABLED, XHDCP22_TX_TESTMODE_SW_RX, XHDCP22_TX_TESTMODE_NO_RX, XHDCP22_TX_TESTMODE_UNIT, XHDCP22_TX_TESTMODE_USE_TESTKEYS, XHDCP22_TX_TESTMODE_INVALID } |
These constants are used to set the core into testing mode with #XHdcp22Tx_TestSetMode. More... | |
enum | XHdcp22_Tx_LogDebugValue |
Value definitions for debugging. More... | |
Functions | |
void | XHdcp22Tx_MemXor (u8 *Output, const u8 *InputA, const u8 *InputB, unsigned int Size) |
This function calculates a XOR on a array. More... | |
int | XHdcp22Tx_VerifyCertificate (const XHdcp22_Tx_CertRx *CertificatePtr, const u8 *KpubDcpNPtr, int KpubDcpNSize, const u8 *KpubDcpEPtr, int KpubDcpESize) |
This function verifies the HDCP receivers certificate. More... | |
int | XHdcp22Tx_VerifySRM (const u8 *SrmPtr, int SrmSize, const u8 *KpubDcpNPtr, int KpubDcpNSize, const u8 *KpubDcpEPtr, int KpubDcpESize) |
This function verifies a HDCP2 system renewability message (SRM) block. More... | |
void | XHdcp22Tx_ComputeHPrime (const u8 *Rrx, const u8 *RxCaps, const u8 *Rtx, const u8 *TxCaps, const u8 *Km, u8 *HPrime) |
This function computes HPrime. More... | |
void | XHdcp22Tx_ComputeLPrime (const u8 *Rn, const u8 *Km, const u8 *Rrx, const u8 *Rtx, u8 *LPrime) |
This function computes LPrime. More... | |
void | XHdcp22Tx_ComputeV (const u8 *Rn, const u8 *Rrx, const u8 *RxInfo, const u8 *Rtx, const u8 *RecvIDList, const u8 RecvIDCount, const u8 *SeqNum_V, const u8 *Km, u8 *V) |
This function computes V. More... | |
void | XHdcp22Tx_ComputeM (const u8 *Rn, const u8 *Rrx, const u8 *Rtx, const u8 *StreamIDType, const u8 *k, const u8 *SeqNum_M, const u8 *Km, u8 *M) |
This function computes M. More... | |
void | XHdcp22Tx_ComputeEdkeyKs (const u8 *Rn, const u8 *Km, const u8 *Ks, const u8 *Rrx, const u8 *Rtx, u8 *EdkeyKs) |
This function computes EdkeyKs. More... | |
int | XHdcp22Tx_EncryptKm (const XHdcp22_Tx_CertRx *CertificatePtr, const u8 *KmPtr, u8 *MaskingSeedPtr, u8 *EncryptedKmPtr) |
This function encrypts the Km value with the receivers public key into Ekh(Km) More... | |
void | XHdcp22Tx_GenerateRandom (XHdcp22_Tx *InstancePtr, int NumOctets, u8 *RandomNumberPtr) |
This function generates random octets. More... | |