hdcp1x: Hdcp1x_v4_3

| hdcp1x Xilinx SDK Drivers API Documentation

- Overview
- Data Structures
- APIs
- File List

Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
Hdcp1x_v4_3

## 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...

## Macro Definition Documentation

#define DRIVER_VERSION (0x00010023ul)

This defines the version of the software driver.

Referenced by XHdcp1x_GetDriverVersion().

#define HDCP1X_CIPHER_BIT_REPEATER_ENABLE (1 << 8)

Bit in the cipher Bz register to indicate Repeater.

#define UNUSED | ( |  | x | ) | ((void)x)

Used to remove warnings for unused variables.

Referenced by XHdcp1x_DisableEncryption(), XHdcp1x_EnableEncryption(), XHdcp1x_RxSetHdmiMode(), XHdcp1x_SetTopologyKSVList(), and XHdcp1x_TxSetHdmiMode().

#define XHDCP1X_ADDITIONAL_DEBUG 0

Adds extra functions for additional debugging.

#define XHDCP1X_CIPHER_BITMASK_BLANK_SEL (0x1u)

Cipher blank select bitmask.

Referenced by XHdcp1x_CipherDisableBlank(), and XHdcp1x_CipherEnableBlank().

#define XHDCP1X_CIPHER_BITMASK_BLANK_VALUE (0x000000FF)

Cipher blank value bitmask, lower 24 bits.

Referenced by XHdcp1x_CipherEnableBlank().

#define XHDCP1X_CIPHER_BITMASK_CIPHER_CONTROL_REQUEST (0x07u << 8)

Request bitmask in Cipher Control register.

Referenced by XHdcp1x_CipherDoRequest().

#define XHDCP1X_CIPHER_BITMASK_CIPHER_CONTROL_XOR_ENABLE (0x01u << 0)

XOR Enable bitmask in Cipher Control register.

Referenced by XHdcp1x_CipherDisable(), XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherEnable(), and XHdcp1x_CipherEnableEncryption().

#define XHDCP1X_CIPHER_BITMASK_CIPHER_STATUS_REQUEST_IN_PROG (0x07u << 8)

Request In Progress bitmask in Cipher Status register.

Referenced by XHdcp1x_CipherDoRequest(), and XHdcp1x_CipherIsRequestComplete().

#define XHDCP1X_CIPHER_BITMASK_CIPHER_STATUS_XOR_IN_PROG (0x01u << 0)

XOR In Progress bitmask in Cipher Status register.

#define XHDCP1X_CIPHER_BITMASK_CONTROL_ENABLE (0x01u << 0)

Enable bitmask in Control register.

Referenced by XHdcp1x_CipherDisable(), and XHdcp1x_CipherEnable().

#define XHDCP1X_CIPHER_BITMASK_CONTROL_NUM_LANES (0x07u << 4)

Num Lanes bitmask in Control register.

Referenced by XHdcp1x_CipherGetNumLanes(), XHdcp1x_CipherInit(), and XHdcp1x_CipherSetNumLanes().

#define XHDCP1X_CIPHER_BITMASK_CONTROL_RESET (0x01u << 31)

Reset bitmask in Control register.

Referenced by XHdcp1x_CipherInit().

#define XHDCP1X_CIPHER_BITMASK_CONTROL_UPDATE (0x01u << 1)

Update bitmask in Control register.

Referenced by XHdcp1x_CipherDisable(), XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherDoRequest(), XHdcp1x_CipherEnable(), XHdcp1x_CipherEnableEncryption(), XHdcp1x_CipherInit(), XHdcp1x_CipherSetB(), XHdcp1x_CipherSetK(), and XHdcp1x_CipherSetRemoteKsv().

#define XHDCP1X_CIPHER_BITMASK_INTERRUPT_LINK_FAIL (0x01u << 0)

Link Failure bitmask in Interrupt register(s)

Referenced by XHdcp1x_CipherHandleInterrupt(), XHdcp1x_CipherIsLinkUp(), and XHdcp1x_CipherSetLinkStateCheck().

#define XHDCP1X_CIPHER_BITMASK_INTERRUPT_Ri_UPDATE (0x01u << 1)

Ri bitmask in Interrupt register(s)

Referenced by XHdcp1x_CipherHandleInterrupt(), and XHdcp1x_CipherSetRiUpdate().

#define XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_ABORT_Km (0x01u << 2)

Abort Km bitmask in Key Management Control register.

Referenced by XHdcp1x_CipherGetLocalKsv().

#define XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_BEGIN_Km (0x01u << 1)

Being Km bitmask in Key Management Control register.

Referenced by XHdcp1x_CipherSetRemoteKsv().

#define XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_LOCAL_KSV (0x01u << 0)

Read Local KSV bitmask in Key Management Control register.

Referenced by XHdcp1x_CipherGetLocalKsv().

#define XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_SET_SELECT (0x07u << 16)

Key Set Select bitmask in Key Management Control register.

Referenced by XHdcp1x_CipherSetKeySelect().

#define XHDCP1X_CIPHER_BITMASK_KEYMGMT_STATUS_Km_READY (0x01u << 1)

Km Value ready bitmask in Key Management Status register.

#define XHDCP1X_CIPHER_BITMASK_KEYMGMT_STATUS_KSV_READY (0x01u << 0)

Local KSV ready bitmask in Key Management Status register.

Referenced by XHdcp1x_CipherGetLocalKsv().

#define XHDCP1X_CIPHER_BITMASK_TYPE_DIRECTION (0x01u << 2)

Direction bitmask in Type register.

Referenced by XHdcp1x_CfgInitialize().

#define XHDCP1X_CIPHER_BITMASK_TYPE_PROTOCOL (0x03u << 0)

Protocol bitmask in Type register.

Referenced by XHdcp1x_CfgInitialize().

#define XHDCP1X_CIPHER_H

< Prevent circular inclusions by using protection macros

#define XHDCP1X_CIPHER_REG_BLANK_SEL (0x00C0u)

Cipher blank select register.

Referenced by XHdcp1x_CipherDisableBlank(), and XHdcp1x_CipherEnableBlank().

#define XHDCP1X_CIPHER_REG_BLANK_VALUE (0x00BCu)

Cipher blank value register.

Referenced by XHdcp1x_CipherEnableBlank().

#define XHDCP1X_CIPHER_REG_CIPHER_Bx (0x0058u)

Cipher Bx register offset.

Referenced by XHdcp1x_CipherGetB(), and XHdcp1x_CipherSetB().

#define XHDCP1X_CIPHER_REG_CIPHER_By (0x005Cu)

Cipher By register offset.

Referenced by XHdcp1x_CipherGetB(), and XHdcp1x_CipherSetB().

#define XHDCP1X_CIPHER_REG_CIPHER_Bz (0x0060u)

Cipher Bz register offset.

Referenced by XHdcp1x_CipherGetB(), and XHdcp1x_CipherSetB().

#define XHDCP1X_CIPHER_REG_CIPHER_CONTROL (0x0050u)

Cipher Control register offset.

Referenced by XHdcp1x_CipherDisable(), XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherDoRequest(), XHdcp1x_CipherEnable(), and XHdcp1x_CipherEnableEncryption().

#define XHDCP1X_CIPHER_REG_CIPHER_Kx (0x0064u)

Cipher Kx register offset.

Referenced by XHdcp1x_CipherGetK(), and XHdcp1x_CipherSetK().

#define XHDCP1X_CIPHER_REG_CIPHER_Ky (0x0068u)

Cipher Ky register offset.

Referenced by XHdcp1x_CipherGetK(), and XHdcp1x_CipherSetK().

#define XHDCP1X_CIPHER_REG_CIPHER_Kz (0x006Cu)

Cipher Kz register offset.

Referenced by XHdcp1x_CipherGetK(), and XHdcp1x_CipherSetK().

#define XHDCP1X_CIPHER_REG_CIPHER_Mi_H (0x0070u)

Cipher Mi (High) register offset.

Referenced by XHdcp1x_CipherGetMi().

#define XHDCP1X_CIPHER_REG_CIPHER_Mi_L (0x0074u)

Cipher Mi (Low) register offset.

Referenced by XHdcp1x_CipherGetMi().

#define XHDCP1X_CIPHER_REG_CIPHER_Mo_H (0x0080u)

Cipher Mo (High) register offset.

Referenced by XHdcp1x_CipherGetMo().

#define XHDCP1X_CIPHER_REG_CIPHER_Mo_L (0x0084u)

Cipher Mo (Low) register offset.

Referenced by XHdcp1x_CipherGetMo().

#define XHDCP1X_CIPHER_REG_CIPHER_Ri (0x0078u)

Cipher Ri register offset.

Referenced by XHdcp1x_CipherGetRi().

#define XHDCP1X_CIPHER_REG_CIPHER_Ro (0x007Cu)

Cipher Ro register offset.

Referenced by XHdcp1x_CipherGetRo().

#define XHDCP1X_CIPHER_REG_CIPHER_STATUS (0x0054u)

Cipher Status register offset.

Referenced by XHdcp1x_CipherDoRequest(), and XHdcp1x_CipherIsRequestComplete().

#define XHDCP1X_CIPHER_REG_CONTROL (0x000Cu)

Control register offset.

Referenced by XHdcp1x_CipherDisable(), XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherDoRequest(), XHdcp1x_CipherEnable(), XHdcp1x_CipherEnableEncryption(), XHdcp1x_CipherGetNumLanes(), XHdcp1x_CipherInit(), XHdcp1x_CipherSetB(), XHdcp1x_CipherSetK(), XHdcp1x_CipherSetNumLanes(), and XHdcp1x_CipherSetRemoteKsv().

#define XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_H (0x0020u)

Encryption Enable (High) register offset.

Referenced by XHdcp1x_CipherDisable(), XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherEnable(), XHdcp1x_CipherEnableEncryption(), and XHdcp1x_CipherGetEncryption().

#define XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_L (0x0024u)

Encryption Enable (Low) register offset.

Referenced by XHdcp1x_CipherDisable(), XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherEnable(), XHdcp1x_CipherEnableEncryption(), and XHdcp1x_CipherGetEncryption().

#define XHDCP1X_CIPHER_REG_INTERRUPT_MASK (0x0014u)

Interrupt Mask register offset.

Referenced by XHdcp1x_CipherDisable(), XHdcp1x_CipherInit(), XHdcp1x_CipherSetLinkStateCheck(), and XHdcp1x_CipherSetRiUpdate().

#define XHDCP1X_CIPHER_REG_INTERRUPT_STATUS (0x0018u)

Interrupt Status register offset.

Referenced by XHdcp1x_CipherHandleInterrupt(), XHdcp1x_CipherInit(), XHdcp1x_CipherSetLinkStateCheck(), and XHdcp1x_CipherSetRiUpdate().

#define XHDCP1X_CIPHER_REG_KEYMGMT_CONTROL (0x002Cu)

Key Management Control register offset.

Referenced by XHdcp1x_CipherGetLocalKsv(), XHdcp1x_CipherSetKeySelect(), and XHdcp1x_CipherSetRemoteKsv().

#define XHDCP1X_CIPHER_REG_KEYMGMT_STATUS (0x0030u)

Key Management Status register offset.

Referenced by XHdcp1x_CipherGetLocalKsv().

#define XHDCP1X_CIPHER_REG_Km_H (0x0048u)

Km (High) register offset.

#define XHDCP1X_CIPHER_REG_Km_L (0x004Cu)

Km (Low) register offset.

#define XHDCP1X_CIPHER_REG_KSV_LOCAL_H (0x0038u)

Local KSV (High) register offset.

Referenced by XHdcp1x_CipherGetLocalKsv().

#define XHDCP1X_CIPHER_REG_KSV_LOCAL_L (0x003Cu)

Local KSV (Low) register offset.

Referenced by XHdcp1x_CipherGetLocalKsv().

#define XHDCP1X_CIPHER_REG_KSV_REMOTE_H (0x0040u)

Remote KSV (High) offset.

Referenced by XHdcp1x_CipherGetRemoteKsv(), and XHdcp1x_CipherSetRemoteKsv().

#define XHDCP1X_CIPHER_REG_KSV_REMOTE_L (0x0044u)

Remote KSV (Low) register offset.

Referenced by XHdcp1x_CipherGetRemoteKsv(), and XHdcp1x_CipherSetRemoteKsv().

#define XHDCP1X_CIPHER_REG_SCRATCH (0x0008u)

Scratch pad register offset.

#define XHDCP1X_CIPHER_REG_STATUS (0x0010u)

Status register offset.

Referenced by XHdcp1x_CipherIsLinkUp().

#define XHDCP1X_CIPHER_REG_TYPE (0x0004u)

Type register offset.

Referenced by XHdcp1x_CfgInitialize().

#define XHDCP1X_CIPHER_REG_VERSION (0x0000u)

Version register offset.

Referenced by XHdcp1x_CipherGetVersion(), and XHdcp1x_SelfTest().

#define XHDCP1X_CIPHER_VALUE_CIPHER_CONTROL_REQUEST_BLOCK (0x01u << 8)

Block Request value in Cipher Control register.

Referenced by XHdcp1x_CipherDoRequest().

#define XHDCP1X_CIPHER_VALUE_CIPHER_CONTROL_REQUEST_REKEY (0x01u << 9)

ReKey Request value in Cipher Control register.

#define XHDCP1X_CIPHER_VALUE_CIPHER_CONTROL_REQUEST_RNG (0x01u << 10)

RNG Request value in Cipher Control register.

#define XHDCP1X_CIPHER_VALUE_TYPE_DIRECTION_RX (0x00u << 2)

RX Direction value in Type register.

Referenced by XHdcp1x_CfgInitialize().

#define XHDCP1X_CIPHER_VALUE_TYPE_DIRECTION_TX (0x01u << 2)

TX Direction value in Type register.

#define XHDCP1X_CIPHER_VALUE_TYPE_PROTOCOL_DP (0x00u << 0)

DP Protocol value in Type register.

#define XHDCP1X_CIPHER_VALUE_TYPE_PROTOCOL_HDMI (0x01u << 0)

HDMI Protocol value in Type register.

Referenced by XHdcp1x_CfgInitialize().

#define XHdcp1x_CipherIsEnabled | ( |  | InstancePtr | ) |

Value:
((XHdcp1x_ReadReg((InstancePtr)->Config.BaseAddress, \
XHDCP1X_CIPHER_REG_CONTROL) & \
XHDCP1X_CIPHER_BITMASK_CONTROL_ENABLE) != 0)
XHDCP1X_CIPHER_REG_CONTROL
#define XHDCP1X_CIPHER_REG_CONTROL
Control register offset.
Definition: xhdcp1x_hw.h:73
XHDCP1X_CIPHER_BITMASK_CONTROL_ENABLE
#define XHDCP1X_CIPHER_BITMASK_CONTROL_ENABLE
Enable bitmask in Control register.
Definition: xhdcp1x_hw.h:181
XHdcp1x_ReadReg
#define XHdcp1x_ReadReg(BaseAddress, RegOffset)
This macro reads a value from a HDCP cipher register.
Definition: xhdcp1x_hw.h:332

This queries a cipher to determine if it is enabled.

Parameters

  InstancePtr | is the instance to query.

Returns
  Truth value indicating transmitter (TRUE) or not (FALSE).

Note
  None.

Referenced by XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherDoRequest(), XHdcp1x_CipherEnable(), XHdcp1x_CipherEnableEncryption(), XHdcp1x_CipherGetB(), XHdcp1x_CipherGetEncryption(), XHdcp1x_CipherGetK(), XHdcp1x_CipherGetLocalKsv(), XHdcp1x_CipherGetMi(), XHdcp1x_CipherGetMo(), XHdcp1x_CipherGetNumLanes(), XHdcp1x_CipherGetRi(), XHdcp1x_CipherGetRo(), XHdcp1x_CipherIsLinkUp(), XHdcp1x_CipherSetB(), XHdcp1x_CipherSetK(), and XHdcp1x_CipherSetRemoteKsv().

#define XHdcp1x_CipherKmReady | ( |  | InstancePtr | ) |

Value:
((XHdcp1x_ReadReg((InstancePtr)->Config.BaseAddress, \
XHDCP1X_CIPHER_REG_KEYMGMT_STATUS) & \
XHDCP1X_CIPHER_BITMASK_KEYMGMT_STATUS_Km_READY) != 0)
XHDCP1X_CIPHER_BITMASK_KEYMGMT_STATUS_Km_READY
#define XHDCP1X_CIPHER_BITMASK_KEYMGMT_STATUS_Km_READY
Km Value ready bitmask in Key Management Status register.
Definition: xhdcp1x_hw.h:238
XHdcp1x_ReadReg
#define XHdcp1x_ReadReg(BaseAddress, RegOffset)
This macro reads a value from a HDCP cipher register.
Definition: xhdcp1x_hw.h:332
XHDCP1X_CIPHER_REG_KEYMGMT_STATUS
#define XHDCP1X_CIPHER_REG_KEYMGMT_STATUS
Key Management Status register offset.
Definition: xhdcp1x_hw.h:99

This queries a cipher to determine if the Km value is ready.

Parameters

  InstancePtr | is the instance to query.

Returns
  Truth value indicating ready (TRUE) or not (FALSE).

