⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tmbslhdmitx.h

📁 HDMI NXP9983 chipset controller driver
💻 H
📖 第 1 页 / 共 5 页
字号:
                - TM_OK: the call was successful                - Else a problem has been detected:                  - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number                  - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range                  - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized                  - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus                  - TMBSL_ERR_HDMI_OPERATION_NOT_PERMITTED: in DVI mode    \note       Use tmbslHdmiTxAudioOutSetChanStatus to set all other CS bytes                This function only sets the mapping for Audio Port 0. */tmErrorCode_ttmbslHdmiTxAudioOutSetChanStatusMapping(    tmUnitSelect_t  txUnit,    UInt8           sourceLeft,    UInt8           channelLeft,    UInt8           sourceRight,    UInt8           channelRight);/*============================================================================*//** * tmbslHdmiTxAudioOutSetMute() parameter type */typedef enum{    HDMITX_AMUTE_OFF       = 0,    /**< Mute off */    HDMITX_AMUTE_ON        = 1,    /**< Mute on  */    HDMITX_AMUTE_INVALID   = 2     /**< Invalid  */} tmbslHdmiTxaMute_t;/**    \brief      Mute or un-mute the audio output by controlling the audio FIFO,                in HDMI mode only    \param[in]  txUnit      Transmitter unit number    \param[in]  aMute       Audio mute: On, Off    \return     The call result:                - TM_OK: the call was successful                - Else a problem has been detected:                  - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number                  - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range                  - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized                  - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus                  - TMBSL_ERR_HDMI_OPERATION_NOT_PERMITTED: in DVI mode    \note       tmbslHdmiTxPktSetGeneralCntrl must be used to control the audio                mute in outgoing data island packets */tmErrorCode_ttmbslHdmiTxAudioOutSetMute(    tmUnitSelect_t      txUnit,    tmbslHdmiTxaMute_t aMute);/*============================================================================*//**    \brief      Disable an HDMI Transmitter output and destroy its driver                 instance    \param[in]  txUnit Transmitter unit number    \return     The call result:                - TM_OK: the call was successful                - Else a problem has been detected:                  - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number                   - TMBSL_ERR_HDMI_NOT_INITIALIZED: the unit is not initialized                  - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus */tmErrorCode_t tmbslHdmiTxDeinit(    tmUnitSelect_t      txUnit);/*============================================================================*//** * \brief The tmbslHdmiTxEdidGetAudioCapabilities() parameter type */typedef struct _tmbslHdmiTxEdidSad_t{    UInt8   ModeChans;  /* Bits[6:3]: EIA/CEA861 mode; Bits[2:0]: channels */    UInt8   Freqs;      /* Bits for each supported frequency */    UInt8   Byte3;      /* EIA/CEA861B p83: data depending on audio mode */}tmbslHdmiTxEdidSad_t;/** Number of 3 byte Short Audio Descriptors stored in pEdidAFmts */#define HDMI_TX_SAD_MAX_CNT     10/**    \brief      Get supported audio format(s) from previously read EDID    \param[in]  txUnit      Transmitter unit number    \param[out] pEdidAFmts  Pointer to the array of structures to receive the                             supported Short Audio Descriptors    \param[in]  aFmtLength  Number of SADs supported in buffer pEdidAFmts,                            up to HDMI_TX_SAD_MAX_CNT    \param[out] pAFmtsAvail Pointer to receive the number of SADs available    \param[out] pAudioFlags Pointer to the byte to receive the Audio Capability                            Flags    \return     The call result:                - TM_OK: the call was successful                - Else a problem has been detected:                  - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range                  - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number                  - TMBSL_ERR_HDMI_I2C_READ: failed when reading the I2C bus                  - TMBSL_ERR_HDMI_INVALID_STATE: EDID checksum failure                  - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized                  - TMBSL_ERR_HDMI_NULL_CONNECTION: HPD pin is inactive        \note \verbatim                Supported Short Audio Descriptors array:                EdidAFmts[0].ModeChans      SAD 1  - Mode byte                EdidAFmts[0].Freqs	        SAD 1  - Frequencies byte                EdidAFmts[0].Byte3          SAD 1  - Byte 3                ...                EdidAFmts[n-1].ModeChans    SAD n  - Mode byte                EdidAFmts[n-1].Freqs	    SAD n  - Frequencies byte                EdidAFmts[n-1].Byte3        SAD n  - Byte 3                (Where n is the smaller of aFmtLength and pAFmtAvail)    \endverbatim */tmErrorCode_ttmbslHdmiTxEdidGetAudioCapabilities(    tmUnitSelect_t          txUnit,    tmbslHdmiTxEdidSad_t    *pEdidAFmts,    UInt                    aFmtLength,    UInt                    *pAFmtsAvail,    UInt8                   *pAudioFlags);/*============================================================================*//**    \brief      Get the EDID block count    \param[in]  txUnit              Transmitter unit number    \param[out] puEdidBlockCount    Pointer to data byte in which to return the                                    block count    \return     The call result:                - TM_OK: the call was successful                - Else a problem has been detected:                  - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range                  - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number                  - TMBSL_ERR_HDMI_I2C_READ: failed when reading the I2C bus                  - TMBSL_ERR_HDMI_INVALID_STATE: EDID checksum failure                  - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized                  - TMBSL_ERR_HDMI_NULL_CONNECTION: HPD pin is inactive */tmErrorCode_ttmbslHdmiTxEdidGetBlockCount(    tmUnitSelect_t  txUnit,    UInt8           *puEdidBlockCount);/*============================================================================*//** * tmbslHdmiTxEdidGetBlockData() parameter types *//** An enum to represent the current EDID status */enum _tmbslHdmiTxEdidSta_t{    HDMITX_EDID_READ                = 0,    /* All blocks read OK */    HDMITX_EDID_READ_INCOMPLETE     = 1,    /* All blocks read OK but buffer too                                               small to return all of them */    HDMITX_EDID_ERROR               = 2,    /* Block 0 OK, checksum error in one                                               or more other blocks */    HDMITX_EDID_ERROR_INCOMPLETE    = 3,    /* Block 0 OK, checksum error in one                                               or more other blocks and buffer                                               too small to return all of them*/    HDMITX_EDID_NOT_READ            = 4     /* EDID not read or checksum error                                               in block 0 */}; /**    \brief      Get raw EDID blocks from the sink device via DDC    \param[in]  txUnit      Transmitter unit number    \param[out] pRawEdid    Pointer to a buffer supplied by the caller to accept                            the raw EDID data    \param[in]  numBlocks   Number of blocks to read    \param[in]  lenRawEdid  Length in bytes of the supplied buffer    \param[out] pEdidStatus Pointer to status value E_EDID_READ or E_EDID_ERROR                            valid only when the return value is TM_OK    \return     The call result:                - TM_OK: the call was successful                - Else a problem has been detected:                  - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range                  - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number                  - TMBSL_ERR_HDMI_I2C_READ: failed when reading the I2C bus                  - TMBSL_ERR_HDMI_INVALID_STATE: EDID checksum failure                  - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized                  - TMBSL_ERR_HDMI_NULL_CONNECTION: HPD pin is inactive    \note       NA    \sa         tmbslHdmiTxEdidGetVideoPreferred,                 tmbslHdmiTxEdidGetVideoCapabilities */tmErrorCode_ttmbslHdmiTxEdidGetBlockData(    tmUnitSelect_t          txUnit,    UInt8                   *pRawEdid,     Int                     numBlocks,    Int                     lenRawEdid,    UInt8                   *pEdidStatus);/*============================================================================*//** * tmbslHdmiTxEdidGetSinkType() parameter types *//** Sink device type */typedef enum{    HDMITX_SINK_DVI                = 0,    /**< DVI  */    HDMITX_SINK_HDMI               = 1,    /**< HDMI */    HDMITX_SINK_EDID               = 2,    /**< As currently defined in EDID */    HDMITX_SINK_INVALID            = 3     /**< Invalid   */} tmbslHdmiTxSinkType_t;/**    \brief      Get Sink Type by analysis of EDID content    \param[in]  txUnit      Transmitter unit number    \param[out] pSinkType   Pointer to returned Sink Type: DVI or HDMI    \return     The call result:                - TM_OK: the call was successful                - Else a problem has been detected:                  - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range                  - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number                  - TMBSL_ERR_HDMI_I2C_READ: failed when reading the I2C bus                  - TMBSL_ERR_HDMI_INVALID_STATE: EDID checksum failure                  - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized                  - TMBSL_ERR_HDMI_NULL_CONNECTION: HPD pin is inactive        \sa         tmbslHdmiTxEdidGetBlockData */tmErrorCode_ttmbslHdmiTxEdidGetSinkType(    tmUnitSelect_t              txUnit,    tmbslHdmiTxSinkType_t      *pSinkType );/*============================================================================*//**    \brief      Get Source Physical Address by analysis of EDID content    \param[in]  txUnit          Transmitter unit number    \param[out] pSourceAddress  Pointer to returned Source Physical Address (ABCDh)    \return     The call result:                - TM_OK: the call was successful                - Else a problem has been detected:                  - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range                  - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number                  - TMBSL_ERR_HDMI_I2C_READ: failed when reading the I2C bus                  - TMBSL_ERR_HDMI_INVALID_STATE: EDID checksum failure                  - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized                  - TMBSL_ERR_HDMI_NULL_CONNECTION: HPD pin is inactive        \sa         tmbslHdmiTxEdidGetBlockData */tmErrorCode_ttmbslHdmiTxEdidGetSourceAddress(    tmUnitSelect_t  txUnit,    UInt16          *pSourceAddress );/*============================================================================*//** *  tmbslHdmiTxEdidGetVideoCapabilities() parameter types *//** Number of 1 byte Short Video Descriptors stored in pEdidVFmts */#define HDMI_TX_SVD_MAX_CNT     30/** Flag set in Short Video Descriptor to indicate native format */#define HDMI_TX_SVD_NATIVE_MASK 0x80#define HDMI_TX_SVD_NATIVE_NOT  0x7F/** Video capability flags */enum _tmbslHdmiTxVidCap_t{    HDMITX_VIDCAP_UNDERSCAN   = 0x80,   /**< Underscan supported */    HDMITX_VIDCAP_YUV444      = 0x40,   /**< YCbCr 4:4:4 supported */    HDMITX_VIDCAP_YUV422      = 0x20,   /**< YCbCr 4:2:2 supported */    HDMITX_VIDCAP_UNUSED      = 0x1F    /**< Unused flags */};/**    \brief      Get supported video format(s) from previously read EDID    \param[in]  txUnit      Transmitter unit number    \param[out] pEdidVFmts  Pointer to the array to receive the supported Short                            Video Descriptors

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -