![]() |
hdcp1x
Vitis Drivers API Documentation
|
Data Structures | |
struct | XHdcp1x_Config |
This typedef contains configuration information for the HDCP core. More... | |
struct | XHdcp1x_CipherStats |
This typedef defines the statistics collected by a cipher instance. More... | |
struct | XHdcp1x_Cipher |
This typedef contains an instance of the HDCP cipher core. More... | |
struct | XHdcp1x_PortStats |
This typedef defines the statistics collected by a port instance. More... | |
struct | XHdcp1x_RepeaterExchange |
This typedef contains an instance of the HDCP Repeater values to exchanged between HDCP Tx and HDCP Rx. More... | |
struct | XHdcp1x_PortStruct |
This typedef contains an instance of the HDCP port. More... | |
struct | XHdcp1x_TxStats |
This typedef defines the statistics collected transmit port instance. More... | |
struct | XHdcp1x_RxStats |
This typedef defines the statistics collected receive port instance. More... | |
struct | XHdcp1x_RxEncyptionWatch |
This typedef is used to keep a tab on the changes in the encryption status of the HDCP receiver, depending on whether the incoming data non the receiver is HDCP protected or not. More... | |
struct | XHdcp1x_Tx |
This typedef contains the transmit HDCP interface. More... | |
struct | XHdcp1x_Rx |
This typedef contains the receive HDCP interface. More... | |
struct | XHdcp1x |
This typedef contains an instance of an HDCP interface. More... | |
struct | XHdcp1x_PortPhyIfAdaptorS |
The typedef defines the HDCP port adaptor table. More... | |
Macros | |
#define | DRIVER_VERSION (0x00010023ul) |
This defines the version of the software driver. More... | |
#define | XHDCP1X_H |
< Prevent circular inclusions by using protection macros More... | |
#define | XHDCP1X_KSV_SIZE 5 |
Size of each hdcp 1.4 Public Key in bytes. More... | |
#define | XHDCP1X_RPTR_MAX_CASCADE 4 |
Maximum depth that the Repeater can support on the downstream interface. More... | |
#define | XHDCP1X_RPTR_MAX_DEVS_COUNT 32 |
Maximum devices that can be cascaded to the Repeater. More... | |
#define | XHdcp1x_SetCallBack XHdcp1x_SetCallback |
Alternative name for the function to set callback for HDCP functions. More... | |
#define | UNUSED(x) ((void)x) |
Used to remove warnings for unused variables. More... | |
#define | XHDCP1X_ADDITIONAL_DEBUG 0 |
Adds extra functions for additional debugging. More... | |
#define | XHDCP1X_CIPHER_H |
< Prevent circular inclusions by using protection macros More... | |
#define | HDCP1X_CIPHER_BIT_REPEATER_ENABLE (1 << 8) |
Bit in the cipher Bz register to indicate Repeater. More... | |
#define | XHDCP1X_DEBUG_H |
< Prevent circular inclusions by using protection macros More... | |
#define | XHDCP1X_DEBUG_PRINTF if (XHdcp1xDebugPrintf != NULL) XHdcp1xDebugPrintf |
Instance of the function interface used for debug print statements. More... | |
#define | XHDCP1X_DEBUG_LOGMSG if (XHdcp1xDebugLogMsg != NULL) XHdcp1xDebugLogMsg |
Instance of the function interface used for debug log messages. More... | |
#define | XHDCP1X_HW_H |
< Prevent circular inclusions by using protection macros More... | |
#define | XHDCP1X_CIPHER_REG_VERSION (0x0000u) |
Version register offset. More... | |
#define | XHDCP1X_CIPHER_REG_TYPE (0x0004u) |
Type register offset. More... | |
#define | XHDCP1X_CIPHER_REG_SCRATCH (0x0008u) |
Scratch pad register offset. More... | |
#define | XHDCP1X_CIPHER_REG_CONTROL (0x000Cu) |
Control register offset. More... | |
#define | XHDCP1X_CIPHER_REG_STATUS (0x0010u) |
Status register offset. More... | |
#define | XHDCP1X_CIPHER_REG_INTERRUPT_MASK (0x0014u) |
Interrupt Mask register offset. More... | |
#define | XHDCP1X_CIPHER_REG_INTERRUPT_STATUS (0x0018u) |
Interrupt Status register offset. More... | |
#define | XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_H (0x0020u) |
Encryption Enable (High) register offset. More... | |
#define | XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_L (0x0024u) |
Encryption Enable (Low) register offset. More... | |
#define | XHDCP1X_CIPHER_REG_KEYMGMT_CONTROL (0x002Cu) |
Key Management Control register offset. More... | |
#define | XHDCP1X_CIPHER_REG_KEYMGMT_STATUS (0x0030u) |
Key Management Status register offset. More... | |
#define | XHDCP1X_CIPHER_REG_KSV_LOCAL_H (0x0038u) |
Local KSV (High) register offset. More... | |
#define | XHDCP1X_CIPHER_REG_KSV_LOCAL_L (0x003Cu) |
Local KSV (Low) register offset. More... | |
#define | XHDCP1X_CIPHER_REG_KSV_REMOTE_H (0x0040u) |
Remote KSV (High) offset. More... | |
#define | XHDCP1X_CIPHER_REG_KSV_REMOTE_L (0x0044u) |
Remote KSV (Low) register offset. More... | |
#define | XHDCP1X_CIPHER_REG_Km_H (0x0048u) |
Km (High) register offset. More... | |
#define | XHDCP1X_CIPHER_REG_Km_L (0x004Cu) |
Km (Low) register offset. More... | |
#define | XHDCP1X_CIPHER_REG_CIPHER_CONTROL (0x0050u) |
Cipher Control register offset. More... | |
#define | XHDCP1X_CIPHER_REG_CIPHER_STATUS (0x0054u) |
Cipher Status register offset. More... | |
#define | XHDCP1X_CIPHER_REG_CIPHER_Bx (0x0058u) |
Cipher Bx register offset. More... | |
#define | XHDCP1X_CIPHER_REG_CIPHER_By (0x005Cu) |
Cipher By register offset. More... | |
#define | XHDCP1X_CIPHER_REG_CIPHER_Bz (0x0060u) |
Cipher Bz register offset. More... | |
#define | XHDCP1X_CIPHER_REG_CIPHER_Kx (0x0064u) |
Cipher Kx register offset. More... | |
#define | XHDCP1X_CIPHER_REG_CIPHER_Ky (0x0068u) |
Cipher Ky register offset. More... | |
#define | XHDCP1X_CIPHER_REG_CIPHER_Kz (0x006Cu) |
Cipher Kz register offset. More... | |
#define | XHDCP1X_CIPHER_REG_CIPHER_Mi_H (0x0070u) |
Cipher Mi (High) register offset. More... | |
#define | XHDCP1X_CIPHER_REG_CIPHER_Mi_L (0x0074u) |
Cipher Mi (Low) register offset. More... | |
#define | XHDCP1X_CIPHER_REG_CIPHER_Ri (0x0078u) |
Cipher Ri register offset. More... | |
#define | XHDCP1X_CIPHER_REG_CIPHER_Ro (0x007Cu) |
Cipher Ro register offset. More... | |
#define | XHDCP1X_CIPHER_REG_CIPHER_Mo_H (0x0080u) |
Cipher Mo (High) register offset. More... | |
#define | XHDCP1X_CIPHER_REG_CIPHER_Mo_L (0x0084u) |
Cipher Mo (Low) register offset. More... | |
#define | XHDCP1X_CIPHER_REG_BLANK_VALUE (0x00BCu) |
Cipher blank value register. More... | |
#define | XHDCP1X_CIPHER_REG_BLANK_SEL (0x00C0u) |
Cipher blank select register. More... | |
#define | XHDCP1X_CIPHER_BITMASK_TYPE_PROTOCOL (0x03u << 0) |
Protocol bitmask in Type register. More... | |
#define | XHDCP1X_CIPHER_BITMASK_TYPE_DIRECTION (0x01u << 2) |
Direction bitmask in Type register. More... | |
#define | XHDCP1X_CIPHER_BITMASK_CONTROL_ENABLE (0x01u << 0) |
Enable bitmask in Control register. More... | |
#define | XHDCP1X_CIPHER_BITMASK_CONTROL_UPDATE (0x01u << 1) |
Update bitmask in Control register. More... | |
#define | XHDCP1X_CIPHER_BITMASK_CONTROL_NUM_LANES (0x07u << 4) |
Num Lanes bitmask in Control register. More... | |
#define | XHDCP1X_CIPHER_BITMASK_CONTROL_RESET (0x01u << 31) |
Reset bitmask in Control register. More... | |
#define | XHDCP1X_CIPHER_BITMASK_INTERRUPT_LINK_FAIL (0x01u << 0) |
Link Failure bitmask in Interrupt register(s) More... | |
#define | XHDCP1X_CIPHER_BITMASK_INTERRUPT_Ri_UPDATE (0x01u << 1) |
Ri bitmask in Interrupt register(s) More... | |
#define | XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_LOCAL_KSV (0x01u << 0) |
Read Local KSV bitmask in Key Management Control register. More... | |
#define | XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_BEGIN_Km (0x01u << 1) |
Being Km bitmask in Key Management Control register. More... | |
#define | XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_ABORT_Km (0x01u << 2) |
Abort Km bitmask in Key Management Control register. More... | |
#define | XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_SET_SELECT (0x07u << 16) |
Key Set Select bitmask in Key Management Control register. More... | |
#define | XHDCP1X_CIPHER_BITMASK_KEYMGMT_STATUS_KSV_READY (0x01u << 0) |
Local KSV ready bitmask in Key Management Status register. More... | |
#define | XHDCP1X_CIPHER_BITMASK_KEYMGMT_STATUS_Km_READY (0x01u << 1) |
Km Value ready bitmask in Key Management Status register. More... | |
#define | XHDCP1X_CIPHER_BITMASK_CIPHER_CONTROL_XOR_ENABLE (0x01u << 0) |
XOR Enable bitmask in Cipher Control register. More... | |
#define | XHDCP1X_CIPHER_BITMASK_CIPHER_CONTROL_REQUEST (0x07u << 8) |
Request bitmask in Cipher Control register. More... | |
#define | XHDCP1X_CIPHER_BITMASK_CIPHER_STATUS_XOR_IN_PROG (0x01u << 0) |
XOR In Progress bitmask in Cipher Status register. More... | |
#define | XHDCP1X_CIPHER_BITMASK_CIPHER_STATUS_REQUEST_IN_PROG (0x07u << 8) |
Request In Progress bitmask in Cipher Status register. More... | |
#define | XHDCP1X_CIPHER_BITMASK_BLANK_VALUE (0x000000FF) |
Cipher blank value bitmask, lower 24 bits. More... | |
#define | XHDCP1X_CIPHER_BITMASK_BLANK_SEL (0x1u) |
Cipher blank select bitmask. More... | |
#define | XHDCP1X_CIPHER_VALUE_TYPE_PROTOCOL_DP (0x00u << 0) |
DP Protocol value in Type register. More... | |
#define | XHDCP1X_CIPHER_VALUE_TYPE_PROTOCOL_HDMI (0x01u << 0) |
HDMI Protocol value in Type register. More... | |
#define | XHDCP1X_CIPHER_VALUE_TYPE_DIRECTION_RX (0x00u << 2) |
RX Direction value in Type register. More... | |
#define | XHDCP1X_CIPHER_VALUE_TYPE_DIRECTION_TX (0x01u << 2) |
TX Direction value in Type register. More... | |
#define | XHDCP1X_CIPHER_VALUE_CIPHER_CONTROL_REQUEST_BLOCK (0x01u << 8) |
Block Request value in Cipher Control register. More... | |
#define | XHDCP1X_CIPHER_VALUE_CIPHER_CONTROL_REQUEST_REKEY (0x01u << 9) |
ReKey Request value in Cipher Control register. More... | |
#define | XHDCP1X_CIPHER_VALUE_CIPHER_CONTROL_REQUEST_RNG (0x01u << 10) |
RNG Request value in Cipher Control register. More... | |
#define | XHdcp1x_In32 Xil_In32 |
Input Operations. More... | |
#define | XHdcp1x_Out32 Xil_Out32 |
Output Operations. More... | |
#define | XHdcp1x_ReadReg(BaseAddress, RegOffset) XHdcp1x_In32((BaseAddress) + ((u32)RegOffset)) |
This macro reads a value from a HDCP cipher register. More... | |
#define | XHdcp1x_WriteReg(BaseAddress, RegOffset, Data) XHdcp1x_Out32((BaseAddress) + ((u32)RegOffset), (u32)(Data)) |
This macro writes a value to a HDCP cipher register. More... | |
#define | XHdcp1x_CipherIsEnabled(InstancePtr) |
This queries a cipher to determine if it is enabled. More... | |
#define | XHdcp1x_CipherXorInProgress(InstancePtr) |
This queries a cipher to determine if the XOR (encryption) function is currently in progress. More... | |
#define | XHdcp1x_CipherLocalKsvReady(InstancePtr) |
This queries a cipher to determine if the local KSV is ready to read. More... | |
#define | XHdcp1x_CipherKmReady(InstancePtr) |
This queries a cipher to determine if the Km value is ready. More... | |
#define | XHdcp1x_IsDP(InstancePtr) |
This macro checks if a core supports the Display Port protocol. More... | |
#define | XHdcp1x_IsHDMI(InstancePtr) |
This macro checks if a core supports the HDMI protocol. More... | |
#define | XHdcp1x_IsRX(InstancePtr) |
This macro checks if a core supports the receive direction. More... | |
#define | XHdcp1x_IsTX(InstancePtr) |
This macro checks if a core supports the transmit direction. More... | |
#define | XHDCP1X_PLATFORM_H |
< Prevent circular inclusions by using protection macros More... | |
#define | XHDCP1X_PORT_H |
< Prevent circular inclusions by using protection macros More... | |
#define | XHDCP1X_PORT_UINT_TO_BUF(buf, uint, numbits) |
This macro converts from an unsigned integer to a little endian formatted buffer. More... | |
#define | XHDCP1X_PORT_BUF_TO_UINT(uint, buf, numbits) |
This macro converts from a little endian formatted buffer to an unsigned integer value. More... | |
#define | XHDCP1X_PORT_BSET_IN_BUF(buf, bitnum) buf[(bitnum) >> 3] |= (1u << ((bitnum) & 0x07u)); |
This macro sets a bit within a little endian formatted buffer. More... | |
#define | XHDCP1X_PORT_BCLR_IN_BUF(buf, bitnum) buf[(bitnum) >> 3] &= ~(1u << ((bitnum) & 0x07u)); |
This macro clears a bit within a little endian formatted buffer. More... | |
#define | XHDCP1X_PORT_BTST_IN_BUF(buf, bitnum) (buf[(bitnum) >> 3] & (1u << ((bitnum) & 0x07u))) |
This macro tests a bit within a little endian formatted buffer. More... | |
#define | XHDCP1X_PORT_DP_H |
< Prevent circular inclusions by using protection macros More... | |
#define | XHDCP1X_PORT_OFFSET_BKSV (0x00u) |
These constants specify the offsets for the various fields and/or attributes within the hdcp port. More... | |
#define | XHDCP1X_PORT_OFFSET_RO (0x05u) |
R0' Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_AKSV (0x07u) |
Aksv Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_AN (0x0Cu) |
An Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_VH0 (0x14u) |
V'.H0 Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_VH1 (0x18u) |
V'.H1 Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_VH2 (0x1Cu) |
V'.H2 Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_VH3 (0x20u) |
V'.H3 Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_VH4 (0x24u) |
V'.H4 Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_BCAPS (0x28u) |
Bcaps Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_BSTATUS (0x29u) |
Bstatus Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_BINFO (0x2Au) |
Binfo Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_KSVFIFO (0x2Cu) |
KSV FIFO Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_AINFO (0x3Bu) |
Ainfo Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_DBG (0xC0u) |
Debug Space Offset. More... | |
#define | XHDCP1X_PORT_HDCP_RESET_KSV (0xD0u) |
KSV FIFO Read pointer reset Offset. More... | |
#define | XHDCP1X_PORT_SIZE_BKSV (0x05u) |
These constants specify the sizes for the various fields and/or attributes within the hdcp port. More... | |
#define | XHDCP1X_PORT_SIZE_RO (0x02u) |
R0' Size. More... | |
#define | XHDCP1X_PORT_SIZE_AKSV (0x05u) |
Aksv Size. More... | |
#define | XHDCP1X_PORT_SIZE_AN (0x08u) |
An Size. More... | |
#define | XHDCP1X_PORT_SIZE_VH0 (0x04u) |
V'.H0 Size. More... | |
#define | XHDCP1X_PORT_SIZE_VH1 (0x04u) |
V'.H1 Size. More... | |
#define | XHDCP1X_PORT_SIZE_VH2 (0x04u) |
V'.H2 Size. More... | |
#define | XHDCP1X_PORT_SIZE_VH3 (0x04u) |
V'.H3 Size. More... | |
#define | XHDCP1X_PORT_SIZE_VH4 (0x04u) |
V'.H4 Size. More... | |
#define | XHDCP1X_PORT_SIZE_BCAPS (0x01u) |
Bcaps Size. More... | |
#define | XHDCP1X_PORT_SIZE_BSTATUS (0x01u) |
Bstatus Size. More... | |
#define | XHDCP1X_PORT_SIZE_BINFO (0x02u) |
Binfo Size. More... | |
#define | XHDCP1X_PORT_SIZE_KSVFIFO (0x0Fu) |
KSV FIFO Size. More... | |
#define | XHDCP1X_PORT_SIZE_AINFO (0x01u) |
Ainfo Offset. More... | |
#define | XHDCP1X_PORT_SIZE_DBG (0x40u) |
Debug Space Size. More... | |
#define | XHDCP1X_PORT_SIZE_HDCP_RESET_KSV (0x40u) |
KSV FIFO pointer reset Size. More... | |
#define | XHDCP1X_PORT_BIT_BSTATUS_READY (1u << 0) |
These constants specify the bit definitions within the various fields and/or attributes within the hdcp port. More... | |
#define | XHDCP1X_PORT_BIT_BSTATUS_RO_AVAILABLE (1u << 1) |
BStatus Ro available Mask. More... | |
#define | XHDCP1X_PORT_BIT_BSTATUS_LINK_FAILURE (1u << 2) |
BStatus Link Failure Mask. More... | |
#define | XHDCP1X_PORT_BIT_BSTATUS_REAUTH_REQUEST (1u << 3) |
BStatus Reauth Request Mask. More... | |
#define | XHDCP1X_PORT_BIT_BCAPS_HDCP_CAPABLE (1u << 0) |
BCaps HDCP Capable Mask. More... | |
#define | XHDCP1X_PORT_BIT_BCAPS_REPEATER (1u << 1) |
BCaps HDCP Repeater Mask. More... | |
#define | XHDCP1X_PORT_BIT_AINFO_REAUTH_ENABLE_IRQ (1u << 0) |
Ainfo Reauth Enable Mask. More... | |
#define | XHDCP1X_PORT_HDCP_RESET_KSV_RST (1u << 0) |
KSV FIFO pointer Reset Mask. More... | |
#define | XHDCP1X_PORT_BINFO_BIT_DEV_CNT_ERR (1u << 7) |
BInfo Device Count Error Mask. More... | |
#define | XHDCP1X_PORT_BINFO_BIT_DEV_CNT_NO_ERR (0u << 7) |
BInfo Device Count for No Error Mask. More... | |
#define | XHDCP1X_PORT_BINFO_DEV_CNT_MASK (0x7F) |
BInfo Device Count Error Mask. More... | |
#define | XHDCP1X_PORT_BINFO_BIT_DEPTH_ERR (1u << 11) |
BInfo Depth Error Mask. More... | |
#define | XHDCP1X_PORT_BINFO_BIT_DEPTH_NO_ERR (0u << 11) |
BInfo Depth Error for No Error Mask. More... | |
#define | XHDCP1X_PORT_BINFO_DEV_CNT_ERR_SHIFT (7) |
BStatus Device Count Error Shift Mask. More... | |
#define | XHDCP1X_PORT_BINFO_DEPTH_ERR_SHIFT (11) |
BStatus Depth Error Shift Mask. More... | |
#define | XHDCP1X_PORT_BINFO_DEPTH_SHIFT (8) |
BInfo Device Count Error Mask. More... | |
#define | XHDCP1X_PORT_DPCD_BASE (0x68000u) |
This constant defines the base address of the hdcp port within the DPCD address space. More... | |
#define | XHDCP1X_PORT_HDMI_H |
< Prevent circular inclusions by using protection macros More... | |
#define | XHDCP1X_PORT_OFFSET_BKSV (0x00u) |
These constants specify the offsets for the various fields and/or attributes within the hdcp port. More... | |
#define | XHDCP1X_PORT_OFFSET_RO (0x08u) |
Ri'/Ro' Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_PJ (0x0Au) |
Pj' Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_AKSV (0x10u) |
Aksv Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_AINFO (0x15u) |
Ainfo Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_AN (0x18u) |
An Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_VH0 (0x20u) |
V'.H0 Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_VH1 (0x24u) |
V'.H1 Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_VH2 (0x28u) |
V'.H2 Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_VH3 (0x2Cu) |
V'.H3 Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_VH4 (0x30u) |
V'.H4 Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_BCAPS (0x40u) |
Bcaps Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_BSTATUS (0x41u) |
Bstatus Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_KSVFIFO (0x43u) |
KSV FIFO Offset. More... | |
#define | XHDCP1X_PORT_OFFSET_DBG (0xC0u) |
Debug Space Offset. More... | |
#define | XHDCP1X_PORT_SIZE_BKSV (0x05u) |
These constants specify the sizes for the various fields and/or attributes within the hdcp port. More... | |
#define | XHDCP1X_PORT_SIZE_RO (0x02u) |
Ri' Size. More... | |
#define | XHDCP1X_PORT_SIZE_PJ (0x01u) |
Pj' Size. More... | |
#define | XHDCP1X_PORT_SIZE_AKSV (0x05u) |
Aksv Size. More... | |
#define | XHDCP1X_PORT_SIZE_AINFO (0x01u) |
Ainfo Size. More... | |
#define | XHDCP1X_PORT_SIZE_AN (0x08u) |
An Size. More... | |
#define | XHDCP1X_PORT_SIZE_VH0 (0x04u) |
V'.H0 Size. More... | |
#define | XHDCP1X_PORT_SIZE_VH1 (0x04u) |
V'.H1 Size. More... | |
#define | XHDCP1X_PORT_SIZE_VH2 (0x04u) |
V'.H2 Size. More... | |
#define | XHDCP1X_PORT_SIZE_VH3 (0x04u) |
V'.H3 Size. More... | |
#define | XHDCP1X_PORT_SIZE_VH4 (0x04u) |
V'.H4 Size. More... | |
#define | XHDCP1X_PORT_SIZE_BCAPS (0x01u) |
Bcaps Size. More... | |
#define | XHDCP1X_PORT_SIZE_BSTATUS (0x02u) |
Bstatus Size. More... | |
#define | XHDCP1X_PORT_SIZE_KSVFIFO (0x01u) |
KSV FIFO Size. More... | |
#define | XHDCP1X_PORT_SIZE_DBG (0xC0u) |
Debug Space Size. More... | |
#define | XHDCP1X_PORT_BIT_BSTATUS_HDMI_MODE (1u << 12) |
These constants specify the bit definitions within the various fields and/or attributes within the hdcp port. More... | |
#define | XHDCP1X_PORT_BIT_BCAPS_FAST_REAUTH (1u << 0) |
BCaps Fast Reauth Mask. More... | |
#define | XHDCP1X_PORT_BIT_BCAPS_1d1_FEATURES (1u << 1) |
BCaps HDCP 1.1 Features Support Mask. More... | |
#define | XHDCP1X_PORT_BIT_BCAPS_FAST (1u << 4) |
BCaps Fast Transfers Mask. More... | |
#define | XHDCP1X_PORT_BIT_BCAPS_READY (1u << 5) |
BCaps KSV FIFO Ready bit Mask. More... | |
#define | XHDCP1X_PORT_BIT_BCAPS_REPEATER (1u << 6) |
BCaps Repeater Capable Mask. More... | |
#define | XHDCP1X_PORT_BIT_BCAPS_HDMI (1u << 7) |
BCaps HDMI Supported Mask. More... | |
#define | XHDCP1X_PORT_BIT_AINFO_ENABLE_1d1_FEATURES (1u << 1) |
AInfo Enable 1.1 Features. More... | |
#define | XHDCP1X_PORT_BSTATUS_BIT_DEV_CNT_ERR (1u << 7) |
BStatus Device Count Error Mask. More... | |
#define | XHDCP1X_PORT_BSTATUS_BIT_DEV_CNT_NO_ERR (0u << 7) |
BStatus Device Count for No Error Mask. More... | |
#define | XHDCP1X_PORT_BSTATUS_DEV_CNT_MASK (0x7F) |
BStatus Device Count Error Mask. More... | |
#define | XHDCP1X_PORT_BSTATUS_BIT_DEPTH_ERR (1u << 11) |
BStatus Depth Error Mask. More... | |
#define | XHDCP1X_PORT_BSTATUS_BIT_DEPTH_NO_ERR (0u << 11) |
BStatus Depth Error for No Error Mask. More... | |
#define | XHDCP1X_PORT_BSTATUS_DEV_CNT_ERR_SHIFT (7) |
BStatus Device Count Error Shift Mask. More... | |
#define | XHDCP1X_PORT_BSTATUS_DEPTH_ERR_SHIFT (11) |
BStatus Depth Error Shift Mask. More... | |
#define | XHDCP1X_PORT_BSTATUS_DEPTH_SHIFT (8) |
BStatus Device Count Error Mask. More... | |
#define | XHDCP1X_PORT_PRIMARY_I2C_ADDR (0x74u) |
This constant defines the i2c address of the hdcp port. More... | |
#define | XHDCP1X_PORT_SECONDARY_I2C_ADDR (0x76u) |
I2C Addr Secondary Link. More... | |
#define | XVPHY_FLAG_PHY_UP (1u << 0) |
Flag to track physical state. More... | |
#define | XVPHY_TMO_5MS (5u) |
Timeout value for 5ms. More... | |
#define | XVPHY_TMO_100MS (100u) |
Timeout value for 100ms. More... | |
#define | XVPHY_TMO_1SECOND (1000u) |
Timeout value for 1s. More... | |
#define | XHDCP1X_RX_H |
< Prevent circular inclusions by using protection macros More... | |
#define | XPAR_XHDCP_NUM_INSTANCES 0 |
Number of HDCP Instances. More... | |
#define | XVPHY_FLAG_PHY_UP (1u << 0) |
Flag to track physical state. More... | |
#define | XVPHY_FLAG_IS_REPEATER (1u << 1) |
Flag to track repeater state. More... | |
#define | XVPHY_TMO_5MS (5u) |
Timeout value for 5ms. More... | |
#define | XVPHY_TMO_100MS (100u) |
Timeout value for 100ms. More... | |
#define | XVPHY_TMO_1SECOND (1000u) |
Timeout value for 1s. More... | |
#define | XHDCP1X_MAX_BCAPS_RDY_POLL_CNT (55) |
Max times to poll on BCaps Ready bit at 100ms interval. More... | |
#define | XHDCP1X_TX_H |
< Prevent circular inclusions by using protection macros More... | |
Typedefs | |
typedef void(* | XHdcp1x_Callback )(void *CallbackRef) |
This typedef defines the callback interface that is to be used for interrupts within this driver. More... | |
typedef void(* | XHdcp1x_Printf )(const char *fmt,...) |
This typedef defines the function interface that is to be used for debug print statements within this driver. More... | |
typedef void(* | XHdcp1x_LogMsg )(const char *fmt,...) |
This typedef defines the function interface that is to be used for debug log message statements within this driver. More... | |
typedef int(* | XHdcp1x_RunDdcHandler )(u8 DeviceAddress, u16 ByteCount, u8 *BufferPtr, u8 Stop, void *RefPtr) |
Callback type used for calling DDC read and write functions. More... | |
typedef void(* | XHdcp1x_SetDdcHandler )(void *HandlerRef, u32 Data) |
This typedef defines the function interface that is to be used for setting the DDC handler for HDMI implementation of HDCP functionality over HDMI within this driver. More... | |
typedef u32(* | XHdcp1x_GetDdcHandler )(void *HandlerRef) |
This typedef defines the function interface that is to be used to get the DDC handler for implementation of HDCP functionality over HDMI within this driver. More... | |
typedef u64 | XHdcp1x_Ksv |
This typedef defines a memory to store a Key Selection Vector (KSV) More... | |
typedef struct XHdcp1x_PortStruct | XHdcp1x_Port |
This typedef contains an instance of the HDCP port. More... | |
typedef int(* | XHdcp1x_TimerStart )(void *InstancePtr, u16 TmoInMs) |
This typedef defines the function interface that is to be used for starting a one shot timer on behalf of an HDCP interface within the underlying platform. More... | |
typedef int(* | XHdcp1x_TimerStop )(void *InstancePtr) |
This typedef defines the function interface that is to be used for stopping a timer on behalf of an HDCP interface. More... | |
typedef int(* | XHdcp1x_TimerDelay )(void *InstancePtr, u16 DelayInMs) |
This typedef defines the function interface that is to be used for performing a busy delay on behalf of an HDCP interface. More... | |
typedef int(* | XHdcp1x_KsvRevokeCheck )(const XHdcp1x *InstancePtr, u64 Ksv) |
This typedef defines the function interface that is to be used for checking a specific KSV against the platforms revocation list. More... | |
typedef struct XHdcp1x_PortPhyIfAdaptorS | XHdcp1x_PortPhyIfAdaptor |
The typedef defines the HDCP port adaptor table. More... | |
Enumerations | |
enum | XHdcp1x_Rx_StateType |
This enumerates the State Types for HDCP Receiver state machine. More... | |
enum | XHdcp1x_Tx_StateType |
This enumerates the Event Types for HDCP Transmitter state machine. More... | |
enum | XHdcp1x_HandlerType |
These constants are used to identify callback functions. More... | |
enum | XHdcp1x_RepeaterStateMachineHandlerType |
This enumerates the call back for the HDCP Repeater Tx state machine. More... | |
enum | XHdcp1x_TopologyField |
These constants are used to identify fields inside the topology structure. More... | |
enum | XHdcp1x_PortHandlerType { XHDCP1X_PORT_HANDLER_AUTHENTICATE = 1 } |
This typedef defines the different types of handlers that can be registered to service interrupt requests from the HDCP port instance. More... | |
enum | XHdcp1x_EventType |
This enumerates the Event Types for HDCP Receiver state machine. More... | |
enum | XHdcp1x_StateType |
This enumerates the State Types for HDCP Receiver state machine. More... | |
enum | XHdcp1x_EventType |
This enumerates the Event Types for HDCP Transmitter state machine. More... | |
enum | XHdcp1x_StateType |
This enumerates the Event Types for HDCP Transmitter state machine. More... | |
Functions | |
int | XHdcp1x_CfgInitialize (XHdcp1x *InstancePtr, const XHdcp1x_Config *CfgPtr, void *PhyIfPtr, UINTPTR EffectiveAddr) |
This function retrieves the configuration for this HDCP instance and fills in the InstancePtr->Config structure. More... | |
int | XHdcp1x_Poll (XHdcp1x *InstancePtr) |
This function polls an HDCP interface. More... | |
int | XHdcp1x_DownstreamReady (XHdcp1x *InstancePtr) |
This function posts a DOWNSTREAMREADY event to an HDCP interface. More... | |
int | XHdcp1x_GetRepeaterInfo (XHdcp1x *InstancePtr, XHdcp1x_RepeaterExchange *RepeaterInfoPtr) |
This function copies the V'H0, V'H1, V'H2, V'H3, V'H4, KSVList and BInfo values in the HDCP RX HDCP Instance for Repeater validation . More... | |
int | XHdcp1x_SetRepeater (XHdcp1x *InstancePtr, u8 State) |
This function sets the Repeater functionality for an HDCP interface. More... | |
int | XHdcp1x_Reset (XHdcp1x *InstancePtr) |
This function resets an HDCP interface. More... | |
int | XHdcp1x_Enable (XHdcp1x *InstancePtr) |
This function enables an HDCP interface. More... | |
int | XHdcp1x_Disable (XHdcp1x *InstancePtr) |
This function disables an HDCP interface. More... | |
int | XHdcp1x_SetPhysicalState (XHdcp1x *InstancePtr, int IsUp) |
This function updates the state of the underlying physical interface. More... | |
int | XHdcp1x_SetLaneCount (XHdcp1x *InstancePtr, int LaneCount) |
This function sets the lane count of a hdcp interface. More... | |
int | XHdcp1x_Authenticate (XHdcp1x *InstancePtr) |
This function initiates authentication of an HDCP interface. More... | |
int | XHdcp1x_ReadDownstream (XHdcp1x *InstancePtr) |
This function initiates downstream read of READY bit and consequently the second part of Repeater authentication. More... | |
int | XHdcp1x_IsInProgress (const XHdcp1x *InstancePtr) |
This function queries an interface to determine if authentication is in progress. More... | |
int | XHdcp1x_IsAuthenticated (const XHdcp1x *InstancePtr) |
This function queries an interface to determine if it has successfully completed authentication. More... | |
int | XHdcp1x_IsInComputations (const XHdcp1x *InstancePtr) |
This function queries an interface to determine if it is in the state of computations or not. More... | |
int | XHdcp1x_IsInWaitforready (const XHdcp1x *InstancePtr) |
This function queries an interface to determine if it is in the wait-for-ready state or not. More... | |
int | XHdcp1x_IsDwnstrmCapable (const XHdcp1x *InstancePtr) |
This function queries the device connected to the downstream interface to determine if it supports hdcp or not. More... | |
int | XHdcp1x_IsEnabled (const XHdcp1x *InstancePtr) |
This function queries an interface to determine if it is enabled. More... | |
u64 | XHdcp1x_GetEncryption (const XHdcp1x *InstancePtr) |
This function retrieves the current encryption map of the video streams traversing an hdcp interface. More... | |
int | XHdcp1x_IsEncrypted (const XHdcp1x *InstancePtr) |
This function determines if the video stream is encrypted. More... | |
int | XHdcp1x_EnableEncryption (XHdcp1x *InstancePtr, u64 Map) |
This function enables encryption on a series of streams within an HDCP interface. More... | |
int | XHdcp1x_DisableEncryption (XHdcp1x *InstancePtr, u64 Map) |
This function disables encryption on a series of streams within an HDCP interface. More... | |
int | XHdcp1x_SetKeySelect (XHdcp1x *InstancePtr, u8 KeySelect) |
This function sets the key selection vector that is to be used by the HDCP cipher. More... | |
void | XHdcp1x_HandleTimeout (void *InstancePtr) |
This function handles a timeout on an HDCP interface. More... | |
void | XHdcp1x_SetDebugPrintf (XHdcp1x_Printf PrintfFunc) |
This function sets the debug printf function for the module. More... | |
void | XHdcp1x_SetDebugLogMsg (XHdcp1x_LogMsg LogFunc) |
This function sets the debug log message function for the module. More... | |
void | XHdcp1x_SetKsvRevokeCheck (XHdcp1x_KsvRevokeCheck RevokeCheckFunc) |
This function sets the KSV revocation list check function for the module. More... | |
void | XHdcp1x_SetTimerStart (XHdcp1x *InstancePtr, XHdcp1x_TimerStart TimerStartFunc) |
This function sets timer start function for the module. More... | |
void | XHdcp1x_SetTimerStop (XHdcp1x *InstancePtr, XHdcp1x_TimerStop TimerStopFunc) |
This function sets timer stop function for the module. More... | |
void | XHdcp1x_SetTimerDelay (XHdcp1x *InstancePtr, XHdcp1x_TimerDelay TimerDelayFunc) |
This function sets timer busy delay function for the module. More... | |
u32 | XHdcp1x_GetDriverVersion (void) |
This function retrieves the version of the HDCP driver software. More... | |
u32 | XHdcp1x_GetVersion (const XHdcp1x *InstancePtr) |
This function retrieves the cipher version of an HDCP interface. More... | |
void | XHdcp1x_Info (const XHdcp1x *InstancePtr) |
This function performs a debug display of an HDCP instance. More... | |
void | XHdcp1x_ProcessAKsv (XHdcp1x *InstancePtr) |
This function processes the AKsv. More... | |
void * | XHdcp1x_GetTopology (XHdcp1x *InstancePtr) |
This function returns a pointer to the downstream Topology structure. More... | |
void | XHdcp1x_DisableBlank (XHdcp1x *InstancePtr) |
This function disables the blank output for the cipher. More... | |
void | XHdcp1x_EnableBlank (XHdcp1x *InstancePtr) |
This function enables the blank output for the cipher. More... | |
u8 * | XHdcp1x_GetTopologyKSVList (XHdcp1x *InstancePtr) |
This function returns the value of KSV List read in the downstream interface of the repeater topology. More... | |
u8 * | XHdcp1x_GetTopologyBKSV (XHdcp1x *InstancePtr) |
This function returns the value of KSV of the device attached to the downstream interface of the repeater. More... | |
void | XHdcp1x_SetTopologyField (XHdcp1x *InstancePtr, XHdcp1x_TopologyField Field, u8 Value) |
This function is used to set various fields inside the topology structure. More... | |
u32 | XHdcp1x_GetTopologyField (XHdcp1x *InstancePtr, XHdcp1x_TopologyField Field) |
This function is used to get various fields inside the topology structure. More... | |
int | XHdcp1x_IsRepeater (XHdcp1x *InstancePtr) |
This function return if the HDCP interface is a repeater in case of Rx or is connected to a repeater in case of Tx. More... | |
void | XHdcp1x_SetTopology (XHdcp1x *InstancePtr, const XHdcp1x_RepeaterExchange *TopologyPtr) |
This function sets the RepeaterInfo value int the HDCP RX instance. More... | |
void | XHdcp1x_SetTopologyKSVList (XHdcp1x *InstancePtr, u8 *ListPtr, u32 ListSize) |
This function sets the KSVList value(s) in the HDCP RX KSV Fifo register space for the upstream interface to read. More... | |
void | XHdcp1x_SetTopologyUpdate (XHdcp1x *InstancePtr) |
This function does the necessary actions to update HDCP after the topology has been set. More... | |
void | XHdcp1x_SetHdmiMode (XHdcp1x *InstancePtr, u8 Value) |
This function set the HDMI_MODE in the BStatus register of the HDMI DDC space. More... | |
XHdcp1x_Config * | XHdcp1x_LookupConfig (u16 DeviceId) |
This function returns a reference to an XHdcp1x_Config structure based on specified device ID. More... | |
int | XHdcp1x_SelfTest (XHdcp1x *InstancePtr) |
This function self tests an HDCP interface. More... | |
int | XHdcp1x_SetCallback (XHdcp1x *InstancePtr, XHdcp1x_HandlerType HandlerType, void *CallbackFunc, void *CallbackRef) |
This function installs callback functions for the given HandlerType. More... | |
void | XHdcp1x_CipherIntrHandler (void *InstancePtr) |
This function is the cipher interrupt handler for the HDCP module. More... | |
void | XHdcp1x_PortIntrHandler (void *InstancePtr, u32 IntCause) |
This function is the port interrupt handler for the HDCP module. More... | |
void | XHdcp1x_CipherInit (XHdcp1x *InstancePtr) |
This function initializes an HDCP cipher. More... | |
int | XHdcp1x_CipherIsLinkUp (const XHdcp1x *InstancePtr) |
This function queries the link state of a cipher device. More... | |
int | XHdcp1x_CipherEnable (XHdcp1x *InstancePtr) |
This function enables a HDCP cipher. More... | |
int | XHdcp1x_CipherDisable (XHdcp1x *InstancePtr) |
This function disables a HDCP cipher. More... | |
int | XHdcp1x_CipherSetKeySelect (XHdcp1x *InstancePtr, u8 KeySelect) |
This function configures the key selection value. More... | |
int | XHdcp1x_CipherDoRequest (XHdcp1x *InstancePtr, XHdcp1x_CipherRequestType Request) |
This function initiates a request within the HDCP cipher. More... | |
int | XHdcp1x_CipherIsRequestComplete (const XHdcp1x *InstancePtr) |
This function queries the progress of the current request. More... | |
u32 | XHdcp1x_CipherGetNumLanes (const XHdcp1x *InstancePtr) |
This function retrieves the current number of lanes of the HDCP cipher. More... | |
int | XHdcp1x_CipherSetNumLanes (XHdcp1x *InstancePtr, u32 NumLanes) |
This function configures the number of lanes of the HDCP cipher. More... | |
u64 | XHdcp1x_CipherGetEncryption (const XHdcp1x *InstancePtr) |
This function retrieves the current encryption stream map. More... | |
int | XHdcp1x_CipherEnableEncryption (XHdcp1x *InstancePtr, u64 StreamMap) |
This function enables encryption on a set of streams. More... | |
int | XHdcp1x_CipherDisableEncryption (XHdcp1x *InstancePtr, u64 StreamMap) |
This function disables encryption on a set of streams. More... | |
u64 | XHdcp1x_CipherGetLocalKsv (const XHdcp1x *InstancePtr) |
This function reads the local KSV value from the cipher. More... | |
u64 | XHdcp1x_CipherGetRemoteKsv (const XHdcp1x *InstancePtr) |
This function reads the remote KSV value from the cipher. More... | |
int | XHdcp1x_CipherSetRemoteKsv (XHdcp1x *InstancePtr, u64 Ksv) |
This function writes the remote KSV value to the cipher. More... | |
int | XHdcp1x_CipherGetB (const XHdcp1x *InstancePtr, u32 *X, u32 *Y, u32 *Z) |
This function reads the contents of the B register in BM0. More... | |
int | XHdcp1x_CipherSetB (XHdcp1x *InstancePtr, u32 X, u32 Y, u32 Z) |
This function writes the contents of the B register in BM0. More... | |
int | XHdcp1x_CipherGetK (const XHdcp1x *InstancePtr, u32 *X, u32 *Y, u32 *Z) |
This function reads the contents of the K register in BM0. More... | |
int | XHdcp1x_CipherSetK (XHdcp1x *InstancePtr, u32 X, u32 Y, u32 Z) |
This function writes the contents of the K register in BM0. More... | |
u64 | XHdcp1x_CipherGetMi (const XHdcp1x *InstancePtr) |
This function reads the contents of the Mi/An register of BM0. More... | |
u16 | XHdcp1x_CipherGetRi (const XHdcp1x *InstancePtr) |
This function reads the contents of the Ri register of BM0. More... | |
u64 | XHdcp1x_CipherGetMo (const XHdcp1x *InstancePtr) |
This function reads the contents of the Mo register of the device. More... | |
u16 | XHdcp1x_CipherGetRo (const XHdcp1x *InstancePtr) |
This function reads the contents of the Ro register of the device. More... | |
u32 | XHdcp1x_CipherGetVersion (const XHdcp1x *InstancePtr) |
This function reads the version of the HDCP cipher core. More... | |
void | XHdcp1x_CipherEnableBlank (XHdcp1x *InstancePtr) |
This function sets the cipher blank value to 0x0000FF (blue), and sets the cipher blank select to TRUE. More... | |
void | XHdcp1x_CipherDisableBlank (XHdcp1x *InstancePtr) |
This function sets the cipher blank select to FALSE. More... | |
int | XHdcp1x_CipherSetCallback (XHdcp1x *InstancePtr, u32 HandlerType, XHdcp1x_Callback CallbackFunc, void *CallbackRef) |
This function installs an asynchronous callback function for the given HandlerType: More... | |
int | XHdcp1x_CipherSetLinkStateCheck (XHdcp1x *InstancePtr, int IsEnabled) |
This function enables/disables the reporting of link check state changes. More... | |
int | XHdcp1x_CipherSetRiUpdate (XHdcp1x *InstancePtr, int IsEnabled) |
This function enables/disables the reporting of Ri update notifications. More... | |
void | XHdcp1x_CipherHandleInterrupt (void *InstancePtr) |
This function is the interrupt handler for the cipher core driver. More... | |
int | XHdcp1x_PlatformIsKsvRevoked (const XHdcp1x *InstancePtr, u64 Ksv) |
This function checks a KSV value to determine if it has been revoked or not. More... | |
int | XHdcp1x_PlatformTimerStart (XHdcp1x *InstancePtr, u16 TimeoutInMs) |
This function starts a timer on behalf of an HDCP interface. More... | |
int | XHdcp1x_PlatformTimerStop (XHdcp1x *InstancePtr) |
This function stop a timer on behalf of an HDCP interface. More... | |
int | XHdcp1x_PlatformTimerBusy (XHdcp1x *InstancePtr, u16 DelayInMs) |
This function busy waits on a timer for a number of milliseconds. More... | |
const XHdcp1x_PortPhyIfAdaptor * | XHdcp1x_PortDetermineAdaptor (XHdcp1x *InstancePtr) |
This function determines the adaptor for a specified port device. More... | |
int | XHdcp1x_PortEnable (XHdcp1x *InstancePtr) |
This function enables a port device. More... | |
int | XHdcp1x_PortDisable (XHdcp1x *InstancePtr) |
This function disables a port device. More... | |
int | XHdcp1x_PortIsCapable (const XHdcp1x *InstancePtr) |
This function queries a port device to determine if hdcp is supported. More... | |
int | XHdcp1x_PortIsRepeater (const XHdcp1x *InstancePtr) |
This function queries a port device to determine if it is connected to a repeater. More... | |
int | XHdcp1x_PortSetRepeater (XHdcp1x *InstancePtr, u8 RptrConf) |
This function set the REPEATER information in the connected device. More... | |
int | XHdcp1x_PortGetRepeaterInfo (XHdcp1x *InstancePtr, u16 *InfoPtr) |
This function retrieves the repeater information from the connected device. More... | |
int | XHdcp1x_PortRead (const XHdcp1x *InstancePtr, u8 Offset, void *Buf, u32 BufSize) |
This function reads a register from a HDCP port device. More... | |
int | XHdcp1x_PortWrite (XHdcp1x *InstancePtr, u8 Offset, const void *Buf, u32 BufSize) |
This function writes a register within a HDCP port device. More... | |
int | XHdcp1x_PortSetCallback (XHdcp1x *InstancePtr, u32 HandlerType, XHdcp1x_Callback CallbackFunc, void *CallbackRef) |
This function installs an asynchronous callback function for the given HandlerType: More... | |
void | XHdcp1x_PortHandleInterrupt (XHdcp1x *InstancePtr, u32 IntCause) |
This handles an interrupt generated by a HDCP port device. More... | |
int | XHdcp1x_RxSetCallback (XHdcp1x *InstancePtr, XHdcp1x_HandlerType HandlerType, void *CallbackFunc, void *CallbackRef) |
This function installs callback functions for the given HandlerType: More... | |
void | XHdcp1x_RxInit (XHdcp1x *InstancePtr) |
This function initializes a HDCP receiver state machine. More... | |
int | XHdcp1x_RxPoll (XHdcp1x *InstancePtr) |
This function polls the HDCP receiver module. More... | |
int | XHdcp1x_RxSetRepeaterBcaps (XHdcp1x *InstancePtr, u8 IsRptr) |
This function set the REPEATER bit for the HDCP RX interface. More... | |
int | XHdcp1x_RxReset (XHdcp1x *InstancePtr) |
This function resets an HDCP interface. More... | |
int | XHdcp1x_RxEnable (XHdcp1x *InstancePtr) |
This function enables a HDCP receive interface. More... | |
int | XHdcp1x_RxDisable (XHdcp1x *InstancePtr) |
This function disables a HDCP receive interface. More... | |
int | XHdcp1x_RxIsEnabled (const XHdcp1x *InstancePtr) |
This function queries an interface to check if is enabled. More... | |
int | XHdcp1x_RxSetPhysicalState (XHdcp1x *InstancePtr, int IsUp) |
This function updates the physical state of an HDCP interface. More... | |
int | XHdcp1x_RxSetLaneCount (XHdcp1x *InstancePtr, int LaneCount) |
This function set the lane count of an hdcp interface. More... | |
int | XHdcp1x_RxDownstreamReady (XHdcp1x *InstancePtr) |
This function initiates downstream ready/ assemble ksv list on an interface. More... | |
int | XHdcp1x_RxAuthenticate (XHdcp1x *InstancePtr) |
This function initiates authentication on an interface. More... | |
int | XHdcp1x_RxIsInProgress (const XHdcp1x *InstancePtr) |
This function queries an interface to check if authentication is in progress. More... | |
int | XHdcp1x_RxIsAuthenticated (const XHdcp1x *InstancePtr) |
This function queries an interface to check if its been authenticated. More... | |
int | XHdcp1x_RxIsInComputations (const XHdcp1x *InstancePtr) |
This function queries an interface to check if its in the computations state. More... | |
int | XHdcp1x_RxIsInWaitforready (const XHdcp1x *InstancePtr) |
This function queries an interface to check if its in the wait-for-downstream-ready state. More... | |
u64 | XHdcp1x_RxGetEncryption (const XHdcp1x *InstancePtr) |
This function retrieves the current encryption stream map. More... | |
void | XHdcp1x_RxHandleTimeout (XHdcp1x *InstancePtr) |
This function handles a timeout on an HDCP interface. More... | |
int | XHdcp1x_RxInfo (const XHdcp1x *InstancePtr) |
This function implements the debug display output for receiver instances. More... | |
int | XHdcp1x_RxGetRepeaterInfo (XHdcp1x *InstancePtr, XHdcp1x_RepeaterExchange *RepeaterInfoPtr) |
This function copies the V'H0, V'H1, V'H2, V'H3, V'H4, KSVList and BInfo values in the HDCP RX HDCP Instance for Repeater validation . More... | |
void | XHdcp1x_RxSetTopologyUpdate (XHdcp1x *InstancePtr) |
This function does the necessary actions to update HDCP after the topology has been set. More... | |
void | XHdcp1x_RxSetTopology (XHdcp1x *InstancePtr, const XHdcp1x_RepeaterExchange *TopologyPtr) |
This function sets the RepeaterInfo value int the HDCP RX instance. More... | |
void | XHdcp1x_RxSetTopologyKSVList (XHdcp1x *InstancePtr, u8 *ListPtr, u32 ListSize) |
This function sets the KSVList value(s) in the HDCP RX KSV Fifo register space for the upstream interface to read. More... | |
void | XHdcp1x_RxSetTopologyDepth (XHdcp1x *InstancePtr, u32 Value) |
This function sets the Depth value in the HDCP RX BStatus/BInfo register space for the upstream interface to read. More... | |
void | XHdcp1x_RxSetTopologyDeviceCnt (XHdcp1x *InstancePtr, u32 Value) |
This function sets the DEVICE_COUNT value in the HDCP RX register space for the upstream interface to read. More... | |
void | XHdcp1x_RxSetTopologyMaxCascadeExceeded (XHdcp1x *InstancePtr, u8 Value) |
This function sets the MAX_CASCADE_EXCEEDED error flag in the HDCP BStatus/BInfo register to indicate a topology error. More... | |
void | XHdcp1x_RxSetTopologyMaxDevsExceeded (XHdcp1x *InstancePtr, u8 Value) |
This function sets the MAX_DEVS_EXCEEDED error flag in the HDCP BStatus register to indicate a topology error. More... | |
void | XHdcp1x_RxSetHdmiMode (XHdcp1x *InstancePtr, u8 Value) |
This function set the HDMI_MODE in the BStatus register of the HDMI RX DDC space. More... | |
int | XHdcp1x_TxSetCallback (XHdcp1x *InstancePtr, XHdcp1x_HandlerType HandlerType, void *CallbackFunc, void *CallbackRef) |
This function installs callback functions for the given HandlerType: More... | |
void | XHdcp1x_TxInit (XHdcp1x *InstancePtr) |
This function initializes a transmit state machine. More... | |
int | XHdcp1x_TxPoll (XHdcp1x *InstancePtr) |
This function polls an HDCP interface. More... | |
int | XHdcp1x_TxReset (XHdcp1x *InstancePtr) |
This function resets an HDCP interface. More... | |
int | XHdcp1x_TxEnable (XHdcp1x *InstancePtr) |
This function enables an HDCP interface. More... | |
int | XHdcp1x_TxDisable (XHdcp1x *InstancePtr) |
This function disables an HDCP interface. More... | |
int | XHdcp1x_TxIsEnabled (const XHdcp1x *InstancePtr) |
This function queries an interface to check if it is enabled. More... | |
int | XHdcp1x_TxSetPhysicalState (XHdcp1x *InstancePtr, int IsUp) |
This function updates the physical state of an HDCP interface. More... | |
int | XHdcp1x_TxSetLaneCount (XHdcp1x *InstancePtr, int LaneCount) |
This function set the lane count of an HDCP interface. More... | |
int | XHdcp1x_TxAuthenticate (XHdcp1x *InstancePtr) |
This function initiates authentication on an interface. More... | |
int | XHdcp1x_TxReadDownstream (XHdcp1x *InstancePtr) |
This function initiates the transmitter to read READY bit from downstream and complete second part of authentication. More... | |
int | XHdcp1x_TxIsInProgress (const XHdcp1x *InstancePtr) |
This function queries an interface to check if authentication is still in progress. More... | |
int | XHdcp1x_TxIsAuthenticated (const XHdcp1x *InstancePtr) |
This function queries an interface to check if its been authenticated. More... | |
int | XHdcp1x_TxIsInComputations (const XHdcp1x *InstancePtr) |
This function queries an interface to check if its in the computations state. More... | |
int | XHdcp1x_TxIsInWaitforready (const XHdcp1x *InstancePtr) |
This function queries an interface to check if its in the wait-for-ready state. More... | |
int | XHdcp1x_TxIsDownstrmCapable (const XHdcp1x *InstancePtr) |
This function queries the downstream device to check if the downstream device is HDCP capable. More... | |
u64 | XHdcp1x_TxGetEncryption (const XHdcp1x *InstancePtr) |
This function retrieves the current encryption stream map. More... | |
int | XHdcp1x_TxEnableEncryption (XHdcp1x *InstancePtr, u64 StreamMap) |
This function enables encryption on set of streams on an HDCP interface. More... | |
int | XHdcp1x_TxDisableEncryption (XHdcp1x *InstancePtr, u64 StreamMap) |
This function disables encryption on set of streams on an HDCP interface. More... | |
void | XHdcp1x_TxSetHdmiMode (XHdcp1x *InstancePtr, u8 Value) |
This set a flag that allows the hdcp1x drivers to determine if the transmitter is HDMI or DVI. More... | |
void | XHdcp1x_TxHandleTimeout (XHdcp1x *InstancePtr) |
This function handles a timeout on an HDCP interface. More... | |
int | XHdcp1x_TxIsRepeater (XHdcp1x *InstancePtr) |
This function returns if HDCP TX interface is connected to a downstream repeater. More... | |
int | XHdcp1x_TxInfo (const XHdcp1x *InstancePtr) |
This function implements the debug display output for transmit instances. More... | |
void | XHdcp1x_TxEnableBlank (XHdcp1x *InstancePtr) |
This function enables the blank output for the cipher. More... | |
void | XHdcp1x_TxDisableBlank (XHdcp1x *InstancePtr) |
This function disables the blank output for the cipher. More... | |
void | XHdcp1x_TxTriggerDownstreamAuth (void *Parameter) |
This function acts as the downstream authentication trigger callback for a Repeater state machine, to start the second part of authentication. More... | |
u8 * | XHdcp1x_TxGetTopologyKSVList (XHdcp1x *InstancePtr) |
This function returns the value of KSV List read in the downstream interface of the repeater topology. More... | |
u32 | XHdcp1x_TxGetTopologyDepth (XHdcp1x *InstancePtr) |
This function returns the value of Depth read in the downstream interface of the repeater topology. More... | |
u32 | XHdcp1x_TxGetTopologyDeviceCnt (XHdcp1x *InstancePtr) |
This function returns the value of Device Count read in the downstream interface of the repeater topology. More... | |
u32 | XHdcp1x_TxGetTopologyMaxCascadeExceeded (XHdcp1x *InstancePtr) |
This function returns the MAX_DEPTH_EXCEEDED flag in the repeater topology structure. More... | |
u8 * | XHdcp1x_TxGetTopologyBKSV (XHdcp1x *InstancePtr) |
This function returns the value of BKSV of the device connected to the repeater downstream interface. More... | |
u32 | XHdcp1x_TxGetTopologyMaxDevsExceeded (XHdcp1x *InstancePtr) |
This function returns the MAX_DEVICS_EXCEEDED flag in the repeater topology structure. More... | |
XHdcp1x_RepeaterExchange * | XHdcp1x_TxGetTopology (XHdcp1x *InstancePtr) |
This function returns a pointer to the downstream Topology structure. More... | |
Variables | |
XHdcp1x_Printf | XHdcp1xDebugPrintf = NULL |
Instance of function interface used for debug print statement. More... | |
XHdcp1x_LogMsg | XHdcp1xDebugLogMsg = NULL |
Instance of function interface used for debug log message statement. More... | |
XHdcp1x_KsvRevokeCheck | XHdcp1xKsvRevokeCheck = NULL |
Instance of function interface used for checking a specific KSV against the platforms revocation list. More... | |
XHdcp1x_Printf | XHdcp1xDebugPrintf |
Instance of function interface used for debug print statement. More... | |
XHdcp1x_LogMsg | XHdcp1xDebugLogMsg |
Instance of function interface used for debug log message statement. More... | |
XHdcp1x_KsvRevokeCheck | XHdcp1xKsvRevokeCheck |
Instance of function interface used for checking a specific KSV against the platforms revocation list. More... | |
XHdcp1x_Config | XHdcp1x_ConfigTable [] |
Instance of Lookup table of HDCP instance(s) in the design. More... | |
Handler Types | |
enum | XHdcp1x_CipherHandlerType |
These constants specify different types of handler and used to differentiate interrupt requests from peripheral. More... | |
Request Types | |
enum | XHdcp1x_CipherRequestType |
These constants specify different types of authentication requests that can be initiated within a peripheral. More... | |
#define DRIVER_VERSION (0x00010023ul) |
This defines the version of the software driver.
Referenced by XHdcp1x_GetDriverVersion().
#define HDCP1X_CIPHER_BIT_REPEATER_ENABLE (1 << 8) |
Bit in the cipher Bz register to indicate Repeater.
#define UNUSED | ( | x | ) | ((void)x) |
Used to remove warnings for unused variables.
Referenced by XHdcp1x_DisableEncryption(), XHdcp1x_EnableEncryption(), XHdcp1x_RxSetHdmiMode(), XHdcp1x_SetTopologyKSVList(), and XHdcp1x_TxSetHdmiMode().
#define XHDCP1X_ADDITIONAL_DEBUG 0 |
Adds extra functions for additional debugging.
#define XHDCP1X_CIPHER_BITMASK_BLANK_SEL (0x1u) |
Cipher blank select bitmask.
Referenced by XHdcp1x_CipherDisableBlank(), and XHdcp1x_CipherEnableBlank().
#define XHDCP1X_CIPHER_BITMASK_BLANK_VALUE (0x000000FF) |
Cipher blank value bitmask, lower 24 bits.
Referenced by XHdcp1x_CipherEnableBlank().
#define XHDCP1X_CIPHER_BITMASK_CIPHER_CONTROL_REQUEST (0x07u << 8) |
Request bitmask in Cipher Control register.
Referenced by XHdcp1x_CipherDoRequest().
#define XHDCP1X_CIPHER_BITMASK_CIPHER_CONTROL_XOR_ENABLE (0x01u << 0) |
XOR Enable bitmask in Cipher Control register.
Referenced by XHdcp1x_CipherDisable(), XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherEnable(), and XHdcp1x_CipherEnableEncryption().
#define XHDCP1X_CIPHER_BITMASK_CIPHER_STATUS_REQUEST_IN_PROG (0x07u << 8) |
Request In Progress bitmask in Cipher Status register.
Referenced by XHdcp1x_CipherDoRequest(), and XHdcp1x_CipherIsRequestComplete().
#define XHDCP1X_CIPHER_BITMASK_CIPHER_STATUS_XOR_IN_PROG (0x01u << 0) |
XOR In Progress bitmask in Cipher Status register.
#define XHDCP1X_CIPHER_BITMASK_CONTROL_ENABLE (0x01u << 0) |
Enable bitmask in Control register.
Referenced by XHdcp1x_CipherDisable(), and XHdcp1x_CipherEnable().
#define XHDCP1X_CIPHER_BITMASK_CONTROL_NUM_LANES (0x07u << 4) |
Num Lanes bitmask in Control register.
Referenced by XHdcp1x_CipherGetNumLanes(), XHdcp1x_CipherInit(), and XHdcp1x_CipherSetNumLanes().
#define XHDCP1X_CIPHER_BITMASK_CONTROL_RESET (0x01u << 31) |
Reset bitmask in Control register.
Referenced by XHdcp1x_CipherInit().
#define XHDCP1X_CIPHER_BITMASK_CONTROL_UPDATE (0x01u << 1) |
Update bitmask in Control register.
Referenced by XHdcp1x_CipherDisable(), XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherDoRequest(), XHdcp1x_CipherEnable(), XHdcp1x_CipherEnableEncryption(), XHdcp1x_CipherInit(), XHdcp1x_CipherSetB(), XHdcp1x_CipherSetK(), and XHdcp1x_CipherSetRemoteKsv().
#define XHDCP1X_CIPHER_BITMASK_INTERRUPT_LINK_FAIL (0x01u << 0) |
Link Failure bitmask in Interrupt register(s)
Referenced by XHdcp1x_CipherHandleInterrupt(), XHdcp1x_CipherIsLinkUp(), and XHdcp1x_CipherSetLinkStateCheck().
#define XHDCP1X_CIPHER_BITMASK_INTERRUPT_Ri_UPDATE (0x01u << 1) |
Ri bitmask in Interrupt register(s)
Referenced by XHdcp1x_CipherHandleInterrupt(), and XHdcp1x_CipherSetRiUpdate().
#define XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_ABORT_Km (0x01u << 2) |
Abort Km bitmask in Key Management Control register.
Referenced by XHdcp1x_CipherGetLocalKsv().
#define XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_BEGIN_Km (0x01u << 1) |
Being Km bitmask in Key Management Control register.
Referenced by XHdcp1x_CipherSetRemoteKsv().
#define XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_LOCAL_KSV (0x01u << 0) |
Read Local KSV bitmask in Key Management Control register.
Referenced by XHdcp1x_CipherGetLocalKsv().
#define XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_SET_SELECT (0x07u << 16) |
Key Set Select bitmask in Key Management Control register.
Referenced by XHdcp1x_CipherSetKeySelect().
#define XHDCP1X_CIPHER_BITMASK_KEYMGMT_STATUS_Km_READY (0x01u << 1) |
Km Value ready bitmask in Key Management Status register.
#define XHDCP1X_CIPHER_BITMASK_KEYMGMT_STATUS_KSV_READY (0x01u << 0) |
Local KSV ready bitmask in Key Management Status register.
Referenced by XHdcp1x_CipherGetLocalKsv().
#define XHDCP1X_CIPHER_BITMASK_TYPE_DIRECTION (0x01u << 2) |
Direction bitmask in Type register.
Referenced by XHdcp1x_CfgInitialize().
#define XHDCP1X_CIPHER_BITMASK_TYPE_PROTOCOL (0x03u << 0) |
Protocol bitmask in Type register.
Referenced by XHdcp1x_CfgInitialize().
#define XHDCP1X_CIPHER_H |
< Prevent circular inclusions by using protection macros
#define XHDCP1X_CIPHER_REG_BLANK_SEL (0x00C0u) |
Cipher blank select register.
Referenced by XHdcp1x_CipherDisableBlank(), and XHdcp1x_CipherEnableBlank().
#define XHDCP1X_CIPHER_REG_BLANK_VALUE (0x00BCu) |
Cipher blank value register.
Referenced by XHdcp1x_CipherEnableBlank().
#define XHDCP1X_CIPHER_REG_CIPHER_Bx (0x0058u) |
Cipher Bx register offset.
Referenced by XHdcp1x_CipherGetB(), and XHdcp1x_CipherSetB().
#define XHDCP1X_CIPHER_REG_CIPHER_By (0x005Cu) |
Cipher By register offset.
Referenced by XHdcp1x_CipherGetB(), and XHdcp1x_CipherSetB().
#define XHDCP1X_CIPHER_REG_CIPHER_Bz (0x0060u) |
Cipher Bz register offset.
Referenced by XHdcp1x_CipherGetB(), and XHdcp1x_CipherSetB().
#define XHDCP1X_CIPHER_REG_CIPHER_CONTROL (0x0050u) |
Cipher Control register offset.
Referenced by XHdcp1x_CipherDisable(), XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherDoRequest(), XHdcp1x_CipherEnable(), and XHdcp1x_CipherEnableEncryption().
#define XHDCP1X_CIPHER_REG_CIPHER_Kx (0x0064u) |
Cipher Kx register offset.
Referenced by XHdcp1x_CipherGetK(), and XHdcp1x_CipherSetK().
#define XHDCP1X_CIPHER_REG_CIPHER_Ky (0x0068u) |
Cipher Ky register offset.
Referenced by XHdcp1x_CipherGetK(), and XHdcp1x_CipherSetK().
#define XHDCP1X_CIPHER_REG_CIPHER_Kz (0x006Cu) |
Cipher Kz register offset.
Referenced by XHdcp1x_CipherGetK(), and XHdcp1x_CipherSetK().
#define XHDCP1X_CIPHER_REG_CIPHER_Mi_H (0x0070u) |
Cipher Mi (High) register offset.
Referenced by XHdcp1x_CipherGetMi().
#define XHDCP1X_CIPHER_REG_CIPHER_Mi_L (0x0074u) |
Cipher Mi (Low) register offset.
Referenced by XHdcp1x_CipherGetMi().
#define XHDCP1X_CIPHER_REG_CIPHER_Mo_H (0x0080u) |
Cipher Mo (High) register offset.
Referenced by XHdcp1x_CipherGetMo().
#define XHDCP1X_CIPHER_REG_CIPHER_Mo_L (0x0084u) |
Cipher Mo (Low) register offset.
Referenced by XHdcp1x_CipherGetMo().
#define XHDCP1X_CIPHER_REG_CIPHER_Ri (0x0078u) |
Cipher Ri register offset.
Referenced by XHdcp1x_CipherGetRi().
#define XHDCP1X_CIPHER_REG_CIPHER_Ro (0x007Cu) |
Cipher Ro register offset.
Referenced by XHdcp1x_CipherGetRo().
#define XHDCP1X_CIPHER_REG_CIPHER_STATUS (0x0054u) |
Cipher Status register offset.
Referenced by XHdcp1x_CipherDoRequest(), and XHdcp1x_CipherIsRequestComplete().
#define XHDCP1X_CIPHER_REG_CONTROL (0x000Cu) |
Control register offset.
Referenced by XHdcp1x_CipherDisable(), XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherDoRequest(), XHdcp1x_CipherEnable(), XHdcp1x_CipherEnableEncryption(), XHdcp1x_CipherGetNumLanes(), XHdcp1x_CipherInit(), XHdcp1x_CipherSetB(), XHdcp1x_CipherSetK(), XHdcp1x_CipherSetNumLanes(), and XHdcp1x_CipherSetRemoteKsv().
#define XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_H (0x0020u) |
Encryption Enable (High) register offset.
Referenced by XHdcp1x_CipherDisable(), XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherEnable(), XHdcp1x_CipherEnableEncryption(), and XHdcp1x_CipherGetEncryption().
#define XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_L (0x0024u) |
Encryption Enable (Low) register offset.
Referenced by XHdcp1x_CipherDisable(), XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherEnable(), XHdcp1x_CipherEnableEncryption(), and XHdcp1x_CipherGetEncryption().
#define XHDCP1X_CIPHER_REG_INTERRUPT_MASK (0x0014u) |
Interrupt Mask register offset.
Referenced by XHdcp1x_CipherDisable(), XHdcp1x_CipherInit(), XHdcp1x_CipherSetLinkStateCheck(), and XHdcp1x_CipherSetRiUpdate().
#define XHDCP1X_CIPHER_REG_INTERRUPT_STATUS (0x0018u) |
Interrupt Status register offset.
Referenced by XHdcp1x_CipherHandleInterrupt(), XHdcp1x_CipherInit(), XHdcp1x_CipherSetLinkStateCheck(), and XHdcp1x_CipherSetRiUpdate().
#define XHDCP1X_CIPHER_REG_KEYMGMT_CONTROL (0x002Cu) |
Key Management Control register offset.
Referenced by XHdcp1x_CipherGetLocalKsv(), XHdcp1x_CipherSetKeySelect(), and XHdcp1x_CipherSetRemoteKsv().
#define XHDCP1X_CIPHER_REG_KEYMGMT_STATUS (0x0030u) |
Key Management Status register offset.
Referenced by XHdcp1x_CipherGetLocalKsv().
#define XHDCP1X_CIPHER_REG_Km_H (0x0048u) |
Km (High) register offset.
#define XHDCP1X_CIPHER_REG_Km_L (0x004Cu) |
Km (Low) register offset.
#define XHDCP1X_CIPHER_REG_KSV_LOCAL_H (0x0038u) |
Local KSV (High) register offset.
Referenced by XHdcp1x_CipherGetLocalKsv().
#define XHDCP1X_CIPHER_REG_KSV_LOCAL_L (0x003Cu) |
Local KSV (Low) register offset.
Referenced by XHdcp1x_CipherGetLocalKsv().
#define XHDCP1X_CIPHER_REG_KSV_REMOTE_H (0x0040u) |
Remote KSV (High) offset.
Referenced by XHdcp1x_CipherGetRemoteKsv(), and XHdcp1x_CipherSetRemoteKsv().
#define XHDCP1X_CIPHER_REG_KSV_REMOTE_L (0x0044u) |
Remote KSV (Low) register offset.
Referenced by XHdcp1x_CipherGetRemoteKsv(), and XHdcp1x_CipherSetRemoteKsv().
#define XHDCP1X_CIPHER_REG_SCRATCH (0x0008u) |
Scratch pad register offset.
#define XHDCP1X_CIPHER_REG_STATUS (0x0010u) |
Status register offset.
Referenced by XHdcp1x_CipherIsLinkUp().
#define XHDCP1X_CIPHER_REG_TYPE (0x0004u) |
Type register offset.
Referenced by XHdcp1x_CfgInitialize().
#define XHDCP1X_CIPHER_REG_VERSION (0x0000u) |
Version register offset.
Referenced by XHdcp1x_CipherGetVersion(), and XHdcp1x_SelfTest().
#define XHDCP1X_CIPHER_VALUE_CIPHER_CONTROL_REQUEST_BLOCK (0x01u << 8) |
Block Request value in Cipher Control register.
Referenced by XHdcp1x_CipherDoRequest().
#define XHDCP1X_CIPHER_VALUE_CIPHER_CONTROL_REQUEST_REKEY (0x01u << 9) |
ReKey Request value in Cipher Control register.
#define XHDCP1X_CIPHER_VALUE_CIPHER_CONTROL_REQUEST_RNG (0x01u << 10) |
RNG Request value in Cipher Control register.
#define XHDCP1X_CIPHER_VALUE_TYPE_DIRECTION_RX (0x00u << 2) |
RX Direction value in Type register.
Referenced by XHdcp1x_CfgInitialize().
#define XHDCP1X_CIPHER_VALUE_TYPE_DIRECTION_TX (0x01u << 2) |
TX Direction value in Type register.
#define XHDCP1X_CIPHER_VALUE_TYPE_PROTOCOL_DP (0x00u << 0) |
DP Protocol value in Type register.
#define XHDCP1X_CIPHER_VALUE_TYPE_PROTOCOL_HDMI (0x01u << 0) |
HDMI Protocol value in Type register.
Referenced by XHdcp1x_CfgInitialize().
#define XHdcp1x_CipherIsEnabled | ( | InstancePtr | ) |
This queries a cipher to determine if it is enabled.
InstancePtr | is the instance to query. |
Referenced by XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherDoRequest(), XHdcp1x_CipherEnable(), XHdcp1x_CipherEnableEncryption(), XHdcp1x_CipherGetB(), XHdcp1x_CipherGetEncryption(), XHdcp1x_CipherGetK(), XHdcp1x_CipherGetLocalKsv(), XHdcp1x_CipherGetMi(), XHdcp1x_CipherGetMo(), XHdcp1x_CipherGetNumLanes(), XHdcp1x_CipherGetRi(), XHdcp1x_CipherGetRo(), XHdcp1x_CipherIsLinkUp(), XHdcp1x_CipherSetB(), XHdcp1x_CipherSetK(), and XHdcp1x_CipherSetRemoteKsv().
#define XHdcp1x_CipherKmReady | ( | InstancePtr | ) |
This queries a cipher to determine if the Km value is ready.
InstancePtr | is the instance to query. |
Referenced by XHdcp1x_CipherSetRemoteKsv().
#define XHdcp1x_CipherLocalKsvReady | ( | InstancePtr | ) |
This queries a cipher to determine if the local KSV is ready to read.
InstancePtr | is the instance to query. |
Referenced by XHdcp1x_CipherGetLocalKsv().
#define XHdcp1x_CipherXorInProgress | ( | InstancePtr | ) |
This queries a cipher to determine if the XOR (encryption) function is currently in progress.
InstancePtr | is the instance to query. |
Referenced by XHdcp1x_CipherEnableEncryption(), and XHdcp1x_CipherGetEncryption().
#define XHDCP1X_DEBUG_H |
< Prevent circular inclusions by using protection macros
#define XHDCP1X_DEBUG_LOGMSG if (XHdcp1xDebugLogMsg != NULL) XHdcp1xDebugLogMsg |
Instance of the function interface used for debug log messages.
#define XHDCP1X_DEBUG_PRINTF if (XHdcp1xDebugPrintf != NULL) XHdcp1xDebugPrintf |
Instance of the function interface used for debug print statements.
Referenced by XHdcp1x_GetTopology(), XHdcp1x_HandleTimeout(), XHdcp1x_Info(), XHdcp1x_IsRepeater(), XHdcp1x_RxInfo(), XHdcp1x_SetHdmiMode(), XHdcp1x_SetTopologyUpdate(), and XHdcp1x_TxInfo().
#define XHDCP1X_H |
< Prevent circular inclusions by using protection macros
#define XHDCP1X_HW_H |
< Prevent circular inclusions by using protection macros
#define XHdcp1x_In32 Xil_In32 |
Input Operations.
#define XHdcp1x_IsDP | ( | InstancePtr | ) |
This macro checks if a core supports the Display Port protocol.
InstancePtr | is a pointer to the XHdcp1x core instance. |
Referenced by XHdcp1x_CipherInit(), XHdcp1x_CipherSetLinkStateCheck(), and XHdcp1x_SelfTest().
#define XHdcp1x_IsHDMI | ( | InstancePtr | ) |
This macro checks if a core supports the HDMI protocol.
InstancePtr | is a pointer to the XHdcp1x core instance. |
Referenced by XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherSetNumLanes(), XHdcp1x_CipherSetRiUpdate(), and XHdcp1x_SelfTest().
#define XHdcp1x_IsRX | ( | InstancePtr | ) |
This macro checks if a core supports the receive direction.
InstancePtr | is a pointer to the XHdcp1x core instance. |
Referenced by XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherEnable(), XHdcp1x_CipherEnableEncryption(), XHdcp1x_CipherSetLinkStateCheck(), and XHdcp1x_SelfTest().
#define XHdcp1x_IsTX | ( | InstancePtr | ) |
This macro checks if a core supports the transmit direction.
InstancePtr | is a pointer to the XHdcp1x core instance. |
Referenced by XHdcp1x_SelfTest().
#define XHDCP1X_KSV_SIZE 5 |
Size of each hdcp 1.4 Public Key in bytes.
#define XHDCP1X_MAX_BCAPS_RDY_POLL_CNT (55) |
Max times to poll on BCaps Ready bit at 100ms interval.
#define XHdcp1x_Out32 Xil_Out32 |
Output Operations.
#define XHDCP1X_PLATFORM_H |
< Prevent circular inclusions by using protection macros
#define XHDCP1X_PORT_BCLR_IN_BUF | ( | buf, | |
bitnum | |||
) | buf[(bitnum) >> 3] &= ~(1u << ((bitnum) & 0x07u)); |
This macro clears a bit within a little endian formatted buffer.
buf | the buffer to write to |
bitnum | the bit to clear |
#define XHDCP1X_PORT_BINFO_BIT_DEPTH_ERR (1u << 11) |
BInfo Depth Error Mask.
Referenced by XHdcp1x_TxGetTopologyMaxCascadeExceeded().
#define XHDCP1X_PORT_BINFO_BIT_DEPTH_NO_ERR (0u << 11) |
BInfo Depth Error for No Error Mask.
#define XHDCP1X_PORT_BINFO_BIT_DEV_CNT_ERR (1u << 7) |
BInfo Device Count Error Mask.
Referenced by XHdcp1x_TxGetTopologyMaxDevsExceeded().
#define XHDCP1X_PORT_BINFO_BIT_DEV_CNT_NO_ERR (0u << 7) |
BInfo Device Count for No Error Mask.
#define XHDCP1X_PORT_BINFO_DEPTH_ERR_SHIFT (11) |
BStatus Depth Error Shift Mask.
Referenced by XHdcp1x_RxSetTopologyMaxCascadeExceeded().
#define XHDCP1X_PORT_BINFO_DEPTH_SHIFT (8) |
BInfo Device Count Error Mask.
#define XHDCP1X_PORT_BINFO_DEV_CNT_ERR_SHIFT (7) |
BStatus Device Count Error Shift Mask.
Referenced by XHdcp1x_RxSetTopologyMaxDevsExceeded().
#define XHDCP1X_PORT_BINFO_DEV_CNT_MASK (0x7F) |
BInfo Device Count Error Mask.
#define XHDCP1X_PORT_BIT_AINFO_ENABLE_1d1_FEATURES (1u << 1) |
AInfo Enable 1.1 Features.
#define XHDCP1X_PORT_BIT_AINFO_REAUTH_ENABLE_IRQ (1u << 0) |
Ainfo Reauth Enable Mask.
#define XHDCP1X_PORT_BIT_BCAPS_1d1_FEATURES (1u << 1) |
BCaps HDCP 1.1 Features Support Mask.
#define XHDCP1X_PORT_BIT_BCAPS_FAST (1u << 4) |
BCaps Fast Transfers Mask.
#define XHDCP1X_PORT_BIT_BCAPS_FAST_REAUTH (1u << 0) |
BCaps Fast Reauth Mask.
#define XHDCP1X_PORT_BIT_BCAPS_HDCP_CAPABLE (1u << 0) |
BCaps HDCP Capable Mask.
#define XHDCP1X_PORT_BIT_BCAPS_HDMI (1u << 7) |
BCaps HDMI Supported Mask.
#define XHDCP1X_PORT_BIT_BCAPS_READY (1u << 5) |
BCaps KSV FIFO Ready bit Mask.
#define XHDCP1X_PORT_BIT_BCAPS_REPEATER (1u << 6) |
BCaps Repeater Capable Mask.
#define XHDCP1X_PORT_BIT_BCAPS_REPEATER (1u << 1) |
BCaps HDCP Repeater Mask.
#define XHDCP1X_PORT_BIT_BSTATUS_HDMI_MODE (1u << 12) |
These constants specify the bit definitions within the various fields and/or attributes within the hdcp port.
BStatus HDMI Mode Mask
Referenced by XHdcp1x_RxSetHdmiMode().
#define XHDCP1X_PORT_BIT_BSTATUS_LINK_FAILURE (1u << 2) |
BStatus Link Failure Mask.
#define XHDCP1X_PORT_BIT_BSTATUS_READY (1u << 0) |
These constants specify the bit definitions within the various fields and/or attributes within the hdcp port.
BStatus Ready Mask
#define XHDCP1X_PORT_BIT_BSTATUS_REAUTH_REQUEST (1u << 3) |
BStatus Reauth Request Mask.
#define XHDCP1X_PORT_BIT_BSTATUS_RO_AVAILABLE (1u << 1) |
BStatus Ro available Mask.
#define XHDCP1X_PORT_BSET_IN_BUF | ( | buf, | |
bitnum | |||
) | buf[(bitnum) >> 3] |= (1u << ((bitnum) & 0x07u)); |
This macro sets a bit within a little endian formatted buffer.
buf | the buffer to write to |
bitnum | the bit to set |
#define XHDCP1X_PORT_BSTATUS_BIT_DEPTH_ERR (1u << 11) |
BStatus Depth Error Mask.
Referenced by XHdcp1x_TxGetTopologyMaxCascadeExceeded().
#define XHDCP1X_PORT_BSTATUS_BIT_DEPTH_NO_ERR (0u << 11) |
BStatus Depth Error for No Error Mask.
#define XHDCP1X_PORT_BSTATUS_BIT_DEV_CNT_ERR (1u << 7) |
BStatus Device Count Error Mask.
Referenced by XHdcp1x_TxGetTopologyMaxDevsExceeded().
#define XHDCP1X_PORT_BSTATUS_BIT_DEV_CNT_NO_ERR (0u << 7) |
BStatus Device Count for No Error Mask.
#define XHDCP1X_PORT_BSTATUS_DEPTH_ERR_SHIFT (11) |
BStatus Depth Error Shift Mask.
Referenced by XHdcp1x_RxSetTopologyMaxCascadeExceeded().
#define XHDCP1X_PORT_BSTATUS_DEPTH_SHIFT (8) |
BStatus Device Count Error Mask.
#define XHDCP1X_PORT_BSTATUS_DEV_CNT_ERR_SHIFT (7) |
BStatus Device Count Error Shift Mask.
Referenced by XHdcp1x_RxSetTopologyMaxDevsExceeded().
#define XHDCP1X_PORT_BSTATUS_DEV_CNT_MASK (0x7F) |
BStatus Device Count Error Mask.
#define XHDCP1X_PORT_BTST_IN_BUF | ( | buf, | |
bitnum | |||
) | (buf[(bitnum) >> 3] & (1u << ((bitnum) & 0x07u))) |
This macro tests a bit within a little endian formatted buffer.
buf | the buffer containing the bit to test |
bitnum | the bit to test |
#define XHDCP1X_PORT_BUF_TO_UINT | ( | uint, | |
buf, | |||
numbits | |||
) |
This macro converts from a little endian formatted buffer to an unsigned integer value.
uint | the unsigned integer to write |
buf | the buffer to convert |
numbits | the number of bits within the buffer to use |
Referenced by XHdcp1x_TxGetTopologyBKSV().
#define XHDCP1X_PORT_DP_H |
< Prevent circular inclusions by using protection macros
#define XHDCP1X_PORT_DPCD_BASE (0x68000u) |
This constant defines the base address of the hdcp port within the DPCD address space.
Base Addr in DPCD
#define XHDCP1X_PORT_H |
< Prevent circular inclusions by using protection macros
#define XHDCP1X_PORT_HDCP_RESET_KSV (0xD0u) |
KSV FIFO Read pointer reset Offset.
#define XHDCP1X_PORT_HDCP_RESET_KSV_RST (1u << 0) |
KSV FIFO pointer Reset Mask.
#define XHDCP1X_PORT_HDMI_H |
< Prevent circular inclusions by using protection macros
#define XHDCP1X_PORT_OFFSET_AINFO (0x15u) |
Ainfo Offset.
#define XHDCP1X_PORT_OFFSET_AINFO (0x3Bu) |
Ainfo Offset.
#define XHDCP1X_PORT_OFFSET_AKSV (0x10u) |
Aksv Offset.
#define XHDCP1X_PORT_OFFSET_AKSV (0x07u) |
Aksv Offset.
#define XHDCP1X_PORT_OFFSET_AN (0x18u) |
An Offset.
#define XHDCP1X_PORT_OFFSET_AN (0x0Cu) |
An Offset.
#define XHDCP1X_PORT_OFFSET_BCAPS (0x40u) |
Bcaps Offset.
#define XHDCP1X_PORT_OFFSET_BCAPS (0x28u) |
Bcaps Offset.
#define XHDCP1X_PORT_OFFSET_BINFO (0x2Au) |
#define XHDCP1X_PORT_OFFSET_BKSV (0x00u) |
These constants specify the offsets for the various fields and/or attributes within the hdcp port.
Bksv Offset
#define XHDCP1X_PORT_OFFSET_BKSV (0x00u) |
These constants specify the offsets for the various fields and/or attributes within the hdcp port.
Bksv Offset
Referenced by XHdcp1x_TxGetTopologyBKSV().
#define XHDCP1X_PORT_OFFSET_BSTATUS (0x41u) |
Bstatus Offset.
#define XHDCP1X_PORT_OFFSET_BSTATUS (0x29u) |
#define XHDCP1X_PORT_OFFSET_DBG (0xC0u) |
Debug Space Offset.
#define XHDCP1X_PORT_OFFSET_DBG (0xC0u) |
Debug Space Offset.
#define XHDCP1X_PORT_OFFSET_KSVFIFO (0x43u) |
KSV FIFO Offset.
#define XHDCP1X_PORT_OFFSET_KSVFIFO (0x2Cu) |
KSV FIFO Offset.
#define XHDCP1X_PORT_OFFSET_PJ (0x0Au) |
Pj' Offset.
#define XHDCP1X_PORT_OFFSET_RO (0x08u) |
Ri'/Ro' Offset.
#define XHDCP1X_PORT_OFFSET_RO (0x05u) |
R0' Offset.
#define XHDCP1X_PORT_OFFSET_VH0 (0x20u) |
V'.H0 Offset.
#define XHDCP1X_PORT_OFFSET_VH0 (0x14u) |
V'.H0 Offset.
#define XHDCP1X_PORT_OFFSET_VH1 (0x24u) |
V'.H1 Offset.
#define XHDCP1X_PORT_OFFSET_VH1 (0x18u) |
V'.H1 Offset.
#define XHDCP1X_PORT_OFFSET_VH2 (0x28u) |
V'.H2 Offset.
#define XHDCP1X_PORT_OFFSET_VH2 (0x1Cu) |
V'.H2 Offset.
#define XHDCP1X_PORT_OFFSET_VH3 (0x2Cu) |
V'.H3 Offset.
#define XHDCP1X_PORT_OFFSET_VH3 (0x20u) |
V'.H3 Offset.
#define XHDCP1X_PORT_OFFSET_VH4 (0x30u) |
V'.H4 Offset.
#define XHDCP1X_PORT_OFFSET_VH4 (0x24u) |
V'.H4 Offset.
#define XHDCP1X_PORT_PRIMARY_I2C_ADDR (0x74u) |
This constant defines the i2c address of the hdcp port.
I2C Addr Primary Link
#define XHDCP1X_PORT_SECONDARY_I2C_ADDR (0x76u) |
I2C Addr Secondary Link.
#define XHDCP1X_PORT_SIZE_AINFO (0x01u) |
Ainfo Size.
#define XHDCP1X_PORT_SIZE_AINFO (0x01u) |
Ainfo Offset.
#define XHDCP1X_PORT_SIZE_AKSV (0x05u) |
Aksv Size.
#define XHDCP1X_PORT_SIZE_AKSV (0x05u) |
Aksv Size.
#define XHDCP1X_PORT_SIZE_AN (0x08u) |
An Size.
#define XHDCP1X_PORT_SIZE_AN (0x08u) |
An Size.
#define XHDCP1X_PORT_SIZE_BCAPS (0x01u) |
Bcaps Size.
#define XHDCP1X_PORT_SIZE_BCAPS (0x01u) |
Bcaps Size.
#define XHDCP1X_PORT_SIZE_BINFO (0x02u) |
#define XHDCP1X_PORT_SIZE_BKSV (0x05u) |
These constants specify the sizes for the various fields and/or attributes within the hdcp port.
Bksv Size
#define XHDCP1X_PORT_SIZE_BKSV (0x05u) |
These constants specify the sizes for the various fields and/or attributes within the hdcp port.
Bksv Size
Referenced by XHdcp1x_RxSetTopologyKSVList(), and XHdcp1x_TxGetTopologyBKSV().
#define XHDCP1X_PORT_SIZE_BSTATUS (0x02u) |
Bstatus Size.
#define XHDCP1X_PORT_SIZE_BSTATUS (0x01u) |
#define XHDCP1X_PORT_SIZE_DBG (0xC0u) |
Debug Space Size.
#define XHDCP1X_PORT_SIZE_DBG (0x40u) |
Debug Space Size.
#define XHDCP1X_PORT_SIZE_HDCP_RESET_KSV (0x40u) |
KSV FIFO pointer reset Size.
#define XHDCP1X_PORT_SIZE_KSVFIFO (0x01u) |
KSV FIFO Size.
#define XHDCP1X_PORT_SIZE_KSVFIFO (0x0Fu) |
KSV FIFO Size.
#define XHDCP1X_PORT_SIZE_PJ (0x01u) |
Pj' Size.
#define XHDCP1X_PORT_SIZE_RO (0x02u) |
Ri' Size.
#define XHDCP1X_PORT_SIZE_RO (0x02u) |
R0' Size.
#define XHDCP1X_PORT_SIZE_VH0 (0x04u) |
V'.H0 Size.
#define XHDCP1X_PORT_SIZE_VH0 (0x04u) |
V'.H0 Size.
#define XHDCP1X_PORT_SIZE_VH1 (0x04u) |
V'.H1 Size.
#define XHDCP1X_PORT_SIZE_VH1 (0x04u) |
V'.H1 Size.
#define XHDCP1X_PORT_SIZE_VH2 (0x04u) |
V'.H2 Size.
#define XHDCP1X_PORT_SIZE_VH2 (0x04u) |
V'.H2 Size.
#define XHDCP1X_PORT_SIZE_VH3 (0x04u) |
V'.H3 Size.
#define XHDCP1X_PORT_SIZE_VH3 (0x04u) |
V'.H3 Size.
#define XHDCP1X_PORT_SIZE_VH4 (0x04u) |
V'.H4 Size.
#define XHDCP1X_PORT_SIZE_VH4 (0x04u) |
V'.H4 Size.
#define XHDCP1X_PORT_UINT_TO_BUF | ( | buf, | |
uint, | |||
numbits | |||
) |
This macro converts from an unsigned integer to a little endian formatted buffer.
buf | the buffer to write to |
uint | the unsigned integer to convert |
numbits | the number of bits within the unsigned integer to use |
#define XHdcp1x_ReadReg | ( | BaseAddress, | |
RegOffset | |||
) | XHdcp1x_In32((BaseAddress) + ((u32)RegOffset)) |
This macro reads a value from a HDCP cipher register.
A 32 bit read is always performed.
BaseAddress | is the base address of the HDCP cipher core instance. |
RegOffset | is the register offset of the register |
Referenced by XHdcp1x_CfgInitialize(), XHdcp1x_CipherDisable(), XHdcp1x_CipherDisableBlank(), XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherDoRequest(), XHdcp1x_CipherEnable(), XHdcp1x_CipherEnableBlank(), XHdcp1x_CipherEnableEncryption(), XHdcp1x_CipherGetB(), XHdcp1x_CipherGetEncryption(), XHdcp1x_CipherGetK(), XHdcp1x_CipherGetLocalKsv(), XHdcp1x_CipherGetMi(), XHdcp1x_CipherGetMo(), XHdcp1x_CipherGetNumLanes(), XHdcp1x_CipherGetRemoteKsv(), XHdcp1x_CipherGetRi(), XHdcp1x_CipherGetRo(), XHdcp1x_CipherGetVersion(), XHdcp1x_CipherHandleInterrupt(), XHdcp1x_CipherInit(), XHdcp1x_CipherIsLinkUp(), XHdcp1x_CipherIsRequestComplete(), XHdcp1x_CipherSetB(), XHdcp1x_CipherSetK(), XHdcp1x_CipherSetKeySelect(), XHdcp1x_CipherSetLinkStateCheck(), XHdcp1x_CipherSetNumLanes(), XHdcp1x_CipherSetRemoteKsv(), XHdcp1x_CipherSetRiUpdate(), and XHdcp1x_SelfTest().
#define XHDCP1X_RPTR_MAX_CASCADE 4 |
Maximum depth that the Repeater can support on the downstream interface.
#define XHDCP1X_RPTR_MAX_DEVS_COUNT 32 |
Maximum devices that can be cascaded to the Repeater.
#define XHDCP1X_RX_H |
< Prevent circular inclusions by using protection macros
#define XHdcp1x_SetCallBack XHdcp1x_SetCallback |
Alternative name for the function to set callback for HDCP functions.
#define XHDCP1X_TX_H |
< Prevent circular inclusions by using protection macros
#define XHdcp1x_WriteReg | ( | BaseAddress, | |
RegOffset, | |||
Data | |||
) | XHdcp1x_Out32((BaseAddress) + ((u32)RegOffset), (u32)(Data)) |
This macro writes a value to a HDCP cipher register.
A 32 bit write is always performed.
BaseAddress | is the base address of the HDCP cipher core instance. |
RegOffset | is the register offset of the register |
Data | is the 32-bit value to write into the register. |
Referenced by XHdcp1x_CipherDisable(), XHdcp1x_CipherDisableBlank(), XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherDoRequest(), XHdcp1x_CipherEnable(), XHdcp1x_CipherEnableBlank(), XHdcp1x_CipherEnableEncryption(), XHdcp1x_CipherGetLocalKsv(), XHdcp1x_CipherHandleInterrupt(), XHdcp1x_CipherInit(), XHdcp1x_CipherSetB(), XHdcp1x_CipherSetK(), XHdcp1x_CipherSetKeySelect(), XHdcp1x_CipherSetLinkStateCheck(), XHdcp1x_CipherSetNumLanes(), XHdcp1x_CipherSetRemoteKsv(), and XHdcp1x_CipherSetRiUpdate().
#define XPAR_XHDCP_NUM_INSTANCES 0 |
Number of HDCP Instances.
Referenced by XHdcp1x_LookupConfig().
#define XVPHY_FLAG_IS_REPEATER (1u << 1) |
Flag to track repeater state.
#define XVPHY_FLAG_PHY_UP (1u << 0) |
Flag to track physical state.
#define XVPHY_FLAG_PHY_UP (1u << 0) |
Flag to track physical state.
#define XVPHY_TMO_100MS (100u) |
Timeout value for 100ms.
#define XVPHY_TMO_100MS (100u) |
Timeout value for 100ms.
#define XVPHY_TMO_1SECOND (1000u) |
Timeout value for 1s.
#define XVPHY_TMO_1SECOND (1000u) |
Timeout value for 1s.
#define XVPHY_TMO_5MS (5u) |
Timeout value for 5ms.
#define XVPHY_TMO_5MS (5u) |
Timeout value for 5ms.
typedef void(* XHdcp1x_Callback)(void *CallbackRef) |
This typedef defines the callback interface that is to be used for interrupts within this driver.
typedef u32(* XHdcp1x_GetDdcHandler)(void *HandlerRef) |
This typedef defines the function interface that is to be used to get the DDC handler for implementation of HDCP functionality over HDMI within this driver.
typedef u64 XHdcp1x_Ksv |
This typedef defines a memory to store a Key Selection Vector (KSV)
typedef int(* XHdcp1x_KsvRevokeCheck)(const XHdcp1x *InstancePtr, u64 Ksv) |
This typedef defines the function interface that is to be used for checking a specific KSV against the platforms revocation list.
typedef void(* XHdcp1x_LogMsg)(const char *fmt,...) |
This typedef defines the function interface that is to be used for debug log message statements within this driver.
typedef struct XHdcp1x_PortStruct XHdcp1x_Port |
This typedef contains an instance of the HDCP port.
typedef struct XHdcp1x_PortPhyIfAdaptorS XHdcp1x_PortPhyIfAdaptor |
The typedef defines the HDCP port adaptor table.
This contains a series of functions that map the external interface of the HDCP port device to the underlying physical interface that it is running over
typedef void(* XHdcp1x_Printf)(const char *fmt,...) |
This typedef defines the function interface that is to be used for debug print statements within this driver.
typedef int(* XHdcp1x_RunDdcHandler)(u8 DeviceAddress, u16 ByteCount, u8 *BufferPtr, u8 Stop, void *RefPtr) |
Callback type used for calling DDC read and write functions.
DeviceAddress | is the (i2c) device address of the HDCP port. |
ByteCount | is the amount of data bytes in the buffer to read or write. |
BufferPtr | is a pointer to a buffer that is used for reading or writing. |
Stop | is a flag to control if a stop token is set or not. |
RefPtr | is a callback reference passed in by the upper layer when setting the DDC reading and writing functions, and passed back to the upper layer when the callback is invoked. |
typedef void(* XHdcp1x_SetDdcHandler)(void *HandlerRef, u32 Data) |
This typedef defines the function interface that is to be used for setting the DDC handler for HDMI implementation of HDCP functionality over HDMI within this driver.
typedef int(* XHdcp1x_TimerDelay)(void *InstancePtr, u16 DelayInMs) |
This typedef defines the function interface that is to be used for performing a busy delay on behalf of an HDCP interface.
typedef int(* XHdcp1x_TimerStart)(void *InstancePtr, u16 TmoInMs) |
This typedef defines the function interface that is to be used for starting a one shot timer on behalf of an HDCP interface within the underlying platform.
typedef int(* XHdcp1x_TimerStop)(void *InstancePtr) |
This typedef defines the function interface that is to be used for stopping a timer on behalf of an HDCP interface.
These constants specify different types of handler and used to differentiate interrupt requests from peripheral.
These constants specify different types of authentication requests that can be initiated within a peripheral.
enum XHdcp1x_EventType |
This enumerates the Event Types for HDCP Receiver state machine.
enum XHdcp1x_EventType |
This enumerates the Event Types for HDCP Transmitter state machine.
enum XHdcp1x_HandlerType |
These constants are used to identify callback functions.
This enumerates the call back for the HDCP Repeater Tx state machine.
enum XHdcp1x_Rx_StateType |
This enumerates the State Types for HDCP Receiver state machine.
enum XHdcp1x_StateType |
This enumerates the State Types for HDCP Receiver state machine.
enum XHdcp1x_StateType |
This enumerates the Event Types for HDCP Transmitter state machine.
These constants are used to identify fields inside the topology structure.
enum XHdcp1x_Tx_StateType |
This enumerates the Event Types for HDCP Transmitter state machine.
int XHdcp1x_Authenticate | ( | XHdcp1x * | InstancePtr | ) |
This function initiates authentication of an HDCP interface.
InstancePtr | is the interface to initiate authentication on. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxAuthenticate(), and XHdcp1x_TxAuthenticate().
int XHdcp1x_CfgInitialize | ( | XHdcp1x * | InstancePtr, |
const XHdcp1x_Config * | CfgPtr, | ||
void * | PhyIfPtr, | ||
UINTPTR | EffectiveAddr | ||
) |
This function retrieves the configuration for this HDCP instance and fills in the InstancePtr->Config structure.
InstancePtr | is the device whose adaptor is to be determined. |
CfgPtr | is the configuration of the instance. |
PhyIfPtr | is pointer to the underlying physical interface. |
EffectiveAddr | is the device base address in the virtual memory space. If the address translation is not used, then the physical address is passed. |
References XHdcp1x_PortStruct::Adaptor, XHdcp1x_Tx::AuthenticatedCallback, XHdcp1x_Rx::AuthenticatedCallback, XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHdcp1x_Rx::DdcGetDataCallback, XHdcp1x_Tx::DdcRead, XHdcp1x_Rx::DdcSetAddressCallback, XHdcp1x_Rx::DdcSetDataCallback, XHdcp1x_Tx::DdcWrite, XHdcp1x_Rx::EncryptionUpdateCallback, XHdcp1x_PortPhyIfAdaptorS::Init, XHdcp1x_Tx::IsAuthenticatedCallbackSet, XHdcp1x_Rx::IsAuthenticatedCallbackSet, XHdcp1x_Rx::IsDdcGetDataCallbackSet, XHdcp1x_Tx::IsDdcReadSet, XHdcp1x_Rx::IsDdcSetAddressCallbackSet, XHdcp1x_Rx::IsDdcSetDataCallbackSet, XHdcp1x_Tx::IsDdcWriteSet, XHdcp1x_Rx::IsEncryptionUpdateCallbackSet, XHdcp1x_Config::IsHDMI, XHdcp1x::IsReady, XHdcp1x_Rx::IsRepeaterDownstreamAuthCallbackSet, XHdcp1x_Tx::IsRepeaterExchangeCallbackSet, XHdcp1x_Config::IsRx, XHdcp1x_Rx::IsTopologyUpdateCallbackSet, XHdcp1x_Tx::IsUnauthenticatedCallbackSet, XHdcp1x_Rx::IsUnauthenticatedCallbackSet, XHdcp1x_PortStruct::PhyIfPtr, XHdcp1x::Port, XHdcp1x_Rx::RepeaterDownstreamAuthCallback, XHdcp1x_Tx::RepeaterExchangeCallback, XHdcp1x::Rx, XHdcp1x_Rx::TopologyUpdateCallback, XHdcp1x::Tx, XHdcp1x_Tx::UnauthenticatedCallback, XHdcp1x_Rx::UnauthenticatedCallback, XHDCP1X_CIPHER_BITMASK_TYPE_DIRECTION, XHDCP1X_CIPHER_BITMASK_TYPE_PROTOCOL, XHDCP1X_CIPHER_REG_TYPE, XHDCP1X_CIPHER_VALUE_TYPE_DIRECTION_RX, XHDCP1X_CIPHER_VALUE_TYPE_PROTOCOL_HDMI, XHdcp1x_CipherInit(), XHdcp1x_PortDetermineAdaptor(), XHdcp1x_ReadReg, XHdcp1x_RxInit(), and XHdcp1x_TxInit().
int XHdcp1x_CipherDisable | ( | XHdcp1x * | InstancePtr | ) |
This function disables a HDCP cipher.
InstancePtr | is the device to disable. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CIPHER_CONTROL_XOR_ENABLE, XHDCP1X_CIPHER_BITMASK_CONTROL_ENABLE, XHDCP1X_CIPHER_BITMASK_CONTROL_UPDATE, XHDCP1X_CIPHER_REG_CIPHER_CONTROL, XHDCP1X_CIPHER_REG_CONTROL, XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_H, XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_L, XHDCP1X_CIPHER_REG_INTERRUPT_MASK, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.
void XHdcp1x_CipherDisableBlank | ( | XHdcp1x * | InstancePtr | ) |
This function sets the cipher blank select to FALSE.
InstancePtr | is the device to query. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_BLANK_SEL, XHDCP1X_CIPHER_REG_BLANK_SEL, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.
Referenced by XHdcp1x_TxDisableBlank().
int XHdcp1x_CipherDisableEncryption | ( | XHdcp1x * | InstancePtr, |
u64 | StreamMap | ||
) |
This function disables encryption on a set of streams.
InstancePtr | is the device to configure. |
StreamMap | is the bit map of streams to disable encryption on. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CIPHER_CONTROL_XOR_ENABLE, XHDCP1X_CIPHER_BITMASK_CONTROL_UPDATE, XHDCP1X_CIPHER_REG_CIPHER_CONTROL, XHDCP1X_CIPHER_REG_CONTROL, XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_H, XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_L, XHdcp1x_CipherIsEnabled, XHdcp1x_IsHDMI, XHdcp1x_IsRX, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.
Referenced by XHdcp1x_TxDisableEncryption().
int XHdcp1x_CipherDoRequest | ( | XHdcp1x * | InstancePtr, |
XHdcp1x_CipherRequestType | Request | ||
) |
This function initiates a request within the HDCP cipher.
InstancePtr | is the device to submit the request to. |
Request | is the request to submit. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CIPHER_CONTROL_REQUEST, XHDCP1X_CIPHER_BITMASK_CIPHER_STATUS_REQUEST_IN_PROG, XHDCP1X_CIPHER_BITMASK_CONTROL_UPDATE, XHDCP1X_CIPHER_REG_CIPHER_CONTROL, XHDCP1X_CIPHER_REG_CIPHER_STATUS, XHDCP1X_CIPHER_REG_CONTROL, XHDCP1X_CIPHER_VALUE_CIPHER_CONTROL_REQUEST_BLOCK, XHdcp1x_CipherIsEnabled, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.
int XHdcp1x_CipherEnable | ( | XHdcp1x * | InstancePtr | ) |
This function enables a HDCP cipher.
InstancePtr | is the device to enable. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CIPHER_CONTROL_XOR_ENABLE, XHDCP1X_CIPHER_BITMASK_CONTROL_ENABLE, XHDCP1X_CIPHER_BITMASK_CONTROL_UPDATE, XHDCP1X_CIPHER_REG_CIPHER_CONTROL, XHDCP1X_CIPHER_REG_CONTROL, XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_H, XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_L, XHdcp1x_CipherIsEnabled, XHdcp1x_IsRX, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.
void XHdcp1x_CipherEnableBlank | ( | XHdcp1x * | InstancePtr | ) |
This function sets the cipher blank value to 0x0000FF (blue), and sets the cipher blank select to TRUE.
InstancePtr | is the device to query. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_BLANK_SEL, XHDCP1X_CIPHER_BITMASK_BLANK_VALUE, XHDCP1X_CIPHER_REG_BLANK_SEL, XHDCP1X_CIPHER_REG_BLANK_VALUE, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.
Referenced by XHdcp1x_TxEnableBlank().
int XHdcp1x_CipherEnableEncryption | ( | XHdcp1x * | InstancePtr, |
u64 | StreamMap | ||
) |
This function enables encryption on a set of streams.
InstancePtr | is the device to configure. |
StreamMap | is the bit map of streams to enable encryption on. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CIPHER_CONTROL_XOR_ENABLE, XHDCP1X_CIPHER_BITMASK_CONTROL_UPDATE, XHDCP1X_CIPHER_REG_CIPHER_CONTROL, XHDCP1X_CIPHER_REG_CONTROL, XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_H, XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_L, XHdcp1x_CipherIsEnabled, XHdcp1x_CipherXorInProgress, XHdcp1x_IsRX, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.
int XHdcp1x_CipherGetB | ( | const XHdcp1x * | InstancePtr, |
u32 * | X, | ||
u32 * | Y, | ||
u32 * | Z | ||
) |
This function reads the contents of the B register in BM0.
InstancePtr | is the device to query. |
X | is to be loaded with the contents of Bx. |
Y | is to be loaded with the contents of By. |
Z | is to be loaded with the contents of Bz. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_REG_CIPHER_Bx, XHDCP1X_CIPHER_REG_CIPHER_By, XHDCP1X_CIPHER_REG_CIPHER_Bz, XHdcp1x_CipherIsEnabled, and XHdcp1x_ReadReg.
u64 XHdcp1x_CipherGetEncryption | ( | const XHdcp1x * | InstancePtr | ) |
This function retrieves the current encryption stream map.
InstancePtr | is the device to query. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_H, XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_L, XHdcp1x_CipherIsEnabled, XHdcp1x_CipherXorInProgress, and XHdcp1x_ReadReg.
Referenced by XHdcp1x_RxGetEncryption().
int XHdcp1x_CipherGetK | ( | const XHdcp1x * | InstancePtr, |
u32 * | X, | ||
u32 * | Y, | ||
u32 * | Z | ||
) |
This function reads the contents of the K register in BM0.
InstancePtr | is the device to query. |
X | is to be loaded with the contents of Kx. |
Y | is to be loaded with the contents of Ky. |
Z | is to be loaded with the contents of Kz. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_REG_CIPHER_Kx, XHDCP1X_CIPHER_REG_CIPHER_Ky, XHDCP1X_CIPHER_REG_CIPHER_Kz, XHdcp1x_CipherIsEnabled, and XHdcp1x_ReadReg.
u64 XHdcp1x_CipherGetLocalKsv | ( | const XHdcp1x * | InstancePtr | ) |
This function reads the local KSV value from the cipher.
InstancePtr | is the device to query. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_ABORT_Km, XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_LOCAL_KSV, XHDCP1X_CIPHER_BITMASK_KEYMGMT_STATUS_KSV_READY, XHDCP1X_CIPHER_REG_KEYMGMT_CONTROL, XHDCP1X_CIPHER_REG_KEYMGMT_STATUS, XHDCP1X_CIPHER_REG_KSV_LOCAL_H, XHDCP1X_CIPHER_REG_KSV_LOCAL_L, XHdcp1x_CipherIsEnabled, XHdcp1x_CipherLocalKsvReady, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.
Referenced by XHdcp1x_CipherSetRemoteKsv(), XHdcp1x_RxInfo(), and XHdcp1x_TxInfo().
u64 XHdcp1x_CipherGetMi | ( | const XHdcp1x * | InstancePtr | ) |
This function reads the contents of the Mi/An register of BM0.
InstancePtr | is the device to query. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_REG_CIPHER_Mi_H, XHDCP1X_CIPHER_REG_CIPHER_Mi_L, XHdcp1x_CipherIsEnabled, and XHdcp1x_ReadReg.
u64 XHdcp1x_CipherGetMo | ( | const XHdcp1x * | InstancePtr | ) |
This function reads the contents of the Mo register of the device.
InstancePtr | is the device to query. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_REG_CIPHER_Mo_H, XHDCP1X_CIPHER_REG_CIPHER_Mo_L, XHdcp1x_CipherIsEnabled, and XHdcp1x_ReadReg.
u32 XHdcp1x_CipherGetNumLanes | ( | const XHdcp1x * | InstancePtr | ) |
This function retrieves the current number of lanes of the HDCP cipher.
InstancePtr | is the device to query. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CONTROL_NUM_LANES, XHDCP1X_CIPHER_REG_CONTROL, XHdcp1x_CipherIsEnabled, and XHdcp1x_ReadReg.
u64 XHdcp1x_CipherGetRemoteKsv | ( | const XHdcp1x * | InstancePtr | ) |
This function reads the remote KSV value from the cipher.
InstancePtr | is the device to query. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_REG_KSV_REMOTE_H, XHDCP1X_CIPHER_REG_KSV_REMOTE_L, and XHdcp1x_ReadReg.
u16 XHdcp1x_CipherGetRi | ( | const XHdcp1x * | InstancePtr | ) |
This function reads the contents of the Ri register of BM0.
InstancePtr | is the device to query. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_REG_CIPHER_Ri, XHdcp1x_CipherIsEnabled, and XHdcp1x_ReadReg.
u16 XHdcp1x_CipherGetRo | ( | const XHdcp1x * | InstancePtr | ) |
This function reads the contents of the Ro register of the device.
InstancePtr | is the device to query. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_REG_CIPHER_Ro, XHdcp1x_CipherIsEnabled, and XHdcp1x_ReadReg.
u32 XHdcp1x_CipherGetVersion | ( | const XHdcp1x * | InstancePtr | ) |
This function reads the version of the HDCP cipher core.
InstancePtr | is the device to query. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_REG_VERSION, and XHdcp1x_ReadReg.
Referenced by XHdcp1x_GetVersion(), XHdcp1x_RxInfo(), and XHdcp1x_TxInfo().
void XHdcp1x_CipherHandleInterrupt | ( | void * | InstancePtr | ) |
This function is the interrupt handler for the cipher core driver.
InstancePtr | is the cipher core instance. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Cipher, XHdcp1x::Config, XHdcp1x_CipherStats::IntCount, XHdcp1x_Cipher::IsLinkFailCallbackSet, XHdcp1x::IsReady, XHdcp1x_Cipher::IsRiUpdateCallbackSet, XHdcp1x_Cipher::LinkFailCallback, XHdcp1x_Cipher::LinkFailRef, XHdcp1x_Cipher::RiUpdateCallback, XHdcp1x_Cipher::RiUpdateRef, XHdcp1x_Cipher::Stats, XHDCP1X_CIPHER_BITMASK_INTERRUPT_LINK_FAIL, XHDCP1X_CIPHER_BITMASK_INTERRUPT_Ri_UPDATE, XHDCP1X_CIPHER_REG_INTERRUPT_STATUS, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.
Referenced by XHdcp1x_CipherIntrHandler().
void XHdcp1x_CipherInit | ( | XHdcp1x * | InstancePtr | ) |
This function initializes an HDCP cipher.
InstancePtr | is the device to initialize. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CONTROL_NUM_LANES, XHDCP1X_CIPHER_BITMASK_CONTROL_RESET, XHDCP1X_CIPHER_BITMASK_CONTROL_UPDATE, XHDCP1X_CIPHER_REG_CONTROL, XHDCP1X_CIPHER_REG_INTERRUPT_MASK, XHDCP1X_CIPHER_REG_INTERRUPT_STATUS, XHdcp1x_IsDP, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.
Referenced by XHdcp1x_CfgInitialize().
void XHdcp1x_CipherIntrHandler | ( | void * | InstancePtr | ) |
This function is the cipher interrupt handler for the HDCP module.
InstancePtr | is the device instance that just interrupted. |
References XHdcp1x::IsReady, and XHdcp1x_CipherHandleInterrupt().
int XHdcp1x_CipherIsLinkUp | ( | const XHdcp1x * | InstancePtr | ) |
This function queries the link state of a cipher device.
InstancePtr | is the device to query. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_INTERRUPT_LINK_FAIL, XHDCP1X_CIPHER_REG_STATUS, XHdcp1x_CipherIsEnabled, and XHdcp1x_ReadReg.
int XHdcp1x_CipherIsRequestComplete | ( | const XHdcp1x * | InstancePtr | ) |
This function queries the progress of the current request.
InstancePtr | is the device to query. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CIPHER_STATUS_REQUEST_IN_PROG, XHDCP1X_CIPHER_REG_CIPHER_STATUS, and XHdcp1x_ReadReg.
int XHdcp1x_CipherSetB | ( | XHdcp1x * | InstancePtr, |
u32 | X, | ||
u32 | Y, | ||
u32 | Z | ||
) |
This function writes the contents of the B register in BM0.
InstancePtr | is the device to write to. |
X | is the value to be written to Bx. |
Y | is the value to be written to By. |
Z | is the value to be written to Bz. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CONTROL_UPDATE, XHDCP1X_CIPHER_REG_CIPHER_Bx, XHDCP1X_CIPHER_REG_CIPHER_By, XHDCP1X_CIPHER_REG_CIPHER_Bz, XHDCP1X_CIPHER_REG_CONTROL, XHdcp1x_CipherIsEnabled, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.
int XHdcp1x_CipherSetCallback | ( | XHdcp1x * | InstancePtr, |
u32 | HandlerType, | ||
XHdcp1x_Callback | CallbackFunc, | ||
void * | CallbackRef | ||
) |
This function installs an asynchronous callback function for the given HandlerType:
HandlerType Callback Function Type ----------------------------------- ----------------------------------- (XHDCP1X_CIPHER_HANDLER_LINK_FAILURE) LinkFailCallback (XHDCP1X_CIPHER_HANDLER_Ri_UPDATE) RiUpdateCallback
InstancePtr | is a pointer to the HDCP cipher core instance. |
HandlerType | specifies the type of handler. |
CallbackFunc | is the address of the callback function. |
CallbackRef | is a user data item that will be passed to the callback function when it is invoked. |
References XHdcp1x::Cipher, XHdcp1x_Cipher::IsLinkFailCallbackSet, XHdcp1x_Cipher::IsRiUpdateCallbackSet, XHdcp1x_Cipher::LinkFailCallback, XHdcp1x_Cipher::LinkFailRef, XHdcp1x_Cipher::RiUpdateCallback, and XHdcp1x_Cipher::RiUpdateRef.
int XHdcp1x_CipherSetK | ( | XHdcp1x * | InstancePtr, |
u32 | X, | ||
u32 | Y, | ||
u32 | Z | ||
) |
This function writes the contents of the K register in BM0.
InstancePtr | is the device to write to. |
X | is the value to be written to Kx. |
Y | is the value to be written to Ky. |
Z | is the value to be written to Kz. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CONTROL_UPDATE, XHDCP1X_CIPHER_REG_CIPHER_Kx, XHDCP1X_CIPHER_REG_CIPHER_Ky, XHDCP1X_CIPHER_REG_CIPHER_Kz, XHDCP1X_CIPHER_REG_CONTROL, XHdcp1x_CipherIsEnabled, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.
int XHdcp1x_CipherSetKeySelect | ( | XHdcp1x * | InstancePtr, |
u8 | KeySelect | ||
) |
This function configures the key selection value.
InstancePtr | is the device to configure. |
KeySelect | is the desired key select value. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_SET_SELECT, XHDCP1X_CIPHER_REG_KEYMGMT_CONTROL, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.
Referenced by XHdcp1x_SetKeySelect().
int XHdcp1x_CipherSetLinkStateCheck | ( | XHdcp1x * | InstancePtr, |
int | IsEnabled | ||
) |
This function enables/disables the reporting of link check state changes.
InstancePtr | is the cipher core instance. |
IsEnabled | enables/disables link state change notifications. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_INTERRUPT_LINK_FAIL, XHDCP1X_CIPHER_REG_INTERRUPT_MASK, XHDCP1X_CIPHER_REG_INTERRUPT_STATUS, XHdcp1x_IsDP, XHdcp1x_IsRX, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.
int XHdcp1x_CipherSetNumLanes | ( | XHdcp1x * | InstancePtr, |
u32 | NumLanes | ||
) |
This function configures the number of lanes of the HDCP cipher.
InstancePtr | is the device to configure. |
NumLanes | is the number of lanes to configure. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CONTROL_NUM_LANES, XHDCP1X_CIPHER_REG_CONTROL, XHdcp1x_IsHDMI, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.
Referenced by XHdcp1x_RxSetLaneCount(), and XHdcp1x_TxSetLaneCount().
int XHdcp1x_CipherSetRemoteKsv | ( | XHdcp1x * | InstancePtr, |
u64 | Ksv | ||
) |
This function writes the remote KSV value to the cipher.
InstancePtr | is the device to write to. |
Ksv | is the remote KSV value to write. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CONTROL_UPDATE, XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_BEGIN_Km, XHDCP1X_CIPHER_REG_CONTROL, XHDCP1X_CIPHER_REG_KEYMGMT_CONTROL, XHDCP1X_CIPHER_REG_KSV_REMOTE_H, XHDCP1X_CIPHER_REG_KSV_REMOTE_L, XHdcp1x_CipherGetLocalKsv(), XHdcp1x_CipherIsEnabled, XHdcp1x_CipherKmReady, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.
int XHdcp1x_CipherSetRiUpdate | ( | XHdcp1x * | InstancePtr, |
int | IsEnabled | ||
) |
This function enables/disables the reporting of Ri update notifications.
InstancePtr | is the cipher core instance. |
IsEnabled | enables/disables Ri update notifications. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_INTERRUPT_Ri_UPDATE, XHDCP1X_CIPHER_REG_INTERRUPT_MASK, XHDCP1X_CIPHER_REG_INTERRUPT_STATUS, XHdcp1x_IsHDMI, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.
int XHdcp1x_Disable | ( | XHdcp1x * | InstancePtr | ) |
This function disables an HDCP interface.
InstancePtr | is the interface to disable. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxDisable(), and XHdcp1x_TxDisable().
void XHdcp1x_DisableBlank | ( | XHdcp1x * | InstancePtr | ) |
This function disables the blank output for the cipher.
InstancePtr | is a pointer to the XHdcp14 core instance. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, and XHdcp1x_TxDisableBlank().
int XHdcp1x_DisableEncryption | ( | XHdcp1x * | InstancePtr, |
u64 | Map | ||
) |
This function disables encryption on a series of streams within an HDCP interface.
InstancePtr | is the interface to configure. |
Map | is the stream map to disable encryption on. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, UNUSED, and XHdcp1x_TxDisableEncryption().
int XHdcp1x_DownstreamReady | ( | XHdcp1x * | InstancePtr | ) |
This function posts a DOWNSTREAMREADY event to an HDCP interface.
InstancePtr | is the interface to reset. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, and XHdcp1x_RxDownstreamReady().
int XHdcp1x_Enable | ( | XHdcp1x * | InstancePtr | ) |
This function enables an HDCP interface.
InstancePtr | is the interface to enable. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxEnable(), and XHdcp1x_TxEnable().
void XHdcp1x_EnableBlank | ( | XHdcp1x * | InstancePtr | ) |
This function enables the blank output for the cipher.
InstancePtr | is a pointer to the XHdcp14 core instance. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, and XHdcp1x_TxEnableBlank().
int XHdcp1x_EnableEncryption | ( | XHdcp1x * | InstancePtr, |
u64 | Map | ||
) |
This function enables encryption on a series of streams within an HDCP interface.
InstancePtr | is the interface to configure. |
Map | is the stream map to enable encryption on. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, UNUSED, and XHdcp1x_TxEnableEncryption().
u32 XHdcp1x_GetDriverVersion | ( | void | ) |
This function retrieves the version of the HDCP driver software.
References DRIVER_VERSION.
Referenced by XHdcp1x_RxInfo(), and XHdcp1x_TxInfo().
u64 XHdcp1x_GetEncryption | ( | const XHdcp1x * | InstancePtr | ) |
This function retrieves the current encryption map of the video streams traversing an hdcp interface.
InstancePtr | is the interface to query. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxGetEncryption(), and XHdcp1x_TxGetEncryption().
Referenced by XHdcp1x_IsEncrypted().
int XHdcp1x_GetRepeaterInfo | ( | XHdcp1x * | InstancePtr, |
XHdcp1x_RepeaterExchange * | RepeaterInfoPtr | ||
) |
This function copies the V'H0, V'H1, V'H2, V'H3, V'H4, KSVList and BInfo values in the HDCP RX HDCP Instance for Repeater validation .
InstancePtr | is the receiver instance. |
RepeaterInfoPtr | is the Repeater information in the transmitter instance. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, and XHdcp1x_RxGetRepeaterInfo().
void * XHdcp1x_GetTopology | ( | XHdcp1x * | InstancePtr | ) |
This function returns a pointer to the downstream Topology structure.
InstancePtr | is a pointer to the XHdcp14 core instance. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHDCP1X_DEBUG_PRINTF, and XHdcp1x_TxGetTopology().
u8 * XHdcp1x_GetTopologyBKSV | ( | XHdcp1x * | InstancePtr | ) |
This function returns the value of KSV of the device attached to the downstream interface of the repeater.
InstancePtr | is a pointer to the XHdcp14 core instance. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, and XHdcp1x_TxGetTopologyBKSV().
u32 XHdcp1x_GetTopologyField | ( | XHdcp1x * | InstancePtr, |
XHdcp1x_TopologyField | Field | ||
) |
This function is used to get various fields inside the topology structure.
InstancePtr | is a pointer to the XHdcp1x core instance. |
Field | indicates what field of the topology structure to update. |
References XHdcp1x_TxGetTopologyDepth(), XHdcp1x_TxGetTopologyDeviceCnt(), XHdcp1x_TxGetTopologyMaxCascadeExceeded(), and XHdcp1x_TxGetTopologyMaxDevsExceeded().
u8 * XHdcp1x_GetTopologyKSVList | ( | XHdcp1x * | InstancePtr | ) |
This function returns the value of KSV List read in the downstream interface of the repeater topology.
InstancePtr | is a pointer to the XHdcp14 core instance. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, and XHdcp1x_TxGetTopologyKSVList().
u32 XHdcp1x_GetVersion | ( | const XHdcp1x * | InstancePtr | ) |
This function retrieves the cipher version of an HDCP interface.
InstancePtr | is the interface to query. |
References XHdcp1x_CipherGetVersion().
void XHdcp1x_HandleTimeout | ( | void * | InstancePtr | ) |
This function handles a timeout on an HDCP interface.
InstancePtr | is the interface. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHDCP1X_DEBUG_PRINTF, XHdcp1x_RxHandleTimeout(), and XHdcp1x_TxHandleTimeout().
void XHdcp1x_Info | ( | const XHdcp1x * | InstancePtr | ) |
This function performs a debug display of an HDCP instance.
InstancePtr | is the interface to display. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHDCP1X_DEBUG_PRINTF, XHdcp1x_RxInfo(), and XHdcp1x_TxInfo().
int XHdcp1x_IsAuthenticated | ( | const XHdcp1x * | InstancePtr | ) |
This function queries an interface to determine if it has successfully completed authentication.
InstancePtr | is the interface to query. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxIsAuthenticated(), and XHdcp1x_TxIsAuthenticated().
Referenced by XHdcp1x_IsEncrypted().
int XHdcp1x_IsDwnstrmCapable | ( | const XHdcp1x * | InstancePtr | ) |
This function queries the device connected to the downstream interface to determine if it supports hdcp or not.
InstancePtr | is the interface to query. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, and XHdcp1x_TxIsDownstrmCapable().
int XHdcp1x_IsEnabled | ( | const XHdcp1x * | InstancePtr | ) |
This function queries an interface to determine if it is enabled.
InstancePtr | is the interface to query. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxIsEnabled(), and XHdcp1x_TxIsEnabled().
int XHdcp1x_IsEncrypted | ( | const XHdcp1x * | InstancePtr | ) |
This function determines if the video stream is encrypted.
The traffic is encrypted if the encryption bit map is non-zero and the interface is authenticated.
InstancePtr | is a pointer to the HDCP instance. |
References XHdcp1x_GetEncryption(), and XHdcp1x_IsAuthenticated().
Referenced by XHdcp1x_RxInfo(), and XHdcp1x_TxInfo().
int XHdcp1x_IsInComputations | ( | const XHdcp1x * | InstancePtr | ) |
This function queries an interface to determine if it is in the state of computations or not.
InstancePtr | is the interface to query. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxIsInComputations(), and XHdcp1x_TxIsInComputations().
int XHdcp1x_IsInProgress | ( | const XHdcp1x * | InstancePtr | ) |
This function queries an interface to determine if authentication is in progress.
InstancePtr | is the interface to query. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, and XHdcp1x_TxIsInProgress().
int XHdcp1x_IsInWaitforready | ( | const XHdcp1x * | InstancePtr | ) |
This function queries an interface to determine if it is in the wait-for-ready state or not.
InstancePtr | is the interface to query. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxIsInWaitforready(), and XHdcp1x_TxIsInWaitforready().
int XHdcp1x_IsRepeater | ( | XHdcp1x * | InstancePtr | ) |
This function return if the HDCP interface is a repeater in case of Rx or is connected to a repeater in case of Tx.
InstancePtr | is the transmitter instance. |
References XHdcp1x::Config, XHdcp1x::IsRepeater, XHdcp1x_Config::IsRx, XHDCP1X_DEBUG_PRINTF, and XHdcp1x_TxIsRepeater().
XHdcp1x_Config * XHdcp1x_LookupConfig | ( | u16 | DeviceId | ) |
This function returns a reference to an XHdcp1x_Config structure based on specified device ID.
DeviceId | is the unique core ID of the HDCP interface. |
References XPAR_XHDCP_NUM_INSTANCES.
int XHdcp1x_PlatformIsKsvRevoked | ( | const XHdcp1x * | InstancePtr, |
u64 | Ksv | ||
) |
This function checks a KSV value to determine if it has been revoked or not.
InstancePtr | is the HDCP interface. |
Ksv | is the KSV to check. |
References XHdcp1xKsvRevokeCheck.
int XHdcp1x_PlatformTimerBusy | ( | XHdcp1x * | InstancePtr, |
u16 | DelayInMs | ||
) |
This function busy waits on a timer for a number of milliseconds.
InstancePtr | is the hdcp interface. |
DelayInMs | is the delay time in milliseconds. |
References XHdcp1x::XHdcp1xTimerDelay.
int XHdcp1x_PlatformTimerStart | ( | XHdcp1x * | InstancePtr, |
u16 | TimeoutInMs | ||
) |
This function starts a timer on behalf of an HDCP interface.
InstancePtr | is the hdcp interface. |
TimeoutInMs | is the duration of the timer in milliseconds. |
References XHdcp1x::XHdcp1xTimerStart.
int XHdcp1x_PlatformTimerStop | ( | XHdcp1x * | InstancePtr | ) |
This function stop a timer on behalf of an HDCP interface.
InstancePtr | is the HDCP interface. |
References XHdcp1x::XHdcp1xTimerStop.
int XHdcp1x_Poll | ( | XHdcp1x * | InstancePtr | ) |
This function polls an HDCP interface.
InstancePtr | is the interface to poll. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxPoll(), and XHdcp1x_TxPoll().
const XHdcp1x_PortPhyIfAdaptor * XHdcp1x_PortDetermineAdaptor | ( | XHdcp1x * | InstancePtr | ) |
This function determines the adaptor for a specified port device.
InstancePtr | is the device whose adaptor is to be determined. |
References XHdcp1x::Config, XHdcp1x_Config::IsHDMI, and XHdcp1x_Config::IsRx.
Referenced by XHdcp1x_CfgInitialize().
int XHdcp1x_PortDisable | ( | XHdcp1x * | InstancePtr | ) |
This function disables a port device.
InstancePtr | is the device to disables. |
References XHdcp1x_PortStruct::Adaptor, XHdcp1x_PortPhyIfAdaptorS::Disable, and XHdcp1x::Port.
int XHdcp1x_PortEnable | ( | XHdcp1x * | InstancePtr | ) |
This function enables a port device.
InstancePtr | is the device to enables. |
References XHdcp1x_PortStruct::Adaptor, XHdcp1x_PortPhyIfAdaptorS::Enable, and XHdcp1x::Port.
int XHdcp1x_PortGetRepeaterInfo | ( | XHdcp1x * | InstancePtr, |
u16 * | InfoPtr | ||
) |
This function retrieves the repeater information from the connected device.
InstancePtr | is the device to query. |
InfoPtr | is the repeater info. |
References XHdcp1x_PortStruct::Adaptor, XHdcp1x_PortPhyIfAdaptorS::GetRepeaterInfo, and XHdcp1x::Port.
void XHdcp1x_PortHandleInterrupt | ( | XHdcp1x * | InstancePtr, |
u32 | IntCause | ||
) |
This handles an interrupt generated by a HDCP port device.
InstancePtr | is the device to write to. |
IntCause | is the interrupt cause bit map. |
References XHdcp1x_PortStruct::Adaptor, XHdcp1x_PortStats::IntCount, XHdcp1x_PortPhyIfAdaptorS::IntrHandler, XHdcp1x::Port, and XHdcp1x_PortStruct::Stats.
Referenced by XHdcp1x_PortIntrHandler().
void XHdcp1x_PortIntrHandler | ( | void * | InstancePtr, |
u32 | IntCause | ||
) |
This function is the port interrupt handler for the HDCP module.
InstancePtr | is the device instance that just interrupted. |
IntCause | is the interrupt cause bit map. |
References XHdcp1x::IsReady, and XHdcp1x_PortHandleInterrupt().
int XHdcp1x_PortIsCapable | ( | const XHdcp1x * | InstancePtr | ) |
This function queries a port device to determine if hdcp is supported.
InstancePtr | is the device to query. |
References XHdcp1x_PortStruct::Adaptor, XHdcp1x_PortPhyIfAdaptorS::IsCapable, and XHdcp1x::Port.
Referenced by XHdcp1x_TxIsDownstrmCapable().
int XHdcp1x_PortIsRepeater | ( | const XHdcp1x * | InstancePtr | ) |
This function queries a port device to determine if it is connected to a repeater.
InstancePtr | is the device to query. |
References XHdcp1x_PortStruct::Adaptor, XHdcp1x_PortPhyIfAdaptorS::IsRepeater, and XHdcp1x::Port.
Referenced by XHdcp1x_TxIsRepeater().
int XHdcp1x_PortRead | ( | const XHdcp1x * | InstancePtr, |
u8 | Offset, | ||
void * | Buf, | ||
u32 | BufSize | ||
) |
This function reads a register from a HDCP port device.
InstancePtr | is the device to read from. |
Offset | is the offset to start reading from. |
Buf | is the buffer to copy the data read. |
BufSize | is the size of the buffer. |
References XHdcp1x_PortStruct::Adaptor, XHdcp1x::Port, and XHdcp1x_PortPhyIfAdaptorS::Read.
Referenced by XHdcp1x_RxSetHdmiMode(), XHdcp1x_RxSetTopologyMaxCascadeExceeded(), XHdcp1x_RxSetTopologyMaxDevsExceeded(), XHdcp1x_TxGetTopologyBKSV(), XHdcp1x_TxGetTopologyMaxCascadeExceeded(), and XHdcp1x_TxGetTopologyMaxDevsExceeded().
int XHdcp1x_PortSetCallback | ( | XHdcp1x * | InstancePtr, |
u32 | HandlerType, | ||
XHdcp1x_Callback | CallbackFunc, | ||
void * | CallbackRef | ||
) |
This function installs an asynchronous callback function for the given HandlerType:
HandlerType Callback Function Type ------------------------------------ ------------------------------------- (XHDCP1X_PORT_HANDLER_AUTHENTICATE) AuthCallback
InstancePtr | is a pointer to the HDCP port instance. |
HandlerType | specifies the type of handler. |
CallbackFunc | is the address of the callback function. |
CallbackRef | is a user data item that will be passed to the callback function when it is invoked. |
References XHdcp1x_PortStruct::AuthCallback, XHdcp1x_PortStruct::AuthRef, XHdcp1x_PortStruct::IsAuthCallbackSet, XHdcp1x::Port, and XHDCP1X_PORT_HANDLER_AUTHENTICATE.
int XHdcp1x_PortSetRepeater | ( | XHdcp1x * | InstancePtr, |
u8 | RptrConf | ||
) |
This function set the REPEATER information in the connected device.
InstancePtr | is the device to query. |
RptrConf | is the configuration of the device as repeater. |
References XHdcp1x_PortStruct::Adaptor, XHdcp1x::Port, and XHdcp1x_PortPhyIfAdaptorS::SetRepeater.
Referenced by XHdcp1x_RxSetRepeaterBcaps().
int XHdcp1x_PortWrite | ( | XHdcp1x * | InstancePtr, |
u8 | Offset, | ||
const void * | Buf, | ||
u32 | BufSize | ||
) |
This function writes a register within a HDCP port device.
InstancePtr | is the device to write to. |
Offset | is the offset to start writing at. |
Buf | is the buffer containing the data to write. |
BufSize | is the size of the buffer. |
References XHdcp1x_PortStruct::Adaptor, XHdcp1x::Port, and XHdcp1x_PortPhyIfAdaptorS::Write.
Referenced by XHdcp1x_RxSetHdmiMode(), XHdcp1x_RxSetTopologyMaxCascadeExceeded(), and XHdcp1x_RxSetTopologyMaxDevsExceeded().
void XHdcp1x_ProcessAKsv | ( | XHdcp1x * | InstancePtr | ) |
This function processes the AKsv.
InstancePtr | is the interface to display. |
References XHdcp1x_PortStruct::Adaptor, XHdcp1x_PortPhyIfAdaptorS::CallbackHandler, XHdcp1x::Config, XHdcp1x_Config::IsRx, and XHdcp1x::Port.
int XHdcp1x_ReadDownstream | ( | XHdcp1x * | InstancePtr | ) |
This function initiates downstream read of READY bit and consequently the second part of Repeater authentication.
InstancePtr | is the interface to initiate authentication on. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, and XHdcp1x_TxReadDownstream().
int XHdcp1x_Reset | ( | XHdcp1x * | InstancePtr | ) |
This function resets an HDCP interface.
InstancePtr | is the interface to reset. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxReset(), and XHdcp1x_TxReset().
int XHdcp1x_RxAuthenticate | ( | XHdcp1x * | InstancePtr | ) |
This function initiates authentication on an interface.
InstancePtr | is the receiver instance. |
Referenced by XHdcp1x_Authenticate().
int XHdcp1x_RxDisable | ( | XHdcp1x * | InstancePtr | ) |
This function disables a HDCP receive interface.
InstancePtr | is the receiver instance. |
Referenced by XHdcp1x_Disable().
int XHdcp1x_RxDownstreamReady | ( | XHdcp1x * | InstancePtr | ) |
This function initiates downstream ready/ assemble ksv list on an interface.
InstancePtr | is the receiver instance. |
Referenced by XHdcp1x_DownstreamReady().
int XHdcp1x_RxEnable | ( | XHdcp1x * | InstancePtr | ) |
This function enables a HDCP receive interface.
InstancePtr | is the receiver instance. |
Referenced by XHdcp1x_Enable().
u64 XHdcp1x_RxGetEncryption | ( | const XHdcp1x * | InstancePtr | ) |
This function retrieves the current encryption stream map.
InstancePtr | is the receiver instance. |
References XHdcp1x_CipherGetEncryption().
Referenced by XHdcp1x_GetEncryption().
int XHdcp1x_RxGetRepeaterInfo | ( | XHdcp1x * | InstancePtr, |
XHdcp1x_RepeaterExchange * | RepeaterInfoPtr | ||
) |
This function copies the V'H0, V'H1, V'H2, V'H3, V'H4, KSVList and BInfo values in the HDCP RX HDCP Instance for Repeater validation .
InstancePtr | is the receiver instance. |
RepeaterInfoPtr | is the Repeater information in the transmitter instance. |
References XHdcp1x_RepeaterExchange::Depth, XHdcp1x_RepeaterExchange::DeviceCount, XHdcp1x_RepeaterExchange::KsvList, XHdcp1x::RepeaterValues, and XHdcp1x_RepeaterExchange::V.
Referenced by XHdcp1x_GetRepeaterInfo().
void XHdcp1x_RxHandleTimeout | ( | XHdcp1x * | InstancePtr | ) |
This function handles a timeout on an HDCP interface.
InstancePtr | is the receiver instance. |
Referenced by XHdcp1x_HandleTimeout().
int XHdcp1x_RxInfo | ( | const XHdcp1x * | InstancePtr | ) |
This function implements the debug display output for receiver instances.
InstancePtr | is the receiver instance. |
References XHdcp1x_RxStats::AuthAttempts, XHdcp1x::Cipher, XHdcp1x::Config, XHdcp1x_Rx::CurrentState, XHdcp1x_Rx::Flags, XHdcp1x_CipherStats::IntCount, XHdcp1x_PortStats::IntCount, XHdcp1x_Config::IsHDMI, XHdcp1x_RxStats::LinkFailures, XHdcp1x::Port, XHdcp1x_Rx::PreviousState, XHdcp1x_RxStats::RiUpdates, XHdcp1x::Rx, XHdcp1x_Cipher::Stats, XHdcp1x_PortStruct::Stats, XHdcp1x_Rx::Stats, XHdcp1x_CipherGetLocalKsv(), XHdcp1x_CipherGetVersion(), XHDCP1X_DEBUG_PRINTF, XHdcp1x_GetDriverVersion(), and XHdcp1x_IsEncrypted().
Referenced by XHdcp1x_Info().
void XHdcp1x_RxInit | ( | XHdcp1x * | InstancePtr | ) |
This function initializes a HDCP receiver state machine.
InstancePtr | is the receiver instance. |
References XHdcp1x_Rx::PendingEvents, and XHdcp1x::Rx.
Referenced by XHdcp1x_CfgInitialize().
int XHdcp1x_RxIsAuthenticated | ( | const XHdcp1x * | InstancePtr | ) |
This function queries an interface to check if its been authenticated.
InstancePtr | is the receiver instance. |
References XHdcp1x_Rx::CurrentState, and XHdcp1x::Rx.
Referenced by XHdcp1x_IsAuthenticated().
int XHdcp1x_RxIsEnabled | ( | const XHdcp1x * | InstancePtr | ) |
This function queries an interface to check if is enabled.
InstancePtr | is the receiver instance. |
References XHdcp1x_Rx::CurrentState, and XHdcp1x::Rx.
Referenced by XHdcp1x_IsEnabled().
int XHdcp1x_RxIsInComputations | ( | const XHdcp1x * | InstancePtr | ) |
This function queries an interface to check if its in the computations state.
InstancePtr | is the receiver instance. |
References XHdcp1x_Rx::CurrentState, and XHdcp1x::Rx.
Referenced by XHdcp1x_IsInComputations().
int XHdcp1x_RxIsInProgress | ( | const XHdcp1x * | InstancePtr | ) |
This function queries an interface to check if authentication is in progress.
InstancePtr | is the receiver instance. |
References XHdcp1x_Rx::CurrentState, and XHdcp1x::Rx.
int XHdcp1x_RxIsInWaitforready | ( | const XHdcp1x * | InstancePtr | ) |
This function queries an interface to check if its in the wait-for-downstream-ready state.
InstancePtr | is the receiver instance. |
References XHdcp1x_Rx::CurrentState, and XHdcp1x::Rx.
Referenced by XHdcp1x_IsInWaitforready().
int XHdcp1x_RxPoll | ( | XHdcp1x * | InstancePtr | ) |
This function polls the HDCP receiver module.
InstancePtr | is the receiver instance. |
Referenced by XHdcp1x_Poll().
int XHdcp1x_RxReset | ( | XHdcp1x * | InstancePtr | ) |
This function resets an HDCP interface.
InstancePtr | is the receiver instance. |
Referenced by XHdcp1x_Reset().
int XHdcp1x_RxSetCallback | ( | XHdcp1x * | InstancePtr, |
XHdcp1x_HandlerType | HandlerType, | ||
void * | CallbackFunc, | ||
void * | CallbackRef | ||
) |
This function installs callback functions for the given HandlerType:
InstancePtr | is a pointer to the HDCP core instance. |
HandlerType | specifies the type of handler. |
CallbackFunc | is the address of the callback function. |
CallbackRef | is a user data item that will be passed to the callback function when it is invoked. |
References XHdcp1x_Rx::AuthenticatedCallback, XHdcp1x_Rx::AuthenticatedCallbackRef, XHdcp1x_Rx::DdcGetDataCallback, XHdcp1x_Rx::DdcGetDataCallbackRef, XHdcp1x_Rx::DdcSetAddressCallback, XHdcp1x_Rx::DdcSetAddressCallbackRef, XHdcp1x_Rx::DdcSetDataCallback, XHdcp1x_Rx::DdcSetDataCallbackRef, XHdcp1x_Rx::EncryptionUpdateCallback, XHdcp1x_Rx::EncryptionUpdateCallbackRef, XHdcp1x_Rx::IsAuthenticatedCallbackSet, XHdcp1x_Rx::IsDdcGetDataCallbackSet, XHdcp1x_Rx::IsDdcSetAddressCallbackSet, XHdcp1x_Rx::IsDdcSetDataCallbackSet, XHdcp1x_Rx::IsEncryptionUpdateCallbackSet, XHdcp1x_Rx::IsRepeaterDownstreamAuthCallbackSet, XHdcp1x_Rx::IsTopologyUpdateCallbackSet, XHdcp1x_Rx::IsUnauthenticatedCallbackSet, XHdcp1x_Rx::RepeaterDownstreamAuthCallback, XHdcp1x_Rx::RepeaterDownstreamAuthRef, XHdcp1x::Rx, XHdcp1x_Rx::TopologyUpdateCallback, XHdcp1x_Rx::TopologyUpdateCallbackRef, XHdcp1x_Rx::UnauthenticatedCallback, and XHdcp1x_Rx::UnauthenticatedCallbackRef.
Referenced by XHdcp1x_SetCallback().
void XHdcp1x_RxSetHdmiMode | ( | XHdcp1x * | InstancePtr, |
u8 | Value | ||
) |
This function set the HDMI_MODE in the BStatus register of the HDMI RX DDC space.
InstancePtr | is a pointer to the Hdcp1x core instance. |
Value | is the truth-value. |
References UNUSED, XHDCP1X_PORT_BIT_BSTATUS_HDMI_MODE, XHDCP1X_PORT_OFFSET_BSTATUS, XHDCP1X_PORT_SIZE_BSTATUS, XHdcp1x_PortRead(), and XHdcp1x_PortWrite().
Referenced by XHdcp1x_SetHdmiMode().
int XHdcp1x_RxSetLaneCount | ( | XHdcp1x * | InstancePtr, |
int | LaneCount | ||
) |
This function set the lane count of an hdcp interface.
InstancePtr | is the receiver instance. |
LaneCount | is the number of lanes of the interface. |
References XHdcp1x_CipherSetNumLanes().
Referenced by XHdcp1x_SetLaneCount().
int XHdcp1x_RxSetPhysicalState | ( | XHdcp1x * | InstancePtr, |
int | IsUp | ||
) |
This function updates the physical state of an HDCP interface.
InstancePtr | is the receiver instance. |
IsUp | is truth value indicating the status of physical interface. |
Referenced by XHdcp1x_SetPhysicalState().
int XHdcp1x_RxSetRepeaterBcaps | ( | XHdcp1x * | InstancePtr, |
u8 | IsRptr | ||
) |
This function set the REPEATER bit for the HDCP RX interface.
InstancePtr | is the receiver instance. |
IsRptr | is the truth value to determine if the repeater bit in the port registers is to be set. |
References XHdcp1x_PortSetRepeater().
Referenced by XHdcp1x_SetRepeater().
void XHdcp1x_RxSetTopology | ( | XHdcp1x * | InstancePtr, |
const XHdcp1x_RepeaterExchange * | TopologyPtr | ||
) |
This function sets the RepeaterInfo value int the HDCP RX instance.
InstancePtr | is a pointer to the Hdcp1x core instance. |
TopologyPtr | is the pointer to topology information. |
References XHdcp1x::RepeaterValues.
Referenced by XHdcp1x_SetTopology().
void XHdcp1x_RxSetTopologyDepth | ( | XHdcp1x * | InstancePtr, |
u32 | Value | ||
) |
This function sets the Depth value in the HDCP RX BStatus/BInfo register space for the upstream interface to read.
InstancePtr | is a pointer to the Hdcp1x core instance. |
Value | is the Depth value. |
References XHdcp1x_RepeaterExchange::Depth, and XHdcp1x::RepeaterValues.
Referenced by XHdcp1x_SetTopologyField().
void XHdcp1x_RxSetTopologyDeviceCnt | ( | XHdcp1x * | InstancePtr, |
u32 | Value | ||
) |
This function sets the DEVICE_COUNT value in the HDCP RX register space for the upstream interface to read.
InstancePtr | is a pointer to the Hdcp1x core instance. |
Value | is the device count value. |
References XHdcp1x_RepeaterExchange::DeviceCount, and XHdcp1x::RepeaterValues.
Referenced by XHdcp1x_SetTopologyField().
void XHdcp1x_RxSetTopologyKSVList | ( | XHdcp1x * | InstancePtr, |
u8 * | ListPtr, | ||
u32 | ListSize | ||
) |
This function sets the KSVList value(s) in the HDCP RX KSV Fifo register space for the upstream interface to read.
InstancePtr | is a pointer to the Hdcp1x core instance. |
ListPtr | is a pointer to the KSV list. |
ListSize | is the number of KSVs in the list. |
References XHdcp1x_RepeaterExchange::KsvList, XHdcp1x::RepeaterValues, and XHDCP1X_PORT_SIZE_BKSV.
Referenced by XHdcp1x_SetTopologyKSVList().
void XHdcp1x_RxSetTopologyMaxCascadeExceeded | ( | XHdcp1x * | InstancePtr, |
u8 | Value | ||
) |
This function sets the MAX_CASCADE_EXCEEDED error flag in the HDCP BStatus/BInfo register to indicate a topology error.
Setting the flag indicates a depth of more than (4 - 1).
InstancePtr | is a pointer to the Hdcp1x core instance. |
Value | is either TRUE or FALSE. |
References XHDCP1X_PORT_BINFO_DEPTH_ERR_SHIFT, XHDCP1X_PORT_BSTATUS_DEPTH_ERR_SHIFT, XHDCP1X_PORT_OFFSET_BINFO, XHDCP1X_PORT_OFFSET_BSTATUS, XHDCP1X_PORT_SIZE_BINFO, XHDCP1X_PORT_SIZE_BSTATUS, XHdcp1x_PortRead(), and XHdcp1x_PortWrite().
Referenced by XHdcp1x_SetTopologyField().
void XHdcp1x_RxSetTopologyMaxDevsExceeded | ( | XHdcp1x * | InstancePtr, |
u8 | Value | ||
) |
This function sets the MAX_DEVS_EXCEEDED error flag in the HDCP BStatus register to indicate a topology error.
Setting the flag indicates that more than 31 downstream devices are attached.
InstancePtr | is a pointer to the Hdcp1x core instance. |
Value | is either TRUE or FALSE. |
References XHDCP1X_PORT_BINFO_DEV_CNT_ERR_SHIFT, XHDCP1X_PORT_BSTATUS_DEV_CNT_ERR_SHIFT, XHDCP1X_PORT_OFFSET_BINFO, XHDCP1X_PORT_OFFSET_BSTATUS, XHDCP1X_PORT_SIZE_BINFO, XHDCP1X_PORT_SIZE_BSTATUS, XHdcp1x_PortRead(), and XHdcp1x_PortWrite().
Referenced by XHdcp1x_SetTopologyField().
void XHdcp1x_RxSetTopologyUpdate | ( | XHdcp1x * | InstancePtr | ) |
This function does the necessary actions to update HDCP after the topology has been set.
InstancePtr | is a pointer to the Hdcp1x core instance. |
Referenced by XHdcp1x_SetTopologyUpdate().
int XHdcp1x_SelfTest | ( | XHdcp1x * | InstancePtr | ) |
This function self tests an HDCP interface.
InstancePtr | is the interface to test. |
References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHdcp1x_Config::IsHDMI, XHdcp1x_Config::IsRx, XHDCP1X_CIPHER_REG_VERSION, XHdcp1x_IsDP, XHdcp1x_IsHDMI, XHdcp1x_IsRX, XHdcp1x_IsTX, and XHdcp1x_ReadReg.
int XHdcp1x_SetCallback | ( | XHdcp1x * | InstancePtr, |
XHdcp1x_HandlerType | HandlerType, | ||
void * | CallbackFunc, | ||
void * | CallbackRef | ||
) |
This function installs callback functions for the given HandlerType.
InstancePtr | is a pointer to the HDCP core instance. |
HandlerType | specifies the type of handler. |
CallbackFunc | is the address of the callback function. |
CallbackRef | is a user data item that will be passed to the callback function when it is invoked. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxSetCallback(), and XHdcp1x_TxSetCallback().
void XHdcp1x_SetDebugLogMsg | ( | XHdcp1x_LogMsg | LogFunc | ) |
This function sets the debug log message function for the module.
LogFunc | is the debug logging function. |
References XHdcp1xDebugLogMsg.
void XHdcp1x_SetDebugPrintf | ( | XHdcp1x_Printf | PrintfFunc | ) |
This function sets the debug printf function for the module.
PrintfFunc | is the printf function. |
References XHdcp1xDebugPrintf.
void XHdcp1x_SetHdmiMode | ( | XHdcp1x * | InstancePtr, |
u8 | Value | ||
) |
This function set the HDMI_MODE in the BStatus register of the HDMI DDC space.
InstancePtr | is a pointer to the Hdcp1x core instance. |
Value | is the truth-value. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHDCP1X_DEBUG_PRINTF, XHdcp1x_RxSetHdmiMode(), and XHdcp1x_TxSetHdmiMode().
int XHdcp1x_SetKeySelect | ( | XHdcp1x * | InstancePtr, |
u8 | KeySelect | ||
) |
This function sets the key selection vector that is to be used by the HDCP cipher.
InstancePtr | is the interface to configure. |
KeySelect | is the key selection vector. |
References XHdcp1x_CipherSetKeySelect().
void XHdcp1x_SetKsvRevokeCheck | ( | XHdcp1x_KsvRevokeCheck | RevokeCheckFunc | ) |
This function sets the KSV revocation list check function for the module.
RevokeCheckFunc | is the KSV revocation list check function. |
References XHdcp1xKsvRevokeCheck.
int XHdcp1x_SetLaneCount | ( | XHdcp1x * | InstancePtr, |
int | LaneCount | ||
) |
This function sets the lane count of a hdcp interface.
InstancePtr | is the interface to update. |
LaneCount | is the lane count. |
References XHdcp1x::Config, XHdcp1x_Config::IsHDMI, XHdcp1x_Config::IsRx, XHdcp1x_RxSetLaneCount(), and XHdcp1x_TxSetLaneCount().
int XHdcp1x_SetPhysicalState | ( | XHdcp1x * | InstancePtr, |
int | IsUp | ||
) |
This function updates the state of the underlying physical interface.
InstancePtr | is the interface to update. |
IsUp | indicates the state of the underlying physical interface. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxSetPhysicalState(), and XHdcp1x_TxSetPhysicalState().
int XHdcp1x_SetRepeater | ( | XHdcp1x * | InstancePtr, |
u8 | State | ||
) |
This function sets the Repeater functionality for an HDCP interface.
InstancePtr | is the interface to disable. |
State | is etiher TRUE or FALSE |
References XHdcp1x::Config, XHdcp1x::IsRepeater, XHdcp1x_Config::IsRx, and XHdcp1x_RxSetRepeaterBcaps().
void XHdcp1x_SetTimerDelay | ( | XHdcp1x * | InstancePtr, |
XHdcp1x_TimerDelay | TimerDelayFunc | ||
) |
This function sets timer busy delay function for the module.
InstancePtr | is the pointer to the HDCP interface. |
TimerDelayFunc | is the timer busy delay function. |
References XHdcp1x::XHdcp1xTimerDelay.
void XHdcp1x_SetTimerStart | ( | XHdcp1x * | InstancePtr, |
XHdcp1x_TimerStart | TimerStartFunc | ||
) |
This function sets timer start function for the module.
InstancePtr | is the pointer to the HDCP interface. |
TimerStartFunc | is the timer start function. |
References XHdcp1x::XHdcp1xTimerStart.
void XHdcp1x_SetTimerStop | ( | XHdcp1x * | InstancePtr, |
XHdcp1x_TimerStop | TimerStopFunc | ||
) |
This function sets timer stop function for the module.
InstancePtr | is the pointer to the HDCP interface. |
TimerStopFunc | is the timer stop function. |
References XHdcp1x::XHdcp1xTimerStop.
void XHdcp1x_SetTopology | ( | XHdcp1x * | InstancePtr, |
const XHdcp1x_RepeaterExchange * | TopologyPtr | ||
) |
This function sets the RepeaterInfo value int the HDCP RX instance.
InstancePtr | is a pointer to the Hdcp1x core instance. |
TopologyPtr | is a pointer to the Repeater Info value(s). |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, and XHdcp1x_RxSetTopology().
void XHdcp1x_SetTopologyField | ( | XHdcp1x * | InstancePtr, |
XHdcp1x_TopologyField | Field, | ||
u8 | Value | ||
) |
This function is used to set various fields inside the topology structure.
InstancePtr | is a pointer to the XHdcp1x core instance. |
Field | indicates what field of the topology structure to update. |
Value | is the value assigned to the field of the topology structure. |
References XHdcp1x_RxSetTopologyDepth(), XHdcp1x_RxSetTopologyDeviceCnt(), XHdcp1x_RxSetTopologyMaxCascadeExceeded(), and XHdcp1x_RxSetTopologyMaxDevsExceeded().
void XHdcp1x_SetTopologyKSVList | ( | XHdcp1x * | InstancePtr, |
u8 * | ListPtr, | ||
u32 | ListSize | ||
) |
This function sets the KSVList value(s) in the HDCP RX KSV Fifo register space for the upstream interface to read.
InstancePtr | is a pointer to the Hdcp1x core instance. |
ListPtr | is a pointer to the KSV list. |
ListSize | is the number of KSVs in the list. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, UNUSED, and XHdcp1x_RxSetTopologyKSVList().
void XHdcp1x_SetTopologyUpdate | ( | XHdcp1x * | InstancePtr | ) |
This function does the necessary actions to update HDCP after the topology has been set.
InstancePtr | is a pointer to the Hdcp1x core instance. |
References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHDCP1X_DEBUG_PRINTF, and XHdcp1x_RxSetTopologyUpdate().
int XHdcp1x_TxAuthenticate | ( | XHdcp1x * | InstancePtr | ) |
This function initiates authentication on an interface.
InstancePtr | is the transmitter instance. |
References XHdcp1x_Tx::IsAuthReqPending, and XHdcp1x::Tx.
Referenced by XHdcp1x_Authenticate().
int XHdcp1x_TxDisable | ( | XHdcp1x * | InstancePtr | ) |
This function disables an HDCP interface.
InstancePtr | is the transmitter instance. |
Referenced by XHdcp1x_Disable().
void XHdcp1x_TxDisableBlank | ( | XHdcp1x * | InstancePtr | ) |
This function disables the blank output for the cipher.
InstancePtr | is a pointer to the Hdcp1.4 core instance. |
References XHdcp1x_CipherDisableBlank().
Referenced by XHdcp1x_DisableBlank().
int XHdcp1x_TxDisableEncryption | ( | XHdcp1x * | InstancePtr, |
u64 | StreamMap | ||
) |
This function disables encryption on set of streams on an HDCP interface.
InstancePtr | is the transmitter instance. |
StreamMap | is the bit map of streams to disable encryption on. |
References XHdcp1x_Tx::EncryptionMap, XHdcp1x::Tx, XHdcp1x_CipherDisableEncryption(), and XHdcp1x_TxIsEnabled().
Referenced by XHdcp1x_DisableEncryption().
int XHdcp1x_TxEnable | ( | XHdcp1x * | InstancePtr | ) |
This function enables an HDCP interface.
InstancePtr | is the transmitter instance. |
Referenced by XHdcp1x_Enable().
void XHdcp1x_TxEnableBlank | ( | XHdcp1x * | InstancePtr | ) |
This function enables the blank output for the cipher.
InstancePtr | is a pointer to the Hdcp1.4 core instance. |
References XHdcp1x_CipherEnableBlank().
Referenced by XHdcp1x_EnableBlank().
int XHdcp1x_TxEnableEncryption | ( | XHdcp1x * | InstancePtr, |
u64 | StreamMap | ||
) |
This function enables encryption on set of streams on an HDCP interface.
InstancePtr | is the transmitter instance. |
StreamMap | is the bit map of streams to enable encryption on. |
References XHdcp1x_Tx::EncryptionMap, XHdcp1x::Tx, and XHdcp1x_TxIsAuthenticated().
Referenced by XHdcp1x_EnableEncryption().
u64 XHdcp1x_TxGetEncryption | ( | const XHdcp1x * | InstancePtr | ) |
This function retrieves the current encryption stream map.
InstancePtr | the transmitter instance. |
References XHdcp1x_Tx::EncryptionMap, and XHdcp1x::Tx.
Referenced by XHdcp1x_GetEncryption().
XHdcp1x_RepeaterExchange * XHdcp1x_TxGetTopology | ( | XHdcp1x * | InstancePtr | ) |
This function returns a pointer to the downstream Topology structure.
InstancePtr | is a pointer to the XHdcp14 core instance. |
References XHdcp1x_Tx::CurrentState, XHdcp1x::IsRepeater, XHdcp1x::RepeaterValues, and XHdcp1x::Tx.
Referenced by XHdcp1x_GetTopology().
u8 * XHdcp1x_TxGetTopologyBKSV | ( | XHdcp1x * | InstancePtr | ) |
This function returns the value of BKSV of the device connected to the repeater downstream interface.
InstancePtr | is a pointer to the XHdcp14 core instance. |
References XHDCP1X_PORT_BUF_TO_UINT, XHDCP1X_PORT_OFFSET_BKSV, XHDCP1X_PORT_SIZE_BKSV, and XHdcp1x_PortRead().
Referenced by XHdcp1x_GetTopologyBKSV().
u32 XHdcp1x_TxGetTopologyDepth | ( | XHdcp1x * | InstancePtr | ) |
This function returns the value of Depth read in the downstream interface of the repeater topology.
InstancePtr | is a pointer to the XHdcp14 core instance. |
References XHdcp1x_RepeaterExchange::Depth, and XHdcp1x::RepeaterValues.
Referenced by XHdcp1x_GetTopologyField().
u32 XHdcp1x_TxGetTopologyDeviceCnt | ( | XHdcp1x * | InstancePtr | ) |
This function returns the value of Device Count read in the downstream interface of the repeater topology.
InstancePtr | is a pointer to the XHdcp14 core instance. |
References XHdcp1x_RepeaterExchange::DeviceCount, and XHdcp1x::RepeaterValues.
Referenced by XHdcp1x_GetTopologyField().
u8 * XHdcp1x_TxGetTopologyKSVList | ( | XHdcp1x * | InstancePtr | ) |
This function returns the value of KSV List read in the downstream interface of the repeater topology.
InstancePtr | is a pointer to the XHdcp14 core instance. |
References XHdcp1x_RepeaterExchange::DeviceCount, XHdcp1x_RepeaterExchange::KsvList, and XHdcp1x::RepeaterValues.
Referenced by XHdcp1x_GetTopologyKSVList().
u32 XHdcp1x_TxGetTopologyMaxCascadeExceeded | ( | XHdcp1x * | InstancePtr | ) |
This function returns the MAX_DEPTH_EXCEEDED flag in the repeater topology structure.
InstancePtr | is a pointer to the XHdcp14 core instance. |
References XHDCP1X_PORT_BINFO_BIT_DEPTH_ERR, XHDCP1X_PORT_BSTATUS_BIT_DEPTH_ERR, XHDCP1X_PORT_OFFSET_BINFO, XHDCP1X_PORT_OFFSET_BSTATUS, XHDCP1X_PORT_SIZE_BINFO, XHDCP1X_PORT_SIZE_BSTATUS, and XHdcp1x_PortRead().
Referenced by XHdcp1x_GetTopologyField().
u32 XHdcp1x_TxGetTopologyMaxDevsExceeded | ( | XHdcp1x * | InstancePtr | ) |
This function returns the MAX_DEVICS_EXCEEDED flag in the repeater topology structure.
InstancePtr | is a pointer to the XHdcp14 core instance. |
References XHDCP1X_PORT_BINFO_BIT_DEV_CNT_ERR, XHDCP1X_PORT_BSTATUS_BIT_DEV_CNT_ERR, XHDCP1X_PORT_OFFSET_BINFO, XHDCP1X_PORT_OFFSET_BSTATUS, XHDCP1X_PORT_SIZE_BINFO, XHDCP1X_PORT_SIZE_BSTATUS, and XHdcp1x_PortRead().
Referenced by XHdcp1x_GetTopologyField().
void XHdcp1x_TxHandleTimeout | ( | XHdcp1x * | InstancePtr | ) |
This function handles a timeout on an HDCP interface.
InstancePtr | is the transmitter instance. |
Referenced by XHdcp1x_HandleTimeout().
int XHdcp1x_TxInfo | ( | const XHdcp1x * | InstancePtr | ) |
This function implements the debug display output for transmit instances.
InstancePtr | is the receiver instance. |
References XHdcp1x_TxStats::AuthFailed, XHdcp1x_TxStats::AuthPassed, XHdcp1x::Cipher, XHdcp1x::Config, XHdcp1x_Tx::CurrentState, XHdcp1x_Tx::EncryptionMap, XHdcp1x_Tx::Flags, XHdcp1x_CipherStats::IntCount, XHdcp1x_PortStats::IntCount, XHdcp1x_Config::IsHDMI, XHdcp1x_TxStats::LinkCheckFailed, XHdcp1x_TxStats::LinkCheckPassed, XHdcp1x::Port, XHdcp1x_Tx::PreviousState, XHdcp1x_TxStats::ReadFailures, XHdcp1x_TxStats::ReauthRequested, XHdcp1x_Tx::StateHelper, XHdcp1x_Cipher::Stats, XHdcp1x_PortStruct::Stats, XHdcp1x_Tx::Stats, XHdcp1x::Tx, XHdcp1x_CipherGetLocalKsv(), XHdcp1x_CipherGetVersion(), XHDCP1X_DEBUG_PRINTF, XHdcp1x_GetDriverVersion(), and XHdcp1x_IsEncrypted().
Referenced by XHdcp1x_Info().
void XHdcp1x_TxInit | ( | XHdcp1x * | InstancePtr | ) |
This function initializes a transmit state machine.
InstancePtr | is the receiver instance. |
References XHdcp1x_Tx::PendingEvents, and XHdcp1x::Tx.
Referenced by XHdcp1x_CfgInitialize().
int XHdcp1x_TxIsAuthenticated | ( | const XHdcp1x * | InstancePtr | ) |
This function queries an interface to check if its been authenticated.
InstancePtr | is the transmitter instance. |
References XHdcp1x_Tx::CurrentState, and XHdcp1x::Tx.
Referenced by XHdcp1x_IsAuthenticated(), and XHdcp1x_TxEnableEncryption().
int XHdcp1x_TxIsDownstrmCapable | ( | const XHdcp1x * | InstancePtr | ) |
This function queries the downstream device to check if the downstream device is HDCP capable.
InstancePtr | is the receiver instance. |
References XHdcp1x_PortIsCapable().
Referenced by XHdcp1x_IsDwnstrmCapable().
int XHdcp1x_TxIsEnabled | ( | const XHdcp1x * | InstancePtr | ) |
This function queries an interface to check if it is enabled.
InstancePtr | is the transmitter instance. |
References XHdcp1x_Tx::CurrentState, and XHdcp1x::Tx.
Referenced by XHdcp1x_IsEnabled(), and XHdcp1x_TxDisableEncryption().
int XHdcp1x_TxIsInComputations | ( | const XHdcp1x * | InstancePtr | ) |
This function queries an interface to check if its in the computations state.
InstancePtr | is the transmitter instance. |
References XHdcp1x_Tx::CurrentState, and XHdcp1x::Tx.
Referenced by XHdcp1x_IsInComputations().
int XHdcp1x_TxIsInProgress | ( | const XHdcp1x * | InstancePtr | ) |
This function queries an interface to check if authentication is still in progress.
InstancePtr | is the transmitter instance. |
References XHdcp1x_Tx::IsAuthReqPending, and XHdcp1x::Tx.
Referenced by XHdcp1x_IsInProgress().
int XHdcp1x_TxIsInWaitforready | ( | const XHdcp1x * | InstancePtr | ) |
This function queries an interface to check if its in the wait-for-ready state.
InstancePtr | is the transmitter instance. |
References XHdcp1x_Tx::CurrentState, and XHdcp1x::Tx.
Referenced by XHdcp1x_IsInWaitforready().
int XHdcp1x_TxIsRepeater | ( | XHdcp1x * | InstancePtr | ) |
This function returns if HDCP TX interface is connected to a downstream repeater.
InstancePtr | is the transmitter instance. |
References XHdcp1x_PortIsRepeater().
Referenced by XHdcp1x_IsRepeater().
int XHdcp1x_TxPoll | ( | XHdcp1x * | InstancePtr | ) |
This function polls an HDCP interface.
InstancePtr | is the transmitter instance. |
References XHdcp1x::IsReady.
Referenced by XHdcp1x_Poll().
int XHdcp1x_TxReadDownstream | ( | XHdcp1x * | InstancePtr | ) |
This function initiates the transmitter to read READY bit from downstream and complete second part of authentication.
InstancePtr | is the transmitter instance. |
Referenced by XHdcp1x_ReadDownstream().
int XHdcp1x_TxReset | ( | XHdcp1x * | InstancePtr | ) |
This function resets an HDCP interface.
InstancePtr | is the transmitter instance. |
References XHdcp1x_Tx::IsAuthReqPending, and XHdcp1x::Tx.
Referenced by XHdcp1x_Reset().
int XHdcp1x_TxSetCallback | ( | XHdcp1x * | InstancePtr, |
XHdcp1x_HandlerType | HandlerType, | ||
void * | CallbackFunc, | ||
void * | CallbackRef | ||
) |
This function installs callback functions for the given HandlerType:
InstancePtr | is a pointer to the HDCP core instance. |
HandlerType | specifies the type of handler. |
CallbackFunc | is the address of the callback function. |
CallbackRef | is a user data item that will be passed to the callback function when it is invoked. |
References XHdcp1x_Tx::AuthenticatedCallback, XHdcp1x_Tx::AuthenticatedCallbackRef, XHdcp1x_Tx::DdcRead, XHdcp1x_Tx::DdcReadRef, XHdcp1x_Tx::DdcWrite, XHdcp1x_Tx::DdcWriteRef, XHdcp1x_Tx::IsAuthenticatedCallbackSet, XHdcp1x_Tx::IsDdcReadSet, XHdcp1x_Tx::IsDdcWriteSet, XHdcp1x_Tx::IsRepeaterExchangeCallbackSet, XHdcp1x_Tx::IsUnauthenticatedCallbackSet, XHdcp1x_Tx::RepeaterExchangeCallback, XHdcp1x_Tx::RepeaterExchangeRef, XHdcp1x::Tx, XHdcp1x_Tx::UnauthenticatedCallback, and XHdcp1x_Tx::UnauthenticatedCallbackRef.
Referenced by XHdcp1x_SetCallback().
void XHdcp1x_TxSetHdmiMode | ( | XHdcp1x * | InstancePtr, |
u8 | Value | ||
) |
This set a flag that allows the hdcp1x drivers to determine if the transmitter is HDMI or DVI.
InstancePtr | is the transmitter instance. |
References XHdcp1x::Tx, XHdcp1x_Tx::TxIsHdmi, and UNUSED.
Referenced by XHdcp1x_SetHdmiMode().
int XHdcp1x_TxSetLaneCount | ( | XHdcp1x * | InstancePtr, |
int | LaneCount | ||
) |
This function set the lane count of an HDCP interface.
InstancePtr | is the transmitter instance. |
LaneCount | is the number of lanes of the interface. |
References XHdcp1x_CipherSetNumLanes().
Referenced by XHdcp1x_SetLaneCount().
int XHdcp1x_TxSetPhysicalState | ( | XHdcp1x * | InstancePtr, |
int | IsUp | ||
) |
This function updates the physical state of an HDCP interface.
InstancePtr | is the transmitter instance. |
IsUp | is truth value indicating the status of physical interface. |
Referenced by XHdcp1x_SetPhysicalState().
void XHdcp1x_TxTriggerDownstreamAuth | ( | void * | Parameter | ) |
This function acts as the downstream authentication trigger callback for a Repeater state machine, to start the second part of authentication.
Parameter | is the parameter specified during registration. |
XHdcp1x_Config XHdcp1x_ConfigTable[] |
Instance of Lookup table of HDCP instance(s) in the design.
XHdcp1x_LogMsg XHdcp1xDebugLogMsg |
Instance of function interface used for debug log message statement.
Referenced by XHdcp1x_SetDebugLogMsg().
XHdcp1x_LogMsg XHdcp1xDebugLogMsg = NULL |
Instance of function interface used for debug log message statement.
Referenced by XHdcp1x_SetDebugLogMsg().
XHdcp1x_Printf XHdcp1xDebugPrintf |
Instance of function interface used for debug print statement.
Referenced by XHdcp1x_SetDebugPrintf().
XHdcp1x_Printf XHdcp1xDebugPrintf = NULL |
Instance of function interface used for debug print statement.
Referenced by XHdcp1x_SetDebugPrintf().
XHdcp1x_KsvRevokeCheck XHdcp1xKsvRevokeCheck |
Instance of function interface used for checking a specific KSV against the platforms revocation list.
Referenced by XHdcp1x_PlatformIsKsvRevoked(), and XHdcp1x_SetKsvRevokeCheck().
XHdcp1x_KsvRevokeCheck XHdcp1xKsvRevokeCheck = NULL |
Instance of function interface used for checking a specific KSV against the platforms revocation list.
Referenced by XHdcp1x_PlatformIsKsvRevoked(), and XHdcp1x_SetKsvRevokeCheck().