Note
  None.

Referenced by XHdcp1x_CipherSetRemoteKsv().

#define XHdcp1x_CipherLocalKsvReady | ( |  | InstancePtr | ) |

Value:
((XHdcp1x_ReadReg((InstancePtr)->Config.BaseAddress, \
XHDCP1X_CIPHER_REG_KEYMGMT_STATUS) & \
XHDCP1X_CIPHER_BITMASK_KEYMGMT_STATUS_KSV_READY) != 0)
XHdcp1x_ReadReg
#define XHdcp1x_ReadReg(BaseAddress, RegOffset)
This macro reads a value from a HDCP cipher register.
Definition: xhdcp1x_hw.h:332
XHDCP1X_CIPHER_BITMASK_KEYMGMT_STATUS_KSV_READY
#define XHDCP1X_CIPHER_BITMASK_KEYMGMT_STATUS_KSV_READY
Local KSV ready bitmask in Key Management Status register.
Definition: xhdcp1x_hw.h:232
XHDCP1X_CIPHER_REG_KEYMGMT_STATUS
#define XHDCP1X_CIPHER_REG_KEYMGMT_STATUS
Key Management Status register offset.
Definition: xhdcp1x_hw.h:99

This queries a cipher to determine if the local KSV is ready to read.

Parameters

  InstancePtr | is the instance to query.

Returns
  Truth value indicating ready (TRUE) or not (FALSE).

Note
  None.

Referenced by XHdcp1x_CipherGetLocalKsv().

#define XHdcp1x_CipherXorInProgress | ( |  | InstancePtr | ) |

Value:
((XHdcp1x_ReadReg((InstancePtr)->Config.BaseAddress, \
XHDCP1X_CIPHER_REG_CIPHER_STATUS) & \
XHDCP1X_CIPHER_BITMASK_CIPHER_STATUS_XOR_IN_PROG) != 0)
XHdcp1x_ReadReg
#define XHdcp1x_ReadReg(BaseAddress, RegOffset)
This macro reads a value from a HDCP cipher register.
Definition: xhdcp1x_hw.h:332
XHDCP1X_CIPHER_BITMASK_CIPHER_STATUS_XOR_IN_PROG
#define XHDCP1X_CIPHER_BITMASK_CIPHER_STATUS_XOR_IN_PROG
XOR In Progress bitmask in Cipher Status register.
Definition: xhdcp1x_hw.h:254
XHDCP1X_CIPHER_REG_CIPHER_STATUS
#define XHDCP1X_CIPHER_REG_CIPHER_STATUS
Cipher Status register offset.
Definition: xhdcp1x_hw.h:125

This queries a cipher to determine if the XOR (encryption) function is currently in progress.

Parameters

  InstancePtr | is the instance to query.

Returns
  Truth value indicating in progress (TRUE) or not (FALSE).

Note
  None.

Referenced by XHdcp1x_CipherEnableEncryption(), and XHdcp1x_CipherGetEncryption().

#define XHDCP1X_DEBUG_H

< Prevent circular inclusions by using protection macros

#define XHDCP1X_DEBUG_LOGMSG if (XHdcp1xDebugLogMsg != NULL) XHdcp1xDebugLogMsg

Instance of the function interface used for debug log messages.

#define XHDCP1X_DEBUG_PRINTF if (XHdcp1xDebugPrintf != NULL) XHdcp1xDebugPrintf

Instance of the function interface used for debug print statements.

Referenced by XHdcp1x_GetTopology(), XHdcp1x_HandleTimeout(), XHdcp1x_Info(), XHdcp1x_IsRepeater(), XHdcp1x_RxInfo(), XHdcp1x_SetHdmiMode(), XHdcp1x_SetTopologyUpdate(), and XHdcp1x_TxInfo().

#define XHDCP1X_H

< Prevent circular inclusions by using protection macros

#define XHDCP1X_HW_H

< Prevent circular inclusions by using protection macros

#define XHdcp1x_In32 Xil_In32

Input Operations.

#define XHdcp1x_IsDP | ( |  | InstancePtr | ) |

Value:
((XHdcp1x_ReadReg((InstancePtr)->Config.BaseAddress, \
XHDCP1X_CIPHER_REG_TYPE) & XHDCP1X_CIPHER_BITMASK_TYPE_PROTOCOL) \
== XHDCP1X_CIPHER_VALUE_TYPE_PROTOCOL_DP)
XHDCP1X_CIPHER_BITMASK_TYPE_PROTOCOL
#define XHDCP1X_CIPHER_BITMASK_TYPE_PROTOCOL
Protocol bitmask in Type register.
Definition: xhdcp1x_hw.h:172
XHdcp1x_ReadReg
#define XHdcp1x_ReadReg(BaseAddress, RegOffset)
This macro reads a value from a HDCP cipher register.
Definition: xhdcp1x_hw.h:332
XHDCP1X_CIPHER_REG_TYPE
#define XHDCP1X_CIPHER_REG_TYPE
Type register offset.
Definition: xhdcp1x_hw.h:69
XHDCP1X_CIPHER_VALUE_TYPE_PROTOCOL_DP
#define XHDCP1X_CIPHER_VALUE_TYPE_PROTOCOL_DP
DP Protocol value in Type register.
Definition: xhdcp1x_hw.h:277

This macro checks if a core supports the Display Port protocol.

Parameters

  InstancePtr | is a pointer to the XHdcp1x core instance.

Returns
  Truth value indicating DP (TRUE) or not (FALSE)

Referenced by XHdcp1x_CipherInit(), XHdcp1x_CipherSetLinkStateCheck(), and XHdcp1x_SelfTest().

#define XHdcp1x_IsHDMI | ( |  | InstancePtr | ) |

Value:
((XHdcp1x_ReadReg((InstancePtr)->Config.BaseAddress, \
XHDCP1X_CIPHER_REG_TYPE) & XHDCP1X_CIPHER_BITMASK_TYPE_PROTOCOL) \
== XHDCP1X_CIPHER_VALUE_TYPE_PROTOCOL_HDMI)
XHDCP1X_CIPHER_BITMASK_TYPE_PROTOCOL
#define XHDCP1X_CIPHER_BITMASK_TYPE_PROTOCOL
Protocol bitmask in Type register.
Definition: xhdcp1x_hw.h:172
XHdcp1x_ReadReg
#define XHdcp1x_ReadReg(BaseAddress, RegOffset)
This macro reads a value from a HDCP cipher register.
Definition: xhdcp1x_hw.h:332
XHDCP1X_CIPHER_REG_TYPE
#define XHDCP1X_CIPHER_REG_TYPE
Type register offset.
Definition: xhdcp1x_hw.h:69
XHDCP1X_CIPHER_VALUE_TYPE_PROTOCOL_HDMI
#define XHDCP1X_CIPHER_VALUE_TYPE_PROTOCOL_HDMI
HDMI Protocol value in Type register.
Definition: xhdcp1x_hw.h:281

This macro checks if a core supports the HDMI protocol.

Parameters

  InstancePtr | is a pointer to the XHdcp1x core instance.

Returns
  Truth value indicating HDMI (TRUE) or not (FALSE)

Referenced by XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherSetNumLanes(), XHdcp1x_CipherSetRiUpdate(), and XHdcp1x_SelfTest().

#define XHdcp1x_IsRX | ( |  | InstancePtr | ) |

Value:
((XHdcp1x_ReadReg((InstancePtr)->Config.BaseAddress, \
XHDCP1X_CIPHER_REG_TYPE) & XHDCP1X_CIPHER_BITMASK_TYPE_DIRECTION) \
== XHDCP1X_CIPHER_VALUE_TYPE_DIRECTION_RX)
XHdcp1x_ReadReg
#define XHdcp1x_ReadReg(BaseAddress, RegOffset)
This macro reads a value from a HDCP cipher register.
Definition: xhdcp1x_hw.h:332
XHDCP1X_CIPHER_BITMASK_TYPE_DIRECTION
#define XHDCP1X_CIPHER_BITMASK_TYPE_DIRECTION
Direction bitmask in Type register.
Definition: xhdcp1x_hw.h:176
XHDCP1X_CIPHER_REG_TYPE
#define XHDCP1X_CIPHER_REG_TYPE
Type register offset.
Definition: xhdcp1x_hw.h:69
XHDCP1X_CIPHER_VALUE_TYPE_DIRECTION_RX
#define XHDCP1X_CIPHER_VALUE_TYPE_DIRECTION_RX
RX Direction value in Type register.
Definition: xhdcp1x_hw.h:286

This macro checks if a core supports the receive direction.

Parameters

  InstancePtr | is a pointer to the XHdcp1x core instance.

Returns
  Truth value indicating receive (TRUE) or not (FALSE)

Referenced by XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherEnable(), XHdcp1x_CipherEnableEncryption(), XHdcp1x_CipherSetLinkStateCheck(), and XHdcp1x_SelfTest().

#define XHdcp1x_IsTX | ( |  | InstancePtr | ) |

Value:
((XHdcp1x_ReadReg((InstancePtr)->Config.BaseAddress, \
XHDCP1X_CIPHER_REG_TYPE) & XHDCP1X_CIPHER_BITMASK_TYPE_DIRECTION) \
== XHDCP1X_CIPHER_VALUE_TYPE_DIRECTION_TX)
XHDCP1X_CIPHER_VALUE_TYPE_DIRECTION_TX
#define XHDCP1X_CIPHER_VALUE_TYPE_DIRECTION_TX
TX Direction value in Type register.
Definition: xhdcp1x_hw.h:290
XHdcp1x_ReadReg
#define XHdcp1x_ReadReg(BaseAddress, RegOffset)
This macro reads a value from a HDCP cipher register.
Definition: xhdcp1x_hw.h:332
XHDCP1X_CIPHER_BITMASK_TYPE_DIRECTION
#define XHDCP1X_CIPHER_BITMASK_TYPE_DIRECTION
Direction bitmask in Type register.
Definition: xhdcp1x_hw.h:176
XHDCP1X_CIPHER_REG_TYPE
#define XHDCP1X_CIPHER_REG_TYPE
Type register offset.
Definition: xhdcp1x_hw.h:69

This macro checks if a core supports the transmit direction.

Parameters

  InstancePtr | is a pointer to the XHdcp1x core instance.

Returns
  Truth value indicating transmit (TRUE) or not (FALSE)

Referenced by XHdcp1x_SelfTest().

#define XHDCP1X_KSV_SIZE 5

Size of each hdcp 1.4 Public Key in bytes.

#define XHDCP1X_MAX_BCAPS_RDY_POLL_CNT (55)

Max times to poll on BCaps Ready bit at 100ms interval.

#define XHdcp1x_Out32 Xil_Out32

Output Operations.

#define XHDCP1X_PLATFORM_H

< Prevent circular inclusions by using protection macros

#define XHDCP1X_PORT_BCLR_IN_BUF | ( |  | buf,
|  |  | bitnum
| ) |  | buf[(bitnum) >> 3] &= ~(1u << ((bitnum) & 0x07u));

This macro clears a bit within a little endian formatted buffer.

Parameters

  buf | the buffer to write to
  bitnum | the bit to clear

Returns
  None.

Note
  None.

#define XHDCP1X_PORT_BINFO_BIT_DEPTH_ERR (1u << 11)

BInfo Depth Error Mask.

Referenced by XHdcp1x_TxGetTopologyMaxCascadeExceeded().

#define XHDCP1X_PORT_BINFO_BIT_DEPTH_NO_ERR (0u << 11)

BInfo Depth Error for No Error Mask.

#define XHDCP1X_PORT_BINFO_BIT_DEV_CNT_ERR (1u << 7)

BInfo Device Count Error Mask.

Referenced by XHdcp1x_TxGetTopologyMaxDevsExceeded().

#define XHDCP1X_PORT_BINFO_BIT_DEV_CNT_NO_ERR (0u << 7)

BInfo Device Count for No Error Mask.

#define XHDCP1X_PORT_BINFO_DEPTH_ERR_SHIFT (11)

BStatus Depth Error Shift Mask.

Referenced by XHdcp1x_RxSetTopologyMaxCascadeExceeded().

#define XHDCP1X_PORT_BINFO_DEPTH_SHIFT (8)

BInfo Device Count Error Mask.

#define XHDCP1X_PORT_BINFO_DEV_CNT_ERR_SHIFT (7)

BStatus Device Count Error Shift Mask.

Referenced by XHdcp1x_RxSetTopologyMaxDevsExceeded().

#define XHDCP1X_PORT_BINFO_DEV_CNT_MASK (0x7F)

BInfo Device Count Error Mask.

#define XHDCP1X_PORT_BIT_AINFO_ENABLE_1d1_FEATURES (1u << 1)

AInfo Enable 1.1 Features.

#define XHDCP1X_PORT_BIT_AINFO_REAUTH_ENABLE_IRQ (1u << 0)

Ainfo Reauth Enable Mask.

#define XHDCP1X_PORT_BIT_BCAPS_1d1_FEATURES (1u << 1)

BCaps HDCP 1.1 Features Support Mask.

#define XHDCP1X_PORT_BIT_BCAPS_FAST (1u << 4)

BCaps Fast Transfers Mask.

#define XHDCP1X_PORT_BIT_BCAPS_FAST_REAUTH (1u << 0)

BCaps Fast Reauth Mask.

#define XHDCP1X_PORT_BIT_BCAPS_HDCP_CAPABLE (1u << 0)

BCaps HDCP Capable Mask.

#define XHDCP1X_PORT_BIT_BCAPS_HDMI (1u << 7)

BCaps HDMI Supported Mask.

#define XHDCP1X_PORT_BIT_BCAPS_READY (1u << 5)

BCaps KSV FIFO Ready bit Mask.

#define XHDCP1X_PORT_BIT_BCAPS_REPEATER (1u << 6)

BCaps Repeater Capable Mask.

#define XHDCP1X_PORT_BIT_BCAPS_REPEATER (1u << 1)

BCaps HDCP Repeater Mask.

#define XHDCP1X_PORT_BIT_BSTATUS_HDMI_MODE (1u << 12)

These constants specify the bit definitions within the various fields and/or attributes within the hdcp port.

BStatus HDMI Mode Mask

Referenced by XHdcp1x_RxSetHdmiMode().

#define XHDCP1X_PORT_BIT_BSTATUS_LINK_FAILURE (1u << 2)

BStatus Link Failure Mask.

#define XHDCP1X_PORT_BIT_BSTATUS_READY (1u << 0)

These constants specify the bit definitions within the various fields and/or attributes within the hdcp port.

BStatus Ready Mask

#define XHDCP1X_PORT_BIT_BSTATUS_REAUTH_REQUEST (1u << 3)

BStatus Reauth Request Mask.

#define XHDCP1X_PORT_BIT_BSTATUS_RO_AVAILABLE (1u << 1)

BStatus Ro available Mask.

#define XHDCP1X_PORT_BSET_IN_BUF | ( |  | buf,
|  |  | bitnum
| ) |  | buf[(bitnum) >> 3] |= (1u << ((bitnum) & 0x07u));

This macro sets a bit within a little endian formatted buffer.

Parameters

  buf | the buffer to write to
  bitnum | the bit to set

Returns
  None.

Note
  None.

#define XHDCP1X_PORT_BSTATUS_BIT_DEPTH_ERR (1u << 11)

BStatus Depth Error Mask.

Referenced by XHdcp1x_TxGetTopologyMaxCascadeExceeded().

#define XHDCP1X_PORT_BSTATUS_BIT_DEPTH_NO_ERR (0u << 11)

BStatus Depth Error for No Error Mask.

#define XHDCP1X_PORT_BSTATUS_BIT_DEV_CNT_ERR (1u << 7)

BStatus Device Count Error Mask.

Referenced by XHdcp1x_TxGetTopologyMaxDevsExceeded().

#define XHDCP1X_PORT_BSTATUS_BIT_DEV_CNT_NO_ERR (0u << 7)

BStatus Device Count for No Error Mask.

#define XHDCP1X_PORT_BSTATUS_DEPTH_ERR_SHIFT (11)

BStatus Depth Error Shift Mask.

Referenced by XHdcp1x_RxSetTopologyMaxCascadeExceeded().

#define XHDCP1X_PORT_BSTATUS_DEPTH_SHIFT (8)

BStatus Device Count Error Mask.

#define XHDCP1X_PORT_BSTATUS_DEV_CNT_ERR_SHIFT (7)

BStatus Device Count Error Shift Mask.

Referenced by XHdcp1x_RxSetTopologyMaxDevsExceeded().

#define XHDCP1X_PORT_BSTATUS_DEV_CNT_MASK (0x7F)

BStatus Device Count Error Mask.

#define XHDCP1X_PORT_BTST_IN_BUF | ( |  | buf,
|  |  | bitnum
| ) |  | (buf[(bitnum) >> 3] & (1u << ((bitnum) & 0x07u)))

This macro tests a bit within a little endian formatted buffer.

Parameters

  buf | the buffer containing the bit to test
  bitnum | the bit to test

Returns
  None.

Note
  None.

#define XHDCP1X_PORT_BUF_TO_UINT | ( |  | uint,
|  |  | buf,
|  |  | numbits
| ) |  |

