/********************************************************************************
 * Marvell GPL License Option
 *
 * If you received this File from Marvell, you may opt to use, redistribute and/or
 * modify this File in accordance with the terms and conditions of the General
 * Public License Version 2, June 1991 (the "GPL License"), a copy of which is
 * available along with the File in the license.txt file or by writing to the Free
 * Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or
 * on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
 *
 * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY
 * DISCLAIMED.  The GPL License provides additional details about this warranty
 * disclaimer.
 ******************************************************************************/

#ifndef _FIGO_H_
#define _FIGO_H_

#include "memmap.h"
#include "ra_gbl.h"
#include "mem_ctrl.h"
#include "figo_drm.h"
#if BG2CDP
#else
#include "drm.h"
#endif

#define	DRM_REG_BASE					(0x00 + MEMMAP_TSI_REG_BASE)
#define	DRM_DMX_SEC_STAT				(RA_DRMDMX_SECSAT + DRM_REG_BASE)
#define	DRM_SECURITY_STATUS_REG			(RA_SECSTATUS_CFG + DRM_DMX_SEC_STAT)
#define	DRM_DMX_CMD_STAT				(RA_DRMDMX_DTCM + DRM_REG_BASE)
#define	DRM_ROM_CMD_STAT_REG			(RA_DRMROM_CMD_STAT + DRM_DMX_CMD_STAT)
#define	DRM_ROM_CMD_CFG_REG				(RA_DRMROM_CMD_CMD_CFG + DRM_DMX_CMD_STAT)
#define DRM_ROM_CMD_CRC_REG				(RA_DRMROM_CMD_CMD_DAT0 + DRM_DMX_CMD_STAT)
#define	DRM_ROM_CMD_IMG_SIZE_REG		(RA_DRMROM_CMD_CMD_DAT1 + DRM_DMX_CMD_STAT)
#define	DRM_ROM_CMD_IMG_SRC_ADDR_REG	(RA_DRMROM_CMD_CMD_DAT2 + DRM_DMX_CMD_STAT)
#define	DRM_ROM_CMD_IMG_DST_ADDR_REG	(RA_DRMROM_CMD_CMD_DAT3 + DRM_DMX_CMD_STAT)
#define	DRM_ROM_CMD_RESPONSE_CFG_REG	(RA_DRMROM_CMD_RSP_CFG + DRM_DMX_CMD_STAT)
#define	DRM_ROM_CMD_RESPONSE_CRC_REG	(RA_DRMROM_CMD_RSP_DAT0 + DRM_DMX_CMD_STAT)
#define	DRM_ROM_CMD_RESPONSE_ERR_REG	(RA_DRMROM_CMD_RSP_DAT1 + DRM_DMX_CMD_STAT)

#define	DRM_ROM_CMD_STAT_EN				(0x01 << LSb32DRMROM_CMD_STAT_en)
#define	DRM_ROM_CMD_RESPONSE_SUCCEED	(0x00 << LSb32DRMROM_CMD_RSP_DAT1_error)

#endif
