/*
 * 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; either version 2 of the License, or
 * (at your option) any later version.
 *
 * 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
 *
 * Copyright (C) 2004 Freescale Inc Ltd
 *
 * History :
 *        04/06/29 : Creation
 *        05/03/03: TLSbo48139: Driver bring up on HW
 */
 
 /*!
  * @file mxc-ctrls-dbg.h
  * @brief common definitions for the mxc sound driver (debug purposes)
  * @ingroup SOUND_DRV
  */
  
#ifndef _MXC_CTRLS_DBG_H
#define _MXC_CTRLS_DBG_H

/* Compilation flags */
/*! Activates default config */
#define MXC_DRV_STANDALONE
/* Compilation flags - All diabled in normal mode */
/*! All traces activated */
/*#define DEBUG_ALL*/
/*! most important traces 
#define DEBUG*/
/*! adds some checks */
/*#define MORE_DEBUG_CHECKING*/
/*! disables mix by DAM - modifies timeslots
#define DRV_NTMODE_PLUS_MIX_DISABLED*/
/*! enables workaround for hiZ rise-up latency */
#define MXC_HIZ_WORKAROUND
/*! Avoids using SDMA/SSI1 transfers which are not functional yet */
/*#define MXC_SDMA_USE_SSI2_ONLY*/

typedef struct _mxc_cfg {
        int reg;        /*!< The register address (data sheet value) */
        int val;        /*!< The value to write, or returned by read */
} mxc_cfg;

/*! debug only */
#define SNDCTL_MXC_HW_SSI_CFG_W       _SIOW('Z', 0, mxc_cfg)
/*! debug only */
#define SNDCTL_MXC_HW_SSI_CFG_R       _SIOR('Z', 1, mxc_cfg)
/*! debug only */
#define SNDCTL_MXC_HW_SEL_OUT_DAC     _SIO('Z', 2)
/*! debug only */
#define SNDCTL_MXC_HW_SEL_OUT_CODEC   _SIO('Z', 3)
/*! debug only */
#define SNDCTL_MXC_HW_SEL_IN_CODEC    _SIO('Z', 14)
/*! debug only */
#define SNDCTL_ATLAS_READ_OUT_MIXER   _SIOR('Z', 4, int)
/*! debug only */
#define SNDCTL_ATLAS_WRITE_OUT_MIXER  _SIOWR('Z', 5, int)
/*! debug only */
#define SNDCTL_MXC_HW_WRITE_REG       _SIOW('Z', 100, mxc_cfg)
/*! debug only */
#define SNDCTL_MXC_HW_READ_REG        _SIOR('Z', 101, mxc_cfg)
/*! debug only */
#define SNDCTL_MXC_HW_WRITE_SSI_STX0  _SIOW('Z', 102, int)
/*! debug only */
#define SNDCTL_DBMX_HW_SSI_LOOPBACK   _SIOW('Z', 103, int)
/*! debug only */
#define SNDCTL_DBMX_HW_SSI_FIFO_FULL  _SIO('Z', 104)

#endif