Value:
if ((numbits) > 0) { \
int byte; \
uint = 0; \
for (byte = (((numbits) - 1) >> 3); byte >= 0; byte--) { \
uint <<= 8; \
uint |= buf[byte]; \
} \
}

This macro converts from a little endian formatted buffer to an unsigned integer value.

Parameters

  uint | the unsigned integer to write
  buf | the buffer to convert
  numbits | the number of bits within the buffer to use

Returns
  None.

Note
  None.

Referenced by XHdcp1x_TxGetTopologyBKSV().

#define XHDCP1X_PORT_DP_H

< Prevent circular inclusions by using protection macros

#define XHDCP1X_PORT_DPCD_BASE (0x68000u)

This constant defines the base address of the hdcp port within the DPCD address space.

Base Addr in DPCD

#define XHDCP1X_PORT_H

< Prevent circular inclusions by using protection macros

#define XHDCP1X_PORT_HDCP_RESET_KSV (0xD0u)

KSV FIFO Read pointer reset Offset.

#define XHDCP1X_PORT_HDCP_RESET_KSV_RST (1u << 0)

KSV FIFO pointer Reset Mask.

#define XHDCP1X_PORT_HDMI_H

< Prevent circular inclusions by using protection macros

#define XHDCP1X_PORT_OFFSET_AINFO (0x15u)

Ainfo Offset.

#define XHDCP1X_PORT_OFFSET_AINFO (0x3Bu)

Ainfo Offset.

#define XHDCP1X_PORT_OFFSET_AKSV (0x10u)

Aksv Offset.

#define XHDCP1X_PORT_OFFSET_AKSV (0x07u)

Aksv Offset.

#define XHDCP1X_PORT_OFFSET_AN (0x18u)

An Offset.

#define XHDCP1X_PORT_OFFSET_AN (0x0Cu)

An Offset.

#define XHDCP1X_PORT_OFFSET_BCAPS (0x40u)

Bcaps Offset.

#define XHDCP1X_PORT_OFFSET_BCAPS (0x28u)

Bcaps Offset.

#define XHDCP1X_PORT_OFFSET_BINFO (0x2Au)

Binfo Offset.

Referenced by XHdcp1x_RxSetTopologyMaxCascadeExceeded(), XHdcp1x_RxSetTopologyMaxDevsExceeded(), XHdcp1x_TxGetTopologyMaxCascadeExceeded(), and XHdcp1x_TxGetTopologyMaxDevsExceeded().

#define XHDCP1X_PORT_OFFSET_BKSV (0x00u)

These constants specify the offsets for the various fields and/or attributes within the hdcp port.

Bksv Offset

#define XHDCP1X_PORT_OFFSET_BKSV (0x00u)

These constants specify the offsets for the various fields and/or attributes within the hdcp port.

Bksv Offset

Referenced by XHdcp1x_TxGetTopologyBKSV().

#define XHDCP1X_PORT_OFFSET_BSTATUS (0x41u)

Bstatus Offset.

#define XHDCP1X_PORT_OFFSET_BSTATUS (0x29u)

Bstatus Offset.

Referenced by XHdcp1x_RxSetHdmiMode(), XHdcp1x_RxSetTopologyMaxCascadeExceeded(), XHdcp1x_RxSetTopologyMaxDevsExceeded(), XHdcp1x_TxGetTopologyMaxCascadeExceeded(), and XHdcp1x_TxGetTopologyMaxDevsExceeded().

#define XHDCP1X_PORT_OFFSET_DBG (0xC0u)

Debug Space Offset.

#define XHDCP1X_PORT_OFFSET_DBG (0xC0u)

Debug Space Offset.

#define XHDCP1X_PORT_OFFSET_KSVFIFO (0x43u)

KSV FIFO Offset.

#define XHDCP1X_PORT_OFFSET_KSVFIFO (0x2Cu)

KSV FIFO Offset.

#define XHDCP1X_PORT_OFFSET_PJ (0x0Au)

Pj' Offset.

#define XHDCP1X_PORT_OFFSET_RO (0x08u)

Ri'/Ro' Offset.

#define XHDCP1X_PORT_OFFSET_RO (0x05u)

R0' Offset.

#define XHDCP1X_PORT_OFFSET_VH0 (0x20u)

V'.H0 Offset.

#define XHDCP1X_PORT_OFFSET_VH0 (0x14u)

V'.H0 Offset.

#define XHDCP1X_PORT_OFFSET_VH1 (0x24u)

V'.H1 Offset.

#define XHDCP1X_PORT_OFFSET_VH1 (0x18u)

V'.H1 Offset.

#define XHDCP1X_PORT_OFFSET_VH2 (0x28u)

V'.H2 Offset.

#define XHDCP1X_PORT_OFFSET_VH2 (0x1Cu)

V'.H2 Offset.

#define XHDCP1X_PORT_OFFSET_VH3 (0x2Cu)

V'.H3 Offset.

#define XHDCP1X_PORT_OFFSET_VH3 (0x20u)

V'.H3 Offset.

#define XHDCP1X_PORT_OFFSET_VH4 (0x30u)

V'.H4 Offset.

#define XHDCP1X_PORT_OFFSET_VH4 (0x24u)

V'.H4 Offset.

#define XHDCP1X_PORT_PRIMARY_I2C_ADDR (0x74u)

This constant defines the i2c address of the hdcp port.

I2C Addr Primary Link

#define XHDCP1X_PORT_SECONDARY_I2C_ADDR (0x76u)

I2C Addr Secondary Link.

#define XHDCP1X_PORT_SIZE_AINFO (0x01u)

Ainfo Size.

#define XHDCP1X_PORT_SIZE_AINFO (0x01u)

Ainfo Offset.

#define XHDCP1X_PORT_SIZE_AKSV (0x05u)

Aksv Size.

#define XHDCP1X_PORT_SIZE_AKSV (0x05u)

Aksv Size.

#define XHDCP1X_PORT_SIZE_AN (0x08u)

An Size.

#define XHDCP1X_PORT_SIZE_AN (0x08u)

An Size.

#define XHDCP1X_PORT_SIZE_BCAPS (0x01u)

Bcaps Size.

#define XHDCP1X_PORT_SIZE_BCAPS (0x01u)

Bcaps Size.

#define XHDCP1X_PORT_SIZE_BINFO (0x02u)

Binfo Size.

Referenced by XHdcp1x_RxSetTopologyMaxCascadeExceeded(), XHdcp1x_RxSetTopologyMaxDevsExceeded(), XHdcp1x_TxGetTopologyMaxCascadeExceeded(), and XHdcp1x_TxGetTopologyMaxDevsExceeded().

#define XHDCP1X_PORT_SIZE_BKSV (0x05u)

These constants specify the sizes for the various fields and/or attributes within the hdcp port.

Bksv Size

#define XHDCP1X_PORT_SIZE_BKSV (0x05u)

These constants specify the sizes for the various fields and/or attributes within the hdcp port.

Bksv Size

Referenced by XHdcp1x_RxSetTopologyKSVList(), and XHdcp1x_TxGetTopologyBKSV().

#define XHDCP1X_PORT_SIZE_BSTATUS (0x02u)

Bstatus Size.

#define XHDCP1X_PORT_SIZE_BSTATUS (0x01u)

Bstatus Size.

Referenced by XHdcp1x_RxSetHdmiMode(), XHdcp1x_RxSetTopologyMaxCascadeExceeded(), XHdcp1x_RxSetTopologyMaxDevsExceeded(), XHdcp1x_TxGetTopologyMaxCascadeExceeded(), and XHdcp1x_TxGetTopologyMaxDevsExceeded().

#define XHDCP1X_PORT_SIZE_DBG (0xC0u)

Debug Space Size.

#define XHDCP1X_PORT_SIZE_DBG (0x40u)

Debug Space Size.

#define XHDCP1X_PORT_SIZE_HDCP_RESET_KSV (0x40u)

KSV FIFO pointer reset Size.

#define XHDCP1X_PORT_SIZE_KSVFIFO (0x01u)

KSV FIFO Size.

#define XHDCP1X_PORT_SIZE_KSVFIFO (0x0Fu)

KSV FIFO Size.

#define XHDCP1X_PORT_SIZE_PJ (0x01u)

Pj' Size.

#define XHDCP1X_PORT_SIZE_RO (0x02u)

Ri' Size.

#define XHDCP1X_PORT_SIZE_RO (0x02u)

R0' Size.

#define XHDCP1X_PORT_SIZE_VH0 (0x04u)

V'.H0 Size.

#define XHDCP1X_PORT_SIZE_VH0 (0x04u)

V'.H0 Size.

#define XHDCP1X_PORT_SIZE_VH1 (0x04u)

V'.H1 Size.

#define XHDCP1X_PORT_SIZE_VH1 (0x04u)

V'.H1 Size.

#define XHDCP1X_PORT_SIZE_VH2 (0x04u)

V'.H2 Size.

#define XHDCP1X_PORT_SIZE_VH2 (0x04u)

V'.H2 Size.

#define XHDCP1X_PORT_SIZE_VH3 (0x04u)

V'.H3 Size.

#define XHDCP1X_PORT_SIZE_VH3 (0x04u)

V'.H3 Size.

#define XHDCP1X_PORT_SIZE_VH4 (0x04u)

V'.H4 Size.

#define XHDCP1X_PORT_SIZE_VH4 (0x04u)

V'.H4 Size.

#define XHDCP1X_PORT_UINT_TO_BUF | ( |  | buf,
|  |  | uint,
|  |  | numbits
| ) |  |

Value:
if ((numbits) > 0) { \
int byte; \
for (byte = 0; byte <= (int)(((numbits) - 1) >> 3); byte++) { \
buf[byte] = (uint8_t) (uint & 0xFFu); \
uint >>= 8; \
} \
}

This macro converts from an unsigned integer to a little endian formatted buffer.

Parameters

  buf | the buffer to write to
  uint | the unsigned integer to convert
  numbits | the number of bits within the unsigned integer to use

Returns
  None.

Note
  The value of the "uint" parameter is destroyed by a call to this macro

#define XHdcp1x_ReadReg | ( |  | BaseAddress,
|  |  | RegOffset
| ) |  | XHdcp1x_In32((BaseAddress) + ((u32)RegOffset))

This macro reads a value from a HDCP cipher register.

A 32 bit read is always performed.

Parameters

  BaseAddress | is the base address of the HDCP cipher core instance.
  RegOffset | is the register offset of the register

Returns
  The 32-bit value of the register.

Note
  C-style: u32 XHdcp1x_ReadReg(UINTPTR BaseAddress, u32 RegOffset)

Referenced by XHdcp1x_CfgInitialize(), XHdcp1x_CipherDisable(), XHdcp1x_CipherDisableBlank(), XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherDoRequest(), XHdcp1x_CipherEnable(), XHdcp1x_CipherEnableBlank(), XHdcp1x_CipherEnableEncryption(), XHdcp1x_CipherGetB(), XHdcp1x_CipherGetEncryption(), XHdcp1x_CipherGetK(), XHdcp1x_CipherGetLocalKsv(), XHdcp1x_CipherGetMi(), XHdcp1x_CipherGetMo(), XHdcp1x_CipherGetNumLanes(), XHdcp1x_CipherGetRemoteKsv(), XHdcp1x_CipherGetRi(), XHdcp1x_CipherGetRo(), XHdcp1x_CipherGetVersion(), XHdcp1x_CipherHandleInterrupt(), XHdcp1x_CipherInit(), XHdcp1x_CipherIsLinkUp(), XHdcp1x_CipherIsRequestComplete(), XHdcp1x_CipherSetB(), XHdcp1x_CipherSetK(), XHdcp1x_CipherSetKeySelect(), XHdcp1x_CipherSetLinkStateCheck(), XHdcp1x_CipherSetNumLanes(), XHdcp1x_CipherSetRemoteKsv(), XHdcp1x_CipherSetRiUpdate(), and XHdcp1x_SelfTest().

#define XHDCP1X_RPTR_MAX_CASCADE 4

Maximum depth that the Repeater can support on the downstream interface.

#define XHDCP1X_RPTR_MAX_DEVS_COUNT 32

Maximum devices that can be cascaded to the Repeater.

#define XHDCP1X_RX_H

< Prevent circular inclusions by using protection macros

#define XHdcp1x_SetCallBack XHdcp1x_SetCallback

Alternative name for the function to set callback for HDCP functions.

#define XHDCP1X_TX_H

< Prevent circular inclusions by using protection macros

#define XHdcp1x_WriteReg | ( |  | BaseAddress,
|  |  | RegOffset,
|  |  | Data
| ) |  | XHdcp1x_Out32((BaseAddress) + ((u32)RegOffset), (u32)(Data))

This macro writes a value to a HDCP cipher register.

A 32 bit write is always performed.

Parameters

  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.

Returns
  None.

Note
  C-style: void XHdcp1x_WriteReg(UINTPTR BaseAddress, u32 RegOffset, u32 Data)

Referenced by XHdcp1x_CipherDisable(), XHdcp1x_CipherDisableBlank(), XHdcp1x_CipherDisableEncryption(), XHdcp1x_CipherDoRequest(), XHdcp1x_CipherEnable(), XHdcp1x_CipherEnableBlank(), XHdcp1x_CipherEnableEncryption(), XHdcp1x_CipherGetLocalKsv(), XHdcp1x_CipherHandleInterrupt(), XHdcp1x_CipherInit(), XHdcp1x_CipherSetB(), XHdcp1x_CipherSetK(), XHdcp1x_CipherSetKeySelect(), XHdcp1x_CipherSetLinkStateCheck(), XHdcp1x_CipherSetNumLanes(), XHdcp1x_CipherSetRemoteKsv(), and XHdcp1x_CipherSetRiUpdate().

#define XPAR_XHDCP_NUM_INSTANCES 0

Number of HDCP Instances.

Referenced by XHdcp1x_LookupConfig().

#define XVPHY_FLAG_IS_REPEATER (1u << 1)

Flag to track repeater state.

#define XVPHY_FLAG_PHY_UP (1u << 0)

Flag to track physical state.

#define XVPHY_FLAG_PHY_UP (1u << 0)

Flag to track physical state.

#define XVPHY_TMO_100MS (100u)

Timeout value for 100ms.

#define XVPHY_TMO_100MS (100u)

Timeout value for 100ms.

#define XVPHY_TMO_1SECOND (1000u)

Timeout value for 1s.

#define XVPHY_TMO_1SECOND (1000u)

Timeout value for 1s.

#define XVPHY_TMO_5MS (5u)

Timeout value for 5ms.

#define XVPHY_TMO_5MS (5u)

Timeout value for 5ms.

## Typedef Documentation

typedef void(* XHdcp1x_Callback)(void *CallbackRef)

This typedef defines the callback interface that is to be used for interrupts within this driver.

typedef u32(* XHdcp1x_GetDdcHandler)(void *HandlerRef)

This typedef defines the function interface that is to be used to get the DDC handler for implementation of HDCP functionality over HDMI within this driver.

typedef u64 XHdcp1x_Ksv

This typedef defines a memory to store a Key Selection Vector (KSV)

typedef int(* XHdcp1x_KsvRevokeCheck)(const XHdcp1x *InstancePtr, u64 Ksv)

This typedef defines the function interface that is to be used for checking a specific KSV against the platforms revocation list.

typedef void(* XHdcp1x_LogMsg)(const char *fmt,...)

This typedef defines the function interface that is to be used for debug log message statements within this driver.

typedef struct XHdcp1x_PortStruct XHdcp1x_Port

This typedef contains an instance of the HDCP port.

typedef struct XHdcp1x_PortPhyIfAdaptorS XHdcp1x_PortPhyIfAdaptor

The typedef defines the HDCP port adaptor table.

This contains a series of functions that map the external interface of the HDCP port device to the underlying physical interface that it is running over

typedef void(* XHdcp1x_Printf)(const char *fmt,...)

This typedef defines the function interface that is to be used for debug print statements within this driver.

typedef int(* XHdcp1x_RunDdcHandler)(u8 DeviceAddress, u16 ByteCount, u8 *BufferPtr, u8 Stop, void *RefPtr)

Callback type used for calling DDC read and write functions.

Parameters

  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.

Returns
  - XST_SUCCESS The read action was successful.
  - XST_FAILURE The read action failed.

Note
  None.

typedef void(* XHdcp1x_SetDdcHandler)(void *HandlerRef, u32 Data)

This typedef defines the function interface that is to be used for setting the DDC handler for HDMI implementation of HDCP functionality over HDMI within this driver.

typedef int(* XHdcp1x_TimerDelay)(void *InstancePtr, u16 DelayInMs)

This typedef defines the function interface that is to be used for performing a busy delay on behalf of an HDCP interface.

typedef int(* XHdcp1x_TimerStart)(void *InstancePtr, u16 TmoInMs)

This typedef defines the function interface that is to be used for starting a one shot timer on behalf of an HDCP interface within the underlying platform.

typedef int(* XHdcp1x_TimerStop)(void *InstancePtr)

This typedef defines the function interface that is to be used for stopping a timer on behalf of an HDCP interface.

## Enumeration Type Documentation

enum XHdcp1x_CipherHandlerType

These constants specify different types of handler and used to differentiate interrupt requests from peripheral.

enum XHdcp1x_CipherRequestType

These constants specify different types of authentication requests that can be initiated within a peripheral.

enum XHdcp1x_EventType

This enumerates the Event Types for HDCP Receiver state machine.

enum XHdcp1x_EventType

This enumerates the Event Types for HDCP Transmitter state machine.

enum XHdcp1x_HandlerType

These constants are used to identify callback functions.

enum XHdcp1x_PortHandlerType

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.

enum XHdcp1x_RepeaterStateMachineHandlerType

This enumerates the call back for the HDCP Repeater Tx state machine.

enum XHdcp1x_Rx_StateType

This enumerates the State Types for HDCP Receiver state machine.

enum XHdcp1x_StateType

This enumerates the State Types for HDCP Receiver state machine.

enum XHdcp1x_StateType

This enumerates the Event Types for HDCP Transmitter state machine.

enum XHdcp1x_TopologyField

These constants are used to identify fields inside the topology structure.

enum XHdcp1x_Tx_StateType

This enumerates the Event Types for HDCP Transmitter state machine.

## Function Documentation

int XHdcp1x_Authenticate | ( | XHdcp1x * | InstancePtr | ) |

This function initiates authentication of an HDCP interface.

Parameters

  InstancePtr | is the interface to initiate authentication on.

Returns
  - XST_SUCCESS if successful.
  - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxAuthenticate(), and XHdcp1x_TxAuthenticate().

int XHdcp1x_CfgInitialize | ( | XHdcp1x * | InstancePtr,
|  | const XHdcp1x_Config * | CfgPtr,
|  | void * | PhyIfPtr,
|  | UINTPTR | EffectiveAddr
| ) |  |

This function retrieves the configuration for this HDCP instance and fills in the InstancePtr->Config structure.

Parameters

  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.

Returns
  - XST_SUCCESS if successful.
  - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x_PortStruct::Adaptor, XHdcp1x_Tx::AuthenticatedCallback, XHdcp1x_Rx::AuthenticatedCallback, XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHdcp1x_Rx::DdcGetDataCallback, XHdcp1x_Tx::DdcRead, XHdcp1x_Rx::DdcSetAddressCallback, XHdcp1x_Rx::DdcSetDataCallback, XHdcp1x_Tx::DdcWrite, XHdcp1x_Rx::EncryptionUpdateCallback, XHdcp1x_PortPhyIfAdaptorS::Init, XHdcp1x_Tx::IsAuthenticatedCallbackSet, XHdcp1x_Rx::IsAuthenticatedCallbackSet, XHdcp1x_Rx::IsDdcGetDataCallbackSet, XHdcp1x_Tx::IsDdcReadSet, XHdcp1x_Rx::IsDdcSetAddressCallbackSet, XHdcp1x_Rx::IsDdcSetDataCallbackSet, XHdcp1x_Tx::IsDdcWriteSet, XHdcp1x_Rx::IsEncryptionUpdateCallbackSet, XHdcp1x_Config::IsHDMI, XHdcp1x::IsReady, XHdcp1x_Rx::IsRepeaterDownstreamAuthCallbackSet, XHdcp1x_Tx::IsRepeaterExchangeCallbackSet, XHdcp1x_Config::IsRx, XHdcp1x_Rx::IsTopologyUpdateCallbackSet, XHdcp1x_Tx::IsUnauthenticatedCallbackSet, XHdcp1x_Rx::IsUnauthenticatedCallbackSet, XHdcp1x_PortStruct::PhyIfPtr, XHdcp1x::Port, XHdcp1x_Rx::RepeaterDownstreamAuthCallback, XHdcp1x_Tx::RepeaterExchangeCallback, XHdcp1x::Rx, XHdcp1x_Rx::TopologyUpdateCallback, XHdcp1x::Tx, XHdcp1x_Tx::UnauthenticatedCallback, XHdcp1x_Rx::UnauthenticatedCallback, XHDCP1X_CIPHER_BITMASK_TYPE_DIRECTION, XHDCP1X_CIPHER_BITMASK_TYPE_PROTOCOL, XHDCP1X_CIPHER_REG_TYPE, XHDCP1X_CIPHER_VALUE_TYPE_DIRECTION_RX, XHDCP1X_CIPHER_VALUE_TYPE_PROTOCOL_HDMI, XHdcp1x_CipherInit(), XHdcp1x_PortDetermineAdaptor(), XHdcp1x_ReadReg, XHdcp1x_RxInit(), and XHdcp1x_TxInit().

int XHdcp1x_CipherDisable | ( | XHdcp1x * | InstancePtr | ) |

This function disables a HDCP cipher.

Parameters

  InstancePtr | is the device to disable.

Returns
  - XST_SUCCESS if successful.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CIPHER_CONTROL_XOR_ENABLE, XHDCP1X_CIPHER_BITMASK_CONTROL_ENABLE, XHDCP1X_CIPHER_BITMASK_CONTROL_UPDATE, XHDCP1X_CIPHER_REG_CIPHER_CONTROL, XHDCP1X_CIPHER_REG_CONTROL, XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_H, XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_L, XHDCP1X_CIPHER_REG_INTERRUPT_MASK, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.

void XHdcp1x_CipherDisableBlank | ( | XHdcp1x * | InstancePtr | ) |

This function sets the cipher blank select to FALSE.

Parameters

  InstancePtr | is the device to query.

Returns
  None.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_BLANK_SEL, XHDCP1X_CIPHER_REG_BLANK_SEL, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.

Referenced by XHdcp1x_TxDisableBlank().

int XHdcp1x_CipherDisableEncryption | ( | XHdcp1x * | InstancePtr,
|  | u64 | StreamMap
| ) |  |

This function disables encryption on a set of streams.

Parameters

  InstancePtr | is the device to configure.
  StreamMap | is the bit map of streams to disable encryption on.

Returns
  - XST_SUCCESS if successful.
  - XST_NOT_ENABLE if the core is not enabled.
  - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CIPHER_CONTROL_XOR_ENABLE, XHDCP1X_CIPHER_BITMASK_CONTROL_UPDATE, XHDCP1X_CIPHER_REG_CIPHER_CONTROL, XHDCP1X_CIPHER_REG_CONTROL, XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_H, XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_L, XHdcp1x_CipherIsEnabled, XHdcp1x_IsHDMI, XHdcp1x_IsRX, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.

Referenced by XHdcp1x_TxDisableEncryption().

int XHdcp1x_CipherDoRequest | ( | XHdcp1x * | InstancePtr,
|  | XHdcp1x_CipherRequestType | Request
| ) |  |

This function initiates a request within the HDCP cipher.

Parameters

  InstancePtr | is the device to submit the request to.
  Request | is the request to submit.

Returns
  - XST_SUCCESS if successful.
  - XST_NOT_ENABLE if the core is disabled.
  - XST_DEVICE_BUSY if the core is busy.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CIPHER_CONTROL_REQUEST, XHDCP1X_CIPHER_BITMASK_CIPHER_STATUS_REQUEST_IN_PROG, XHDCP1X_CIPHER_BITMASK_CONTROL_UPDATE, XHDCP1X_CIPHER_REG_CIPHER_CONTROL, XHDCP1X_CIPHER_REG_CIPHER_STATUS, XHDCP1X_CIPHER_REG_CONTROL, XHDCP1X_CIPHER_VALUE_CIPHER_CONTROL_REQUEST_BLOCK, XHdcp1x_CipherIsEnabled, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.

int XHdcp1x_CipherEnable | ( | XHdcp1x * | InstancePtr | ) |

This function enables a HDCP cipher.

Parameters

  InstancePtr | is the device to enable.

Returns
  - XST_SUCCESS if successful.
  - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CIPHER_CONTROL_XOR_ENABLE, XHDCP1X_CIPHER_BITMASK_CONTROL_ENABLE, XHDCP1X_CIPHER_BITMASK_CONTROL_UPDATE, XHDCP1X_CIPHER_REG_CIPHER_CONTROL, XHDCP1X_CIPHER_REG_CONTROL, XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_H, XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_L, XHdcp1x_CipherIsEnabled, XHdcp1x_IsRX, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.

void XHdcp1x_CipherEnableBlank | ( | XHdcp1x * | InstancePtr | ) |

This function sets the cipher blank value to 0x0000FF (blue), and sets the cipher blank select to TRUE.

Parameters

  InstancePtr | is the device to query.

Returns
  None.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_BLANK_SEL, XHDCP1X_CIPHER_BITMASK_BLANK_VALUE, XHDCP1X_CIPHER_REG_BLANK_SEL, XHDCP1X_CIPHER_REG_BLANK_VALUE, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.

Referenced by XHdcp1x_TxEnableBlank().

int XHdcp1x_CipherEnableEncryption | ( | XHdcp1x * | InstancePtr,
|  | u64 | StreamMap
| ) |  |

This function enables encryption on a set of streams.

Parameters

  InstancePtr | is the device to configure.
  StreamMap | is the bit map of streams to enable encryption on.

Returns
  - XST_SUCCESS if successful.
  - XST_NOT_ENABLE if the core is not enabled.
  - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CIPHER_CONTROL_XOR_ENABLE, XHDCP1X_CIPHER_BITMASK_CONTROL_UPDATE, XHDCP1X_CIPHER_REG_CIPHER_CONTROL, XHDCP1X_CIPHER_REG_CONTROL, XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_H, XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_L, XHdcp1x_CipherIsEnabled, XHdcp1x_CipherXorInProgress, XHdcp1x_IsRX, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.

int XHdcp1x_CipherGetB | ( | const XHdcp1x * | InstancePtr,
|  | u32 * | X,
|  | u32 * | Y,
|  | u32 * | Z
| ) |  |

This function reads the contents of the B register in BM0.

Parameters

  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.

Returns
  - XST_SUCCESS if successful.
  - XST_NOT_ENABLED otherwise.

Note
  A NULL pointer can be passed in any of X, Y and Z. If so, then this portion of the B register is not returned to the caller.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_REG_CIPHER_Bx, XHDCP1X_CIPHER_REG_CIPHER_By, XHDCP1X_CIPHER_REG_CIPHER_Bz, XHdcp1x_CipherIsEnabled, and XHdcp1x_ReadReg.

u64 XHdcp1x_CipherGetEncryption | ( | const XHdcp1x * | InstancePtr | ) |

This function retrieves the current encryption stream map.

Parameters

  InstancePtr | is the device to query.

Returns
  The current encryption stream map.

Note
  In the case of the receiver version of this core, the XOR in progress bit needs to be checked as well as the encryption map to fully determine if encryption is enabled for the SST case. This is the reason for the additional check in this code.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_H, XHDCP1X_CIPHER_REG_ENCRYPT_ENABLE_L, XHdcp1x_CipherIsEnabled, XHdcp1x_CipherXorInProgress, and XHdcp1x_ReadReg.

Referenced by XHdcp1x_RxGetEncryption().

int XHdcp1x_CipherGetK | ( | const XHdcp1x * | InstancePtr,
|  | u32 * | X,
|  | u32 * | Y,
|  | u32 * | Z
| ) |  |

This function reads the contents of the K register in BM0.

Parameters

  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.

Returns
  - XST_SUCCESS if successful.
  - XST_NOT_ENABLED otherwise.

Note
  A NULL pointer can be passed in any of X, Y and Z. If so, then this portion of the K register is not returned to the caller.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_REG_CIPHER_Kx, XHDCP1X_CIPHER_REG_CIPHER_Ky, XHDCP1X_CIPHER_REG_CIPHER_Kz, XHdcp1x_CipherIsEnabled, and XHdcp1x_ReadReg.

u64 XHdcp1x_CipherGetLocalKsv | ( | const XHdcp1x * | InstancePtr | ) |

This function reads the local KSV value from the cipher.

Parameters

  InstancePtr | is the device to query.

Returns
  The local KSV value.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_ABORT_Km, XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_LOCAL_KSV, XHDCP1X_CIPHER_BITMASK_KEYMGMT_STATUS_KSV_READY, XHDCP1X_CIPHER_REG_KEYMGMT_CONTROL, XHDCP1X_CIPHER_REG_KEYMGMT_STATUS, XHDCP1X_CIPHER_REG_KSV_LOCAL_H, XHDCP1X_CIPHER_REG_KSV_LOCAL_L, XHdcp1x_CipherIsEnabled, XHdcp1x_CipherLocalKsvReady, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.

Referenced by XHdcp1x_CipherSetRemoteKsv(), XHdcp1x_RxInfo(), and XHdcp1x_TxInfo().

u64 XHdcp1x_CipherGetMi | ( | const XHdcp1x * | InstancePtr | ) |

This function reads the contents of the Mi/An register of BM0.

Parameters

  InstancePtr | is the device to query.

Returns
  The contents of the register.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_REG_CIPHER_Mi_H, XHDCP1X_CIPHER_REG_CIPHER_Mi_L, XHdcp1x_CipherIsEnabled, and XHdcp1x_ReadReg.

u64 XHdcp1x_CipherGetMo | ( | const XHdcp1x * | InstancePtr | ) |

This function reads the contents of the Mo register of the device.

Parameters

  InstancePtr | is the device to query.

Returns
  The contents of the Mo register.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_REG_CIPHER_Mo_H, XHDCP1X_CIPHER_REG_CIPHER_Mo_L, XHdcp1x_CipherIsEnabled, and XHdcp1x_ReadReg.

u32 XHdcp1x_CipherGetNumLanes | ( | const XHdcp1x * | InstancePtr | ) |

This function retrieves the current number of lanes of the HDCP cipher.

Parameters

  InstancePtr | is the device to query.

Returns
  The current number of lanes.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CONTROL_NUM_LANES, XHDCP1X_CIPHER_REG_CONTROL, XHdcp1x_CipherIsEnabled, and XHdcp1x_ReadReg.

u64 XHdcp1x_CipherGetRemoteKsv | ( | const XHdcp1x * | InstancePtr | ) |

This function reads the remote KSV value from the cipher.

Parameters

  InstancePtr | is the device to query.

Returns
  The remote KSV value.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_REG_KSV_REMOTE_H, XHDCP1X_CIPHER_REG_KSV_REMOTE_L, and XHdcp1x_ReadReg.

u16 XHdcp1x_CipherGetRi | ( | const XHdcp1x * | InstancePtr | ) |

This function reads the contents of the Ri register of BM0.

Parameters

  InstancePtr | is the device to query.

Returns
  The contents of the register.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_REG_CIPHER_Ri, XHdcp1x_CipherIsEnabled, and XHdcp1x_ReadReg.

u16 XHdcp1x_CipherGetRo | ( | const XHdcp1x * | InstancePtr | ) |

This function reads the contents of the Ro register of the device.

Parameters

  InstancePtr | is the device to query.

Returns
  The contents of the Ro register.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_REG_CIPHER_Ro, XHdcp1x_CipherIsEnabled, and XHdcp1x_ReadReg.

u32 XHdcp1x_CipherGetVersion | ( | const XHdcp1x * | InstancePtr | ) |

This function reads the version of the HDCP cipher core.

Parameters

  InstancePtr | is the device to query.

Returns
  The version of the HDCP cipher device.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_REG_VERSION, and XHdcp1x_ReadReg.

Referenced by XHdcp1x_GetVersion(), XHdcp1x_RxInfo(), and XHdcp1x_TxInfo().

void XHdcp1x_CipherHandleInterrupt | ( | void * | InstancePtr | ) |

This function is the interrupt handler for the cipher core driver.

Parameters

  InstancePtr | is the cipher core instance.

Returns
  None.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Cipher, XHdcp1x::Config, XHdcp1x_CipherStats::IntCount, XHdcp1x_Cipher::IsLinkFailCallbackSet, XHdcp1x::IsReady, XHdcp1x_Cipher::IsRiUpdateCallbackSet, XHdcp1x_Cipher::LinkFailCallback, XHdcp1x_Cipher::LinkFailRef, XHdcp1x_Cipher::RiUpdateCallback, XHdcp1x_Cipher::RiUpdateRef, XHdcp1x_Cipher::Stats, XHDCP1X_CIPHER_BITMASK_INTERRUPT_LINK_FAIL, XHDCP1X_CIPHER_BITMASK_INTERRUPT_Ri_UPDATE, XHDCP1X_CIPHER_REG_INTERRUPT_STATUS, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.

Referenced by XHdcp1x_CipherIntrHandler().

void XHdcp1x_CipherInit | ( | XHdcp1x * | InstancePtr | ) |

This function initializes an HDCP cipher.

Parameters

  InstancePtr | is the device to initialize.

Returns
  None.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CONTROL_NUM_LANES, XHDCP1X_CIPHER_BITMASK_CONTROL_RESET, XHDCP1X_CIPHER_BITMASK_CONTROL_UPDATE, XHDCP1X_CIPHER_REG_CONTROL, XHDCP1X_CIPHER_REG_INTERRUPT_MASK, XHDCP1X_CIPHER_REG_INTERRUPT_STATUS, XHdcp1x_IsDP, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.

Referenced by XHdcp1x_CfgInitialize().

void XHdcp1x_CipherIntrHandler | ( | void * | InstancePtr | ) |

This function is the cipher interrupt handler for the HDCP module.

Parameters

  InstancePtr | is the device instance that just interrupted.

Returns
  None.

Note
  This function just forwards the interrupt along to the corresponding cipher core.

References XHdcp1x::IsReady, and XHdcp1x_CipherHandleInterrupt().

int XHdcp1x_CipherIsLinkUp | ( | const XHdcp1x * | InstancePtr | ) |

This function queries the link state of a cipher device.

Parameters

  InstancePtr | is the device to query.

Returns
  Truth value.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_INTERRUPT_LINK_FAIL, XHDCP1X_CIPHER_REG_STATUS, XHdcp1x_CipherIsEnabled, and XHdcp1x_ReadReg.

int XHdcp1x_CipherIsRequestComplete | ( | const XHdcp1x * | InstancePtr | ) |

This function queries the progress of the current request.

Parameters

  InstancePtr | is the device to query.

Returns
  Truth value.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CIPHER_STATUS_REQUEST_IN_PROG, XHDCP1X_CIPHER_REG_CIPHER_STATUS, and XHdcp1x_ReadReg.

int XHdcp1x_CipherSetB | ( | XHdcp1x * | InstancePtr,
|  | u32 | X,
|  | u32 | Y,
|  | u32 | Z
| ) |  |

This function writes the contents of the B register in BM0.

Parameters

  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.

Returns
  - XST_SUCCESS if successful.
  - XST_NOT_ENABLED otherwise.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CONTROL_UPDATE, XHDCP1X_CIPHER_REG_CIPHER_Bx, XHDCP1X_CIPHER_REG_CIPHER_By, XHDCP1X_CIPHER_REG_CIPHER_Bz, XHDCP1X_CIPHER_REG_CONTROL, XHdcp1x_CipherIsEnabled, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.

int XHdcp1x_CipherSetCallback | ( | XHdcp1x * | InstancePtr,
|  | u32 | HandlerType,
|  | XHdcp1x_Callback | CallbackFunc,
|  | void * | CallbackRef
| ) |  |

This function installs an asynchronous callback function for the given HandlerType:

    HandlerType                             Callback Function Type
    -----------------------------------     -----------------------------------
    (XHDCP1X_CIPHER_HANDLER_LINK_FAILURE)   LinkFailCallback
    (XHDCP1X_CIPHER_HANDLER_Ri_UPDATE)      RiUpdateCallback

Parameters

  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.

Returns
  - XST_SUCCESS if callback function installed successfully.
  - XST_INVALID_PARAM when HandlerType is invalid.

Note
  Invoking this function for a handler that already has been installed replaces it with the new handler.

References XHdcp1x::Cipher, XHdcp1x_Cipher::IsLinkFailCallbackSet, XHdcp1x_Cipher::IsRiUpdateCallbackSet, XHdcp1x_Cipher::LinkFailCallback, XHdcp1x_Cipher::LinkFailRef, XHdcp1x_Cipher::RiUpdateCallback, and XHdcp1x_Cipher::RiUpdateRef.

int XHdcp1x_CipherSetK | ( | XHdcp1x * | InstancePtr,
|  | u32 | X,
|  | u32 | Y,
|  | u32 | Z
| ) |  |

This function writes the contents of the K register in BM0.

Parameters

  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.

Returns
  - XST_SUCCESS if successful.
  - XST_NOT_ENABLED otherwise.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CONTROL_UPDATE, XHDCP1X_CIPHER_REG_CIPHER_Kx, XHDCP1X_CIPHER_REG_CIPHER_Ky, XHDCP1X_CIPHER_REG_CIPHER_Kz, XHDCP1X_CIPHER_REG_CONTROL, XHdcp1x_CipherIsEnabled, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.

int XHdcp1x_CipherSetKeySelect | ( | XHdcp1x * | InstancePtr,
|  | u8 | KeySelect
| ) |  |

This function configures the key selection value.

Parameters

  InstancePtr | is the device to configure.
  KeySelect | is the desired key select value.

Returns
  - XST_SUCCESS if successful.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_SET_SELECT, XHDCP1X_CIPHER_REG_KEYMGMT_CONTROL, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.

Referenced by XHdcp1x_SetKeySelect().

int XHdcp1x_CipherSetLinkStateCheck | ( | XHdcp1x * | InstancePtr,
|  | int | IsEnabled
| ) |  |

This function enables/disables the reporting of link check state changes.

Parameters

  InstancePtr | is the cipher core instance.
  IsEnabled | enables/disables link state change notifications.

Returns
  - XST_SUCCESS if successful.
  - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_INTERRUPT_LINK_FAIL, XHDCP1X_CIPHER_REG_INTERRUPT_MASK, XHDCP1X_CIPHER_REG_INTERRUPT_STATUS, XHdcp1x_IsDP, XHdcp1x_IsRX, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.

int XHdcp1x_CipherSetNumLanes | ( | XHdcp1x * | InstancePtr,
|  | u32 | NumLanes
| ) |  |

This function configures the number of lanes of the HDCP cipher.

Parameters

  InstancePtr | is the device to configure.
  NumLanes | is the number of lanes to configure.

Returns
  - XST_SUCCESS if successful.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CONTROL_NUM_LANES, XHDCP1X_CIPHER_REG_CONTROL, XHdcp1x_IsHDMI, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.

Referenced by XHdcp1x_RxSetLaneCount(), and XHdcp1x_TxSetLaneCount().

int XHdcp1x_CipherSetRemoteKsv | ( | XHdcp1x * | InstancePtr,
|  | u64 | Ksv
| ) |  |

This function writes the remote KSV value to the cipher.

Parameters

  InstancePtr | is the device to write to.
  Ksv | is the remote KSV value to write.

Returns
  - XST_SUCCESS if successful.
  - XST_NOT_ENABLED otherwise.

Note
  Whenever this function is called, the underlying driver will initiate the calculation of the Km value and wait for it to complete.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_CONTROL_UPDATE, XHDCP1X_CIPHER_BITMASK_KEYMGMT_CONTROL_BEGIN_Km, XHDCP1X_CIPHER_REG_CONTROL, XHDCP1X_CIPHER_REG_KEYMGMT_CONTROL, XHDCP1X_CIPHER_REG_KSV_REMOTE_H, XHDCP1X_CIPHER_REG_KSV_REMOTE_L, XHdcp1x_CipherGetLocalKsv(), XHdcp1x_CipherIsEnabled, XHdcp1x_CipherKmReady, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.

int XHdcp1x_CipherSetRiUpdate | ( | XHdcp1x * | InstancePtr,
|  | int | IsEnabled
| ) |  |

This function enables/disables the reporting of Ri update notifications.

Parameters

  InstancePtr | is the cipher core instance.
  IsEnabled | enables/disables Ri update notifications.

Returns
  - XST_SUCCESS if successful.
  - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHDCP1X_CIPHER_BITMASK_INTERRUPT_Ri_UPDATE, XHDCP1X_CIPHER_REG_INTERRUPT_MASK, XHDCP1X_CIPHER_REG_INTERRUPT_STATUS, XHdcp1x_IsHDMI, XHdcp1x_ReadReg, and XHdcp1x_WriteReg.

int XHdcp1x_Disable | ( | XHdcp1x * | InstancePtr | ) |

This function disables an HDCP interface.

Parameters

  InstancePtr | is the interface to disable.

Returns
  - XST_SUCCESS if successful.
  - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxDisable(), and XHdcp1x_TxDisable().

void XHdcp1x_DisableBlank | ( | XHdcp1x * | InstancePtr | ) |

This function disables the blank output for the cipher.

Parameters

  InstancePtr | is a pointer to the XHdcp14 core instance.

Returns
  None.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, and XHdcp1x_TxDisableBlank().

int XHdcp1x_DisableEncryption | ( | XHdcp1x * | InstancePtr,
|  | u64 | Map
| ) |  |

This function disables encryption on a series of streams within an HDCP interface.

Parameters

  InstancePtr | is the interface to configure.
  Map | is the stream map to disable encryption on.

Returns
  - XST_SUCCESS if successful.
  - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, UNUSED, and XHdcp1x_TxDisableEncryption().

int XHdcp1x_DownstreamReady | ( | XHdcp1x * | InstancePtr | ) |

This function posts a DOWNSTREAMREADY event to an HDCP interface.

Parameters

  InstancePtr | is the interface to reset.

Returns
  - XST_SUCCESS if successful.
    - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, and XHdcp1x_RxDownstreamReady().

int XHdcp1x_Enable | ( | XHdcp1x * | InstancePtr | ) |

This function enables an HDCP interface.

Parameters

  InstancePtr | is the interface to enable.

Returns
  - XST_SUCCESS if successful.
  - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxEnable(), and XHdcp1x_TxEnable().

void XHdcp1x_EnableBlank | ( | XHdcp1x * | InstancePtr | ) |

This function enables the blank output for the cipher.

Parameters

  InstancePtr | is a pointer to the XHdcp14 core instance.

Returns
  None.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, and XHdcp1x_TxEnableBlank().

int XHdcp1x_EnableEncryption | ( | XHdcp1x * | InstancePtr,
|  | u64 | Map
| ) |  |

This function enables encryption on a series of streams within an HDCP interface.

Parameters

  InstancePtr | is the interface to configure.
  Map | is the stream map to enable encryption on.

Returns
  - XST_SUCCESS if successful.
  - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, UNUSED, and XHdcp1x_TxEnableEncryption().

u32 XHdcp1x_GetDriverVersion | ( | void |  | ) |

This function retrieves the version of the HDCP driver software.

Returns
  The software driver version.

Note
  None.

References DRIVER_VERSION.

Referenced by XHdcp1x_RxInfo(), and XHdcp1x_TxInfo().

u64 XHdcp1x_GetEncryption | ( | const XHdcp1x * | InstancePtr | ) |

This function retrieves the current encryption map of the video streams traversing an hdcp interface.

Parameters

  InstancePtr | is the interface to query.

Returns
  The current encryption map.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxGetEncryption(), and XHdcp1x_TxGetEncryption().

Referenced by XHdcp1x_IsEncrypted().

int XHdcp1x_GetRepeaterInfo | ( | XHdcp1x * | InstancePtr,
|  | XHdcp1x_RepeaterExchange * | RepeaterInfoPtr
| ) |  |

This function copies the V'H0, V'H1, V'H2, V'H3, V'H4, KSVList and BInfo values in the HDCP RX HDCP Instance for Repeater validation .

Parameters

  InstancePtr | is the receiver instance.
  RepeaterInfoPtr | is the Repeater information in the transmitter instance.

Returns
  - XST_SUCCESS if successful.
    - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, and XHdcp1x_RxGetRepeaterInfo().

void * XHdcp1x_GetTopology | ( | XHdcp1x * | InstancePtr | ) |

This function returns a pointer to the downstream Topology structure.

Parameters

  InstancePtr | is a pointer to the XHdcp14 core instance.

Returns
  A pointer to the XHdcp14 Topology structure or NULL when the topology info is invalid.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHDCP1X_DEBUG_PRINTF, and XHdcp1x_TxGetTopology().

u8 * XHdcp1x_GetTopologyBKSV | ( | XHdcp1x * | InstancePtr | ) |

This function returns the value of KSV of the device attached to the downstream interface of the repeater.

Parameters

  InstancePtr | is a pointer to the XHdcp14 core instance.

Returns
  - TRUE if MAX_DEPTH_EXCEEDED

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, and XHdcp1x_TxGetTopologyBKSV().

u32 XHdcp1x_GetTopologyField | ( | XHdcp1x * | InstancePtr,
|  | XHdcp1x_TopologyField | Field
| ) |  |

This function is used to get various fields inside the topology structure.

Parameters

  InstancePtr | is a pointer to the XHdcp1x core instance.
  Field | indicates what field of the topology structure to update.

Returns
  None.

Note
  None.

References XHdcp1x_TxGetTopologyDepth(), XHdcp1x_TxGetTopologyDeviceCnt(), XHdcp1x_TxGetTopologyMaxCascadeExceeded(), and XHdcp1x_TxGetTopologyMaxDevsExceeded().

u8 * XHdcp1x_GetTopologyKSVList | ( | XHdcp1x * | InstancePtr | ) |

This function returns the value of KSV List read in the downstream interface of the repeater topology.

Parameters

  InstancePtr | is a pointer to the XHdcp14 core instance.

Returns
  - List of KSVs of the downstream devices

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, and XHdcp1x_TxGetTopologyKSVList().

u32 XHdcp1x_GetVersion | ( | const XHdcp1x * | InstancePtr | ) |

This function retrieves the cipher version of an HDCP interface.

Parameters

  InstancePtr | is the interface to query.

Returns
  The cipher version used by the interface

Note
  None.

References XHdcp1x_CipherGetVersion().

void XHdcp1x_HandleTimeout | ( | void * | InstancePtr | ) |

This function handles a timeout on an HDCP interface.

Parameters

  InstancePtr | is the interface.

Returns
  None.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHDCP1X_DEBUG_PRINTF, XHdcp1x_RxHandleTimeout(), and XHdcp1x_TxHandleTimeout().

void XHdcp1x_Info | ( | const XHdcp1x * | InstancePtr | ) |

This function performs a debug display of an HDCP instance.

Parameters

  InstancePtr | is the interface to display.

Returns
  None.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHDCP1X_DEBUG_PRINTF, XHdcp1x_RxInfo(), and XHdcp1x_TxInfo().

int XHdcp1x_IsAuthenticated | ( | const XHdcp1x * | InstancePtr | ) |

This function queries an interface to determine if it has successfully completed authentication.

Parameters

  InstancePtr | is the interface to query.

Returns
  Truth value indicating authenticated (TRUE) or not (FALSE).

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxIsAuthenticated(), and XHdcp1x_TxIsAuthenticated().

Referenced by XHdcp1x_IsEncrypted().

int XHdcp1x_IsDwnstrmCapable | ( | const XHdcp1x * | InstancePtr | ) |

This function queries the device connected to the downstream interface to determine if it supports hdcp or not.

Parameters

  InstancePtr | is the interface to query.

Returns
  Truth value indicating HDCP capability (TRUE) or not (FALSE).

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, and XHdcp1x_TxIsDownstrmCapable().

int XHdcp1x_IsEnabled | ( | const XHdcp1x * | InstancePtr | ) |

This function queries an interface to determine if it is enabled.

Parameters

  InstancePtr | is the interface to query.

Returns
  Truth value indicating enabled (TRUE) or not (FALSE).

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxIsEnabled(), and XHdcp1x_TxIsEnabled().

int XHdcp1x_IsEncrypted | ( | const XHdcp1x * | InstancePtr | ) |

This function determines if the video stream is encrypted.

The traffic is encrypted if the encryption bit map is non-zero and the interface is authenticated.

Parameters

  InstancePtr | is a pointer to the HDCP instance.

Returns
  Truth value indicating encrypted (TRUE) or not (FALSE).

Note
  None.

References XHdcp1x_GetEncryption(), and XHdcp1x_IsAuthenticated().

Referenced by XHdcp1x_RxInfo(), and XHdcp1x_TxInfo().

int XHdcp1x_IsInComputations | ( | const XHdcp1x * | InstancePtr | ) |

This function queries an interface to determine if it is in the state of computations or not.

Parameters

  InstancePtr | is the interface to query.

Returns
  Truth value indicating authenticated (TRUE) or not (FALSE).

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxIsInComputations(), and XHdcp1x_TxIsInComputations().

int XHdcp1x_IsInProgress | ( | const XHdcp1x * | InstancePtr | ) |

This function queries an interface to determine if authentication is in progress.

Parameters

  InstancePtr | is the interface to query.

Returns
  Truth value indicating authentication in progress (TRUE) or not (FALSE).

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, and XHdcp1x_TxIsInProgress().

int XHdcp1x_IsInWaitforready | ( | const XHdcp1x * | InstancePtr | ) |

This function queries an interface to determine if it is in the wait-for-ready state or not.

Parameters

  InstancePtr | is the interface to query.

Returns
  Truth value indicating authenticated (TRUE) or not (FALSE).

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxIsInWaitforready(), and XHdcp1x_TxIsInWaitforready().

int XHdcp1x_IsRepeater | ( | XHdcp1x * | InstancePtr | ) |

This function return if the HDCP interface is a repeater in case of Rx or is connected to a repeater in case of Tx.

Parameters

  InstancePtr | is the transmitter instance.

Returns
  - TRUE if Repeater.
  - FALSE if not Repeater,

Note
  None.

References XHdcp1x::Config, XHdcp1x::IsRepeater, XHdcp1x_Config::IsRx, XHDCP1X_DEBUG_PRINTF, and XHdcp1x_TxIsRepeater().

XHdcp1x_Config * XHdcp1x_LookupConfig | ( | u16 | DeviceId | ) |

This function returns a reference to an XHdcp1x_Config structure based on specified device ID.

Parameters

  DeviceId | is the unique core ID of the HDCP interface.

Returns
  A reference to the config record in the configuration table (in xhdcp_g.c) corresponding the specified DeviceId. NULL if no match is found.

Note
  None.

References XPAR_XHDCP_NUM_INSTANCES.

int XHdcp1x_PlatformIsKsvRevoked | ( | const XHdcp1x * | InstancePtr,
|  | u64 | Ksv
| ) |  |

This function checks a KSV value to determine if it has been revoked or not.

