📄 tmdlhdmitx_types.h
字号:
/** * Copyright (C) 2007 NXP N.V., All Rights Reserved. * This source code and any compilation or derivative thereof is the proprietary * information of NXP N.V. and is confidential in nature. Under no circumstances * is this software to be exposed to or placed under an Open Source License of * any type without the expressed written permission of NXP N.V. * * \file tmdlHdmiTx_Types.h * * \version $Revision: 1 $ * * \date $Date: 02/08/07 08:32 $ * * \brief devlib driver component API for the TDA998x HDMI Transmitters * * \section refs Reference Documents * HDMI Tx Driver - FRS.doc, * HDMI Tx Driver - tmdlHdmiTx - SCS.doc * * \section info Change Information * * \verbatim $History: tmdlHdmiTx_Types.h $ * * ***************** Version 1 ***************** * User: Demoment Date: 02/08/07 Time: 08:32 * Updated in $/Source/tmdlHdmiTx/inc * initial version \endverbatim **/#ifndef TMDLHDMITX_TYPES_H#define TMDLHDMITX_TYPES_H/*============================================================================*//* INCLUDE FILES *//*============================================================================*/#include "tmNxTypes.h"#ifdef __cplusplusextern "C" {#endif/*============================================================================*//* MACRO DEFINITIONS *//*============================================================================*//*============================================================================*//* DEFINES *//*============================================================================*//**< Error Codes */#define TMDL_ERR_DLHDMITX_BASE CID_DL_HDMITX#define TMDL_ERR_DLHDMITX_COMPATIBILITY (TMDL_ERR_DLHDMITX_BASE + TM_ERR_COMPATIBILITY) /**< SW Interface compatibility */#define TMDL_ERR_DLHDMITX_MAJOR_VERSION (TMDL_ERR_DLHDMITX_BASE + TM_ERR_MAJOR_VERSION) /**< SW Major Version error */#define TMDL_ERR_DLHDMITX_COMP_VERSION (TMDL_ERR_DLHDMITX_BASE + TM_ERR_COMP_VERSION) /**< SW component version error */#define TMDL_ERR_DLHDMITX_BAD_UNIT_NUMBER (TMDL_ERR_DLHDMITX_BASE + TM_ERR_BAD_UNIT_NUMBER) /**< Invalid device unit number */#define TMDL_ERR_DLHDMITX_BAD_INSTANCE (TMDL_ERR_DLHDMITX_BASE + TM_ERR_BAD_INSTANCE) /**< Bad input instance value */#define TMDL_ERR_DLHDMITX_BAD_HANDLE (TMDL_ERR_DLHDMITX_BASE + TM_ERR_BAD_HANDLE) /**< Bad input handle */#define TMDL_ERR_DLHDMITX_BAD_PARAMETER (TMDL_ERR_DLHDMITX_BASE + TM_ERR_BAD_PARAMETER) /**< Invalid input parameter */#define TMDL_ERR_DLHDMITX_NO_RESOURCES (TMDL_ERR_DLHDMITX_BASE + TM_ERR_NO_RESOURCES) /**< Resource is not available */#define TMDL_ERR_DLHDMITX_RESOURCE_OWNED (TMDL_ERR_DLHDMITX_BASE + TM_ERR_RESOURCE_OWNED) /**< Resource is already in use */#define TMDL_ERR_DLHDMITX_RESOURCE_NOT_OWNED (TMDL_ERR_DLHDMITX_BASE + TM_ERR_RESOURCE_NOT_OWNED) /**< Caller does not own resource */#define TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS (TMDL_ERR_DLHDMITX_BASE + TM_ERR_INCONSISTENT_PARAMS) /**< Inconsistent input params */#define TMDL_ERR_DLHDMITX_NOT_INITIALIZED (TMDL_ERR_DLHDMITX_BASE + TM_ERR_NOT_INITIALIZED) /**< Component is not initialized */#define TMDL_ERR_DLHDMITX_NOT_SUPPORTED (TMDL_ERR_DLHDMITX_BASE + TM_ERR_NOT_SUPPORTED) /**< Function is not supported */#define TMDL_ERR_DLHDMITX_INIT_FAILED (TMDL_ERR_DLHDMITX_BASE + TM_ERR_INIT_FAILED) /**< Initialization failed */#define TMDL_ERR_DLHDMITX_BUSY (TMDL_ERR_DLHDMITX_BASE + TM_ERR_BUSY) /**< Component is busy */#define TMDL_ERR_DLHDMITX_I2C_READ (TMDL_ERR_DLHDMITX_BASE + TM_ERR_READ) /**< Read error */#define TMDL_ERR_DLHDMITX_I2C_WRITE (TMDL_ERR_DLHDMITX_BASE + TM_ERR_WRITE) /**< Write error */#define TMDL_ERR_DLHDMITX_FULL (TMDL_ERR_DLHDMITX_BASE + TM_ERR_FULL) /**< Queue is full */#define TMDL_ERR_DLHDMITX_NOT_STARTED (TMDL_ERR_DLHDMITX_BASE + TM_ERR_NOT_STARTED) /**< Function is not started */#define TMDL_ERR_DLHDMITX_ALREADY_STARTED (TMDL_ERR_DLHDMITX_BASE + TM_ERR_ALREADY_STARTED) /**< Function is already started */#define TMDL_ERR_DLHDMITX_ASSERTION (TMDL_ERR_DLHDMITX_BASE + TM_ERR_ASSERTION) /**< Assertion failure */#define TMDL_ERR_DLHDMITX_INVALID_STATE (TMDL_ERR_DLHDMITX_BASE + TM_ERR_INVALID_STATE) /**< Invalid state for function */#define TMDL_ERR_DLHDMITX_OPERATION_NOT_PERMITTED (TMDL_ERR_DLHDMITX_BASE + TM_ERR_OPERATION_NOT_PERMITTED) /**< Corresponds to posix EPERM */#define TMDL_ERR_DLHDMITX_RESOLUTION_UNKNOWN (TMDL_ERR_DLHDMITX_BASE + TM_ERR_BAD_FORMAT) /**< Bad format *//*============================================================================*//* ENUM OR TYPE DEFINITIONS *//*============================================================================*//** * \brief Enum listing all events that can be signalled to application */typedef enum{ TMDL_HDMITX_HDCP_ACTIVE = 0, /**< HDCP encryption status switched to active */ TMDL_HDMITX_HDCP_INACTIVE = 1, /**< HDCP encryption status switched to inactive */ TMDL_HDMITX_HPD_ACTIVE = 2, /**< Hotplug status switched to active */ TMDL_HDMITX_HPD_INACTIVE = 3, /**< Hotplug status switched to inactive */ TMDL_HDMITX_RX_KEYS_RECEIVED = 4, /**< Receiver(s) key(s) received */ TMDL_HDMITX_RX_DEVICE_ACTIVE = 5, /**< Rx device is connected and active */ TMDL_HDMITX_RX_DEVICE_INACTIVE = 6, /**< Rx device is connected but inactive (standby) */ TMDL_HDMITX_EDID_RECEIVED = 7, /**< EDID has been received */ TMDL_HDMITX_VS_RPT_RECEIVED = 8 /**< VS interrupt has been received */ } tmdlHdmiTxEvent_t;/** * \brief Enum listing all available event status */typedef enum{ TMDL_HDMITX_EVENT_ENABLED, /**< Event is enabled */ TMDL_HDMITX_EVENT_DISABLED /**< Event is disabled */} tmdlHdmiTxEventStatus_t;/** * \brief Callback function pointer type, used to allow driver to callback application when activity status is changing at input. * \param Event Identifier of the source event. */typedef void (*ptmdlHdmiTxCallback_t) (tmdlHdmiTxEvent_t event);/** * \brief Enum listing all supported device versions */ typedef enum { TMDL_HDMITX_DEVICE_UNKNOWN, /**< HW device is unknown */ TMDL_HDMITX_DEVICE_TDA9984, /**< HW device is IC TDA9984 */ TMDL_HDMITX_DEVICE_TDA9989, /**< HW device is IC TDA9989 */ TMDL_HDMITX_DEVICE_LIPP4200, /**< HW device is IP LIPP4200 */ TMDL_HDMITX_DEVICE_TDA9981, /**< HW device is IC TDA9981 */ TMDL_HDMITX_DEVICE_TDA9983 /**< HW device is IC TDA9983 */ } tmdlHdmiTxDeviceVersion_t;/** * \brief Enum defining the supported HDMI standard version */typedef enum{ TMDL_HDMITX_HDMI_VERSION_UNKNOWN, /**< Unknown */ TMDL_HDMITX_HDMI_VERSION_1_1, /**< HDMI 1.1 */ TMDL_HDMITX_HDMI_VERSION_1_2a, /**< HDMI 1.2a */ TMDL_HDMITX_HDMI_VERSION_1_3a /**< HDMI 1.3 */} tmdlHdmiTxHdmiVersion_t;/** * \brief Enum listing all color depth (8 bits/color, 10 bits/color, etc.) */typedef enum{ TMDL_HDMITX_COLORDEPTH_24 = 0, /**< 8 bits per color */ TMDL_HDMITX_COLORDEPTH_30 = 1, /**< 10 bits per color */ TMDL_HDMITX_COLORDEPTH_36 = 2, /**< 12 bits per color */ TMDL_HDMITX_COLORDEPTH_48 = 3 /**< 16 bits per color */} tmdlHdmiTxColorDepth_t;/** * \brief Enum defining the EDID Status */typedef enum{ TMDL_HDMITX_EDID_READ = 0, /**< All blocks read OK */ TMDL_HDMITX_EDID_READ_INCOMPLETE = 1, /**< All blocks read OK but buffer too small to return all of them */ TMDL_HDMITX_EDID_ERROR_CHK_BLOCK_0 = 2, /**< Block 0 checksum error */ TMDL_HDMITX_EDID_ERROR_CHK = 3, /**< Block 0 OK, checksum error in one or more other blocks */ TMDL_HDMITX_EDID_NOT_READ = 4, /**< EDID not read */ TMDL_HDMITX_EDID_STATUS_INVALID = 5 /**< Invalid */} tmdlHdmiTxEdidStatus_t;/** * \brief Structure defining the supported audio packets */typedef struct{ Bool HBR; /**< High Bitrate Audio packet */ Bool DST; /**< Direct Stream Transport audio packet */ Bool oneBitAudio; /**< One Bit Audio sample packet */} tmdlHdmiTxAudioPacket_t;/** * \brief Enum listing all possible audio input formats */typedef enum{ TMDL_HDMITX_AFMT_SPDIF = 0, /**< SPDIF */ TMDL_HDMITX_AFMT_I2S = 1, /**< I2S */ TMDL_HDMITX_AFMT_OBA = 2, /**< One bit audio / DSD */ TMDL_HDMITX_AFMT_DST = 3, /**< DST */ TMDL_HDMITX_AFMT_HBR = 4 /**< HBR */} tmdlHdmiTxAudioFormat_t;/** * \brief Enum listing all possible audio input sample rates */typedef enum{ TMDL_HDMITX_AFS_32K = 0, /**< 32kHz */ TMDL_HDMITX_AFS_44K = 1, /**< 44.1kHz */ TMDL_HDMITX_AFS_48K = 2, /**< 48kHz */ TMDL_HDMITX_AFS_88K = 3, /**< 88.2kHz */ TMDL_HDMITX_AFS_96K = 4, /**< 96kHz */ TMDL_HDMITX_AFS_176K = 5, /**< 176.4kHz */ TMDL_HDMITX_AFS_192K = 6 /**< 192kHz */} tmdlHdmiTxAudioRate_t;/** * \brief Enum listing all possible audio input sample rates */typedef enum{ TMDL_HDMITX_I2SQ_16BITS = 16, /**< 16 bits */ TMDL_HDMITX_I2SQ_32BITS = 32, /**< 32 bits */ TMDL_HDMITX_I2SQ_OTHERS = 0 /**< for SPDIF and DSD */} tmdlHdmiTxAudioI2SQualifier_t;/** * \brief Enum listing all possible audio I2S formats */typedef enum{ TMDL_HDMITX_I2SFOR_PHILIPS_L = 0, /**< Philips like format */ TMDL_HDMITX_I2SFOR_OTH_L = 2, /**< Other non Philips left justified */ TMDL_HDMITX_I2SFOR_OTH_R = 3, /**< Other non Philips right justified */ TMDL_HDMITX_I2SFOR_INVALID = 4 /**< Invalid format */} tmdlHdmiTxAudioI2SFormat_t;/** * \brief Enum listing all possible DST data transfer rates */typedef enum{ TMDL_HDMITX_DSTRATE_SINGLE = 0, /**< Single transfer rate */ TMDL_HDMITX_DSTRATE_DOUBLE = 1 /**< Double data rate */} tmdlHdmiTxDstRate_t;/** * \brief Structure describing unit capabilities */typedef struct{ tmdlHdmiTxDeviceVersion_t deviceVersion; /**< HW device version */ tmdlHdmiTxHdmiVersion_t hdmiVersion; /**< Supported HDMI standard version */ tmdlHdmiTxAudioPacket_t audioPacket; /**< Supported audio packets */ tmdlHdmiTxColorDepth_t colorDepth; /**< Supported color depth */ Bool hdcp; /**< Supported Hdcp encryption (True/False) */ Bool scaler; /**< Supported scaler (True/False) */} tmdlHdmiTxCapabilities_t;/** * \brief Structure gathering all instance setup parameters */typedef struct{ Bool simplayHd; /**< Enable simplayHD support */ Bool repeaterEnable; /**< Enable repeater mode */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -