/*
 * Copyright 2010 Trident Microsystems (Far East) Ltd. All rights reserved.
 * All prior copyright rights in this work and the accompanying software
 * products transferred to Trident Microsystems (Far East) Ltd. by written
 * agreement.
 */
/*****************************************************************************/
/* Copyright (c) 2010 NXP B.V.  All rights are reserved.                     */
/*                                                                           */
/* Redistribution and use in source and binary forms, with or without        */
/* modification, are permitted provided that the following conditions        */
/* are met:                                                                  */
/*                                                                           */
/* Redistributions of source code must retain the above copyright            */
/* notice, this list of conditions and the following disclaimer.             */
/*                                                                           */
/* Redistributions in binary form must reproduce the above copyright         */
/* notice, this list of conditions and the following disclaimer in the       */
/* documentation and/or other materials provided with the distribution.      */
/*                                                                           */
/* Neither the name of NXP nor the names of its                              */
/* contributors may be used to endorse or promote products derived from      */
/* this software without specific prior written permission.                  */
/*                                                                           */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS       */
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT         */
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR     */
/* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT      */
/* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,     */
/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT          */
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,     */
/* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY     */
/* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT       */
/* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE         */
/* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH          */
/* DAMAGE.                                                                   */
/*                                                                           */
/*****************************************************************************/
// FILE NAME:    tmSysCfg.h
//
// DESCRIPTION:  This is the platform specific system configuration header
//               file.  It's purpose is to provide a central place where
//               platform specific settings can be changed by the customer
//               (or whoever is building the DVP platform software).  This
//               file is included into DVP component configuration source
//               files (tmdl<Component>Cfg.c).  Values defined here will
//               override the values defined in the local source files.
//
//               This should be the only file modified by the end user for
//               a specific platform (changing the individual DVP component
//               configuration source files will have an impact on all target
//               platforms and operating systems using that component).  To
//               override the default values in the component configuration
//               file(s), just #define the new values in this file (refer to
//               the DVP component configuration files for the #define'able
//               settings):
//
//               #define TM<LAYER>_<COMP>_CFG_XXX   <NewDefault>
//
//               DVP component configuration file #define'd values should be
//               qualified by layer, component, and purpose so that there
//               are no conflicts between different components or between
//               layers of the same component type.  DVP component
//               configuration files should define all values surrounded by
//               the #ifndef/#define/#endif preprocessor commands so that if
//               values with the same name are defined in tmSysCfg.h, they
//               override the component header file values:
//
//               #ifndef TM<LAYER>_<COMP>_CFG_XXX  // If !defined in tmSysCfg.h
//               #define TM<LAYER>_<COMP>_CFG_XXX   <CfgDefault>
//               #endif
//
// DOCUMENT REF: DVP Software Coding Guidelines specification
//               DVP Software Architecture specification
//               DVP Hardware Abstraction Library specification
//               DVP Device Library specification
//               DVP Board Support Library specification
//
// NOTES:        None
//-----------------------------------------------------------------------------
//
#ifndef TMSYSCFG_H //-------------------
#define TMSYSCFG_H

//-----------------------------------------------------------------------------
// Standard include files:
//-----------------------------------------------------------------------------
//
#include <tmtypes.h>                    // DVP standard types/defines/structs

//-----------------------------------------------------------------------------
// Project include files:
//-----------------------------------------------------------------------------
//
#include <tmFlags.h>                    // DVP platform configuration flags

#ifdef __cplusplus
extern "C"
{
#endif

//-----------------------------------------------------------------------------
// Types and defines:
//-----------------------------------------------------------------------------
//

// TODO: Add platform/OS specific overrides here !

#define TMFL_EV32_EXCLUDE_NANDFLASH               1
#define TMFL_EV32_EXCLUDE_NANDFLASH_Samsung       1
#define TMFL_EV32_EXCLUDE_NANDFLASH_Toshiba       1
#define TMFL_EV32_EXCLUDE_NORFLASH                1
#define TMFL_EV32_EXCLUDE_SYNCFLASH               1
#define TMFL_EV32_EXCLUDE_ANABEL                  1
#define TMFL_EV32_EXCLUDE_7113                    1
#define TMFL_EV32_EXCLUDE_EEPROM                  1
#define TMFL_EV32_EXCLUDE_AUDIO                   1

//
// Gfx devlib config parameters
//

#define TMDL_GFX_CFG_UNIT_1_MAX_NR_DRAWABLES     10
#define TMDL_GFX_CFG_UNIT_2_MAX_NR_DRAWABLES     10
#define TMDL_GFX_CFG_UNIT_1_MAX_NR_PALETTES      10
#define TMDL_GFX_CFG_UNIT_2_MAX_NR_PALETTES      10
#define TMDL_GFX_CFG_UNIT_1_MAX_NR_SUBPALETTES   10
#define TMDL_GFX_CFG_UNIT_2_MAX_NR_SUBPALETTES   10
#define TMDL_GFX_CFG_UNIT_1_COLOR_FORMAT          0
#define TMDL_GFX_CFG_UNIT_2_COLOR_FORMAT          1
#define TMDL_GFX_CFG_UNIT_1_MAX_NR_CURSORS        1
#define TMDL_GFX_CFG_UNIT_2_MAX_NR_CURSORS        1

//
// Debug flags for drivers
//
// There are 3 debug levels (0, 1 and 2) for now.
// Level 0 : No debug print or assert
// Level 1 : No debug print but has assert
// Level 2 : Has debug print and assert
//

#define VMIX_DBG_LEVEL  0

#define VO_DBG_LEVEL    0

//
// Vdec devlib
//

#define VDEC_DBG_LEVEL   0

//
// Audio
//
#define AI_BLD_LEVEL    (0)
#define ADEC_BLD_LEVEL  (0)
#define AO_BLD_LEVEL    (0)
#define ADAI_BLD_LEVEL  (0)

//
// Gfx devlib and draw hapi
//

#define GFX_DBG_LEVEL   0
#define DRAW_DBG_LEVEL  0

//
//  VSS devlib
//
#define VSS_DBG_LEVEL   0

//
//  STP devlib
//
#define STP_DBG_LEVEL   0

//
//  VI devlib
//
#define VI_DBG_LEVEL    0


//
//-----------------------------------------------------------------------------
// Exported functions:
//-----------------------------------------------------------------------------
//

#ifdef __cplusplus
}
#endif

#endif // TMSYSCFG_H //-----------------