Parameters

  InstancePtr | is the HDCP interface.
  Ksv | is the KSV to check.

Returns
  Truth value indicating the KSV is revoked (TRUE) or not (FALSE)

Note
  None.

References XHdcp1xKsvRevokeCheck.

int XHdcp1x_PlatformTimerBusy | ( | XHdcp1x * | InstancePtr,
|  | u16 | DelayInMs
| ) |  |

This function busy waits on a timer for a number of milliseconds.

Parameters

  InstancePtr | is the hdcp interface.
  DelayInMs | is the delay time in milliseconds.

Returns
  - XST_SUCCESS if successful.
  - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x::XHdcp1xTimerDelay.

int XHdcp1x_PlatformTimerStart | ( | XHdcp1x * | InstancePtr,
|  | u16 | TimeoutInMs
| ) |  |

This function starts a timer on behalf of an HDCP interface.

Parameters

  InstancePtr | is the hdcp interface.
  TimeoutInMs | is the duration of the timer in milliseconds.

Returns
  - XST_SUCCESS if successful.
  - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x::XHdcp1xTimerStart.

int XHdcp1x_PlatformTimerStop | ( | XHdcp1x * | InstancePtr | ) |

This function stop a timer on behalf of an HDCP interface.

Parameters

  InstancePtr | is the HDCP interface.

Returns
  - XST_SUCCESS if successful.
  - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x::XHdcp1xTimerStop.

int XHdcp1x_Poll | ( | XHdcp1x * | InstancePtr | ) |

This function polls an HDCP interface.

Parameters

  InstancePtr | is the interface to poll.

Returns
  - XST_SUCCESS if successful.
  - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxPoll(), and XHdcp1x_TxPoll().

const XHdcp1x_PortPhyIfAdaptor * XHdcp1x_PortDetermineAdaptor | ( | XHdcp1x * | InstancePtr | ) |

This function determines the adaptor for a specified port device.

Parameters

  InstancePtr | is the device whose adaptor is to be determined.

Returns
  A pointer to the adaptor table. NULL if not found.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsHDMI, and XHdcp1x_Config::IsRx.

Referenced by XHdcp1x_CfgInitialize().

int XHdcp1x_PortDisable | ( | XHdcp1x * | InstancePtr | ) |

This function disables a port device.

Parameters

  InstancePtr | is the device to disables.

Returns
  - XST_SUCCESS if successful.
  - XST_NO_FEATURE if the port lacks a Disable function.

Note
  None.

References XHdcp1x_PortStruct::Adaptor, XHdcp1x_PortPhyIfAdaptorS::Disable, and XHdcp1x::Port.

int XHdcp1x_PortEnable | ( | XHdcp1x * | InstancePtr | ) |

This function enables a port device.

Parameters

  InstancePtr | is the device to enables.

Returns
  - XST_SUCCESS if successful.
  - XST_NO_FEATURE if the port lacks an Enable function.

Note
  None.

References XHdcp1x_PortStruct::Adaptor, XHdcp1x_PortPhyIfAdaptorS::Enable, and XHdcp1x::Port.

int XHdcp1x_PortGetRepeaterInfo | ( | XHdcp1x * | InstancePtr,
|  | u16 * | InfoPtr
| ) |  |

This function retrieves the repeater information from the connected device.

Parameters

  InstancePtr | is the device to query.
  InfoPtr | is the repeater info.

Returns
  - XST_SUCCESS if successful.
  - XST_NO_FEATURE if the port lacks a GetRepeaterInfo function.

Note
  None.

References XHdcp1x_PortStruct::Adaptor, XHdcp1x_PortPhyIfAdaptorS::GetRepeaterInfo, and XHdcp1x::Port.

void XHdcp1x_PortHandleInterrupt | ( | XHdcp1x * | InstancePtr,
|  | u32 | IntCause
| ) |  |

This handles an interrupt generated by a HDCP port device.

Parameters

  InstancePtr | is the device to write to.
  IntCause | is the interrupt cause bit map.

Returns
  None.

Note
  None.

References XHdcp1x_PortStruct::Adaptor, XHdcp1x_PortStats::IntCount, XHdcp1x_PortPhyIfAdaptorS::IntrHandler, XHdcp1x::Port, and XHdcp1x_PortStruct::Stats.

Referenced by XHdcp1x_PortIntrHandler().

void XHdcp1x_PortIntrHandler | ( | void * | InstancePtr,
|  | u32 | IntCause
| ) |  |

This function is the port interrupt handler for the HDCP module.

Parameters

  InstancePtr | is the device instance that just interrupted.
  IntCause | is the interrupt cause bit map.

Returns
  None.

Note
  This function just forwards the interrupt along to the corresponding cipher core.

References XHdcp1x::IsReady, and XHdcp1x_PortHandleInterrupt().

int XHdcp1x_PortIsCapable | ( | const XHdcp1x * | InstancePtr | ) |

This function queries a port device to determine if hdcp is supported.

Parameters

  InstancePtr | is the device to query.

Returns
  Truth value.

Note
  None.

References XHdcp1x_PortStruct::Adaptor, XHdcp1x_PortPhyIfAdaptorS::IsCapable, and XHdcp1x::Port.

Referenced by XHdcp1x_TxIsDownstrmCapable().

int XHdcp1x_PortIsRepeater | ( | const XHdcp1x * | InstancePtr | ) |

This function queries a port device to determine if it is connected to a repeater.

Parameters

  InstancePtr | is the device to query.

Returns
  Truth value.

Note
  None.

References XHdcp1x_PortStruct::Adaptor, XHdcp1x_PortPhyIfAdaptorS::IsRepeater, and XHdcp1x::Port.

Referenced by XHdcp1x_TxIsRepeater().

int XHdcp1x_PortRead | ( | const XHdcp1x * | InstancePtr,
|  | u8 | Offset,
|  | void * | Buf,
|  | u32 | BufSize
| ) |  |

This function reads a register from a HDCP port device.

Parameters

  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.

Returns
  The number of bytes read.

Note
  None.

References XHdcp1x_PortStruct::Adaptor, XHdcp1x::Port, and XHdcp1x_PortPhyIfAdaptorS::Read.

Referenced by XHdcp1x_RxSetHdmiMode(), XHdcp1x_RxSetTopologyMaxCascadeExceeded(), XHdcp1x_RxSetTopologyMaxDevsExceeded(), XHdcp1x_TxGetTopologyBKSV(), XHdcp1x_TxGetTopologyMaxCascadeExceeded(), and XHdcp1x_TxGetTopologyMaxDevsExceeded().

int XHdcp1x_PortSetCallback | ( | XHdcp1x * | InstancePtr,
|  | u32 | HandlerType,
|  | XHdcp1x_Callback | CallbackFunc,
|  | void * | CallbackRef
| ) |  |

This function installs an asynchronous callback function for the given HandlerType:

    HandlerType                           Callback Function Type
    ------------------------------------  -------------------------------------
    (XHDCP1X_PORT_HANDLER_AUTHENTICATE)   AuthCallback

Parameters

  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.

Returns
  - XST_SUCCESS if callback function installed successfully.
  - XST_INVALID_PARAM when HandlerType is invalid.

Note
  Invoking this function for a handler that already has been installed replaces it with the new handler.

References XHdcp1x_PortStruct::AuthCallback, XHdcp1x_PortStruct::AuthRef, XHdcp1x_PortStruct::IsAuthCallbackSet, XHdcp1x::Port, and XHDCP1X_PORT_HANDLER_AUTHENTICATE.

int XHdcp1x_PortSetRepeater | ( | XHdcp1x * | InstancePtr,
|  | u8 | RptrConf
| ) |  |

This function set the REPEATER information in the connected device.

Parameters

  InstancePtr | is the device to query.
  RptrConf | is the configuration of the device as repeater.

Returns
  - XST_SUCCESS if successful.
  - XST_NO_FEATURE if the port fails to set the Repeater value.

Note
  None.

References XHdcp1x_PortStruct::Adaptor, XHdcp1x::Port, and XHdcp1x_PortPhyIfAdaptorS::SetRepeater.

Referenced by XHdcp1x_RxSetRepeaterBcaps().

int XHdcp1x_PortWrite | ( | XHdcp1x * | InstancePtr,
|  | u8 | Offset,
|  | const void * | Buf,
|  | u32 | BufSize
| ) |  |

This function writes a register within a HDCP port device.

Parameters

  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.

Returns
  The number of bytes written.

Note
  None.

References XHdcp1x_PortStruct::Adaptor, XHdcp1x::Port, and XHdcp1x_PortPhyIfAdaptorS::Write.

Referenced by XHdcp1x_RxSetHdmiMode(), XHdcp1x_RxSetTopologyMaxCascadeExceeded(), and XHdcp1x_RxSetTopologyMaxDevsExceeded().

void XHdcp1x_ProcessAKsv | ( | XHdcp1x * | InstancePtr | ) |

This function processes the AKsv.

Parameters

  InstancePtr | is the interface to display.

Returns
  None

Note
  None.

References XHdcp1x_PortStruct::Adaptor, XHdcp1x_PortPhyIfAdaptorS::CallbackHandler, XHdcp1x::Config, XHdcp1x_Config::IsRx, and XHdcp1x::Port.

int XHdcp1x_ReadDownstream | ( | XHdcp1x * | InstancePtr | ) |

This function initiates downstream read of READY bit and consequently the second part of Repeater authentication.

Parameters

  InstancePtr | is the interface to initiate authentication on.

Returns
  - XST_SUCCESS if successful.
  - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, and XHdcp1x_TxReadDownstream().

int XHdcp1x_Reset | ( | XHdcp1x * | InstancePtr | ) |

This function resets an HDCP interface.

Parameters

  InstancePtr | is the interface to reset.

Returns
  - XST_SUCCESS if successful.
  - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxReset(), and XHdcp1x_TxReset().

int XHdcp1x_RxAuthenticate | ( | XHdcp1x * | InstancePtr | ) |

This function initiates authentication on an interface.

Parameters

  InstancePtr | is the receiver instance.

Returns
  - XST_SUCCESS if successful.

Note
  None.

Referenced by XHdcp1x_Authenticate().

int XHdcp1x_RxDisable | ( | XHdcp1x * | InstancePtr | ) |

This function disables a HDCP receive interface.

Parameters

  InstancePtr | is the receiver instance.

Returns
  - XST_SUCCESS if successful.

Note
  None.

Referenced by XHdcp1x_Disable().

int XHdcp1x_RxDownstreamReady | ( | XHdcp1x * | InstancePtr | ) |

This function initiates downstream ready/ assemble ksv list on an interface.

Parameters

  InstancePtr | is the receiver instance.

Returns
  - XST_SUCCESS if successful.

Note
  None.

Referenced by XHdcp1x_DownstreamReady().

int XHdcp1x_RxEnable | ( | XHdcp1x * | InstancePtr | ) |

This function enables a HDCP receive interface.

Parameters

  InstancePtr | is the receiver instance.

Returns
  - XST_SUCCESS if successful.

Note
  None.

Referenced by XHdcp1x_Enable().

u64 XHdcp1x_RxGetEncryption | ( | const XHdcp1x * | InstancePtr | ) |

This function retrieves the current encryption stream map.

Parameters

  InstancePtr | is the receiver instance.

Returns
  The current encryption stream map.

Note
  None.

References XHdcp1x_CipherGetEncryption().

Referenced by XHdcp1x_GetEncryption().

int XHdcp1x_RxGetRepeaterInfo | ( | XHdcp1x * | InstancePtr,
|  | XHdcp1x_RepeaterExchange * | RepeaterInfoPtr
| ) |  |

This function copies the V'H0, V'H1, V'H2, V'H3, V'H4, KSVList and BInfo values in the HDCP RX HDCP Instance for Repeater validation .

Parameters

  InstancePtr | is the receiver instance.
  RepeaterInfoPtr | is the Repeater information in the transmitter instance.

Returns
  - XST_SUCCESS if successful.

Note
  None.

References XHdcp1x_RepeaterExchange::Depth, XHdcp1x_RepeaterExchange::DeviceCount, XHdcp1x_RepeaterExchange::KsvList, XHdcp1x::RepeaterValues, and XHdcp1x_RepeaterExchange::V.

Referenced by XHdcp1x_GetRepeaterInfo().

void XHdcp1x_RxHandleTimeout | ( | XHdcp1x * | InstancePtr | ) |

This function handles a timeout on an HDCP interface.

Parameters

  InstancePtr | is the receiver instance.

Returns
  None.

Note
  None.

Referenced by XHdcp1x_HandleTimeout().

int XHdcp1x_RxInfo | ( | const XHdcp1x * | InstancePtr | ) |

This function implements the debug display output for receiver instances.

Parameters

  InstancePtr | is the receiver instance.

Returns
  - XST_SUCCESS if successful.

Note
  None.

References XHdcp1x_RxStats::AuthAttempts, XHdcp1x::Cipher, XHdcp1x::Config, XHdcp1x_Rx::CurrentState, XHdcp1x_Rx::Flags, XHdcp1x_CipherStats::IntCount, XHdcp1x_PortStats::IntCount, XHdcp1x_Config::IsHDMI, XHdcp1x_RxStats::LinkFailures, XHdcp1x::Port, XHdcp1x_Rx::PreviousState, XHdcp1x_RxStats::RiUpdates, XHdcp1x::Rx, XHdcp1x_Cipher::Stats, XHdcp1x_PortStruct::Stats, XHdcp1x_Rx::Stats, XHdcp1x_CipherGetLocalKsv(), XHdcp1x_CipherGetVersion(), XHDCP1X_DEBUG_PRINTF, XHdcp1x_GetDriverVersion(), and XHdcp1x_IsEncrypted().

Referenced by XHdcp1x_Info().

void XHdcp1x_RxInit | ( | XHdcp1x * | InstancePtr | ) |

This function initializes a HDCP receiver state machine.

Parameters

  InstancePtr | is the receiver instance.

Returns
  None.

Note
  None.

References XHdcp1x_Rx::PendingEvents, and XHdcp1x::Rx.

Referenced by XHdcp1x_CfgInitialize().

int XHdcp1x_RxIsAuthenticated | ( | const XHdcp1x * | InstancePtr | ) |

This function queries an interface to check if its been authenticated.

Parameters

  InstancePtr | is the receiver instance.

Returns
  Truth value indicating authenticated (true) or not (false).

Note
  None.

References XHdcp1x_Rx::CurrentState, and XHdcp1x::Rx.

Referenced by XHdcp1x_IsAuthenticated().

int XHdcp1x_RxIsEnabled | ( | const XHdcp1x * | InstancePtr | ) |

This function queries an interface to check if is enabled.

Parameters

  InstancePtr | is the receiver instance.

Returns
  Truth value indicating is enabled (true) or not (false).

Note
  None.

References XHdcp1x_Rx::CurrentState, and XHdcp1x::Rx.

Referenced by XHdcp1x_IsEnabled().

int XHdcp1x_RxIsInComputations | ( | const XHdcp1x * | InstancePtr | ) |

This function queries an interface to check if its in the computations state.

Parameters

  InstancePtr | is the receiver instance.

Returns
  Truth value indicating authenticated (true) or not (false).

Note
  None.

References XHdcp1x_Rx::CurrentState, and XHdcp1x::Rx.

Referenced by XHdcp1x_IsInComputations().

int XHdcp1x_RxIsInProgress | ( | const XHdcp1x * | InstancePtr | ) |

This function queries an interface to check if authentication is in progress.

Parameters

  InstancePtr | is the receiver instance.

Returns
  Truth value indicating in progress (true) or not (false).

Note
  None.

References XHdcp1x_Rx::CurrentState, and XHdcp1x::Rx.

int XHdcp1x_RxIsInWaitforready | ( | const XHdcp1x * | InstancePtr | ) |

This function queries an interface to check if its in the wait-for-downstream-ready state.

Parameters

  InstancePtr | is the receiver instance.

Returns
  Truth value indicating authenticated (true) or not (false).

Note
  None.

References XHdcp1x_Rx::CurrentState, and XHdcp1x::Rx.

Referenced by XHdcp1x_IsInWaitforready().

int XHdcp1x_RxPoll | ( | XHdcp1x * | InstancePtr | ) |

This function polls the HDCP receiver module.

Parameters

  InstancePtr | is the receiver instance.

Returns
  - XST_SUCCESS if successful.

Note
  None.

Referenced by XHdcp1x_Poll().

int XHdcp1x_RxReset | ( | XHdcp1x * | InstancePtr | ) |

This function resets an HDCP interface.

Parameters

  InstancePtr | is the receiver instance.

Returns
  - XST_SUCCESS if successful.

Note
  This function disables and then re-enables the interface.

Referenced by XHdcp1x_Reset().

int XHdcp1x_RxSetCallback | ( | XHdcp1x * | InstancePtr,
|  | XHdcp1x_HandlerType | HandlerType,
|  | void * | CallbackFunc,
|  | void * | CallbackRef
| ) |  |

This function installs callback functions for the given HandlerType:

Parameters

  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.

Returns
  - XST_SUCCESS if callback function installed successfully.
  - XST_INVALID_PARAM when HandlerType is invalid.

Note
  Invoking this function for a handler that already has been installed replaces it with the new handler.

