Main Page   Data Structures   File List   Data Fields   Globals  

tmdlHdmiTx_Functions.h

Go to the documentation of this file.
00001 /**
00002  * Copyright (C) 2007 NXP N.V., All Rights Reserved.
00003  * This source code and any compilation or derivative thereof is the proprietary
00004  * information of NXP N.V. and is confidential in nature. Under no circumstances
00005  * is this software to be  exposed to or placed under an Open Source License of
00006  * any type without the expressed written permission of NXP N.V.
00007  *
00008  * \file          tmdlHdmiTx_Functions.h
00009  *
00010  * \version       $Revision: 1 $
00011  *
00012  * \date          $Date: 02/08/07 8:32 $
00013  *
00014  * \brief         devlib driver component API for the TDA998x HDMI Transmitters
00015  *
00016  * \section refs  Reference Documents
00017  * HDMI Tx Driver - FRS.doc,
00018  * HDMI Tx Driver - tmdlHdmiTx - SCS.doc
00019  *
00020  * \section info  Change Information
00021  *
00022  * \verbatim
00023 
00024    $History: tmdlHdmiTx_Functions.h $
00025  *
00026  * *****************  Version 1  *****************
00027  * User: Demoment     Date: 02/08/07   Time: 8:32
00028  * Updated in $/Source/tmdlHdmiTx/inc
00029  * initial version
00030  *
00031 
00032    \endverbatim
00033  *
00034 */
00035 
00036 #ifndef TMDLHDMITX_FUNCTIONS_H
00037 #define TMDLHDMITX_FUNCTIONS_H
00038 
00039 /*============================================================================*/
00040 /*                       INCLUDE FILES                                        */
00041 /*============================================================================*/
00042 
00043 #include "tmNxTypes.h"
00044 #include "tmdlHdmiTx_Types.h"
00045 
00046 #ifdef __cplusplus
00047 extern "C" {
00048 #endif
00049 
00050 /*============================================================================*/
00051 /*                       EXTERN FUNCTION PROTOTYPES                           */
00052 /*============================================================================*/
00053 
00054 /*****************************************************************************/
00055 /**
00056     \brief Get the software version of the driver.
00057 
00058     \param pSWVersion Pointer to the version structure.
00059 
00060     \return The call result:
00061             - TM_OK: the call was successful
00062             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
00063               inconsistent
00064 
00065 ******************************************************************************/
00066 tmErrorCode_t tmdlHdmiTxGetSWVersion
00067 (
00068     tmSWVersion_t  *pSWVersion
00069 );
00070 
00071 /*****************************************************************************/
00072 /**
00073     \brief Get the number of available HDMI transmitters devices in the system.
00074            A unit directly represents a physical device.
00075 
00076     \param pUnitCount Pointer to the number of available units.
00077 
00078     \return The call result:
00079             - TM_OK: the call was successful
00080             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
00081               inconsistent
00082 
00083 ******************************************************************************/
00084 tmErrorCode_t tmdlHdmiTxGetNumberOfUnits
00085 (
00086     UInt32  *pUnitCount
00087 );
00088 
00089 /*****************************************************************************/
00090 /**
00091     \brief Get the capabilities of unit 0. Capabilities are stored into a
00092            dedicated structure and are directly read from the HW device.
00093 
00094     \param pCapabilities Pointer to the capabilities structure.
00095 
00096     \return The call result:
00097             - TM_OK: the call was successful
00098             - TMDL_ERR_DLHDMITX_BAD_UNIT_NUMBER: the unit number is wrong or
00099               the receiver instance is not initialised
00100             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
00101               inconsistent
00102             - TMDL_ERR_DLHDMITX_BAD_PARAMETER: a parameter is invalid or out
00103               of range
00104             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
00105             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
00106             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
00107 
00108 ******************************************************************************/
00109 tmErrorCode_t tmdlHdmiTxGetCapabilities
00110 (
00111     tmdlHdmiTxCapabilities_t *pCapabilities
00112 );
00113 
00114 /*****************************************************************************/
00115 /**
00116     \brief Get the capabilities of a specific unit. Capabilities are stored
00117            into a dedicated structure and are directly read from the HW
00118            device.
00119 
00120     \param unit          Unit to be probed.
00121     \param pCapabilities Pointer to the capabilities structure.
00122 
00123     \return The call result:
00124             - TM_OK: the call was successful
00125             - TMDL_ERR_DLHDMITX_BAD_UNIT_NUMBER: the unit number is wrong or
00126               the receiver instance is not initialised
00127             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
00128               inconsistent
00129             - TMDL_ERR_DLHDMITX_BAD_PARAMETER: a parameter is invalid or out
00130               of range
00131             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
00132             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
00133             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
00134 
00135 ******************************************************************************/
00136 tmErrorCode_t tmdlHdmiTxGetCapabilitiesM
00137 (
00138    tmUnitSelect_t            unit,
00139    tmdlHdmiTxCapabilities_t *pCapabilities
00140 );
00141 
00142 /*****************************************************************************/
00143 /**
00144     \brief Open unit 0 of HdmiTx driver and provides the instance number to
00145            the caller. Note that one unit of HdmiTx represents one physical
00146            HDMI transmitter and that only one instance per unit can be opened.
00147 
00148     \param pInstance Pointer to the variable that will receive the instance
00149                      identifier.
00150 
00151     \return The call result:
00152             - TM_OK: the call was successful
00153             - TMDL_ERR_DLHDMITX_BAD_UNIT_NUMBER: the unit number is wrong or
00154               the transmitter instance is not initialised
00155             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00156             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
00157               inconsistent
00158             - TMDL_ERR_DLHDMITX_RESOURCE_OWNED: the resource is already in use
00159             - TMDL_ERR_DLHDMITX_INVALID_STATE: the state is invalid for
00160               the function
00161             - TMDL_ERR_DLHDMITX_INIT_FAILED: the unit instance is already
00162               initialised or something wrong happened at lower level.
00163             - TMDL_ERR_DLHDMITX_NO_RESOURCES: the resource is not available
00164             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
00165             - TMBSL_ERR_HDMI_NOT_INITIALIZED: the unit is not initialized
00166             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter is invalid or out
00167               of range
00168             - TMBSL_ERR_HDMI_INIT_FAILED: the unit instance is already
00169               initialised
00170             - TMBSL_ERR_HDMI_COMPATIBILITY: the driver is not compatiable
00171               with the internal device version code
00172             - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus
00173             - TMBSL_ERR_HDMI_I2C_READ: failed when reading the I2C bus
00174 
00175 ******************************************************************************/
00176 tmErrorCode_t tmdlHdmiTxOpen
00177 (
00178     tmInstance_t   *pInstance
00179 );
00180 
00181 /*****************************************************************************/
00182 /**
00183     \brief Open a specific unit of HdmiTx driver and provides the instance
00184            number to the caller. Note that one unit of HdmiTx represents one
00185            physical HDMI transmitter and that only one instance per unit can be
00186            opened. This function switches driver's state machine to
00187            "initialized" state.
00188 
00189     \param pInstance Pointer to the structure that will receive the instance
00190                      identifier.
00191     \param unit      Unit number to be opened.
00192 
00193     \return The call result:
00194             - TM_OK: the call was successful
00195             - TMDL_ERR_DLHDMITX_BAD_UNIT_NUMBER: the unit number is wrong or
00196               the transmitter instance is not initialised
00197             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00198             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
00199               inconsistent
00200             - TMDL_ERR_DLHDMITX_RESOURCE_OWNED: the resource is already in use
00201             - TMDL_ERR_DLHDMITX_INVALID_STATE: the state is invalid for
00202               the function
00203             - TMDL_ERR_DLHDMITX_INIT_FAILED: the unit instance is already
00204               initialised or something wrong happened at lower level.
00205             - TMDL_ERR_DLHDMITX_NO_RESOURCES: the resource is not available
00206             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
00207             - TMBSL_ERR_HDMI_NOT_INITIALIZED: the unit is not initialized
00208             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter is invalid or out
00209               of range
00210             - TMBSL_ERR_HDMI_INIT_FAILED: the unit instance is already
00211               initialised
00212             - TMBSL_ERR_HDMI_COMPATIBILITY: the driver is not compatiable
00213               with the internal device version code
00214             - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus
00215             - TMBSL_ERR_HDMI_I2C_READ: failed when reading the I2C bus
00216 
00217 ******************************************************************************/
00218 tmErrorCode_t tmdlHdmiTxOpenM
00219 (
00220     tmInstance_t   *pInstance,
00221     tmUnitSelect_t  unit
00222 );
00223 
00224 /*****************************************************************************/
00225 /**
00226     \brief Close an instance of HdmiTx driver.
00227 
00228     \param instance Instance identifier.
00229 
00230     \return The call result:
00231             - TM_OK: the call was successful
00232             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00233               out of range
00234             - TMDL_ERR_DLHDMITX_RESOURCE_NOT_OWNED: the caller does not own
00235               the resource
00236             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00237 
00238 ******************************************************************************/
00239 tmErrorCode_t tmdlHdmiTxClose
00240 (
00241     tmInstance_t   instance
00242 );
00243 
00244 /*****************************************************************************/
00245 /**
00246     \brief Set the power state of an instance of the HDMI transmitter.
00247 
00248     \param instance   Instance identifier.
00249     \param powerState Power state to set.
00250 
00251     \return The call result:
00252             - TM_OK: the call was successful
00253             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00254               out of range
00255             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00256             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
00257             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
00258             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
00259             - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus
00260 
00261 ******************************************************************************/
00262 tmErrorCode_t tmdlHdmiTxSetPowerState
00263 (
00264     tmInstance_t    instance,
00265     tmPowerState_t  powerState
00266 );
00267 
00268 /*****************************************************************************/
00269 /**
00270     \brief Get the power state of an instance of the HDMI transmitter.
00271 
00272     \param instance    Instance identifier.
00273     \param pPowerState Pointer to the power state.
00274 
00275     \return The call result:
00276             - TM_OK: the call was successful
00277             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00278               out of range
00279             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00280             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
00281               inconsistent
00282             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
00283             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
00284             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
00285 
00286 ******************************************************************************/
00287 tmErrorCode_t tmdlHdmiTxGetPowerState
00288 (
00289     tmInstance_t    instance,
00290     tmPowerState_t  *pPowerState
00291 );
00292 
00293 /*****************************************************************************/
00294 /**
00295     \brief Set the configuration of instance attributes. This function is
00296            required by DVP architecture rules but actually does nothing in this
00297            driver
00298 
00299     \param instance    Instance identifier.
00300 
00301     \return The call result:
00302             - TM_OK: the call was successful
00303             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00304               out of range
00305 
00306 ******************************************************************************/
00307 tmErrorCode_t tmdlHdmiTxInstanceConfig
00308 (
00309     tmInstance_t    instance
00310 );
00311 
00312 /*****************************************************************************/
00313 /**
00314     \brief Setup the instance with its configuration parameters. This function
00315            allows basic instance configuration like enabling HDCP, choosing
00316            HDCP encryption mode or enabling HDCP repeater mode.
00317 
00318     \param instance   Instance identifier.
00319     \param pSetupInfo Pointer to the structure containing all setup parameters.
00320 
00321     \return The call result:
00322             - TM_OK: the call was successful
00323             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00324               out of range
00325             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00326             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
00327               inconsistent
00328             - TMDL_ERR_DLHDMITX_RESOURCE_NOT_OWNED: the caller does not own
00329               the resource
00330             - TMDL_ERR_DLHDMITX_INVALID_STATE: the state is invalid for
00331               the function
00332 
00333 ******************************************************************************/
00334 tmErrorCode_t tmdlHdmiTxInstanceSetup
00335 (
00336     tmInstance_t                    instance,
00337     tmdlHdmiTxInstanceSetupInfo_t   *pSetupInfo
00338 );
00339 
00340 /*****************************************************************************/
00341 /**
00342     \brief Get instance setup parameters.
00343 
00344     \param instance   Instance identifier.
00345     \param pSetupInfo Pointer to the structure that will receive setup
00346                       parameters.
00347 
00348     \return The call result:
00349             - TM_OK: the call was successful
00350             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00351               out of range
00352             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00353             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
00354               inconsistent
00355             - TMDL_ERR_DLHDMITX_RESOURCE_NOT_OWNED: the caller does not own
00356               the resource
00357 
00358 ******************************************************************************/
00359 tmErrorCode_t tmdlHdmiTxGetInstanceSetup
00360 (
00361     tmInstance_t                    instance,
00362     tmdlHdmiTxInstanceSetupInfo_t   *pSetupInfo
00363 );
00364 
00365 /*****************************************************************************/
00366 /**
00367     \brief Make device library handle an incoming interrupt. This function is
00368            used by application to tell the device library that the hardware
00369            sent an interrupt.
00370 
00371     \param instance   Instance identifier.
00372 
00373     \return The call result:
00374             - TM_OK: the call was successful
00375             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00376               out of range
00377             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00378             - TMDL_ERR_DLHDMITX_RESOURCE_NOT_OWNED: the caller does not own
00379               the resource
00380             - TMDL_ERR_DLHDMITX_FULL: the queue is full
00381 
00382  ******************************************************************************/
00383 tmErrorCode_t tmdlHdmiTxHandleInterrupt
00384 (
00385     tmInstance_t    instance
00386 );
00387 
00388 /*****************************************************************************/
00389 /**
00390     \brief Register event callbacks. Only one callback is registered through
00391            this API. This callback will received the type of event that
00392            occured throug a dedicated parameter and will be called as many
00393            times as there is pending events.
00394            This function is synchronous.
00395            This function is ISR friendly.
00396 
00397     \param instance   Instance identifier.
00398     \param pCallback  Pointer to the callback function that will handle events
00399                       from the devlib.
00400 
00401     \return The call result:
00402             - TM_OK: the call was successful
00403             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00404               out of range
00405             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00406             - TMDL_ERR_DLHDMITX_RESOURCE_NOT_OWNED: the caller does not own
00407               the resource
00408             - TMDL_ERR_DLHDMITX_INVALID_STATE: the state is invalid for
00409               the function
00410 
00411 ******************************************************************************/
00412 tmErrorCode_t tmdlHdmiTxRegisterCallbacks
00413 (
00414     tmInstance_t            instance,
00415     ptmdlHdmiTxCallback_t   pCallback
00416 );
00417 
00418 /*****************************************************************************/
00419 /**
00420     \brief This function allows enabling a specific event. By default, all
00421            events are disabled, except input lock.
00422 
00423     \param instance Instance identifier.
00424     \param event    Event to enable.
00425 
00426     \return The call result:
00427             - TM_OK: the call was successful
00428             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00429               out of range
00430             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00431 
00432 ******************************************************************************/
00433 tmErrorCode_t tmdlHdmiTxEnableEvent
00434 (
00435     tmInstance_t      instance,
00436     tmdlHdmiTxEvent_t event
00437 );
00438 
00439 /*****************************************************************************/
00440 /**
00441     \brief This function allows disabling a specific event. By default, all
00442            events are disabled, except input lock.
00443 
00444     \param instance Instance identifier.
00445     \param event    Event to disable.
00446 
00447     \return The call result:
00448             - TM_OK: the call was successful
00449             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00450               out of range
00451             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00452 
00453 ******************************************************************************/
00454 tmErrorCode_t tmdlHdmiTxDisableEvent
00455 (
00456     tmInstance_t      instance,
00457     tmdlHdmiTxEvent_t event
00458 );
00459 
00460 /*****************************************************************************/
00461 /**
00462     \brief Get specifications of a given video format. Application can use
00463            this function to retreives all specifications (frequencies,
00464            resolution, etc.) of a given IA/CEA 861-D video format.
00465            This function is synchronous.
00466            This function is ISR friendly.
00467 
00468     \param instance         Instance identifier.
00469     \param resolutionID     ID of the resolution to retrieve specs from.
00470     \param pResolutionSpecs Pointer to the structure receiving specs.
00471 
00472     \return The call result:
00473             - TM_OK: the call was successful
00474             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00475               out of range
00476             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
00477               inconsistent
00478             - TMDL_ERR_DLHDMITX_RESOLUTION_UNKNOWN: the resolution is unknown
00479 
00480 ******************************************************************************/
00481 tmErrorCode_t tmdlHdmiTxGetVideoFormatSpecs
00482 (
00483     tmInstance_t            instance,
00484     tmdlHdmiTxVidFmt_t      resolutionID,
00485     tmdlHdmiTxVidFmtSpecs_t *pResolutionSpecs
00486 );
00487 
00488 /*****************************************************************************/
00489 /**
00490     \brief Configures all input and output parameters : format, modes, rates,
00491            etc. This is the main configuration function of the driver. Here
00492            are transmitted all crucial input and output parameters of the
00493            device.
00494            This function is synchronous.
00495            This function is not ISR friendly.
00496 
00497     \param instance          Instance identifier.
00498     \param videoInputConfig  Configuration of the input video.
00499     \param videoOutputConfig Configuration of the output video.
00500     \param audioInputConfig  Configuration of the input audio.
00501     \param sinkType          Type of sink connected to the output of the Tx.
00502 
00503     \return The call result:
00504             - TM_OK: the call was successful
00505             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00506               out of range
00507             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00508             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
00509             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
00510             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
00511             - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus
00512             - TMBSL_ERR_HDMI_I2C_READ: failed when reading to the I2C bus
00513             - TMBSL_ERR_HDMI_OPERATION_NOT_PERMITTED: not allowed in DVI mode
00514 
00515 ******************************************************************************/
00516 tmErrorCode_t tmdlHdmiTxSetInputOutput
00517 (
00518     tmInstance_t               instance,
00519     tmdlHdmiTxVideoInConfig_t  videoInputConfig,
00520     tmdlHdmiTxVideoOutConfig_t videoOutputConfig,
00521     tmdlHdmiTxAudioInConfig_t  audioInputConfig,
00522     tmdlHdmiTxSinkType_t       sinkType
00523 );
00524 
00525 /*****************************************************************************/
00526 /**
00527     \brief Configures audio input parameters : format, rate, etc.
00528            This function is similar to tmdlHdmiTxSetInputOutput except that
00529            video is not reconfigured.
00530            This function is synchronous.
00531            This function is not ISR friendly.
00532 
00533     \param instance          Instance identifier.
00534     \param audioInputConfig  Configuration of the input audio.
00535     \param sinkType          Type of sink connected to the output of the Tx.
00536 
00537     \return The call result:
00538             - TM_OK: the call was successful
00539             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00540               out of range
00541             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00542             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
00543             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
00544             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
00545             - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus
00546             - TMBSL_ERR_HDMI_I2C_READ: failed when reading to the I2C bus
00547             - TMBSL_ERR_HDMI_OPERATION_NOT_PERMITTED: not allowed in DVI mode
00548 
00549 ******************************************************************************/
00550 tmErrorCode_t tmdlHdmiTxSetAudioInput
00551 (
00552     tmInstance_t                instance,
00553     tmdlHdmiTxAudioInConfig_t   audioInputConfig,
00554     tmdlHdmiTxSinkType_t        sinkType
00555 );
00556 
00557 /*****************************************************************************/
00558 /**
00559     \brief Defines the content of AVI infoframe to be sent by Tx device.
00560            This function is synchronous.
00561            This function is not ISR friendly.
00562 
00563     \param instance     Instance identifier.
00564     \param enable       Enable/disable infoframe insertion.
00565     \param pAviIfData   Pointer to the structure containing AVI infoframe
00566                         parameters. 
00567 
00568     \return The call result:
00569             - TM_OK: the call was successful
00570             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00571               out of range
00572             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00573             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
00574               inconsistent
00575             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
00576             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
00577             - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus
00578             - TMBSL_ERR_HDMI_I2C_READ: failed when reading to the I2C bus
00579             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
00580             - TMBSL_ERR_HDMI_OPERATION_NOT_PERMITTED: not allowed in DVI mode
00581 
00582 ******************************************************************************/
00583 tmErrorCode_t tmdlHdmiTxSetVideoInfoframe
00584 (
00585     tmInstance_t            instance,
00586     Bool                    enable,
00587     tmdlHdmiTxAviIfData_t   *pAviIfData
00588 );
00589 
00590 /*****************************************************************************/
00591 /**
00592     \brief Defines the content of AUD infoframe to be sent by Tx device.
00593            This function is synchronous.
00594            This function is not ISR friendly.
00595 
00596     \param instance     Instance identifier.
00597     \param enable       Enable/disable infoframe insertion.
00598     \param pAudIfData   Pointer to the structure containing AUD infoframe
00599                         parameters.
00600 
00601     \return The call result:
00602             - TM_OK: the call was successful
00603             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00604               out of range
00605             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00606             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
00607               inconsistent
00608             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
00609             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
00610             - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus
00611             - TMBSL_ERR_HDMI_I2C_READ: failed when reading to the I2C bus
00612             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
00613             - TMBSL_ERR_HDMI_OPERATION_NOT_PERMITTED: not allowed in DVI mode
00614 
00615 ******************************************************************************/
00616 tmErrorCode_t tmdlHdmiTxSetAudioInfoframe
00617 (
00618     tmInstance_t            instance,
00619     Bool                    enable,
00620     tmdlHdmiTxAudIfData_t   *pAudIfData
00621 );
00622 
00623 /*****************************************************************************/
00624 /**
00625     \brief Defines the content of the audio content protection packet to be
00626            sent by Tx device.
00627            This function is synchronous.
00628            This function is not ISR friendly.
00629 
00630     \param instance     Instance identifier.
00631     \param enable       Enable/disable infoframe insertion.
00632     \param pAcpPktData  Pointer to the structure containing ACP infoframe
00633                         parameters.
00634 
00635     \return The call result:
00636             - TM_OK: the call was successful
00637             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00638               out of range
00639             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00640             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
00641               inconsistent
00642             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
00643             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
00644             - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus
00645             - TMBSL_ERR_HDMI_I2C_READ: failed when reading to the I2C bus
00646             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
00647             - TMBSL_ERR_HDMI_OPERATION_NOT_PERMITTED: not allowed in DVI mode
00648 
00649 ******************************************************************************/
00650 tmErrorCode_t tmdlHdmiTxSetACPPacket
00651 (
00652     tmInstance_t            instance,
00653     Bool                    enable,
00654     tmdlHdmiTxAcpPktData_t  *pAcpPktData
00655 );
00656 
00657 /*****************************************************************************/
00658 /**
00659     \brief Defines the content of the General Control packet to be sent by Tx
00660            device.
00661            This function is synchronous.
00662            This function is not ISR friendly.
00663 
00664     \param instance     Instance identifier.
00665     \param enable       Enable/disable infoframe insertion.
00666     \param pGcpPktData  Pointer to the structure containing GCP packet parameters.
00667 
00668     \return The call result:
00669             - TM_OK: the call was successful
00670             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00671               out of range
00672             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00673             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
00674               inconsistent
00675             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
00676             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
00677             - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus
00678             - TMBSL_ERR_HDMI_I2C_READ: failed when reading to the I2C bus
00679             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
00680             - TMBSL_ERR_HDMI_OPERATION_NOT_PERMITTED: not allowed in DVI mode
00681 
00682 ******************************************************************************/
00683 tmErrorCode_t tmdlHdmiTxSetGeneralControlPacket
00684 (
00685     tmInstance_t            instance,
00686     Bool                    enable,
00687     tmdlHdmiTxGcpPktData_t  *pGcpPktData
00688 );
00689 
00690 /*****************************************************************************/
00691 /**
00692     \brief Defines the content of ISRC1 packet to be sent by Tx device.
00693            This function is synchronous.
00694            This function is not ISR friendly.
00695 
00696     \param instance         Instance identifier.
00697     \param enable           Enable/disable infoframe insertion.
00698     \param pIsrc1PktData    Pointer to the structure containing GCP packet parameters.
00699 
00700     \return The call result:
00701             - TM_OK: the call was successful
00702             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00703               out of range
00704             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00705             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
00706               inconsistent
00707             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
00708             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
00709             - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus
00710             - TMBSL_ERR_HDMI_I2C_READ: failed when reading to the I2C bus
00711             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
00712             - TMBSL_ERR_HDMI_OPERATION_NOT_PERMITTED: not allowed in DVI mode
00713 
00714 ******************************************************************************/
00715 tmErrorCode_t tmdlHdmiTxSetISRC1Packet
00716 (
00717     tmInstance_t                instance,
00718     Bool                        enable,
00719     tmdlHdmiTxIsrc1PktData_t    *pIsrc1PktData
00720 );
00721 
00722 /*****************************************************************************/
00723 /**
00724     \brief Defines the content of ISRC2 packet to be sent by Tx device.
00725            This function is synchronous.
00726            This function is not ISR friendly.
00727 
00728     \param instance         Instance identifier.
00729     \param enable           Enable/disable infoframe insertion.
00730     \param pIsrc2PktData    Pointer to the structure containing GCP packet parameters.
00731 
00732     \return The call result:
00733             - TM_OK: the call was successful
00734             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00735               out of range
00736             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00737             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
00738               inconsistent
00739             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
00740             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
00741             - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus
00742             - TMBSL_ERR_HDMI_I2C_READ: failed when reading to the I2C bus
00743             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
00744             - TMBSL_ERR_HDMI_OPERATION_NOT_PERMITTED: not allowed in DVI mode
00745 
00746 ******************************************************************************/
00747 tmErrorCode_t tmdlHdmiTxSetISRC2Packet
00748 (
00749     tmInstance_t                instance,
00750     Bool                        enable,
00751     tmdlHdmiTxIsrc2PktData_t    *pIsrc2PktData
00752 );
00753 
00754 /*****************************************************************************/
00755 /**
00756     \brief Defines the content of MPS infoframe to be sent by Tx device.
00757            This function is synchronous.
00758            This function is not ISR friendly.
00759 
00760     \param instance     Instance identifier.
00761     \param enable       Enable/disable infoframe insertion.
00762     \param pMpsIfData   Pointer to the structure containing MPS infoframe
00763                         parameters.
00764 
00765     \return The call result:
00766             - TM_OK: the call was successful
00767             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00768               out of range
00769             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00770             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
00771               inconsistent
00772             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
00773             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
00774             - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus
00775             - TMBSL_ERR_HDMI_I2C_READ: failed when reading to the I2C bus
00776             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
00777             - TMBSL_ERR_HDMI_OPERATION_NOT_PERMITTED: not allowed in DVI mode
00778 
00779 ******************************************************************************/
00780 tmErrorCode_t tmdlHdmiTxSetMPSInfoframe
00781 (
00782     tmInstance_t            instance,
00783     Bool                    enable,
00784     tmdlHdmiTxMpsIfData_t   *pMpsIfData
00785 );
00786 
00787 /*****************************************************************************/
00788 /**
00789     \brief Defines the content of SPD infoframe to be sent by Tx device.
00790            This function is synchronous.
00791            This function is not ISR friendly.
00792 
00793     \param instance     Instance identifier.
00794     \param enable       Enable/disable infoframe insertion.
00795     \param pSpdIfData   Pointer to the structure containing SPD infoframe
00796                         parameters.
00797 
00798     \return The call result:
00799             - TM_OK: the call was successful
00800             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00801               out of range
00802             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00803             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
00804               inconsistent
00805             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
00806             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
00807             - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus
00808             - TMBSL_ERR_HDMI_I2C_READ: failed when reading to the I2C bus
00809             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
00810             - TMBSL_ERR_HDMI_OPERATION_NOT_PERMITTED: not allowed in DVI mode
00811 
00812 ******************************************************************************/
00813 tmErrorCode_t tmdlHdmiTxSetSpdInfoframe
00814 (
00815     tmInstance_t            instance,
00816     Bool                    enable,
00817     tmdlHdmiTxSpdIfData_t   *pSpdIfData
00818 );
00819 
00820 /*****************************************************************************/
00821 /**
00822     \brief Defines the content of VS infoframe to be sent by Tx device.
00823            This function is synchronous.
00824            This function is not ISR friendly.
00825 
00826     \param instance     Instance identifier.
00827     \param enable       Enable/disable infoframe insertion.
00828     \param pVsIfData    Pointer to the structure containing VS infoframe
00829                         parameters.
00830 
00831     \return The call result:
00832             - TM_OK: the call was successful
00833             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00834               out of range
00835             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00836             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
00837               inconsistent
00838             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
00839             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
00840             - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus
00841             - TMBSL_ERR_HDMI_I2C_READ: failed when reading to the I2C bus
00842             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
00843             - TMBSL_ERR_HDMI_OPERATION_NOT_PERMITTED: not allowed in DVI mode
00844 
00845 ******************************************************************************/
00846 tmErrorCode_t tmdlHdmiTxSetVsInfoframe
00847 (
00848     tmInstance_t            instance,
00849     Bool                    enable,
00850     tmdlHdmiTxVsPktData_t   *pVsIfData
00851 );
00852 
00853 /*****************************************************************************/
00854 /**
00855     \brief Enables/disables NULL packet sending (only used for debug purpose).
00856            This function is synchronous.
00857            This function is not ISR friendly.
00858 
00859     \param instance  Instance identifier.
00860     \param enable    Enable/disable packet insertion.
00861 
00862     \return The call result:
00863             - TM_OK: the call was successful
00864             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00865               out of range
00866             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00867             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
00868             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
00869             - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus
00870             - TMBSL_ERR_HDMI_I2C_READ: failed when reading to the I2C bus
00871             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
00872             - TMBSL_ERR_HDMI_OPERATION_NOT_PERMITTED: not allowed in DVI mode
00873 
00874 ******************************************************************************/
00875 tmErrorCode_t tmdlHdmiTxDebugSetNullPacket
00876 (
00877     tmInstance_t    instance,
00878     Bool            enable
00879 );
00880 
00881 /*****************************************************************************/
00882 /**
00883     \brief Send one single NULL packet (only used for debug purpose).
00884            This function is synchronous.
00885            This function is not ISR friendly.
00886 
00887     \param instance  Instance identifier.
00888 
00889     \return The call result:
00890             - TM_OK: the call was successful
00891             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00892               out of range
00893             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00894             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
00895             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
00896             - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus
00897             - TMBSL_ERR_HDMI_I2C_READ: failed when reading to the I2C bus
00898             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
00899             - TMBSL_ERR_HDMI_OPERATION_NOT_PERMITTED: not allowed in DVI mode
00900 
00901 ******************************************************************************/
00902 tmErrorCode_t tmdlHdmiTxDebugSetSingleNullPacket
00903 (
00904     tmInstance_t    instance
00905 );
00906 
00907 /*****************************************************************************/
00908 /**
00909     \brief Set the audio output mute status. This function can be used to mute
00910            audio output, without muting video. This can be typically used when
00911            reconfiguring the audio HW after a sample rate change.
00912            This function is synchronous.
00913            This function is not ISR friendly.
00914 
00915     \param instance   Instance identifier.
00916     \param muteStatus Mute status (True/False).
00917 
00918     \return The call result:
00919             - TM_OK: the call was successful
00920             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00921               out of range
00922             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00923             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
00924             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
00925             - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus
00926             - TMBSL_ERR_HDMI_I2C_READ: failed when reading to the I2C bus
00927             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
00928             - TMBSL_ERR_HDMI_OPERATION_NOT_PERMITTED: not allowed in DVI mode
00929 
00930 ******************************************************************************/
00931 tmErrorCode_t tmdlHdmiTxSetAudioMute
00932 (
00933     tmInstance_t instance,
00934     Bool         audioMute
00935 );
00936 
00937 /*****************************************************************************/
00938 /**
00939     \brief Reset audio CTS.
00940            This function is synchronous.
00941            This function is not ISR friendly.
00942 
00943     \param instance   Instance identifier.
00944 
00945     \return The call result:
00946             - TM_OK: the call was successful
00947             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00948               out of range
00949             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00950             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
00951             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
00952             - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus
00953             - TMBSL_ERR_HDMI_I2C_READ: failed when reading to the I2C bus
00954             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
00955             - TMBSL_ERR_HDMI_OPERATION_NOT_PERMITTED: not allowed in DVI mode
00956 
00957 
00958 ******************************************************************************/
00959 tmErrorCode_t tmdlHdmiTxResetAudioCts
00960 (
00961     tmInstance_t instance
00962 );
00963 
00964 /*****************************************************************************/
00965 /**
00966     \brief Retrieve EDID Status from driver.
00967            This function is synchronous.
00968            This function is ISR friendly.
00969 
00970     \param instance         Instance identifier.
00971     \param pEdidStatus      Pointer to the array that will receive the EDID Status.
00972     \param pEdidBlkCount    Pointer to the integer that will receive the number of
00973                             read EDID block.
00974 
00975     \return The call result:
00976             - TM_OK: the call was successful
00977             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
00978               out of range
00979             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
00980             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
00981               inconsistent
00982             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
00983             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
00984             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
00985 
00986 ******************************************************************************/
00987 tmErrorCode_t tmdlHdmiTxGetEdidStatus
00988 (
00989     tmInstance_t            instance,
00990     tmdlHdmiTxEdidStatus_t  *pEdidStatus,
00991     UInt8                   *pEdidBlkCount
00992 );
00993 
00994 /*****************************************************************************/
00995 /**
00996     \brief Retrieves audio descriptors from receiver's EDID. This function
00997            parses the EDID of Tx device to get the relevant data.
00998            This function is synchronous.
00999            This function is not ISR friendly.
01000 
01001 
01002     \param instance             Instance identifier.
01003     \param pAudioDescs          Pointer to the array that will receive audio
01004                                 descriptors.
01005     \param maxAudioDescs        Size of the array.
01006     \param pWrittenAudioDescs   Pointer to the integer that will receive the actual
01007                                 number of written descriptors.
01008     \param pAudioFlags          Pointer to the byte to receive Audio Capabilities Flags.
01009                                 This byte is filled as such:
01010                                 b7    is the Basic audio bit from CEA Extension Version 3.    
01011                                 If this bit is set to 1 this means that the sink handles "Basic audio" i.e.
01012                                 two channel L-PCM audio at sample rates of 32kHz, 44.1kHz, and 48kHz.
01013                                 b6    is the Supports_AI bit from the VSDB
01014                                 This bit set to 1 if the sink supports at least one function that uses
01015                                 information carried by the ACP, ISRC1, or ISRC2 packets.
01016                                 b5-b0    0
01017 
01018     \return The call result:
01019             - TM_OK: the call was successful
01020             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
01021               out of range
01022             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
01023             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
01024               inconsistent
01025             - TMDL_ERR_DLHDMITX_INVALID_STATE: the state is invalid for
01026               the function
01027             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
01028             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
01029             - TMBSL_ERR_HDMI_RESOURCE_NOT_AVAILABLE : EDID not read
01030             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
01031 
01032 ******************************************************************************/
01033 tmErrorCode_t tmdlHdmiTxGetEdidAudioCaps
01034 (
01035     tmInstance_t                instance,
01036     tmdlHdmiTxEdidAudioDesc_t   *pAudioDescs,
01037     UInt                        maxAudioDescs,
01038     UInt                        *pWrittenAudioDescs,
01039     UInt8                       *pAudioFlags
01040 );
01041 
01042 /*****************************************************************************/
01043 /**
01044     \brief Retrieves supported video formats (short descriptors) from
01045            receiver's EDID. This function parses the EDID of Rx device to get
01046            the relevant data.
01047            This function is synchronous.
01048            This function is not ISR friendly.
01049 
01050     \param instance             Instance identifier.
01051     \param pVideoDesc           Pointer to the structure that will receive short
01052                                 video descriptors.
01053     \param maxVideoFormats      Size of the array.
01054     \param pWrittenVideoFormats Pointer to the integer that will receive the actual
01055                                 number of written descriptors.
01056     \param pVideoFlags          Pointer to the byte to receive Video Capability Flags.
01057                                 b7: underscan supported
01058                                 b6: YCbCr 4:4:4 supported
01059                                 b5: YCbCr 4:2:2 supported
01060 
01061     \return The call result:
01062             - TM_OK: the call was successful
01063             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
01064               out of range
01065             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
01066             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
01067               inconsistent
01068             - TMDL_ERR_DLHDMITX_INVALID_STATE: the state is invalid for
01069               the function
01070             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
01071             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
01072             - TMBSL_ERR_HDMI_RESOURCE_NOT_AVAILABLE : EDID not read
01073             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
01074 
01075 ******************************************************************************/
01076 tmErrorCode_t tmdlHdmiTxGetEdidVideoCaps
01077 (
01078     tmInstance_t                instance,
01079     tmdlHdmiTxShortVidDesc_t    *pVideoDesc,
01080     UInt                        maxVideoFormats,
01081     UInt                        *pWrittenVideoFormats,
01082     UInt8                       *pVideoFlags
01083 );
01084 
01085 /*****************************************************************************/
01086 /**
01087     \brief Retrieves supported video formats (short descriptors) from
01088            receiver's EDID. This function parses the EDID of Rx device to get
01089            the relevant data.
01090            This function is synchronous.
01091            This function is not ISR friendly.
01092 
01093     \param instance                 Instance identifier.
01094     \param pNativeVideoFormat    Pointer to the array that will receive video
01095                                     timing descriptor.
01096 
01097     \return The call result:
01098             - TM_OK: the call was successful
01099             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
01100               out of range
01101             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
01102             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
01103               inconsistent
01104             - TMDL_ERR_DLHDMITX_INVALID_STATE: the state is invalid for
01105               the function
01106             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
01107             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
01108             - TMBSL_ERR_HDMI_RESOURCE_NOT_AVAILABLE : EDID not read
01109             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
01110 
01111 ******************************************************************************/
01112 tmErrorCode_t tmdlHdmiTxGetEdidVideoPreferred
01113 (
01114     tmInstance_t                    instance,
01115     tmdlHdmiTxEdidVideoTimings_t    *pNativeVideoFormat
01116 );
01117 
01118 /*****************************************************************************/
01119 /**
01120     \brief Retrieves the sink type from receiver's EDID (HDMI or DVI). This
01121            function parses the EDID of Rx device to get the relevant data.
01122            This function is synchronous.
01123            This function is not ISR friendly.
01124 
01125     \param instance  Instance identifier.
01126     \param pSinkType Pointer to the array that will receive sink type.
01127 
01128     \return The call result:
01129             - TM_OK: the call was successful
01130             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
01131               out of range
01132             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
01133             - TMDL_ERR_DLHDMITX_BAD_PARAMETER: a parameter is invalid or out
01134               of range
01135             - TMDL_ERR_DLHDMITX_NO_RESOURCES: the resource is not available
01136             - TMDL_ERR_DLHDMITX_BAD_UNIT_NUMBER: bad transmitter unit number
01137             - TMDL_ERR_DLHDMITX_NOT_INITIALIZED: the transmitter is not initialized
01138             - TMDL_ERR_DLHDMITX_INVALID_STATE: the state is invalid for
01139               the function
01140 
01141 ******************************************************************************/
01142 tmErrorCode_t tmdlHdmiTxGetEdidSinkType
01143 (
01144     tmInstance_t            instance,
01145     tmdlHdmiTxSinkType_t    *pSinkType
01146 );
01147 
01148 /*****************************************************************************/
01149 /**
01150     \brief Retrieves source address from receivers's EDID. This
01151            function parses the EDID of Rx device to get the relevant data.
01152            This function is synchronous.
01153            This function is not ISR friendly.
01154 
01155     \param instance         Instance identifier.
01156     \param pSourceAddress   Pointer to the integer that will receive the EDID source
01157                             address.
01158 
01159     \return The call result:
01160             - TM_OK: the call was successful
01161             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
01162               out of range
01163             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
01164             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
01165               inconsistent
01166             - TMDL_ERR_DLHDMITX_INVALID_STATE: the state is invalid for
01167               the function
01168             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
01169             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
01170             - TMBSL_ERR_HDMI_RESOURCE_NOT_AVAILABLE : EDID not read
01171             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
01172 
01173 ******************************************************************************/
01174 tmErrorCode_t tmdlHdmiTxGetEdidSourceAddress
01175 (
01176     tmInstance_t    instance,
01177     UInt16          *pSourceAddress
01178 );
01179 
01180 
01181 
01182 /*****************************************************************************/
01183 /**
01184     \brief Retreives KSV list received by Tx device.
01185            This function is synchronous.
01186            This function is not ISR friendly.
01187 
01188     \param instance     Instance identifier.
01189     \param pKsv         Pointer to the array that will receive the KSV list.
01190     \param maxKsv       Maximum number of KSV that the array can store.
01191     \param pWrittenKsv  Actual number of KSV written into the array.
01192     \param pDepth       Connection tree depth.
01193 
01194     \return The call result:
01195             - TM_OK: the call was successful
01196             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
01197               out of range
01198             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
01199             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
01200               inconsistent
01201             - TMDL_ERR_DLHDMITX_INVALID_STATE: the state is invalid for
01202               the function
01203             - TMDL_ERR_DLHDMITX_NOT_SUPPORTED: device does not support HDCP
01204 
01205 ******************************************************************************/
01206 tmErrorCode_t tmdlHdmiTxGetKsvList
01207 (
01208     tmInstance_t    instance,
01209     UInt8           *pKsv,
01210     UInt8           maxKsv,
01211     UInt8           *pWrittenKsv,
01212     UInt8           *pDepth,
01213     Bool            *pMaxCascExd,
01214     Bool            *pMaxDevsExd
01215 );
01216 #ifdef HDMI_TX_REPEATER_ISR_MODE
01217 /******************************************************************************
01218     \brief Retreives HDCP depth received by Tx device.
01219            This function is synchronous.
01220            This function is not ISR friendly.
01221 
01222     \param instance     Instance identifier.
01223     \param pDepth       Connection tree depth returned with KSV list.
01224 
01225     \return The call result:
01226             - TM_OK: the call was successful
01227             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
01228               out of range
01229             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
01230             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
01231               inconsistent
01232             - TMDL_ERR_DLHDMITX_INVALID_STATE: the state is invalid for
01233               the function
01234             - TMDL_ERR_DLHDMITX_NOT_SUPPORTED: device does not support HDCP
01235 
01236 ******************************************************************************/
01237 tmErrorCode_t tmdlHdmiTxGetDepth(
01238     tmInstance_t    instance,
01239     UInt8           *pDepth
01240 );
01241 
01242 /******************************************************************************
01243     \brief Generate SHA_1 interrupt if not occured.
01244            This function is synchronous.
01245            This function is not ISR friendly.
01246 
01247     \param instance     Instance identifier.
01248 
01249 
01250     \return The call result:
01251             - TM_OK: the call was successful
01252             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
01253               out of range
01254             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
01255             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
01256               inconsistent
01257             - TMDL_ERR_DLHDMITX_INVALID_STATE: the state is invalid for
01258               the function
01259             - TMDL_ERR_DLHDMITX_NOT_SUPPORTED: device does not support HDCP
01260 
01261 ******************************************************************************/
01262 tmErrorCode_t tmdlHdmiTxGeneSHA_1_IT
01263 (
01264     tmInstance_t    instance
01265 );
01266 #endif /* HDMI_TX_REPEATER_ISR_MODE */
01267 /*****************************************************************************/
01268 /**
01269     \brief Enable/Disable HDCP encryption.
01270            This function is synchronous.
01271            This function is not ISR friendly.
01272 
01273     \param instance   Instance identifier.
01274     \param hdcpEnable HDCP On/Off (true = On, False = Off).
01275 
01276     \return The call result:
01277             - TM_OK: the call was successful
01278             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
01279               out of range
01280             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
01281             - TMDL_ERR_DLHDMITX_INVALID_STATE: the state is invalid for
01282               the function
01283             - TMDL_ERR_DLHDMITX_RESOLUTION_UNKNOWN: the resolution is unknown
01284             - TMDL_ERR_DLHDMITX_NOT_SUPPORTED: device does not support HDCP
01285             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
01286             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
01287             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
01288             - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus
01289             - TMBSL_ERR_HDMI_I2C_READ: failed when reading the I2C bus
01290             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
01291             - TMBSL_ERR_HDMI_NOT_SUPPORTED: device does not support HDCP
01292 
01293 ******************************************************************************/
01294 tmErrorCode_t tmdlHdmiTxSetHdcp
01295 (
01296     tmInstance_t instance,
01297     Bool         hdcpEnable
01298 );
01299 
01300 /*****************************************************************************/
01301 /**
01302     \brief Get the driver HDCP state.
01303            This function is synchronous.
01304            This function is not ISR friendly.
01305 
01306     \param instance          Instance identifier.
01307     \param pHdcpCheckState   Pointer to the integer that will receive the HDCP check state.
01308 
01309     \return The call result:
01310             - TM_OK: the call was successful
01311             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
01312               out of range
01313             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
01314             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
01315               inconsistent
01316             - TMDL_ERR_DLHDMITX_NOT_SUPPORTED: device does not support HDCP
01317 
01318 ******************************************************************************/
01319 tmErrorCode_t tmdlHdmiTxGetHdcpState
01320 (
01321     tmInstance_t            instance,
01322     tmdlHdmiTxHdcpCheck_t   *pHdcpCheckState
01323 );
01324 
01325 /*****************************************************************************/
01326 /**
01327     \brief Check the result of an HDCP encryption attempt, called at
01328            intervals (set by timeSinceLastCall) after tmdlHdmiTxSetHdcp(true).
01329            This API must be used only in case of No Operating System. if OS, 
01330            this is manage internally of this device library.
01331            This function is synchronous.
01332            This function is not ISR friendly.
01333 
01334     \param instance             Instance identifier.
01335     \param timeSinceLastCall    Time passed in milliseconds since last call,
01336                                 must be shorter than 600 ms.
01337 
01338     \return The call result:
01339             - TM_OK: the call was successful
01340             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
01341               out of range
01342             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
01343             - TMDL_ERR_DLHDMITX_NOT_SUPPORTED: device does not support HDCP
01344             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
01345             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
01346             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
01347             - TMBSL_ERR_HDMI_I2C_READ: failed when reading the I2C bus
01348             - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing the I2C bus
01349             - TMBSL_ERR_HDMI_NOT_SUPPORTED: device does not support HDCP
01350 
01351 ******************************************************************************/
01352 tmErrorCode_t tmdlHdmiTxHdcpCheck
01353 (
01354     tmInstance_t    instance,
01355     UInt16          timeSinceLastCall
01356 );
01357 
01358 /*****************************************************************************/
01359 /**
01360     \brief This function loads a gamut metadata packet into the HW. HW will
01361            actually send it at the beginning of next VS, during the vertical
01362            blanking.
01363            This function is synchronous.
01364            This function is not ISR friendly.
01365 
01366     \param instance     Instance identifier.
01367     \param enable       Enable/disable gamut metadata packet insertion.
01368     \param pGamutData   Pointer to the structure containing gamut metadata
01369                         parameters. 
01370 
01371     \return The call result:
01372             - TM_OK: the call was successful
01373             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
01374               out of range
01375             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
01376             - TMDL_ERR_DLHDMITX_INVALID_STATE: the state is invalid for
01377               the function
01378             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
01379               inconsistent
01380             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
01381             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
01382             - TMBSL_ERR_HDMI_I2C_WRITE: failed when writing to the I2C bus
01383             - TMBSL_ERR_HDMI_I2C_READ: failed when reading to the I2C bus
01384             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
01385             - TMBSL_ERR_HDMI_OPERATION_NOT_PERMITTED: not allowed in DVI mode
01386 
01387 ******************************************************************************/
01388 tmErrorCode_t tmdlHdmiTxSetGamutPacket
01389 (
01390     tmInstance_t            instance,
01391     Bool                    enable,
01392     tmdlHdmiTxGamutData_t   *pGamutData
01393 );
01394 
01395 /*****************************************************************************/
01396 /**
01397     \brief Retrieves supported detailled video descriptors from
01398            receiver's EDID. This function parses the EDID of Rx device to get
01399            the relevant data.
01400            This function is synchronous.
01401            This function is not ISR friendly.
01402 
01403     \param instance         Instance identifier.
01404     \param pDTDescriptors   Pointer to the array that will receive detailled 
01405                             timing descriptors.
01406     \param maxDTDesc        Size of the array.
01407     \param pWrittenDesc     Pointer to the integer that will receive the actual
01408                             number of written descriptors.
01409 
01410     \return The call result:
01411             - TM_OK: the call was successful
01412             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
01413               out of range
01414             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
01415             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
01416               inconsistent
01417             - TMDL_ERR_DLHDMITX_INVALID_STATE: the state is invalid for
01418               the function
01419             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
01420             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
01421             - TMBSL_ERR_HDMI_RESOURCE_NOT_AVAILABLE : EDID not read
01422             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
01423 
01424 ******************************************************************************/
01425 tmErrorCode_t tmdlHdmiTxGetEdidDetailledTimingDescriptors
01426 (
01427     tmInstance_t                    instance,
01428     tmdlHdmiTxEdidVideoTimings_t    *pDTDescriptors,
01429     UInt8                           maxDTDesc,
01430     UInt8                           *pWrittenDTDesc
01431 );
01432 
01433 /*****************************************************************************/
01434 /**
01435     \brief Retrieves supported monitor descriptor from receiver's EDID.
01436            This function parses the EDID of Rx device to get
01437            the relevant data.
01438            This function is synchronous.
01439            This function is not ISR friendly.
01440 
01441     \param instance         Instance identifier.
01442     \param pEdidFirstMD     Pointer to the array that will receive the first monitor
01443                             descriptors.
01444     \param pEdidSecondMD    Pointer to the array that will receive the second monitor
01445                             descriptors.
01446     \param pEdidOtherMD     Pointer to the array that will receive the other monitor
01447                             descriptors.
01448     \param maxOtherMD       Size of the array.
01449     \param pWrittenOtherMD  Pointer to the integer that will receive the actual
01450                             number of written descriptors.
01451 
01452     \return The call result:
01453             - TM_OK: the call was successful
01454             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
01455               out of range
01456             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
01457             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
01458               inconsistent
01459             - TMDL_ERR_DLHDMITX_INVALID_STATE: the state is invalid for
01460               the function
01461             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
01462             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
01463             - TMBSL_ERR_HDMI_RESOURCE_NOT_AVAILABLE : EDID not read
01464             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
01465 
01466 ******************************************************************************/
01467 tmErrorCode_t tmdlHdmiTxGetEdidMonitorDescriptors
01468 (
01469     tmInstance_t                instance,
01470     tmdlHdmiTxEdidFirstMD_t     *pEdidFirstMD,
01471     tmdlHdmiTxEdidSecondMD_t    *pEdidSecondMD,
01472     tmdlHdmiTxEdidOtherMD_t     *pEdidOtherMD,
01473     UInt8                       maxOtherMD,
01474     UInt8                       *pWrittenOtherMD
01475 );
01476 
01477 /*****************************************************************************/
01478 /**
01479     \brief Retrieves TV picture ratio from receiver's EDID. 
01480            This function parses the EDID of Rx device to get
01481            the relevant data.
01482            This function is synchronous.
01483            This function is not ISR friendly.
01484 
01485     \param instance             Instance identifier.
01486     \param pEdidTvPictureRatio  Pointer to the variable that will receive TV picture ratio
01487                                 value.
01488 
01489     \return The call result:
01490             - TM_OK: the call was successful
01491             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
01492               out of range
01493             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
01494             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
01495               inconsistent
01496             - TMDL_ERR_DLHDMITX_INVALID_STATE: the state is invalid for
01497               the function
01498             - TMBSL_ERR_HDMI_BAD_PARAMETER: a parameter was out of range
01499             - TMBSL_ERR_HDMI_BAD_UNIT_NUMBER: bad transmitter unit number
01500             - TMBSL_ERR_HDMI_RESOURCE_NOT_AVAILABLE : EDID not read
01501             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
01502 
01503 ******************************************************************************/
01504 tmErrorCode_t tmdlHdmiTxGetEdidTVPictureRatio
01505 (
01506     tmInstance_t                    instance,
01507     tmdlHdmiTxPictAspectRatio_t     *pEdidTvPictureRatio
01508 );
01509 
01510 /******************************************************************************
01511     \brief This function set the revocation list use for HDCP
01512            This function is synchronous.
01513            This function is not ISR friendly.
01514 
01515     \param instance     Instance identifier.
01516     \param listPtr      Pointer on revocation list provide by application.
01517     \param length       length of revocation list. 
01518 
01519     \return The call result:
01520             - TM_OK: the call was successful, however RX keys have
01521                      not been checked with provided revocation list
01522                      because they are not available.
01523             - TMDL_DLHDMITX_HDCP_SECURE: the call was successful, RX keys are secure
01524             - TMDL_DLHDMITX_HDCP_NOT_SECURE: the call was successful, RX keys are NOT secure
01525             - TMDL_ERR_DLHDMITX_INVALID_STATE: we are a repeater                             
01526             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
01527               out of range
01528             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
01529             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
01530               inconsistent
01531 
01532 
01533 ******************************************************************************/
01534 
01535 tmErrorCode_t tmdlHdmiTxSetHDCPRevocationList(
01536     tmInstance_t    instance,
01537     void            *listPtr, 
01538     UInt32          length
01539 );
01540 
01541 
01542 /*****************************************************************************/
01543 /**
01544     \brief Retreives current HDCP link status. This function is typically used
01545            when an "HDCP INACTIVE" event is received to know why HDCP 
01546            is INACTIVE.
01547 
01548     \param instance    Instance identifier.
01549     \param pHdcpStatus Pointer to the enum describing the status.
01550     \param pRawStatus  Pointer to the byte with the raw error code from HW.
01551 
01552     \return The call result:
01553             - TM_OK: the call was successful
01554             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
01555               out of range
01556             - TMDL_ERR_DLHDMITX_BAD_HANDLE: the handle number is wrong
01557             - TMDL_ERR_DLHDMITX_BAD_PARAMETER: a parameter is invalid or out
01558               of range
01559             - TMDL_ERR_DLHDMITX_NOT_INITIALIZED: the transmitter is not initialized
01560 
01561 ******************************************************************************/
01562 tmErrorCode_t tmdlHdmiTxGetHdcpFailStatus
01563 (
01564     tmInstance_t            instance,
01565     tmdlHdmiTxHdcpStatus_t *pHdcpStatus,
01566     UInt8                  *pRawStatus
01567 );
01568 
01569 
01570 /*****************************************************************************/
01571 /**
01572     \brief Retrieves latency information from receiver's EDID.
01573            This function is synchronous.
01574            This function is not ISR friendly.
01575 
01576 
01577     \param instance             Instance identifier.
01578     \param pLatency             Pointer to the data structure that receive latency
01579                                 information.
01580 
01581     \return The call result:
01582             - TM_OK: the call was successful
01583             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
01584               out of range
01585             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
01586               inconsistent
01587             - TMDL_ERR_DLHDMITX_INVALID_STATE: the state is invalid for
01588               the function
01589             - TMBSL_ERR_HDMI_RESOURCE_NOT_AVAILABLE : EDID not read
01590             - TMBSL_ERR_HDMI_NOT_INITIALIZED: transmitter not initialized
01591 
01592 ******************************************************************************/
01593 tmErrorCode_t tmdlHdmiTxGetEdidLatencyInfo
01594 (
01595     tmInstance_t                instance,
01596     tmdlHdmiTxEdidLatency_t    *pLatency
01597 );
01598 
01599 
01600 /******************************************************************************
01601     \brief This function set the B... screen
01602            This function is synchronous.
01603            This function is not ISR friendly.
01604 
01605     \param instance     Instance identifier.
01606 
01607     \return The call result:
01608             - TM_OK: the call was successful, however RX keys have
01609                      not been checked with provided revocation list
01610                      because they are not available.
01611             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
01612               out of range
01613 
01614 
01615 ******************************************************************************/
01616 
01617 tmErrorCode_t tmdlHdmiTxSetBScreen(
01618     tmInstance_t            instance,
01619     tmdlHdmiTxTestPattern_t pattern
01620 );
01621 
01622 /******************************************************************************
01623     \brief This function set the Remove B.... screen
01624            This function is synchronous.
01625            This function is not ISR friendly.
01626 
01627     \param instance     Instance identifier. 
01628 
01629     \return The call result:
01630             - TM_OK: the call was successful, however RX keys have
01631                      not been checked with provided revocation list
01632                      because they are not available.
01633             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
01634               out of range
01635 
01636 
01637 ******************************************************************************/
01638 
01639 tmErrorCode_t tmdlHdmiTxRemoveBScreen(
01640     tmInstance_t    instance
01641 );
01642 
01643 /******************************************************************************
01644     \brief This function Convert DTD to CEA
01645            This function is synchronous.
01646            This function is not ISR friendly.
01647 
01648     \param instance         Instance identifier. 
01649     \param pDTDescriptors   Pointer on one DTD 
01650     \return The call result:
01651             - CEA code
01652 
01653 
01654 ******************************************************************************/
01655 tmdlHdmiTxVidFmt_t tmdlHdmiTxConvertDTDtoCEA
01656 (
01657     tmInstance_t    instance,
01658     tmdlHdmiTxEdidVideoTimings_t    *pDTDescriptors
01659 );
01660 
01661 
01662 /*****************************************************************************/
01663 /**
01664     \brief Retrieve HPD status from driver.
01665            This function is synchronous.
01666            This function is ISR friendly.
01667 
01668     \param instance         Instance identifier.
01669     \param pHPDStatus       Pointer to the variable that will receive the HPD Status.
01670 
01671     \return The call result:
01672             - TM_OK: the call was successful
01673             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
01674               out of range
01675             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
01676               inconsistent
01677 
01678 ******************************************************************************/
01679 tmErrorCode_t tmdlHdmiTxGetHPDStatus
01680 (
01681     tmInstance_t            instance,
01682     tmdlHdmiTxHotPlug_t *   pHPDStatus
01683 );
01684 
01685 
01686 /*****************************************************************************/
01687 /**
01688     \brief Retrieve RXSense status from driver.
01689            This function is synchronous.
01690            This function is ISR friendly.
01691 
01692     \param instance         Instance identifier.
01693     \param pRXSenseStatus   Pointer to the variable that will receive the RXSense Status.
01694 
01695     \return The call result:
01696             - TM_OK: the call was successful
01697             - TMDL_ERR_DLHDMITX_BAD_INSTANCE: the instance number is wrong or
01698               out of range
01699             - TMDL_ERR_DLHDMITX_INCONSISTENT_PARAMS: an input parameter is
01700               inconsistent
01701 
01702 ******************************************************************************/
01703 tmErrorCode_t tmdlHdmiTxGetRXSenseStatus
01704 (
01705     tmInstance_t            instance,
01706     tmdlHdmiTxRxSense_t *   pRXSenseStatus
01707 );
01708 
01709 
01710 /******************************************************************************
01711     \brief Mute or unmute the TMDS outputs.
01712 
01713     \param instance         Instance identifier.
01714     \param muteTmdsOut      Mute or unmute indication.
01715 
01716     \return NA.
01717     
01718 ******************************************************************************/   
01719 tmErrorCode_t tmdlHdmiTxTmdsSetOutputsMute
01720 (
01721     tmInstance_t            instance,
01722     Bool                    muteTmdsOut
01723 );
01724 
01725 #ifdef __cplusplus
01726 }
01727 #endif
01728 
01729 #endif /* TMDLHDMITX_FUNCTIONS_H */
01730 
01731 /*============================================================================*/
01732 /*                            END OF FILE                                     */
01733 /*============================================================================*/
01734 

Hdmi version Tx_4.26 - Generated on Tue Jan 26 09:25:07 2010 - tmdlHdmiTx component API
PHILIPS