/*****************************************************************************/
/* Copyright (c) 2009 NXP Semiconductors BV                                  */
/*                                                                           */
/* This program is free software; you can redistribute it and/or modify      */
/* it under the terms of the GNU General Public License as published by      */
/* the Free Software Foundation, using version 2 of the License.             */
/*                                                                           */
/* This program is distributed in the hope that it will be useful,           */
/* but WITHOUT ANY WARRANTY; without even the implied warranty of            */
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the              */
/* GNU General Public License for more details.                              */
/*                                                                           */
/* You should have received a copy of the GNU General Public License         */
/* along with this program; if not, write to the Free Software               */
/* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307       */
/* USA.                                                                      */
/*                                                                           */
/*****************************************************************************/
/**
 *
 * \file          tmdlHdmiCEC_cfg.h
 *
 * \version       $Revision: 1 $
 *
 * \date          $Date:  $
 *
 * \brief         devlib driver component API for the CEC messages
 *
 * \section refs  Reference Documents
 *
 * \section info  Change Information
 *
 * \verbatim
 *
   $History:  tmdlHdmiCEC_cfg.h
 *
 *
   \endverbatim
 *
*/
/******************************************************************************
******************************************************************************
*                THIS FILE MUST NOT BE MODIFIED BY CUSTOMER                  *
******************************************************************************
*****************************************************************************/

#ifndef TMDLHDMICEC_CFG_H
#define TMDLHDMICEC_CFG_H

#include "tmNxTypes.h"
#include "tmdlHdmiCEC_Types.h"
#include "tmdlHdmiCEC_Functions.h"
#ifdef __cplusplus
extern "C" {
#endif

/* Number of HW units supported by SW driver */
#define MAX_UNITS 1


#ifndef TMFL_CEC_AVAILABLE
typedef struct _tmbslHdmiTxSysArgs_t
{
    UInt8 slaveAddr;
    UInt8 firstRegister;
    UInt8 lenData;
    UInt8 *pData;
} tmbslHdmiTxSysArgs_t;
#endif



/*============================================================================*/
/*                          TYPES DECLARATIONS                                */
/*============================================================================*/
typedef struct
{
    UInt8                         commandTaskPriority;
    UInt8                         commandTaskStackSize;
    UInt8                         commandTaskQueueSize;
    UInt8                         i2cAddress;
    ptmdlHdmiCecSysFunc_t         i2cReadFunction;
    ptmdlHdmiCecSysFunc_t         i2cWriteFunction;
    tmdlHdmiCecCapabilities_t     *pCapabilitiesList;
} tmdlHdmiCecDriverConfigTable_t;

/*============================================================================*/
/*                       FUNCTIONS DECLARATIONS                               */
/*============================================================================*/

/**
    \brief This function allows to the main driver to retrieve its
           configuration parameters.

    \param pConfig Pointer to the config structure

    \return The call result:
            - TM_OK: the call was successful
            - TMDL_ERR_DLHDMICEC_BAD_UNIT_NUMBER: the unit number is wrong or
              the receiver instance is not initialised
            - TMDL_ERR_DLHDMICEC_INCONSISTENT_PARAMS: an input parameter is
              inconsistent

******************************************************************************/
tmErrorCode_t tmdlHdmiCecCfgGetConfig
(
    tmUnitSelect_t                 unit,
    tmdlHdmiCecDriverConfigTable_t *pConfig
);


#ifdef __cplusplus
}
#endif

#endif /* TMDLHDMICEC_CFG_H */

/*============================================================================*/
/*                               END OF FILE                                  */
/*============================================================================*/