References XHdcp1x_Rx::AuthenticatedCallback, XHdcp1x_Rx::AuthenticatedCallbackRef, XHdcp1x_Rx::DdcGetDataCallback, XHdcp1x_Rx::DdcGetDataCallbackRef, XHdcp1x_Rx::DdcSetAddressCallback, XHdcp1x_Rx::DdcSetAddressCallbackRef, XHdcp1x_Rx::DdcSetDataCallback, XHdcp1x_Rx::DdcSetDataCallbackRef, XHdcp1x_Rx::EncryptionUpdateCallback, XHdcp1x_Rx::EncryptionUpdateCallbackRef, XHdcp1x_Rx::IsAuthenticatedCallbackSet, XHdcp1x_Rx::IsDdcGetDataCallbackSet, XHdcp1x_Rx::IsDdcSetAddressCallbackSet, XHdcp1x_Rx::IsDdcSetDataCallbackSet, XHdcp1x_Rx::IsEncryptionUpdateCallbackSet, XHdcp1x_Rx::IsRepeaterDownstreamAuthCallbackSet, XHdcp1x_Rx::IsTopologyUpdateCallbackSet, XHdcp1x_Rx::IsUnauthenticatedCallbackSet, XHdcp1x_Rx::RepeaterDownstreamAuthCallback, XHdcp1x_Rx::RepeaterDownstreamAuthRef, XHdcp1x::Rx, XHdcp1x_Rx::TopologyUpdateCallback, XHdcp1x_Rx::TopologyUpdateCallbackRef, XHdcp1x_Rx::UnauthenticatedCallback, and XHdcp1x_Rx::UnauthenticatedCallbackRef.

Referenced by XHdcp1x_SetCallback().

void XHdcp1x_RxSetHdmiMode | ( | XHdcp1x * | InstancePtr,
|  | u8 | Value
| ) |  |

This function set the HDMI_MODE in the BStatus register of the HDMI RX DDC space.

Parameters

  InstancePtr | is a pointer to the Hdcp1x core instance.
  Value | is the truth-value.

Returns
  None.

Note
  None.

References UNUSED, XHDCP1X_PORT_BIT_BSTATUS_HDMI_MODE, XHDCP1X_PORT_OFFSET_BSTATUS, XHDCP1X_PORT_SIZE_BSTATUS, XHdcp1x_PortRead(), and XHdcp1x_PortWrite().

Referenced by XHdcp1x_SetHdmiMode().

int XHdcp1x_RxSetLaneCount | ( | XHdcp1x * | InstancePtr,
|  | int | LaneCount
| ) |  |

This function set the lane count of an hdcp interface.

Parameters

  InstancePtr | is the receiver instance.
  LaneCount | is the number of lanes of the interface.

Returns
  - XST_SUCCESS if successful.

Note
  None.

References XHdcp1x_CipherSetNumLanes().

Referenced by XHdcp1x_SetLaneCount().

int XHdcp1x_RxSetPhysicalState | ( | XHdcp1x * | InstancePtr,
|  | int | IsUp
| ) |  |

This function updates the physical state of an HDCP interface.

Parameters

  InstancePtr | is the receiver instance.
  IsUp | is truth value indicating the status of physical interface.

Returns
  - XST_SUCCESS if successful.

Note
  None.

Referenced by XHdcp1x_SetPhysicalState().

int XHdcp1x_RxSetRepeaterBcaps | ( | XHdcp1x * | InstancePtr,
|  | u8 | IsRptr
| ) |  |

This function set the REPEATER bit for the HDCP RX interface.

Parameters

  InstancePtr | is the receiver instance.
  IsRptr | is the truth value to determine if the repeater bit in the port registers is to be set.

Returns
  - XST_SUCCESS if successful.

Note
  This function disables and then re-enables the interface.

References XHdcp1x_PortSetRepeater().

Referenced by XHdcp1x_SetRepeater().

void XHdcp1x_RxSetTopology | ( | XHdcp1x * | InstancePtr,
|  | const XHdcp1x_RepeaterExchange * | TopologyPtr
| ) |  |

This function sets the RepeaterInfo value int the HDCP RX instance.

Parameters

  InstancePtr | is a pointer to the Hdcp1x core instance.
  TopologyPtr | is the pointer to topology information.

Returns
  None.

Note
  None.

References XHdcp1x::RepeaterValues.

Referenced by XHdcp1x_SetTopology().

void XHdcp1x_RxSetTopologyDepth | ( | XHdcp1x * | InstancePtr,
|  | u32 | Value
| ) |  |

This function sets the Depth value in the HDCP RX BStatus/BInfo register space for the upstream interface to read.

Parameters

  InstancePtr | is a pointer to the Hdcp1x core instance.
  Value | is the Depth value.

Returns
  None.

Note
  None.

References XHdcp1x_RepeaterExchange::Depth, and XHdcp1x::RepeaterValues.

Referenced by XHdcp1x_SetTopologyField().

void XHdcp1x_RxSetTopologyDeviceCnt | ( | XHdcp1x * | InstancePtr,
|  | u32 | Value
| ) |  |

This function sets the DEVICE_COUNT value in the HDCP RX register space for the upstream interface to read.

Parameters

  InstancePtr | is a pointer to the Hdcp1x core instance.
  Value | is the device count value.

Returns
  None.

Note
  None.

References XHdcp1x_RepeaterExchange::DeviceCount, and XHdcp1x::RepeaterValues.

Referenced by XHdcp1x_SetTopologyField().

void XHdcp1x_RxSetTopologyKSVList | ( | XHdcp1x * | InstancePtr,
|  | u8 * | ListPtr,
|  | u32 | ListSize
| ) |  |

This function sets the KSVList value(s) in the HDCP RX KSV Fifo register space for the upstream interface to read.

Parameters

  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.

Returns
  None.

Note
  None.

References XHdcp1x_RepeaterExchange::KsvList, XHdcp1x::RepeaterValues, and XHDCP1X_PORT_SIZE_BKSV.

Referenced by XHdcp1x_SetTopologyKSVList().

void XHdcp1x_RxSetTopologyMaxCascadeExceeded | ( | XHdcp1x * | InstancePtr,
|  | u8 | Value
| ) |  |

This function sets the MAX_CASCADE_EXCEEDED error flag in the HDCP BStatus/BInfo register to indicate a topology error.

Setting the flag indicates a depth of more than (4 - 1).

Parameters

  InstancePtr | is a pointer to the Hdcp1x core instance.
  Value | is either TRUE or FALSE.

Returns
  None.

Note
  None.

References XHDCP1X_PORT_BINFO_DEPTH_ERR_SHIFT, XHDCP1X_PORT_BSTATUS_DEPTH_ERR_SHIFT, XHDCP1X_PORT_OFFSET_BINFO, XHDCP1X_PORT_OFFSET_BSTATUS, XHDCP1X_PORT_SIZE_BINFO, XHDCP1X_PORT_SIZE_BSTATUS, XHdcp1x_PortRead(), and XHdcp1x_PortWrite().

Referenced by XHdcp1x_SetTopologyField().

void XHdcp1x_RxSetTopologyMaxDevsExceeded | ( | XHdcp1x * | InstancePtr,
|  | u8 | Value
| ) |  |

This function sets the MAX_DEVS_EXCEEDED error flag in the HDCP BStatus register to indicate a topology error.

Setting the flag indicates that more than 31 downstream devices are attached.

Parameters

  InstancePtr | is a pointer to the Hdcp1x core instance.
  Value | is either TRUE or FALSE.

Returns
  None.

Note
  None.

References XHDCP1X_PORT_BINFO_DEV_CNT_ERR_SHIFT, XHDCP1X_PORT_BSTATUS_DEV_CNT_ERR_SHIFT, XHDCP1X_PORT_OFFSET_BINFO, XHDCP1X_PORT_OFFSET_BSTATUS, XHDCP1X_PORT_SIZE_BINFO, XHDCP1X_PORT_SIZE_BSTATUS, XHdcp1x_PortRead(), and XHdcp1x_PortWrite().

Referenced by XHdcp1x_SetTopologyField().

void XHdcp1x_RxSetTopologyUpdate | ( | XHdcp1x * | InstancePtr | ) |

This function does the necessary actions to update HDCP after the topology has been set.

Parameters

  InstancePtr | is a pointer to the Hdcp1x core instance.

Returns
  None.

Note
  None.

Referenced by XHdcp1x_SetTopologyUpdate().

int XHdcp1x_SelfTest | ( | XHdcp1x * | InstancePtr | ) |

This function self tests an HDCP interface.

Parameters

  InstancePtr | is the interface to test.

Returns
  - XST_SUCCESS if successful.
  - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x_Config::BaseAddress, XHdcp1x::Config, XHdcp1x_Config::IsHDMI, XHdcp1x_Config::IsRx, XHDCP1X_CIPHER_REG_VERSION, XHdcp1x_IsDP, XHdcp1x_IsHDMI, XHdcp1x_IsRX, XHdcp1x_IsTX, and XHdcp1x_ReadReg.

int XHdcp1x_SetCallback | ( | XHdcp1x * | InstancePtr,
|  | XHdcp1x_HandlerType | HandlerType,
|  | void * | CallbackFunc,
|  | void * | CallbackRef
| ) |  |

This function installs callback functions for the given HandlerType.

Parameters

  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.

Returns
  - XST_SUCCESS if callback function installed successfully.
  - XST_INVALID_PARAM when HandlerType is invalid.

Note
  Invoking this function for a handler that already has been installed replaces it with the new handler.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxSetCallback(), and XHdcp1x_TxSetCallback().

void XHdcp1x_SetDebugLogMsg | ( | XHdcp1x_LogMsg | LogFunc | ) |

This function sets the debug log message function for the module.

Parameters

  LogFunc | is the debug logging function.

Returns
  None.

Note
  None.

References XHdcp1xDebugLogMsg.

void XHdcp1x_SetDebugPrintf | ( | XHdcp1x_Printf | PrintfFunc | ) |

This function sets the debug printf function for the module.

Parameters

  PrintfFunc | is the printf function.

Returns
  None.

Note
  None.

References XHdcp1xDebugPrintf.

void XHdcp1x_SetHdmiMode | ( | XHdcp1x * | InstancePtr,
|  | u8 | Value
| ) |  |

This function set the HDMI_MODE in the BStatus register of the HDMI DDC space.

Parameters

  InstancePtr | is a pointer to the Hdcp1x core instance.
  Value | is the truth-value.

Returns
  None.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHDCP1X_DEBUG_PRINTF, XHdcp1x_RxSetHdmiMode(), and XHdcp1x_TxSetHdmiMode().

int XHdcp1x_SetKeySelect | ( | XHdcp1x * | InstancePtr,
|  | u8 | KeySelect
| ) |  |

This function sets the key selection vector that is to be used by the HDCP cipher.

Parameters

  InstancePtr | is the interface to configure.
  KeySelect | is the key selection vector.

Returns
  - XST_SUCCESS if successful.
  - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x_CipherSetKeySelect().

void XHdcp1x_SetKsvRevokeCheck | ( | XHdcp1x_KsvRevokeCheck | RevokeCheckFunc | ) |

This function sets the KSV revocation list check function for the module.

Parameters

  RevokeCheckFunc | is the KSV revocation list check function.

Returns
  None.

Note
  None.

References XHdcp1xKsvRevokeCheck.

int XHdcp1x_SetLaneCount | ( | XHdcp1x * | InstancePtr,
|  | int | LaneCount
| ) |  |

This function sets the lane count of a hdcp interface.

Parameters

  InstancePtr | is the interface to update.
  LaneCount | is the lane count.

Returns
  - XST_SUCCESS if successful.
  - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsHDMI, XHdcp1x_Config::IsRx, XHdcp1x_RxSetLaneCount(), and XHdcp1x_TxSetLaneCount().

int XHdcp1x_SetPhysicalState | ( | XHdcp1x * | InstancePtr,
|  | int | IsUp
| ) |  |

This function updates the state of the underlying physical interface.

Parameters

  InstancePtr | is the interface to update.
  IsUp | indicates the state of the underlying physical interface.

Returns
  - XST_SUCCESS if successful.
  - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHdcp1x_RxSetPhysicalState(), and XHdcp1x_TxSetPhysicalState().

int XHdcp1x_SetRepeater | ( | XHdcp1x * | InstancePtr,
|  | u8 | State
| ) |  |

This function sets the Repeater functionality for an HDCP interface.

Parameters

  InstancePtr | is the interface to disable.
  State | is etiher TRUE or FALSE

Returns
  - XST_SUCCESS if successful.
  - XST_FAILURE otherwise.

Note
  None.

References XHdcp1x::Config, XHdcp1x::IsRepeater, XHdcp1x_Config::IsRx, and XHdcp1x_RxSetRepeaterBcaps().

void XHdcp1x_SetTimerDelay | ( | XHdcp1x * | InstancePtr,
|  | XHdcp1x_TimerDelay | TimerDelayFunc
| ) |  |

This function sets timer busy delay function for the module.

Parameters

  InstancePtr | is the pointer to the HDCP interface.
  TimerDelayFunc | is the timer busy delay function.

Returns
  None.

Note
  None.

References XHdcp1x::XHdcp1xTimerDelay.

void XHdcp1x_SetTimerStart | ( | XHdcp1x * | InstancePtr,
|  | XHdcp1x_TimerStart | TimerStartFunc
| ) |  |

This function sets timer start function for the module.

Parameters

  InstancePtr | is the pointer to the HDCP interface.
  TimerStartFunc | is the timer start function.

Returns
  None.

Note
  None.

References XHdcp1x::XHdcp1xTimerStart.

void XHdcp1x_SetTimerStop | ( | XHdcp1x * | InstancePtr,
|  | XHdcp1x_TimerStop | TimerStopFunc
| ) |  |

This function sets timer stop function for the module.

Parameters

  InstancePtr | is the pointer to the HDCP interface.
  TimerStopFunc | is the timer stop function.

Returns
  None.

Note
  None.

References XHdcp1x::XHdcp1xTimerStop.

void XHdcp1x_SetTopology | ( | XHdcp1x * | InstancePtr,
|  | const XHdcp1x_RepeaterExchange * | TopologyPtr
| ) |  |

This function sets the RepeaterInfo value int the HDCP RX instance.

Parameters

  InstancePtr | is a pointer to the Hdcp1x core instance.
  TopologyPtr | is a pointer to the Repeater Info value(s).

Returns
  None.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, and XHdcp1x_RxSetTopology().

void XHdcp1x_SetTopologyField | ( | XHdcp1x * | InstancePtr,
|  | XHdcp1x_TopologyField | Field,
|  | u8 | Value
| ) |  |

This function is used to set various fields inside the topology structure.

Parameters

  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.

Returns
  None.

Note
  None.

References XHdcp1x_RxSetTopologyDepth(), XHdcp1x_RxSetTopologyDeviceCnt(), XHdcp1x_RxSetTopologyMaxCascadeExceeded(), and XHdcp1x_RxSetTopologyMaxDevsExceeded().

void XHdcp1x_SetTopologyKSVList | ( | XHdcp1x * | InstancePtr,
|  | u8 * | ListPtr,
|  | u32 | ListSize
| ) |  |

This function sets the KSVList value(s) in the HDCP RX KSV Fifo register space for the upstream interface to read.

Parameters

  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.

Returns
  None.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, UNUSED, and XHdcp1x_RxSetTopologyKSVList().

void XHdcp1x_SetTopologyUpdate | ( | XHdcp1x * | InstancePtr | ) |

This function does the necessary actions to update HDCP after the topology has been set.

Parameters

  InstancePtr | is a pointer to the Hdcp1x core instance.

Returns
  None.

Note
  None.

References XHdcp1x::Config, XHdcp1x_Config::IsRx, XHDCP1X_DEBUG_PRINTF, and XHdcp1x_RxSetTopologyUpdate().

int XHdcp1x_TxAuthenticate | ( | XHdcp1x * | InstancePtr | ) |

This function initiates authentication on an interface.

Parameters

  InstancePtr | is the transmitter instance.

Returns
  - XST_SUCCESS if successful.

Note
  None.

References XHdcp1x_Tx::IsAuthReqPending, and XHdcp1x::Tx.

Referenced by XHdcp1x_Authenticate().

int XHdcp1x_TxDisable | ( | XHdcp1x * | InstancePtr | ) |

This function disables an HDCP interface.

Parameters

  InstancePtr | is the transmitter instance.

Returns
  - XST_SUCCESS if successful.

Note
  None.

Referenced by XHdcp1x_Disable().

void XHdcp1x_TxDisableBlank | ( | XHdcp1x * | InstancePtr | ) |

This function disables the blank output for the cipher.

Parameters

  InstancePtr | is a pointer to the Hdcp1.4 core instance.

Returns
  None.

Note
  None.

References XHdcp1x_CipherDisableBlank().

Referenced by XHdcp1x_DisableBlank().

int XHdcp1x_TxDisableEncryption | ( | XHdcp1x * | InstancePtr,
|  | u64 | StreamMap
| ) |  |

This function disables encryption on set of streams on an HDCP interface.

Parameters

  InstancePtr | is the transmitter instance.
  StreamMap | is the bit map of streams to disable encryption on.

