hdcp22_tx_dp: xhdcp22_tx.h File Reference

| hdcp22_tx_dp Xilinx SDK Drivers API Documentation

- Overview
- Data Structures
- APIs
- File List

Data Structures | Macros | Typedefs | Enumerations | Functions
xhdcp22_tx.h File Reference

## Data Structures
struct | XHdcp22_Tx_Config
| This typedef contains configuration information for the device. More...
struct | XHdcp22_Tx_Timer
| The current state and data for internal used timer. More...
struct | XHdcp22_Tx_PairingInfo
| This typedef contains the the used keys used for authentication with stored Km. More...
struct | XHdcp22_Tx_Info
| This typedef contains information about the HDCP22 transmitter. More...
struct | XHdcp22_Tx_LogItem
| This typedef is used to store logging events. More...
struct | XHdcp22_Tx_Log
| This typedef contains the HDCP22 log list. More...
struct | XHdcp22_Tx_Test
| This typedef contains the HDCP22 test parameters and settings. More...
struct | XHdcp22_Tx_RevocationList
| This structure contains the HDCP2 Revocation information. More...
struct | XHdcp22_Tx_Topology
| This structure contains the HDCP topology information. More...
struct | XHdcp22_Tx
| The XHdcpTx driver instance data. More...

## Macros
#define | XHDCP22_TX_H
| prevent circular inclusions by using protection macros More...
#define | XHDCP22_TX_DEFAULT_RX_STATUS_POLLVALUE 10
| This value is the default polling interval defined in millseconds. More...
#define | XHDCP22_TX_MAX_MESSAGE_SIZE 1+534
| Needed storage to transmit/receive messages to the HDCP2.2 receiver This includes 1 extra byte for the DDC address used. More...
#define | XHDCP22_TX_REVOCATION_LIST_MAX_DEVICES 944
| Needed storage for the Device IDs in the revocation list. More...
#define | XHDCP22_TX_MAX_STORED_PAIRINGINFO 2
| The list of maximum pairing info items to store. More...
#define | XHDCP22_TX_LOG_BUFFER_SIZE 256
| The size of the log buffer. More...

## Typedefs
typedef void(* | XHdcp22_Tx_Callback )(void *CallbackRef)
| Callback type for status. More...
typedef int(* | XHdcp22_Tx_DdcHandler )(u8 DeviceAddress, u16 ByteCount, u8 *BufferPtr, u8 Stop, void *RefPtr)
| Callback type used for calling DDC read and write functions. More...
typedef u32(* | Xhdcp22_Tx_RdWrHandler )(void *HandlerRef, u32 offset, u8 *buf, u32 size)
| Type for pointer to four input function with a return value. More...

## Enumerations
enum | XHdcp22_Tx_HandlerType { , XHDCP22_TX_HANDLER_DP_AUX_READ, XHDCP22_TX_HANDLER_DP_AUX_WRITE }
| These constants are used to identify callback functions. More...
enum | XHdcp22_Tx_StateType { XHDCP22_TX_STATE_H0, XHDCP22_TX_STATE_H1, XHDCP22_TX_STATE_A0, XHDCP22_TX_STATE_A1, XHDCP22_TX_STATE_A1_1, XHDCP22_TX_STATE_A1_NSK0, XHDCP22_TX_STATE_A1_NSK1, XHDCP22_TX_STATE_A1_SK0, XHDCP22_TX_STATE_A2, XHDCP22_TX_STATE_A2_1, XHDCP22_TX_STATE_A3, XHDCP22_TX_STATE_A4, XHDCP22_TX_STATE_A5, XHDCP22_TX_STATE_A6_A7_A8, XHDCP22_TX_STATE_A6, XHDCP22_TX_STATE_A7, XHDCP22_TX_STATE_A8, XHDCP22_TX_STATE_A9, XHDCP22_TX_STATE_A9_1, XHDCP22_TX_NUM_STATES }
| These constants specify the different states in the internal state machine. More...
enum | XHdcp22_Tx_AuthenticationType { XHDCP22_TX_INCOMPATIBLE_RX, XHDCP22_TX_AUTHENTICATION_BUSY, XHDCP22_TX_AUTHENTICATED, XHDCP22_TX_UNAUTHENTICATED, XHDCP22_TX_REAUTHENTICATE_REQUESTED, XHDCP22_TX_DEVICE_IS_REVOKED, XHDCP22_TX_NO_SRM_LOADED }
| These constants specify return values on polling with XHdcp22Tx_Poll. More...
enum | XHdcp22_Tx_ContentStreamType { XHDCP22_STREAMTYPE_0, XHDCP22_STREAMTYPE_1 }
| These constants are used to define the content stream type. More...
enum | XHdcp22_Tx_LogEvt { XHDCP22_TX_LOG_EVT_NONE, XHDCP22_TX_LOG_EVT_STATE, XHDCP22_TX_LOG_EVT_POLL_RESULT, XHDCP22_TX_LOG_EVT_ENABLED, XHDCP22_TX_LOG_EVT_RESET, XHDCP22_TX_LOG_EVT_ENCR_ENABLED, XHDCP22_TX_LOG_EVT_TEST_ERROR, XHDCP22_TX_LOG_EVT_DBG, XHDCP22_TX_LOG_EVT_LCCHK_COUNT, XHDCP22_TX_LOG_EVT_STRMMNGCHK_COUNT, XHDCP22_TX_LOG_EVT_USER, XHDCP22_TX_LOG_INVALID }
| These constants are events as stored in the logging list. More...
enum | XHdcp22_Tx_Protocol { XHDCP22_TX_DP, XHDCP22_TX_HDMI }
| These constants are used to define the used protocol. More...
enum | XHdcp22_Tx_Mode { XHDCP22_TX_TRANSMITTER, XHDCP22_TX_REPEATER, XHDCP22_TX_CONVERTER }
| These constants are used to define the used mode. More...
enum | XHdcp22_Tx_TopologyField
| These constants are used to identify fields inside the topology structure. More...

