![]() |
hdcp1x
Xilinx SDK 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) |
#include <xhdcp1x.c>
This defines the version of the software driver.
Referenced by XHdcp1x_GetDriverVersion().
#define HDCP1X_CIPHER_BIT_REPEATER_ENABLE (1 << 8) |
#include <xhdcp1x_cipher.h>
Bit in the cipher Bz register to indicate Repeater.
#define UNUSED | ( | x | ) | ((void)x) |
#include <xhdcp1x.h>
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 |
#include <xhdcp1x.h>
Adds extra functions for additional debugging.
#define XHDCP1X_CIPHER_BITMASK_BLANK_SEL (0x1u) |
#include <xhdcp1x_hw.h>
Cipher blank select bitmask.
Referenced by XHdcp1x_CipherDisableBlank(), and XHdcp1x_CipherEnableBlank().
#define XHDCP1X_CIPHER_BITMASK_BLANK_VALUE (0x000000FF) |
#include <xhdcp1x_hw.h>
Cipher blank value bitmask, lower 24 bits.
Referenced by XHdcp1x_CipherEnableBlank().
#define XHDCP1X_CIPHER_BITMASK_CIPHER_CONTROL_REQUEST (0x07u << 8) |
#include <xhdcp1x_hw.h>
Request bitmask in Cipher Control register.
#define XHDCP1X_CIPHER_BITMASK_CIPHER_CONTROL_XOR_ENABLE (0x01u << 0) |
#include <xhdcp1x_hw.h>
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) |
#include <xhdcp1x_hw.h>
Request In Progress bitmask in Cipher Status register.
Referenced by XHdcp1x_CipherIsRequestComplete().
#define XHDCP1X_CIPHER_BITMASK_CIPHER_STATUS_XOR_IN_PROG (0x01u << 0) |
#include <xhdcp1x_hw.h>
XOR In Progress bitmask in Cipher Status register.
#define XHDCP1X_CIPHER_BITMASK_CONTROL_ENABLE (0x01u << 0) |
#include <xhdcp1x_hw.h>
Enable bitmask in Control register.
Referenced by XHdcp1x_CipherDisable(), and XHdcp1x_CipherEnable().
#define XHDCP1X_CIPHER_BITMASK_CONTROL_NUM_LANES (0x07u << 4) |
#include <xhdcp1x_hw.h>
Num Lanes bitmask in Control register.
Referenced by XHdcp1x_CipherGetNumLanes(), XHdcp1x_CipherInit(), and XHdcp1x_CipherSetNumLanes().
#define XHDCP1X_CIPHER_BITMASK_CONTROL_RESET (0x01u << 31) |
#define XHDCP1X_CIPHER_BITMASK_CONTROL_UPDATE (0x01u << 1) |
#include <xhdcp1x_hw.h>
Update bitmask in Control register.
Referenced by XHdcp1x_CipherDisable(), XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherEnable(), XHdcp1x_CipherEnableEncryption(), XHdcp1x_CipherInit(), XHdcp1x_CipherSetB(), XHdcp1x_CipherSetK(), and XHdcp1x_CipherSetRemoteKsv().
#define XHDCP1X_CIPHER_BITMASK_INTERRUPT_LINK_FAIL (0x01u << 0) |
#include <xhdcp1x_hw.h>
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) |
#include <xhdcp1x_hw.h>
Ri bitmask in Interrupt register(s)
Referenced by XHdcp1x_CipherHandleInterrupt(), and XHdcp1x_CipherSetRiUpdate().
#define XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_ABORT_Km (0x01u << 2) |
#include <xhdcp1x_hw.h>
Abort Km bitmask in Key Management Control register.
Referenced by XHdcp1x_CipherGetLocalKsv().
#define XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_BEGIN_Km (0x01u << 1) |
#include <xhdcp1x_hw.h>
Being Km bitmask in Key Management Control register.
Referenced by XHdcp1x_CipherSetRemoteKsv().
#define XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_LOCAL_KSV (0x01u << 0) |
#include <xhdcp1x_hw.h>
Read Local KSV bitmask in Key Management Control register.
Referenced by XHdcp1x_CipherGetLocalKsv().
#define XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_SET_SELECT (0x07u << 16) |
#include <xhdcp1x_hw.h>
Key Set Select bitmask in Key Management Control register.
Referenced by XHdcp1x_CipherSetKeySelect().
#define XHDCP1X_CIPHER_BITMASK_KEYMGMT_STATUS_Km_READY (0x01u << 1) |
#include <xhdcp1x_hw.h>
Km Value ready bitmask in Key Management Status register.
#define XHDCP1X_CIPHER_BITMASK_KEYMGMT_STATUS_KSV_READY (0x01u << 0) |
#include <xhdcp1x_hw.h>
Local KSV ready bitmask in Key Management Status register.
Referenced by XHdcp1x_CipherGetLocalKsv().
#define XHDCP1X_CIPHER_BITMASK_TYPE_DIRECTION (0x01u << 2) |
#define XHDCP1X_CIPHER_BITMASK_TYPE_PROTOCOL (0x03u << 0) |
#define XHDCP1X_CIPHER_H |
#include <xhdcp1x_cipher.h>
< Prevent circular inclusions by using protection macros
#define XHDCP1X_CIPHER_REG_BLANK_SEL (0x00C0u) |
#include <xhdcp1x_hw.h>
Cipher blank select register.
Referenced by XHdcp1x_CipherDisableBlank(), and XHdcp1x_CipherEnableBlank().
#define XHDCP1X_CIPHER_REG_BLANK_VALUE (0x00BCu) |
#define XHDCP1X_CIPHER_REG_CIPHER_Bx (0x0058u) |
#include <xhdcp1x_hw.h>
Cipher Bx register offset.
Referenced by XHdcp1x_CipherGetB(), and XHdcp1x_CipherSetB().
#define XHDCP1X_CIPHER_REG_CIPHER_By (0x005Cu) |
#include <xhdcp1x_hw.h>
Cipher By register offset.
Referenced by XHdcp1x_CipherGetB(), and XHdcp1x_CipherSetB().
#define XHDCP1X_CIPHER_REG_CIPHER_Bz (0x0060u) |
#include <xhdcp1x_hw.h>
Cipher Bz register offset.
Referenced by XHdcp1x_CipherGetB(), and XHdcp1x_CipherSetB().
#define XHDCP1X_CIPHER_REG_CIPHER_CONTROL (0x0050u) |
#include <xhdcp1x_hw.h>
Cipher Control register offset.
Referenced by XHdcp1x_CipherDisable(), XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherEnable(), and XHdcp1x_CipherEnableEncryption().
#define XHDCP1X_CIPHER_REG_CIPHER_Kx (0x0064u) |
#include <xhdcp1x_hw.h>
Cipher Kx register offset.
Referenced by XHdcp1x_CipherGetK(), and XHdcp1x_CipherSetK().
#define XHDCP1X_CIPHER_REG_CIPHER_Ky (0x0068u) |
#include <xhdcp1x_hw.h>
Cipher Ky register offset.
Referenced by XHdcp1x_CipherGetK(), and XHdcp1x_CipherSetK().
#define XHDCP1X_CIPHER_REG_CIPHER_Kz (0x006Cu) |
#include <xhdcp1x_hw.h>
Cipher Kz register offset.
Referenced by XHdcp1x_CipherGetK(), and XHdcp1x_CipherSetK().
#define XHDCP1X_CIPHER_REG_CIPHER_Mi_H (0x0070u) |
#define XHDCP1X_CIPHER_REG_CIPHER_Mi_L (0x0074u) |
#define XHDCP1X_CIPHER_REG_CIPHER_Mo_H (0x0080u) |
#define XHDCP1X_CIPHER_REG_CIPHER_Mo_L (0x0084u) |
#define XHDCP1X_CIPHER_REG_CIPHER_Ri (0x0078u) |
#define XHDCP1X_CIPHER_REG_CIPHER_Ro (0x007Cu) |
#define XHDCP1X_CIPHER_REG_CIPHER_STATUS (0x0054u) |
#include <xhdcp1x_hw.h>
Cipher Status register offset.
Referenced by XHdcp1x_CipherIsRequestComplete().
#define XHDCP1X_CIPHER_REG_CONTROL (0x000Cu) |
#include <xhdcp1x_hw.h>
Control register offset.
Referenced by XHdcp1x_CipherDisable(), XHdcp1x_CipherDisableEncryption(), 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) |
#include <xhdcp1x_hw.h>
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) |
#include <xhdcp1x_hw.h>
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) |
#include <xhdcp1x_hw.h>
Interrupt Mask register offset.
Referenced by XHdcp1x_CipherDisable(), XHdcp1x_CipherInit(), XHdcp1x_CipherSetLinkStateCheck(), and XHdcp1x_CipherSetRiUpdate().
#define XHDCP1X_CIPHER_REG_INTERRUPT_STATUS (0x0018u) |
#include <xhdcp1x_hw.h>
Interrupt Status register offset.
Referenced by XHdcp1x_CipherHandleInterrupt(), XHdcp1x_CipherInit(), XHdcp1x_CipherSetLinkStateCheck(), and XHdcp1x_CipherSetRiUpdate().
#define XHDCP1X_CIPHER_REG_KEYMGMT_CONTROL (0x002Cu) |
#include <xhdcp1x_hw.h>
Key Management Control register offset.
Referenced by XHdcp1x_CipherGetLocalKsv(), XHdcp1x_CipherSetKeySelect(), and XHdcp1x_CipherSetRemoteKsv().
#define XHDCP1X_CIPHER_REG_KEYMGMT_STATUS (0x0030u) |
#include <xhdcp1x_hw.h>
Key Management Status register offset.
Referenced by XHdcp1x_CipherGetLocalKsv().
#define XHDCP1X_CIPHER_REG_Km_H (0x0048u) |
#include <xhdcp1x_hw.h>
Km (High) register offset.
#define XHDCP1X_CIPHER_REG_Km_L (0x004Cu) |
#include <xhdcp1x_hw.h>
Km (Low) register offset.
#define XHDCP1X_CIPHER_REG_KSV_LOCAL_H (0x0038u) |
#include <xhdcp1x_hw.h>
Local KSV (High) register offset.
Referenced by XHdcp1x_CipherGetLocalKsv().
#define XHDCP1X_CIPHER_REG_KSV_LOCAL_L (0x003Cu) |
#define XHDCP1X_CIPHER_REG_KSV_REMOTE_H (0x0040u) |
#include <xhdcp1x_hw.h>
Remote KSV (High) offset.
Referenced by XHdcp1x_CipherGetRemoteKsv(), and XHdcp1x_CipherSetRemoteKsv().
#define XHDCP1X_CIPHER_REG_KSV_REMOTE_L (0x0044u) |
#include <xhdcp1x_hw.h>
Remote KSV (Low) register offset.
Referenced by XHdcp1x_CipherGetRemoteKsv(), and XHdcp1x_CipherSetRemoteKsv().
#define XHDCP1X_CIPHER_REG_SCRATCH (0x0008u) |
#include <xhdcp1x_hw.h>
Scratch pad register offset.
#define XHDCP1X_CIPHER_REG_STATUS (0x0010u) |
#define XHDCP1X_CIPHER_REG_TYPE (0x0004u) |
#define XHDCP1X_CIPHER_REG_VERSION (0x0000u) |
#include <xhdcp1x_hw.h>
Version register offset.
Referenced by XHdcp1x_CipherGetVersion(), and XHdcp1x_SelfTest().
#define XHDCP1X_CIPHER_VALUE_CIPHER_CONTROL_REQUEST_BLOCK (0x01u << 8) |
#include <xhdcp1x_hw.h>
Block Request value in Cipher Control register.
#define XHDCP1X_CIPHER_VALUE_CIPHER_CONTROL_REQUEST_REKEY (0x01u << 9) |
#include <xhdcp1x_hw.h>
ReKey Request value in Cipher Control register.
#define XHDCP1X_CIPHER_VALUE_CIPHER_CONTROL_REQUEST_RNG (0x01u << 10) |
#include <xhdcp1x_hw.h>
RNG Request value in Cipher Control register.
#define XHDCP1X_CIPHER_VALUE_TYPE_DIRECTION_RX (0x00u << 2) |
#define XHDCP1X_CIPHER_VALUE_TYPE_DIRECTION_TX (0x01u << 2) |
#include <xhdcp1x_hw.h>
TX Direction value in Type register.
#define XHDCP1X_CIPHER_VALUE_TYPE_PROTOCOL_DP (0x00u << 0) |
#include <xhdcp1x_hw.h>
DP Protocol value in Type register.
#define XHDCP1X_CIPHER_VALUE_TYPE_PROTOCOL_HDMI (0x01u << 0) |
#include <xhdcp1x_hw.h>
HDMI Protocol value in Type register.
Referenced by XHdcp1x_CfgInitialize().
#define XHdcp1x_CipherIsEnabled | ( | InstancePtr | ) |
#include <xhdcp1x_hw.h>
This queries a cipher to determine if it is enabled.
InstancePtr | is the instance to query. |
Referenced by XHdcp1x_CipherDisableEncryption(), 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 | ) |
#include <xhdcp1x_hw.h>
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 | ) |
#include <xhdcp1x_hw.h>
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 | ) |
#include <xhdcp1x_hw.h>
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 |
#include <xhdcp1x_debug.h>
< Prevent circular inclusions by using protection macros
#define XHDCP1X_DEBUG_LOGMSG if (XHdcp1xDebugLogMsg != NULL) XHdcp1xDebugLogMsg |
#include <xhdcp1x_debug.h>
Instance of the function interface used for debug log messages.
#define XHDCP1X_DEBUG_PRINTF if (XHdcp1xDebugPrintf != NULL) XHdcp1xDebugPrintf |
#include <xhdcp1x_debug.h>
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 |
#include <xhdcp1x.h>
< Prevent circular inclusions by using protection macros
#define XHDCP1X_HW_H |
#include <xhdcp1x_hw.h>
< Prevent circular inclusions by using protection macros
#define XHdcp1x_In32 Xil_In32 |
#include <xhdcp1x_hw.h>
Input Operations.
#define XHdcp1x_IsDP | ( | InstancePtr | ) |
#include <xhdcp1x_hw.h>
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 | ) |
#include <xhdcp1x_hw.h>
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 | ) |
#include <xhdcp1x_hw.h>
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 | ) |
#include <xhdcp1x_hw.h>
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 |
#include <xhdcp1x.h>
Size of each hdcp 1.4 Public Key in bytes.
#define XHDCP1X_MAX_BCAPS_RDY_POLL_CNT (55) |
#include <xhdcp1x_tx.c>
Max times to poll on BCaps Ready bit at 100ms interval.
#define XHdcp1x_Out32 Xil_Out32 |
#include <xhdcp1x_hw.h>
Output Operations.
#define XHDCP1X_PLATFORM_H |
#include <xhdcp1x_platform.h>
< Prevent circular inclusions by using protection macros
#define XHDCP1X_PORT_BCLR_IN_BUF | ( | buf, | |
bitnum | |||
) | buf[(bitnum) >> 3] &= ~(1u << ((bitnum) & 0x07u)); |
#include <xhdcp1x_port.h>
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) |
#include <xhdcp1x_port_dp.h>
BInfo Depth Error Mask.
Referenced by XHdcp1x_TxGetTopologyMaxCascadeExceeded().
#define XHDCP1X_PORT_BINFO_BIT_DEPTH_NO_ERR (0u << 11) |
#include <xhdcp1x_port_dp.h>
BInfo Depth Error for No Error Mask.
#define XHDCP1X_PORT_BINFO_BIT_DEV_CNT_ERR (1u << 7) |
#include <xhdcp1x_port_dp.h>
BInfo Device Count Error Mask.
Referenced by XHdcp1x_TxGetTopologyMaxDevsExceeded().
#define XHDCP1X_PORT_BINFO_BIT_DEV_CNT_NO_ERR (0u << 7) |
#include <xhdcp1x_port_dp.h>
BInfo Device Count for No Error Mask.
#define XHDCP1X_PORT_BINFO_DEPTH_ERR_SHIFT (11) |
#include <xhdcp1x_port_dp.h>
BStatus Depth Error Shift Mask.
Referenced by XHdcp1x_RxSetTopologyMaxCascadeExceeded().
#define XHDCP1X_PORT_BINFO_DEPTH_SHIFT (8) |
#include <xhdcp1x_port_dp.h>
BInfo Device Count Error Mask.
#define XHDCP1X_PORT_BINFO_DEV_CNT_ERR_SHIFT (7) |
#include <xhdcp1x_port_dp.h>
BStatus Device Count Error Shift Mask.
Referenced by XHdcp1x_RxSetTopologyMaxDevsExceeded().
#define XHDCP1X_PORT_BINFO_DEV_CNT_MASK (0x7F) |
#include <xhdcp1x_port_dp.h>
BInfo Device Count Error Mask.
#define XHDCP1X_PORT_BIT_AINFO_ENABLE_1d1_FEATURES (1u << 1) |
#include <xhdcp1x_port_hdmi.h>
AInfo Enable 1.1 Features.
#define XHDCP1X_PORT_BIT_AINFO_REAUTH_ENABLE_IRQ (1u << 0) |
#include <xhdcp1x_port_dp.h>
Ainfo Reauth Enable Mask.
#define XHDCP1X_PORT_BIT_BCAPS_1d1_FEATURES (1u << 1) |
#include <xhdcp1x_port_hdmi.h>
BCaps HDCP 1.1 Features Support Mask.
#define XHDCP1X_PORT_BIT_BCAPS_FAST (1u << 4) |
#include <xhdcp1x_port_hdmi.h>
BCaps Fast Transfers Mask.
#define XHDCP1X_PORT_BIT_BCAPS_FAST_REAUTH (1u << 0) |
#include <xhdcp1x_port_hdmi.h>
BCaps Fast Reauth Mask.
#define XHDCP1X_PORT_BIT_BCAPS_HDCP_CAPABLE (1u << 0) |
#include <xhdcp1x_port_dp.h>
BCaps HDCP Capable Mask.
#define XHDCP1X_PORT_BIT_BCAPS_HDMI (1u << 7) |
#include <xhdcp1x_port_hdmi.h>
BCaps HDMI Supported Mask.
#define XHDCP1X_PORT_BIT_BCAPS_READY (1u << 5) |
#include <xhdcp1x_port_hdmi.h>
BCaps KSV FIFO Ready bit Mask.
#define XHDCP1X_PORT_BIT_BCAPS_REPEATER (1u << 6) |
#include <xhdcp1x_port_hdmi.h>
BCaps Repeater Capable Mask.
#define XHDCP1X_PORT_BIT_BCAPS_REPEATER (1u << 1) |
#include <xhdcp1x_port_dp.h>
BCaps HDCP Repeater Mask.
#define XHDCP1X_PORT_BIT_BSTATUS_HDMI_MODE (1u << 12) |
#include <xhdcp1x_port_hdmi.h>
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) |
#include <xhdcp1x_port_dp.h>
BStatus Link Failure Mask.
#define XHDCP1X_PORT_BIT_BSTATUS_READY (1u << 0) |
#include <xhdcp1x_port_dp.h>
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) |
#include <xhdcp1x_port_dp.h>
BStatus Reauth Request Mask.
#define XHDCP1X_PORT_BIT_BSTATUS_RO_AVAILABLE (1u << 1) |
#include <xhdcp1x_port_dp.h>
BStatus Ro available Mask.
#define XHDCP1X_PORT_BSET_IN_BUF | ( | buf, | |
bitnum | |||
) | buf[(bitnum) >> 3] |= (1u << ((bitnum) & 0x07u)); |
#include <xhdcp1x_port.h>
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) |
#include <xhdcp1x_port_hdmi.h>
BStatus Depth Error Mask.
Referenced by XHdcp1x_TxGetTopologyMaxCascadeExceeded().
#define XHDCP1X_PORT_BSTATUS_BIT_DEPTH_NO_ERR (0u << 11) |
#include <xhdcp1x_port_hdmi.h>
BStatus Depth Error for No Error Mask.
#define XHDCP1X_PORT_BSTATUS_BIT_DEV_CNT_ERR (1u << 7) |
#include <xhdcp1x_port_hdmi.h>
BStatus Device Count Error Mask.
Referenced by XHdcp1x_TxGetTopologyMaxDevsExceeded().
#define XHDCP1X_PORT_BSTATUS_BIT_DEV_CNT_NO_ERR (0u << 7) |
#include <xhdcp1x_port_hdmi.h>
BStatus Device Count for No Error Mask.
#define XHDCP1X_PORT_BSTATUS_DEPTH_ERR_SHIFT (11) |
#include <xhdcp1x_port_hdmi.h>
BStatus Depth Error Shift Mask.
Referenced by XHdcp1x_RxSetTopologyMaxCascadeExceeded().
#define XHDCP1X_PORT_BSTATUS_DEPTH_SHIFT (8) |
#include <xhdcp1x_port_hdmi.h>
BStatus Device Count Error Mask.
#define XHDCP1X_PORT_BSTATUS_DEV_CNT_ERR_SHIFT (7) |
#include <xhdcp1x_port_hdmi.h>
BStatus Device Count Error Shift Mask.
Referenced by XHdcp1x_RxSetTopologyMaxDevsExceeded().
#define XHDCP1X_PORT_BSTATUS_DEV_CNT_MASK (0x7F) |
#include <xhdcp1x_port_hdmi.h>
BStatus Device Count Error Mask.
#define XHDCP1X_PORT_BTST_IN_BUF | ( | buf, | |
bitnum | |||
) | (buf[(bitnum) >> 3] & (1u << ((bitnum) & 0x07u))) |
#include <xhdcp1x_port.h>
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 | |||
) |
#include <xhdcp1x_port.h>
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 |
#include <xhdcp1x_port_dp.h>
< Prevent circular inclusions by using protection macros
#define XHDCP1X_PORT_DPCD_BASE (0x68000u) |
#include <xhdcp1x_port_dp.h>
This constant defines the base address of the hdcp port within the DPCD address space.
Base Addr in DPCD
#define XHDCP1X_PORT_H |
#include <xhdcp1x_port.h>
< Prevent circular inclusions by using protection macros
#define XHDCP1X_PORT_HDCP_RESET_KSV (0xD0u) |
#include <xhdcp1x_port_dp.h>
KSV FIFO Read pointer reset Offset.
#define XHDCP1X_PORT_HDCP_RESET_KSV_RST (1u << 0) |
#include <xhdcp1x_port_dp.h>
KSV FIFO pointer Reset Mask.
#define XHDCP1X_PORT_HDMI_H |
#include <xhdcp1x_port_hdmi.h>
< Prevent circular inclusions by using protection macros
#define XHDCP1X_PORT_OFFSET_AINFO (0x15u) |
#include <xhdcp1x_port_hdmi.h>
Ainfo Offset.
#define XHDCP1X_PORT_OFFSET_AINFO (0x3Bu) |
#include <xhdcp1x_port_dp.h>
Ainfo Offset.
#define XHDCP1X_PORT_OFFSET_AKSV (0x10u) |
#include <xhdcp1x_port_hdmi.h>
Aksv Offset.
#define XHDCP1X_PORT_OFFSET_AKSV (0x07u) |
#include <xhdcp1x_port_dp.h>
Aksv Offset.
#define XHDCP1X_PORT_OFFSET_AN (0x18u) |
#include <xhdcp1x_port_hdmi.h>
An Offset.
#define XHDCP1X_PORT_OFFSET_AN (0x0Cu) |
#include <xhdcp1x_port_dp.h>
An Offset.
#define XHDCP1X_PORT_OFFSET_BCAPS (0x40u) |
#include <xhdcp1x_port_hdmi.h>
Bcaps Offset.
#define XHDCP1X_PORT_OFFSET_BCAPS (0x28u) |
#include <xhdcp1x_port_dp.h>
Bcaps Offset.
#define XHDCP1X_PORT_OFFSET_BINFO (0x2Au) |
#include <xhdcp1x_port_dp.h>
Binfo Offset.
Referenced by XHdcp1x_RxSetTopologyMaxCascadeExceeded(), XHdcp1x_RxSetTopologyMaxDevsExceeded(), XHdcp1x_TxGetTopologyMaxCascadeExceeded(), and XHdcp1x_TxGetTopologyMaxDevsExceeded().
#define XHDCP1X_PORT_OFFSET_BKSV (0x00u) |
#include <xhdcp1x_port_hdmi.h>
These constants specify the offsets for the various fields and/or attributes within the hdcp port.
Bksv Offset
#define XHDCP1X_PORT_OFFSET_BKSV (0x00u) |
#include <xhdcp1x_port_dp.h>
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) |
#include <xhdcp1x_port_hdmi.h>
Bstatus Offset.
#define XHDCP1X_PORT_OFFSET_BSTATUS (0x29u) |
#include <xhdcp1x_port_dp.h>
Bstatus Offset.
Referenced by XHdcp1x_RxSetHdmiMode(), XHdcp1x_RxSetTopologyMaxCascadeExceeded(), XHdcp1x_RxSetTopologyMaxDevsExceeded(), XHdcp1x_TxGetTopologyMaxCascadeExceeded(), and XHdcp1x_TxGetTopologyMaxDevsExceeded().
#define XHDCP1X_PORT_OFFSET_DBG (0xC0u) |
#include <xhdcp1x_port_hdmi.h>
Debug Space Offset.
#define XHDCP1X_PORT_OFFSET_DBG (0xC0u) |
#include <xhdcp1x_port_dp.h>
Debug Space Offset.
#define XHDCP1X_PORT_OFFSET_KSVFIFO (0x43u) |
#include <xhdcp1x_port_hdmi.h>
KSV FIFO Offset.
#define XHDCP1X_PORT_OFFSET_KSVFIFO (0x2Cu) |
#include <xhdcp1x_port_dp.h>
KSV FIFO Offset.
#define XHDCP1X_PORT_OFFSET_PJ (0x0Au) |
#include <xhdcp1x_port_hdmi.h>
Pj' Offset.
#define XHDCP1X_PORT_OFFSET_RO (0x08u) |
#include <xhdcp1x_port_hdmi.h>
Ri'/Ro' Offset.
#define XHDCP1X_PORT_OFFSET_RO (0x05u) |
#include <xhdcp1x_port_dp.h>
R0' Offset.
#define XHDCP1X_PORT_OFFSET_VH0 (0x20u) |
#include <xhdcp1x_port_hdmi.h>
V'.H0 Offset.
#define XHDCP1X_PORT_OFFSET_VH0 (0x14u) |
#include <xhdcp1x_port_dp.h>
V'.H0 Offset.
#define XHDCP1X_PORT_OFFSET_VH1 (0x24u) |
#include <xhdcp1x_port_hdmi.h>
V'.H1 Offset.
#define XHDCP1X_PORT_OFFSET_VH1 (0x18u) |
#include <xhdcp1x_port_dp.h>
V'.H1 Offset.
#define XHDCP1X_PORT_OFFSET_VH2 (0x28u) |
#include <xhdcp1x_port_hdmi.h>
V'.H2 Offset.
#define XHDCP1X_PORT_OFFSET_VH2 (0x1Cu) |
#include <xhdcp1x_port_dp.h>
V'.H2 Offset.
#define XHDCP1X_PORT_OFFSET_VH3 (0x2Cu) |
#include <xhdcp1x_port_hdmi.h>
V'.H3 Offset.
#define XHDCP1X_PORT_OFFSET_VH3 (0x20u) |
#include <xhdcp1x_port_dp.h>
V'.H3 Offset.
#define XHDCP1X_PORT_OFFSET_VH4 (0x30u) |
#include <xhdcp1x_port_hdmi.h>
V'.H4 Offset.
#define XHDCP1X_PORT_OFFSET_VH4 (0x24u) |
#include <xhdcp1x_port_dp.h>
V'.H4 Offset.
#define XHDCP1X_PORT_PRIMARY_I2C_ADDR (0x74u) |
#include <xhdcp1x_port_hdmi.h>
This constant defines the i2c address of the hdcp port.
I2C Addr Primary Link
#define XHDCP1X_PORT_SECONDARY_I2C_ADDR (0x76u) |
#include <xhdcp1x_port_hdmi.h>
I2C Addr Secondary Link.
#define XHDCP1X_PORT_SIZE_AINFO (0x01u) |
#include <xhdcp1x_port_hdmi.h>
Ainfo Size.
#define XHDCP1X_PORT_SIZE_AINFO (0x01u) |
#include <xhdcp1x_port_dp.h>
Ainfo Offset.
#define XHDCP1X_PORT_SIZE_AKSV (0x05u) |
#include <xhdcp1x_port_hdmi.h>
Aksv Size.
#define XHDCP1X_PORT_SIZE_AKSV (0x05u) |
#include <xhdcp1x_port_dp.h>
Aksv Size.
#define XHDCP1X_PORT_SIZE_AN (0x08u) |
#include <xhdcp1x_port_hdmi.h>
An Size.
#define XHDCP1X_PORT_SIZE_AN (0x08u) |
#include <xhdcp1x_port_dp.h>
An Size.
#define XHDCP1X_PORT_SIZE_BCAPS (0x01u) |
#include <xhdcp1x_port_hdmi.h>
Bcaps Size.
#define XHDCP1X_PORT_SIZE_BCAPS (0x01u) |
#include <xhdcp1x_port_dp.h>
Bcaps Size.
#define XHDCP1X_PORT_SIZE_BINFO (0x02u) |
#include <xhdcp1x_port_dp.h>
Binfo Size.
Referenced by XHdcp1x_RxSetTopologyMaxCascadeExceeded(), XHdcp1x_RxSetTopologyMaxDevsExceeded(), XHdcp1x_TxGetTopologyMaxCascadeExceeded(), and XHdcp1x_TxGetTopologyMaxDevsExceeded().
#define XHDCP1X_PORT_SIZE_BKSV (0x05u) |
#include <xhdcp1x_port_hdmi.h>
These constants specify the sizes for the various fields and/or attributes within the hdcp port.
Bksv Size
#define XHDCP1X_PORT_SIZE_BKSV (0x05u) |
#include <xhdcp1x_port_dp.h>
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) |
#include <xhdcp1x_port_hdmi.h>
Bstatus Size.
#define XHDCP1X_PORT_SIZE_BSTATUS (0x01u) |
#include <xhdcp1x_port_dp.h>
Bstatus Size.
Referenced by XHdcp1x_RxSetHdmiMode(), XHdcp1x_RxSetTopologyMaxCascadeExceeded(), XHdcp1x_RxSetTopologyMaxDevsExceeded(), XHdcp1x_TxGetTopologyMaxCascadeExceeded(), and XHdcp1x_TxGetTopologyMaxDevsExceeded().
#define XHDCP1X_PORT_SIZE_DBG (0xC0u) |
#include <xhdcp1x_port_hdmi.h>
Debug Space Size.
#define XHDCP1X_PORT_SIZE_DBG (0x40u) |
#include <xhdcp1x_port_dp.h>
Debug Space Size.
#define XHDCP1X_PORT_SIZE_HDCP_RESET_KSV (0x40u) |
#include <xhdcp1x_port_dp.h>
KSV FIFO pointer reset Size.
#define XHDCP1X_PORT_SIZE_KSVFIFO (0x01u) |
#include <xhdcp1x_port_hdmi.h>
KSV FIFO Size.
#define XHDCP1X_PORT_SIZE_KSVFIFO (0x0Fu) |
#include <xhdcp1x_port_dp.h>
KSV FIFO Size.
#define XHDCP1X_PORT_SIZE_PJ (0x01u) |
#include <xhdcp1x_port_hdmi.h>
Pj' Size.
#define XHDCP1X_PORT_SIZE_RO (0x02u) |
#include <xhdcp1x_port_hdmi.h>
Ri' Size.
#define XHDCP1X_PORT_SIZE_RO (0x02u) |
#include <xhdcp1x_port_dp.h>
R0' Size.
#define XHDCP1X_PORT_SIZE_VH0 (0x04u) |
#include <xhdcp1x_port_hdmi.h>
V'.H0 Size.
#define XHDCP1X_PORT_SIZE_VH0 (0x04u) |
#include <xhdcp1x_port_dp.h>
V'.H0 Size.
#define XHDCP1X_PORT_SIZE_VH1 (0x04u) |
#include <xhdcp1x_port_hdmi.h>
V'.H1 Size.
#define XHDCP1X_PORT_SIZE_VH1 (0x04u) |
#include <xhdcp1x_port_dp.h>
V'.H1 Size.
#define XHDCP1X_PORT_SIZE_VH2 (0x04u) |
#include <xhdcp1x_port_hdmi.h>
V'.H2 Size.
#define XHDCP1X_PORT_SIZE_VH2 (0x04u) |
#include <xhdcp1x_port_dp.h>
V'.H2 Size.
#define XHDCP1X_PORT_SIZE_VH3 (0x04u) |
#include <xhdcp1x_port_hdmi.h>
V'.H3 Size.
#define XHDCP1X_PORT_SIZE_VH3 (0x04u) |
#include <xhdcp1x_port_dp.h>
V'.H3 Size.
#define XHDCP1X_PORT_SIZE_VH4 (0x04u) |
#include <xhdcp1x_port_hdmi.h>
V'.H4 Size.
#define XHDCP1X_PORT_SIZE_VH4 (0x04u) |
#include <xhdcp1x_port_dp.h>
V'.H4 Size.
#define XHDCP1X_PORT_UINT_TO_BUF | ( | buf, | |
uint, | |||
numbits | |||
) |
#include <xhdcp1x_port.h>
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)) |
#include <xhdcp1x_hw.h>
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_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 |
#include <xhdcp1x.h>
Maximum depth that the Repeater can support on the downstream interface.
#define XHDCP1X_RPTR_MAX_DEVS_COUNT 32 |
#include <xhdcp1x.h>
Maximum devices that can be cascaded to the Repeater.
#define XHDCP1X_RX_H |
#include <xhdcp1x_rx.h>
< Prevent circular inclusions by using protection macros
#define XHdcp1x_SetCallBack XHdcp1x_SetCallback |
#include <xhdcp1x.h>
Alternative name for the function to set callback for HDCP functions.
#define XHDCP1X_TX_H |
#include <xhdcp1x_tx.h>
< Prevent circular inclusions by using protection macros
#define XHdcp1x_WriteReg | ( | BaseAddress, | |
RegOffset, | |||
Data | |||
) | XHdcp1x_Out32((BaseAddress) + ((u32)RegOffset), (u32)(Data)) |
#include <xhdcp1x_hw.h>
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_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 |
#define XVPHY_FLAG_IS_REPEATER (1u << 1) |
#include <xhdcp1x_tx.c>
Flag to track repeater state.
#define XVPHY_FLAG_PHY_UP (1u << 0) |
#include <xhdcp1x_tx.c>
Flag to track physical state.
#define XVPHY_FLAG_PHY_UP (1u << 0) |
#include <xhdcp1x_rx.c>
Flag to track physical state.
#define XVPHY_TMO_100MS (100u) |
#include <xhdcp1x_rx.c>
Timeout value for 100ms.
#define XVPHY_TMO_100MS (100u) |
#include <xhdcp1x_tx.c>
Timeout value for 100ms.
#define XVPHY_TMO_1SECOND (1000u) |
#include <xhdcp1x_tx.c>
Timeout value for 1s.
#define XVPHY_TMO_1SECOND (1000u) |
#include <xhdcp1x_rx.c>
Timeout value for 1s.
#define XVPHY_TMO_5MS (5u) |
#include <xhdcp1x_rx.c>
Timeout value for 5ms.
#define XVPHY_TMO_5MS (5u) |
#include <xhdcp1x_tx.c>
Timeout value for 5ms.
typedef void(* XHdcp1x_Callback) (void *CallbackRef) |
#include <xhdcp1x.h>
This typedef defines the callback interface that is to be used for interrupts within this driver.
typedef u32(* XHdcp1x_GetDdcHandler) (void *HandlerRef) |
#include <xhdcp1x.h>
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 |
#include <xhdcp1x.h>
This typedef defines a memory to store a Key Selection Vector (KSV)
typedef int(* XHdcp1x_KsvRevokeCheck) (const XHdcp1x *InstancePtr, u64 Ksv) |
#include <xhdcp1x.h>
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,...) |
#include <xhdcp1x.h>
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 |
#include <xhdcp1x.h>
This typedef contains an instance of the HDCP port.
typedef struct XHdcp1x_PortPhyIfAdaptorS XHdcp1x_PortPhyIfAdaptor |
#include <xhdcp1x_port.h>
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,...) |
#include <xhdcp1x.h>
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) |
#include <xhdcp1x.h>
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) |
#include <xhdcp1x.h>
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) |
#include <xhdcp1x.h>
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) |
#include <xhdcp1x.h>
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) |
#include <xhdcp1x.h>
This typedef defines the function interface that is to be used for stopping a timer on behalf of an HDCP interface.
#include <xhdcp1x_cipher.h>
These constants specify different types of handler and used to differentiate interrupt requests from peripheral.
#include <xhdcp1x_cipher.h>
These constants specify different types of authentication requests that can be initiated within a peripheral.
enum XHdcp1x_EventType |
#include <xhdcp1x_rx.c>
This enumerates the Event Types for HDCP Receiver state machine.
enum XHdcp1x_EventType |
#include <xhdcp1x_tx.c>
This enumerates the Event Types for HDCP Transmitter state machine.
enum XHdcp1x_HandlerType |
#include <xhdcp1x.h>
These constants are used to identify callback functions.
#include <xhdcp1x_port.h>
This typedef defines the different types of handlers that can be registered to service interrupt requests from the HDCP port instance.
Enumerator | |
---|---|
XHDCP1X_PORT_HANDLER_AUTHENTICATE | An (re)auth request. |
#include <xhdcp1x.h>
This enumerates the call back for the HDCP Repeater Tx state machine.
enum XHdcp1x_Rx_StateType |
#include <xhdcp1x.h>
This enumerates the State Types for HDCP Receiver state machine.
enum XHdcp1x_StateType |
#include <xhdcp1x_rx.c>
This enumerates the State Types for HDCP Receiver state machine.
enum XHdcp1x_StateType |
#include <xhdcp1x_tx.c>
This enumerates the Event Types for HDCP Transmitter state machine.
#include <xhdcp1x.h>
These constants are used to identify fields inside the topology structure.
enum XHdcp1x_Tx_StateType |
#include <xhdcp1x.h>
This enumerates the Event Types for HDCP Transmitter state machine.
int XHdcp1x_Authenticate | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x.c>
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 | ||
) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x_cipher.c>
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 | ) |
#include <xhdcp1x_cipher.c>
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 | ||
) |
#include <xhdcp1x_cipher.c>
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 | ||
) |
#include <xhdcp1x_cipher.c>
This function initiates a request within the HDCP cipher.
InstancePtr | is the device to submit the request to. |
Request | is the request to submit. |
int XHdcp1x_CipherEnable | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_cipher.c>
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 | ) |
#include <xhdcp1x_cipher.c>
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 | ||
) |
#include <xhdcp1x_cipher.c>
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 | ||
) |
#include <xhdcp1x_cipher.c>
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 | ) |
#include <xhdcp1x_cipher.c>
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 | ||
) |
#include <xhdcp1x_cipher.c>
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 | ) |
#include <xhdcp1x_cipher.c>
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().
u64 XHdcp1x_CipherGetMi | ( | const XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_cipher.c>
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 | ) |
#include <xhdcp1x_cipher.c>
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 | ) |
#include <xhdcp1x_cipher.c>
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 | ) |
#include <xhdcp1x_cipher.c>
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 | ) |
#include <xhdcp1x_cipher.c>
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 | ) |
#include <xhdcp1x_cipher.c>
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 | ) |
#include <xhdcp1x_cipher.c>
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().
void XHdcp1x_CipherHandleInterrupt | ( | void * | InstancePtr | ) |
#include <xhdcp1x_cipher.h>
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 | ) |
#include <xhdcp1x_cipher.c>
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 | ) |
#include <xhdcp1x.h>
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 | ) |
#include <xhdcp1x_cipher.c>
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 | ) |
#include <xhdcp1x_cipher.c>
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 | ||
) |
#include <xhdcp1x_cipher.c>
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 | ||
) |
#include <xhdcp1x_cipher.h>
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. |
int XHdcp1x_CipherSetK | ( | XHdcp1x * | InstancePtr, |
u32 | X, | ||
u32 | Y, | ||
u32 | Z | ||
) |
#include <xhdcp1x_cipher.c>
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 | ||
) |
#include <xhdcp1x_cipher.c>
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 | ||
) |
#include <xhdcp1x_cipher.h>
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 | ||
) |
#include <xhdcp1x_cipher.c>
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 | ||
) |
#include <xhdcp1x_cipher.c>
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 | ||
) |
#include <xhdcp1x_cipher.h>
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 | ) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x.c>
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 | ||
) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x.c>
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 | ||
) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x.c>
This function retrieves the version of the HDCP driver software.
References DRIVER_VERSION.
u64 XHdcp1x_GetEncryption | ( | const XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x.c>
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 | ||
) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x.c>
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 | ||
) |
u8 * XHdcp1x_GetTopologyKSVList | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x.c>
This function retrieves the cipher version of an HDCP interface.
InstancePtr | is the interface to query. |
References XHdcp1x_CipherGetVersion().
void XHdcp1x_HandleTimeout | ( | void * | InstancePtr | ) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x.c>
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().
int XHdcp1x_IsInComputations | ( | const XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x.h>
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 | ||
) |
#include <xhdcp1x_platform.c>
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 | ||
) |
#include <xhdcp1x_platform.c>
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 | ||
) |
#include <xhdcp1x_platform.c>
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 | ) |
#include <xhdcp1x_platform.c>
This function stop a timer on behalf of an HDCP interface.
InstancePtr | is the HDCP interface. |
References XHdcp1x::XHdcp1xTimerStop.
int XHdcp1x_Poll | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x_port.c>
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 | ) |
#include <xhdcp1x_port.c>
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 | ) |
#include <xhdcp1x_port.c>
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 | ||
) |
#include <xhdcp1x_port.c>
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 | ||
) |
#include <xhdcp1x_port.h>
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 | ||
) |
#include <xhdcp1x.h>
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 | ) |
#include <xhdcp1x_port.c>
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 | ) |
#include <xhdcp1x_port.c>
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 | ||
) |
#include <xhdcp1x_port.c>
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 | ||
) |
#include <xhdcp1x_port.h>
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 | ||
) |
#include <xhdcp1x_port.c>
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 | ||
) |
#include <xhdcp1x_port.c>
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 | ) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x_rx.c>
This function initiates authentication on an interface.
InstancePtr | is the receiver instance. |
Referenced by XHdcp1x_Authenticate().
int XHdcp1x_RxDisable | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_rx.c>
This function disables a HDCP receive interface.
InstancePtr | is the receiver instance. |
Referenced by XHdcp1x_Disable().
int XHdcp1x_RxDownstreamReady | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_rx.c>
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 | ) |
#include <xhdcp1x_rx.c>
This function enables a HDCP receive interface.
InstancePtr | is the receiver instance. |
Referenced by XHdcp1x_Enable().
u64 XHdcp1x_RxGetEncryption | ( | const XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_rx.c>
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 | ||
) |
#include <xhdcp1x_rx.c>
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 | ) |
#include <xhdcp1x_rx.c>
This function handles a timeout on an HDCP interface.
InstancePtr | is the receiver instance. |
Referenced by XHdcp1x_HandleTimeout().
int XHdcp1x_RxInfo | ( | const XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_rx.c>
This function implements the debug display output for receiver instances.
InstancePtr | is the receiver instance. |
References XHdcp1x::Config, XHdcp1x_Config::IsHDMI, and XHDCP1X_DEBUG_PRINTF.
Referenced by XHdcp1x_Info().
void XHdcp1x_RxInit | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_rx.c>
This function initializes a HDCP receiver state machine.
InstancePtr | is the receiver instance. |
Referenced by XHdcp1x_CfgInitialize().
int XHdcp1x_RxIsAuthenticated | ( | const XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_rx.c>
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 | ) |
#include <xhdcp1x_rx.c>
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 | ) |
#include <xhdcp1x_rx.c>
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 | ) |
#include <xhdcp1x_rx.c>
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 | ) |
#include <xhdcp1x_rx.c>
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 | ) |
#include <xhdcp1x_rx.c>
This function polls the HDCP receiver module.
InstancePtr | is the receiver instance. |
Referenced by XHdcp1x_Poll().
int XHdcp1x_RxReset | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_rx.c>
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 | ||
) |
#include <xhdcp1x_rx.c>
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. |
void XHdcp1x_RxSetHdmiMode | ( | XHdcp1x * | InstancePtr, |
u8 | Value | ||
) |
#include <xhdcp1x_rx.c>
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 | ||
) |
#include <xhdcp1x_rx.c>
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 | ||
) |
#include <xhdcp1x_rx.c>
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 | ||
) |
#include <xhdcp1x_rx.c>
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 | ||
) |
#include <xhdcp1x_rx.c>
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 | ||
) |
#include <xhdcp1x_rx.c>
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.
void XHdcp1x_RxSetTopologyDeviceCnt | ( | XHdcp1x * | InstancePtr, |
u32 | Value | ||
) |
#include <xhdcp1x_rx.c>
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.
void XHdcp1x_RxSetTopologyKSVList | ( | XHdcp1x * | InstancePtr, |
u8 * | ListPtr, | ||
u32 | ListSize | ||
) |
#include <xhdcp1x_rx.c>
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 | ||
) |
#include <xhdcp1x_rx.c>
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().
void XHdcp1x_RxSetTopologyMaxDevsExceeded | ( | XHdcp1x * | InstancePtr, |
u8 | Value | ||
) |
#include <xhdcp1x_rx.c>
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().
void XHdcp1x_RxSetTopologyUpdate | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_rx.c>
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 | ) |
#include <xhdcp1x.h>
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 | ||
) |
#include <xhdcp1x.h>
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. |
void XHdcp1x_SetDebugLogMsg | ( | XHdcp1x_LogMsg | LogFunc | ) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x.c>
This function sets the debug printf function for the module.
PrintfFunc | is the printf function. |
References XHdcp1xDebugPrintf.
void XHdcp1x_SetHdmiMode | ( | XHdcp1x * | InstancePtr, |
u8 | Value | ||
) |
#include <xhdcp1x.c>
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 | ||
) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x.c>
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 | ||
) |
#include <xhdcp1x.c>
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 | ||
) |
#include <xhdcp1x.c>
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 | ||
) |
#include <xhdcp1x.c>
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 | ||
) |
#include <xhdcp1x.c>
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 | ||
) |
#include <xhdcp1x.c>
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 | ||
) |
#include <xhdcp1x.c>
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 | ||
) |
#include <xhdcp1x.c>
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 | ||
) |
#include <xhdcp1x.c>
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. |
void XHdcp1x_SetTopologyKSVList | ( | XHdcp1x * | InstancePtr, |
u8 * | ListPtr, | ||
u32 | ListSize | ||
) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x.c>
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 | ) |
#include <xhdcp1x_tx.c>
This function initiates authentication on an interface.
InstancePtr | is the transmitter instance. |
References XHdcp1x_Tx::IsAuthReqPending, and XHdcp1x::Tx.
Referenced by XHdcp1x_Authenticate(), and XHdcp1x_TxSetLaneCount().
int XHdcp1x_TxDisable | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_tx.c>
This function disables an HDCP interface.
InstancePtr | is the transmitter instance. |
Referenced by XHdcp1x_Disable().
void XHdcp1x_TxDisableBlank | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_tx.c>
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(), and XHdcp1x_TxEnableBlank().
int XHdcp1x_TxDisableEncryption | ( | XHdcp1x * | InstancePtr, |
u64 | StreamMap | ||
) |
#include <xhdcp1x_tx.c>
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(), XHdcp1x_TxIsEnabled(), and XHdcp1x_TxSetHdmiMode().
Referenced by XHdcp1x_DisableEncryption().
int XHdcp1x_TxEnable | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_tx.c>
This function enables an HDCP interface.
InstancePtr | is the transmitter instance. |
Referenced by XHdcp1x_Enable().
void XHdcp1x_TxEnableBlank | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_tx.c>
This function enables the blank output for the cipher.
InstancePtr | is a pointer to the Hdcp1.4 core instance. |
References XHdcp1x_CipherEnableBlank(), and XHdcp1x_TxDisableBlank().
Referenced by XHdcp1x_EnableBlank().
int XHdcp1x_TxEnableEncryption | ( | XHdcp1x * | InstancePtr, |
u64 | StreamMap | ||
) |
#include <xhdcp1x_tx.c>
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(), and XHdcp1x_TxGetEncryption().
u64 XHdcp1x_TxGetEncryption | ( | const XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_tx.c>
This function retrieves the current encryption stream map.
InstancePtr | the transmitter instance. |
References XHdcp1x_Tx::EncryptionMap, XHdcp1x::Tx, and XHdcp1x_TxEnableEncryption().
Referenced by XHdcp1x_GetEncryption(), and XHdcp1x_TxIsDownstrmCapable().
XHdcp1x_RepeaterExchange * XHdcp1x_TxGetTopology | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_tx.c>
This function returns a pointer to the downstream Topology structure.
InstancePtr | is a pointer to the XHdcp14 core instance. |
References XHdcp1x_Rx::CurrentState, XHdcp1x::IsRepeater, and XHdcp1x::Rx.
Referenced by XHdcp1x_GetTopology(), and XHdcp1x_TxGetTopologyMaxDevsExceeded().
u8 * XHdcp1x_TxGetTopologyBKSV | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_tx.c>
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, XHdcp1x_PortRead(), and XHdcp1x_TxGetTopologyMaxDevsExceeded().
Referenced by XHdcp1x_GetTopologyBKSV(), and XHdcp1x_TxGetTopologyMaxCascadeExceeded().
u32 XHdcp1x_TxGetTopologyDepth | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_tx.c>
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, XHdcp1x::RepeaterValues, and XHdcp1x_TxGetTopologyDeviceCnt().
Referenced by XHdcp1x_TxGetTopologyKSVList().
u32 XHdcp1x_TxGetTopologyDeviceCnt | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_tx.c>
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, XHdcp1x::RepeaterValues, and XHdcp1x_TxGetTopologyMaxCascadeExceeded().
Referenced by XHdcp1x_TxGetTopologyDepth().
u8 * XHdcp1x_TxGetTopologyKSVList | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_tx.c>
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, XHdcp1x::RepeaterValues, and XHdcp1x_TxGetTopologyDepth().
Referenced by XHdcp1x_GetTopologyKSVList().
u32 XHdcp1x_TxGetTopologyMaxCascadeExceeded | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_tx.c>
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, XHdcp1x_PortRead(), and XHdcp1x_TxGetTopologyBKSV().
Referenced by XHdcp1x_TxGetTopologyDeviceCnt().
u32 XHdcp1x_TxGetTopologyMaxDevsExceeded | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_tx.c>
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, XHdcp1x_PortRead(), and XHdcp1x_TxGetTopology().
Referenced by XHdcp1x_TxGetTopologyBKSV().
void XHdcp1x_TxHandleTimeout | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_tx.c>
This function handles a timeout on an HDCP interface.
InstancePtr | is the transmitter instance. |
Referenced by XHdcp1x_HandleTimeout(), and XHdcp1x_TxSetHdmiMode().
int XHdcp1x_TxInfo | ( | const XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_tx.c>
This function implements the debug display output for transmit instances.
InstancePtr | is the receiver instance. |
References XHdcp1x::Config, XHdcp1x_Config::IsHDMI, and XHDCP1X_DEBUG_PRINTF.
Referenced by XHdcp1x_Info(), and XHdcp1x_TxIsRepeater().
void XHdcp1x_TxInit | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_tx.c>
This function initializes a transmit state machine.
InstancePtr | is the receiver instance. |
Referenced by XHdcp1x_CfgInitialize().
int XHdcp1x_TxIsAuthenticated | ( | const XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_tx.c>
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(), XHdcp1x_TxEnableEncryption(), and XHdcp1x_TxIsInProgress().
int XHdcp1x_TxIsDownstrmCapable | ( | const XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_tx.c>
This function queries the downstream device to check if the downstream device is HDCP capable.
InstancePtr | is the receiver instance. |
References XHdcp1x_PortIsCapable(), and XHdcp1x_TxGetEncryption().
Referenced by XHdcp1x_IsDwnstrmCapable().
int XHdcp1x_TxIsEnabled | ( | const XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_tx.c>
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 | ) |
#include <xhdcp1x_tx.c>
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 | ) |
#include <xhdcp1x_tx.c>
This function queries an interface to check if authentication is still in progress.
InstancePtr | is the transmitter instance. |
References XHdcp1x_Tx::IsAuthReqPending, XHdcp1x::Tx, and XHdcp1x_TxIsAuthenticated().
Referenced by XHdcp1x_IsInProgress().
int XHdcp1x_TxIsInWaitforready | ( | const XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_tx.c>
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 | ) |
#include <xhdcp1x_tx.c>
This function returns if HDCP TX interface is connected to a downstream repeater.
InstancePtr | is the transmitter instance. |
References XHdcp1x_PortIsRepeater(), and XHdcp1x_TxInfo().
Referenced by XHdcp1x_IsRepeater().
int XHdcp1x_TxPoll | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_tx.c>
This function polls an HDCP interface.
InstancePtr | is the transmitter instance. |
Referenced by XHdcp1x_Poll().
int XHdcp1x_TxReadDownstream | ( | XHdcp1x * | InstancePtr | ) |
#include <xhdcp1x_tx.c>
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 | ) |
#include <xhdcp1x_tx.c>
This function resets an HDCP interface.
InstancePtr | is the transmitter instance. |
Referenced by XHdcp1x_Reset().
int XHdcp1x_TxSetCallback | ( | XHdcp1x * | InstancePtr, |
XHdcp1x_HandlerType | HandlerType, | ||
void * | CallbackFunc, | ||
void * | CallbackRef | ||
) |
#include <xhdcp1x_tx.c>
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. |
void XHdcp1x_TxSetHdmiMode | ( | XHdcp1x * | InstancePtr, |
u8 | Value | ||
) |
#include <xhdcp1x_tx.c>
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, UNUSED, and XHdcp1x_TxHandleTimeout().
Referenced by XHdcp1x_SetHdmiMode(), and XHdcp1x_TxDisableEncryption().
int XHdcp1x_TxSetLaneCount | ( | XHdcp1x * | InstancePtr, |
int | LaneCount | ||
) |
#include <xhdcp1x_tx.c>
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(), and XHdcp1x_TxAuthenticate().
Referenced by XHdcp1x_SetLaneCount().
int XHdcp1x_TxSetPhysicalState | ( | XHdcp1x * | InstancePtr, |
int | IsUp | ||
) |
#include <xhdcp1x_tx.c>
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 | ) |
#include <xhdcp1x_tx.c>
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[] |
#include <xhdcp1x_sinit.c>
Instance of Lookup table of HDCP instance(s) in the design.
XHdcp1x_LogMsg XHdcp1xDebugLogMsg |
#include <xhdcp1x_debug.h>
Instance of function interface used for debug log message statement.
Referenced by XHdcp1x_SetDebugLogMsg().
XHdcp1x_LogMsg XHdcp1xDebugLogMsg = NULL |
#include <xhdcp1x.c>
Instance of function interface used for debug log message statement.
Referenced by XHdcp1x_SetDebugLogMsg().
XHdcp1x_Printf XHdcp1xDebugPrintf |
#include <xhdcp1x_debug.h>
Instance of function interface used for debug print statement.
Referenced by XHdcp1x_SetDebugPrintf().
XHdcp1x_Printf XHdcp1xDebugPrintf = NULL |
#include <xhdcp1x.c>
Instance of function interface used for debug print statement.
Referenced by XHdcp1x_SetDebugPrintf().
XHdcp1x_KsvRevokeCheck XHdcp1xKsvRevokeCheck |
#include <xhdcp1x_platform.c>
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 |
#include <xhdcp1x.c>
Instance of function interface used for checking a specific KSV against the platforms revocation list.
Referenced by XHdcp1x_PlatformIsKsvRevoked(), and XHdcp1x_SetKsvRevokeCheck().