Returns
  - XST_SUCCESS if successful.

Note
  None.

References XHdcp1x_Tx::EncryptionMap, XHdcp1x::Tx, XHdcp1x_CipherDisableEncryption(), and XHdcp1x_TxIsEnabled().

Referenced by XHdcp1x_DisableEncryption().

int XHdcp1x_TxEnable | ( | XHdcp1x * | InstancePtr | ) |

This function enables an HDCP interface.

Parameters

  InstancePtr | is the transmitter instance.

Returns
  - XST_SUCCESS if successful.

Note
  None.

Referenced by XHdcp1x_Enable().

void XHdcp1x_TxEnableBlank | ( | XHdcp1x * | InstancePtr | ) |

This function enables the blank output for the cipher.

Parameters

  InstancePtr | is a pointer to the Hdcp1.4 core instance.

Returns
  None.

Note
  None.

References XHdcp1x_CipherEnableBlank().

Referenced by XHdcp1x_EnableBlank().

int XHdcp1x_TxEnableEncryption | ( | XHdcp1x * | InstancePtr,
|  | u64 | StreamMap
| ) |  |

This function enables encryption on set of streams on an HDCP interface.

Parameters

  InstancePtr | is the transmitter instance.
  StreamMap | is the bit map of streams to enable encryption on.

Returns
  - XST_SUCCESS if successful.

Note
  None.

References XHdcp1x_Tx::EncryptionMap, XHdcp1x::Tx, and XHdcp1x_TxIsAuthenticated().

Referenced by XHdcp1x_EnableEncryption().

u64 XHdcp1x_TxGetEncryption | ( | const XHdcp1x * | InstancePtr | ) |

This function retrieves the current encryption stream map.

Parameters

  InstancePtr | the transmitter instance.

Returns
  The current encryption stream map.

Note
  None.

References XHdcp1x_Tx::EncryptionMap, and XHdcp1x::Tx.

Referenced by XHdcp1x_GetEncryption().

XHdcp1x_RepeaterExchange * XHdcp1x_TxGetTopology | ( | XHdcp1x * | InstancePtr | ) |

This function returns a pointer to the downstream Topology structure.

Parameters

  InstancePtr | is a pointer to the XHdcp14 core instance.

Returns
  A pointer to the XHdcp14 Topology structure or NULL when the topology info is invalid.

Note
  None.

References XHdcp1x_Tx::CurrentState, XHdcp1x::IsRepeater, XHdcp1x::RepeaterValues, and XHdcp1x::Tx.

Referenced by XHdcp1x_GetTopology().

u8 * XHdcp1x_TxGetTopologyBKSV | ( | XHdcp1x * | InstancePtr | ) |

This function returns the value of BKSV of the device connected to the repeater downstream interface.

Parameters

  InstancePtr | is a pointer to the XHdcp14 core instance.

Returns
  - TRUE if MAX_DEPTH_EXCEEDED
  - FALSE if not

Note
  None.

References XHDCP1X_PORT_BUF_TO_UINT, XHDCP1X_PORT_OFFSET_BKSV, XHDCP1X_PORT_SIZE_BKSV, and XHdcp1x_PortRead().

Referenced by XHdcp1x_GetTopologyBKSV().

u32 XHdcp1x_TxGetTopologyDepth | ( | XHdcp1x * | InstancePtr | ) |

This function returns the value of Depth read in the downstream interface of the repeater topology.

Parameters

  InstancePtr | is a pointer to the XHdcp14 core instance.

Returns
  Value of Depth.

Note
  None.

References XHdcp1x_RepeaterExchange::Depth, and XHdcp1x::RepeaterValues.

Referenced by XHdcp1x_GetTopologyField().

u32 XHdcp1x_TxGetTopologyDeviceCnt | ( | XHdcp1x * | InstancePtr | ) |

This function returns the value of Device Count read in the downstream interface of the repeater topology.

Parameters

  InstancePtr | is a pointer to the XHdcp14 core instance.

Returns
  - TRUE if MAX_DEPTH_EXCEEDED
  - FALSE if not

Note
  None.

References XHdcp1x_RepeaterExchange::DeviceCount, and XHdcp1x::RepeaterValues.

Referenced by XHdcp1x_GetTopologyField().

u8 * XHdcp1x_TxGetTopologyKSVList | ( | XHdcp1x * | InstancePtr | ) |

This function returns the value of KSV List read in the downstream interface of the repeater topology.

Parameters

  InstancePtr | is a pointer to the XHdcp14 core instance.

Returns
  - TRUE if MAX_DEPTH_EXCEEDED
  - FALSE if not

Note
  None.

References XHdcp1x_RepeaterExchange::DeviceCount, XHdcp1x_RepeaterExchange::KsvList, and XHdcp1x::RepeaterValues.

Referenced by XHdcp1x_GetTopologyKSVList().

u32 XHdcp1x_TxGetTopologyMaxCascadeExceeded | ( | XHdcp1x * | InstancePtr | ) |

This function returns the MAX_DEPTH_EXCEEDED flag in the repeater topology structure.

Parameters

  InstancePtr | is a pointer to the XHdcp14 core instance.

Returns
  - TRUE if MAX_DEPTH_EXCEEDED
  - FALSE if not

Note
  None.

References XHDCP1X_PORT_BINFO_BIT_DEPTH_ERR, XHDCP1X_PORT_BSTATUS_BIT_DEPTH_ERR, XHDCP1X_PORT_OFFSET_BINFO, XHDCP1X_PORT_OFFSET_BSTATUS, XHDCP1X_PORT_SIZE_BINFO, XHDCP1X_PORT_SIZE_BSTATUS, and XHdcp1x_PortRead().

Referenced by XHdcp1x_GetTopologyField().

u32 XHdcp1x_TxGetTopologyMaxDevsExceeded | ( | XHdcp1x * | InstancePtr | ) |

This function returns the MAX_DEVICS_EXCEEDED flag in the repeater topology structure.

Parameters

  InstancePtr | is a pointer to the XHdcp14 core instance.

Returns
  - TRUE if MAX_DEVICES_EXCEEDED
  - FALSE if not

Note
  None.

References XHDCP1X_PORT_BINFO_BIT_DEV_CNT_ERR, XHDCP1X_PORT_BSTATUS_BIT_DEV_CNT_ERR, XHDCP1X_PORT_OFFSET_BINFO, XHDCP1X_PORT_OFFSET_BSTATUS, XHDCP1X_PORT_SIZE_BINFO, XHDCP1X_PORT_SIZE_BSTATUS, and XHdcp1x_PortRead().

Referenced by XHdcp1x_GetTopologyField().

void XHdcp1x_TxHandleTimeout | ( | XHdcp1x * | InstancePtr | ) |

This function handles a timeout on an HDCP interface.

Parameters

  InstancePtr | is the transmitter instance.

Returns
  None.

Note
  None.

Referenced by XHdcp1x_HandleTimeout().

int XHdcp1x_TxInfo | ( | const XHdcp1x * | InstancePtr | ) |

This function implements the debug display output for transmit instances.

Parameters

  InstancePtr | is the receiver instance.

Returns
  - XST_SUCCESS if successful.

Note
  None.

References XHdcp1x_TxStats::AuthFailed, XHdcp1x_TxStats::AuthPassed, XHdcp1x::Cipher, XHdcp1x::Config, XHdcp1x_Tx::CurrentState, XHdcp1x_Tx::EncryptionMap, XHdcp1x_Tx::Flags, XHdcp1x_CipherStats::IntCount, XHdcp1x_PortStats::IntCount, XHdcp1x_Config::IsHDMI, XHdcp1x_TxStats::LinkCheckFailed, XHdcp1x_TxStats::LinkCheckPassed, XHdcp1x::Port, XHdcp1x_Tx::PreviousState, XHdcp1x_TxStats::ReadFailures, XHdcp1x_TxStats::ReauthRequested, XHdcp1x_Tx::StateHelper, XHdcp1x_Cipher::Stats, XHdcp1x_PortStruct::Stats, XHdcp1x_Tx::Stats, XHdcp1x::Tx, XHdcp1x_CipherGetLocalKsv(), XHdcp1x_CipherGetVersion(), XHDCP1X_DEBUG_PRINTF, XHdcp1x_GetDriverVersion(), and XHdcp1x_IsEncrypted().

Referenced by XHdcp1x_Info().

void XHdcp1x_TxInit | ( | XHdcp1x * | InstancePtr | ) |

This function initializes a transmit state machine.

Parameters

  InstancePtr | is the receiver instance.

Returns
  None.

Note
  None.

References XHdcp1x_Tx::PendingEvents, and XHdcp1x::Tx.

Referenced by XHdcp1x_CfgInitialize().

int XHdcp1x_TxIsAuthenticated | ( | const XHdcp1x * | InstancePtr | ) |

This function queries an interface to check if its been authenticated.

Parameters

  InstancePtr | is the transmitter instance.

Returns
  Truth value indicating authenticated (true) or not (false).

Note
  None.

References XHdcp1x_Tx::CurrentState, and XHdcp1x::Tx.

Referenced by XHdcp1x_IsAuthenticated(), and XHdcp1x_TxEnableEncryption().

int XHdcp1x_TxIsDownstrmCapable | ( | const XHdcp1x * | InstancePtr | ) |

This function queries the downstream device to check if the downstream device is HDCP capable.

Parameters

  InstancePtr | is the receiver instance.

Returns
  Truth value indicating HDCP capability (true) or not (false).

Note
  None.

References XHdcp1x_PortIsCapable().

Referenced by XHdcp1x_IsDwnstrmCapable().

int XHdcp1x_TxIsEnabled | ( | const XHdcp1x * | InstancePtr | ) |

This function queries an interface to check if it is enabled.

Parameters

  InstancePtr | is the transmitter instance.

Returns
  Truth value indicating is enabled (true) or not (false).

Note
  None.

References XHdcp1x_Tx::CurrentState, and XHdcp1x::Tx.

Referenced by XHdcp1x_IsEnabled(), and XHdcp1x_TxDisableEncryption().

int XHdcp1x_TxIsInComputations | ( | const XHdcp1x * | InstancePtr | ) |

This function queries an interface to check if its in the computations state.

Parameters

  InstancePtr | is the transmitter instance.

Returns
  Truth value indicating authenticated (true) or not (false).

Note
  None.

References XHdcp1x_Tx::CurrentState, and XHdcp1x::Tx.

Referenced by XHdcp1x_IsInComputations().

int XHdcp1x_TxIsInProgress | ( | const XHdcp1x * | InstancePtr | ) |

This function queries an interface to check if authentication is still in progress.

Parameters

  InstancePtr | is the transmitter instance.

Returns
  Truth value indicating in progress (true) or not (false).

Note
  None.

References XHdcp1x_Tx::IsAuthReqPending, and XHdcp1x::Tx.

Referenced by XHdcp1x_IsInProgress().

int XHdcp1x_TxIsInWaitforready | ( | const XHdcp1x * | InstancePtr | ) |

This function queries an interface to check if its in the wait-for-ready state.

Parameters

  InstancePtr | is the transmitter instance.

Returns
  Truth value indicating authenticated (true) or not (false).

Note
  None.

References XHdcp1x_Tx::CurrentState, and XHdcp1x::Tx.

Referenced by XHdcp1x_IsInWaitforready().

int XHdcp1x_TxIsRepeater | ( | XHdcp1x * | InstancePtr | ) |

This function returns if HDCP TX interface is connected to a downstream repeater.

Parameters

  InstancePtr | is the transmitter instance.

Returns
  - TRUE if Repeater.
  - FALSE if not Repeater,

Note
  None.

References XHdcp1x_PortIsRepeater().

Referenced by XHdcp1x_IsRepeater().

int XHdcp1x_TxPoll | ( | XHdcp1x * | InstancePtr | ) |

This function polls an HDCP interface.

Parameters

  InstancePtr | is the transmitter instance.

Returns
  - XST_SUCCESS if successful.

Note
  None.

Referenced by XHdcp1x_Poll().

int XHdcp1x_TxReadDownstream | ( | XHdcp1x * | InstancePtr | ) |

This function initiates the transmitter to read READY bit from downstream and complete second part of authentication.

Parameters

  InstancePtr | is the transmitter instance.

Returns
  - XST_SUCCESS if successful.

Note
  None.

Referenced by XHdcp1x_ReadDownstream().

int XHdcp1x_TxReset | ( | XHdcp1x * | InstancePtr | ) |

This function resets an HDCP interface.

Parameters

  InstancePtr | is the transmitter instance.

Returns
  - XST_SUCCESS if successful.

Note
  This function disables and then re-enables the interface.

References XHdcp1x_Tx::IsAuthReqPending, and XHdcp1x::Tx.

Referenced by XHdcp1x_Reset().

int XHdcp1x_TxSetCallback | ( | XHdcp1x * | InstancePtr,
|  | XHdcp1x_HandlerType | HandlerType,
|  | void * | CallbackFunc,
|  | void * | CallbackRef
| ) |  |

This function installs callback functions for the given HandlerType:

Parameters

  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.

Returns
  - XST_SUCCESS if callback function installed successfully.
  - XST_INVALID_PARAM when HandlerType is invalid.

Note
  Invoking this function for a handler that already has been installed replaces it with the new handler.

References XHdcp1x_Tx::AuthenticatedCallback, XHdcp1x_Tx::AuthenticatedCallbackRef, XHdcp1x_Tx::DdcRead, XHdcp1x_Tx::DdcReadRef, XHdcp1x_Tx::DdcWrite, XHdcp1x_Tx::DdcWriteRef, XHdcp1x_Tx::IsAuthenticatedCallbackSet, XHdcp1x_Tx::IsDdcReadSet, XHdcp1x_Tx::IsDdcWriteSet, XHdcp1x_Tx::IsRepeaterExchangeCallbackSet, XHdcp1x_Tx::IsUnauthenticatedCallbackSet, XHdcp1x_Tx::RepeaterExchangeCallback, XHdcp1x_Tx::RepeaterExchangeRef, XHdcp1x::Tx, XHdcp1x_Tx::UnauthenticatedCallback, and XHdcp1x_Tx::UnauthenticatedCallbackRef.

Referenced by XHdcp1x_SetCallback().

void XHdcp1x_TxSetHdmiMode | ( | XHdcp1x * | InstancePtr,
|  | u8 | Value
| ) |  |

This set a flag that allows the hdcp1x drivers to determine if the transmitter is HDMI or DVI.

Parameters

  InstancePtr | is the transmitter instance.

Returns
  None.

Note
  None.

References XHdcp1x::Tx, XHdcp1x_Tx::TxIsHdmi, and UNUSED.

Referenced by XHdcp1x_SetHdmiMode().

int XHdcp1x_TxSetLaneCount | ( | XHdcp1x * | InstancePtr,
|  | int | LaneCount
| ) |  |

This function set the lane count of an HDCP interface.

Parameters

  InstancePtr | is the transmitter instance.
  LaneCount | is the number of lanes of the interface.

Returns
  - XST_SUCCESS if successful.

Note
  None.

References XHdcp1x_CipherSetNumLanes().

Referenced by XHdcp1x_SetLaneCount().

int XHdcp1x_TxSetPhysicalState | ( | XHdcp1x * | InstancePtr,
|  | int | IsUp
| ) |  |

This function updates the physical state of an HDCP interface.

Parameters

  InstancePtr | is the transmitter instance.
  IsUp | is truth value indicating the status of physical interface.

Returns
  - XST_SUCCESS if successful.

Note
  None.

Referenced by XHdcp1x_SetPhysicalState().

void XHdcp1x_TxTriggerDownstreamAuth | ( | void * | Parameter | ) |

This function acts as the downstream authentication trigger callback for a Repeater state machine, to start the second part of authentication.

Parameters

  Parameter | is the parameter specified during registration.

Returns
  None.

Note
  None.

## Variable Documentation

XHdcp1x_Config XHdcp1x_ConfigTable[]

Instance of Lookup table of HDCP instance(s) in the design.

XHdcp1x_LogMsg XHdcp1xDebugLogMsg

Instance of function interface used for debug log message statement.

Referenced by XHdcp1x_SetDebugLogMsg().

XHdcp1x_LogMsg XHdcp1xDebugLogMsg = NULL

Instance of function interface used for debug log message statement.

Referenced by XHdcp1x_SetDebugLogMsg().

XHdcp1x_Printf XHdcp1xDebugPrintf

Instance of function interface used for debug print statement.

Referenced by XHdcp1x_SetDebugPrintf().

XHdcp1x_Printf XHdcp1xDebugPrintf = NULL

Instance of function interface used for debug print statement.

Referenced by XHdcp1x_SetDebugPrintf().

XHdcp1x_KsvRevokeCheck XHdcp1xKsvRevokeCheck

Instance of function interface used for checking a specific KSV against the platforms revocation list.

Referenced by XHdcp1x_PlatformIsKsvRevoked(), and XHdcp1x_SetKsvRevokeCheck().

XHdcp1x_KsvRevokeCheck XHdcp1xKsvRevokeCheck = NULL

Instance of function interface used for checking a specific KSV against the platforms revocation list.

Referenced by XHdcp1x_PlatformIsKsvRevoked(), and XHdcp1x_SetKsvRevokeCheck().