## Functions
XHdcp22_Tx_Config * | XHdcp22Tx_LookupConfig (u16 DeviceId)
| This function returns a reference to an XHdcp22_Tx_Config structure based on the core id, DeviceId. More...
int | XHdcp22Tx_CfgInitialize (XHdcp22_Tx *InstancePtr, XHdcp22_Tx_Config *CfgPtr, UINTPTR EffectiveAddr)
| This function initializes the HDCP22 TX core. More...
int | XHdcp22Tx_Reset (XHdcp22_Tx *InstancePtr)
| This function resets the state machine. More...
int | XHdcp22Tx_ClearPairingInfo (XHdcp22_Tx *InstancePtr)
| This function clear the global pairing info structure, so every HDCP2.2 receiver will have to go through the 'no stored km' sequence to authenticate. More...
int | XHdcp22Tx_Authenticate (XHdcp22_Tx *InstancePtr)
| This function is a called to start authentication. More...
int | XHdcp22Tx_Poll (XHdcp22_Tx *InstancePtr)
| This function is a executed every time to trigger the state machine. More...
int | XHdcp22Tx_Enable (XHdcp22_Tx *InstancePtr)
| This function enables the state machine and acts as a resume. More...
int | XHdcp22Tx_Disable (XHdcp22_Tx *InstancePtr)
| This function disables the state machine and acts as a pause. More...
int | XHdcp22Tx_EnableEncryption (XHdcp22_Tx *InstancePtr)
| This function enables HDMI stream encryption by enabling the cipher. More...
int | XHdcp22Tx_DisableEncryption (XHdcp22_Tx *InstancePtr)
| This function disables HDMI stream encryption by disabling the cipher. More...
void | XHdcp22Tx_EnableBlank (XHdcp22_Tx *InstancePtr)
| This function enables the blank output for the cipher. More...
void | XHdcp22Tx_DisableBlank (XHdcp22_Tx *InstancePtr)
| This function disables the blank output for the cipher. More...
u8 | XHdcp22Tx_IsEnabled (XHdcp22_Tx *InstancePtr)
| This function returns the current enabled state. More...
u8 | XHdcp22Tx_IsEncryptionEnabled (XHdcp22_Tx *InstancePtr)
| This function returns the current encryption enabled state. More...
u8 | XHdcp22Tx_IsInProgress (XHdcp22_Tx *InstancePtr)
| This function returns the current progress state. More...
u8 | XHdcp22Tx_IsAuthenticated (XHdcp22_Tx *InstancePtr)
| This function returns the current authenticated state. More...
u8 | XHdcp22Tx_IsDwnstrmCapable (XHdcp22_Tx *InstancePtr)
| This function checks if the downstream device HDCP2Version register is set. More...
u32 | XHdcp22Tx_GetVersion (XHdcp22_Tx *InstancePtr)
| This function reads the version. More...
int | XHdcp22Tx_SetCallback (XHdcp22_Tx *InstancePtr, XHdcp22_Tx_HandlerType HandlerType, void *CallbackFunc, void *CallbackRef)
| This function installs callback functions for the given HandlerType: More...
XTmrCtr * | XHdcp22Tx_GetTimer (XHdcp22_Tx *InstancePtr)
| This function returns the pointer to the internal timer control instance needed for connecting the timer interrupt to an interrupt controller. More...
void | XHdcp22Tx_LogReset (XHdcp22_Tx *InstancePtr, u8 Verbose)
| This function clears the log pointers. More...
void | XHdcp22Tx_LogWr (XHdcp22_Tx *InstancePtr, XHdcp22_Tx_LogEvt Evt, u16 Data)
| This function writes HDCP TX logs into buffer. More...
XHdcp22_Tx_LogItem * | XHdcp22Tx_LogRd (XHdcp22_Tx *InstancePtr)
| This function provides the log information from the log buffer. More...
void | XHdcp22Tx_LogDisplay (XHdcp22_Tx *InstancePtr)
| This function prints the content of log buffer. More...
u32 | XHdcp22Tx_LogGetTimeUSecs (XHdcp22_Tx *InstancePtr)
| This function returns the time expired since a log reset was called. More...
void | XHdcp22Tx_SetMessagePollingValue (XHdcp22_Tx *InstancePtr, u32 PollingValue)
| This function can be used to change the polling value. More...
void | XHdcp22Tx_Info (XHdcp22_Tx *InstancePtr)
| This function prints the state machine information. More...
void | XHdcp22Tx_LoadLc128 (XHdcp22_Tx *InstancePtr, const u8 *Lc128Ptr)
| This function is used to load the Lc128 value by copying the contents of the array referenced by Lc128Ptr into the cipher. More...
int | XHdcp22Tx_LoadRevocationTable (XHdcp22_Tx *InstancePtr, const u8 *SrmPtr)
| This function is used to load the system renewability messages (SRMs) which carries the Receiver ID revocation list. More...
XHdcp22_Tx_RevocationList * | XHdcp22Tx_GetRevocationReceiverIdList (XHdcp22_Tx *InstancePtr)
| This function returns a pointer to the Revocation Receiver ID list. More...
u8 | XHdcp22Tx_IsDeviceRevoked (XHdcp22_Tx *InstancePtr, u8 *RecvIdPtr)
| This function searches for the specified ReceiverID in the revocation list. More...
XHdcp22_Tx_Topology * | XHdcp22Tx_GetTopology (XHdcp22_Tx *InstancePtr)
| This function returns a pointer to the downstream topology structure. More...
u8 * | XHdcp22Tx_GetTopologyReceiverIdList (XHdcp22_Tx *InstancePtr)
| This function returns a pointer to the ReceiverID list in the repeater topology structure. More...
u32 | XHdcp22Tx_GetTopologyField (XHdcp22_Tx *InstancePtr, XHdcp22_Tx_TopologyField Field)
| This function is used to get various fields inside the topology structure. More...
u8 | XHdcp22Tx_IsRepeater (XHdcp22_Tx *InstancePtr)
| This function returns the current repeater mode status. More...
void | XHdcp22Tx_SetRepeater (XHdcp22_Tx *InstancePtr, u8 Set)
| This function sets the repeater mode status. More...
void | XHdcp22Tx_SetContentStreamType (XHdcp22_Tx *InstancePtr, XHdcp22_Tx_ContentStreamType StreamType)
| This function sets the Content Stream Type. More...
void | XHdcp22Tx_timer_attach (XHdcp22_Tx *InstancePtr, XTmrCtr *TmrCtrPtr)
| This function is to attache the HDCP22 timer instance to DP TX subsystem's timer. More...
void | XHdcp22Tx_SetHdcp22OverProtocol (XHdcp22_Tx *InstancePtr, XHdcp22_Tx_Protocol protocol)
| This function is to set the protocol (HDMI/DP) over which HDCP22 is happening. More...
void | XHdcp22Tx_TimerHandler (void *CallbackRef, u8 TmrCntNumber)
| This function handles timer interrupts. More...
void | XHdcp22_Handle_Cp_Irq (XHdcp22_Tx *InstancePtr)
| This function is to read the RX_STATUS when a cp_irq recieved. More...
int | XHdcp22_TxSetLaneCount (XHdcp22_Tx *InstancePtr, u8 LaneCount)
| This function set the lane count of an hdcp22 interface. More...