iekc64_tidc.h
来自「TI公司的算法标准 Framework5的源代码」· C头文件 代码 · 共 161 行
H
161 行
/*
* Copyright 2002 by Texas Instruments Incorporated.
* All rights reserved. Property of Texas Instruments Incorporated.
* Restricted rights to use, duplicate or disclose this code are
* granted through contract.
*
*/
/* "@(#) RF5_IEK 2.00.02 12-11-02 (swat-c19)" */
/*! \verbatim
==============================================================================
Copyright (C) 2002 A.T.E.M.E.
All Rights Reserved
------------------------------------------------------------------------------
MODULE NAME... IEKC64_AUDIOSTRUCT
FLENAME...... iekc64_audio.h
PROJECT....... IEK C64x
------------------------------------------------------------------------------
HISTORY:
V1.0 25/03/2002 HCO
------------------------------------------------------------------------------
\endverbatim <P> \file
\brief Header file for the IEK C64 TI daughter board module.
</P>*//*====================================================================*/
#ifndef __IEK_TIDC_H_
#define __IEK_TIDC_H_
#include <csl_emifa.h>
#include <csl_emifb.h>
#include "iekc64.h"
#ifdef __cplusplus
extern "C" {
#endif
/*=======================================================================*//*!
\defgroup TIDC TIDC - TI daughter board initialization on IEKC64 board
\brief This module is related configure a daugther board on TI connector provided by the IEKC64x.
<h3> TIDC module </h3>
<b> How does it work </b>
This module configure CE space and reset function on the IEKC64x board
<b> Reseting the daughter board </b>
The TIDC_reset() function allow the user to reset the daugther board
<b> Use full compatibility with TI standard </b>
If you want to use large memory model withe the daugter board, you will need to set
the A22 bit on the IEKC64x board with TIDC_setAG22() function
<b> Configuring EMIF space used by the daughter board </b>
The TIDC_setEmif() function set EMIF for space used by daughter board.
</P>*//*==============================================================*//*@{*/
#define TIDC_CE78_BASE_ADDR _EMIFA_BASE_GLOBAL
#define _EMIFTIDC_GBLCTL_OFFSET (0)
#define _EMIFTIDC_CECTL0_OFFSET (2)
#define _EMIFTIDC_CECTL1_OFFSET (1)
#define _EMIFTIDC_CECTL2_OFFSET (4)
#define _EMIFTIDC_CECTL3_OFFSET (5)
#define _EMIFTIDC_SDCTL_OFFSET (6)
#define _EMIFTIDC_SDTIM_OFFSET (7)
#define _EMIFTIDC_SDEXT_OFFSET (8)
#define _EMIFTIDC_CESEC0_OFFSET (18)
#define _EMIFTIDC_CESEC1_OFFSET (17)
#define _EMIFTIDC_CESEC2_OFFSET (20)
#define _EMIFTIDC_CESEC3_OFFSET (21)
/*--------------------------------------------------------------------------*/
/*! Reset TI daughter board on IEKC64
\param Bool
True if you want to set in reset, false otherwise.
\return An IEKC64_STATUS. If the call succeed, the value will be IEKC64_OK.
Otherwise it holds an error code. The status code can be tested by
the IEKC64_SUCCESS(return code) macro that is true is the value
represents a successful call.
\b Example:
\verbatim
TIDC_reset(Bool Id)
\endverbatim
*/
IEKC64_STATUS TIDC_reset(Bool Id);
/*--------------------------------------------------------------------------*/
/*! Set extension bit for daughter board on IEKC64
\param Bool
True if you want to set in large memory, false otherwise.
\return An IEKC64_STATUS. If the call succeed, the value will be IEKC64_OK.
Otherwise it holds an error code. The status code can be tested by
the IEKC64_SUCCESS(return code) macro that is true is the value
represents a successful call.
\b Example:
\verbatim
TIDC_setAG22(TRUE);
\endverbatim
*/
IEKC64_STATUS TIDC_setAG22(Bool Id);
/*--------------------------------------------------------------------------*/
/*! Set EMIF values for CE space used on IEKC64x board
\param EmifBaseAddr
Emif address needed to be configured
\param EMifValue
Value for CE space
\return An IEKC64_STATUS. If the call succeed, the value will be IEKC64_OK.
Otherwise it holds an error code. The status code can be tested by
the IEKC64_SUCCESS(return code) macro that is true is the value
represents a successful call.
\b Example:
\verbatim
TIDC_setEmif(_EMIFA_BASE_GLOBAL+_EMIFA_CECTL2_OFFSET,
EMIFA_CECTL_RMK(
EMIFA_CECTL_WRSETUP_OF(3), // write-setup = 3T = 30ns
EMIFA_CECTL_WRSTRB_OF(6), // read-strobe = 6T = 60ns
EMIFA_CECTL_WRHLD_OF(1), // write-strobe = 1T = 10ns
EMIFA_CECTL_RDSETUP_OF(1),
EMIFA_CECTL_TA_OF(0),
EMIFA_CECTL_RDSTRB_OF(8), // read-strobe = 8T = 80ns
EMIFA_CECTL_MTYPE_ASYNC32, // asynchrone bus on 32 bits (Ti's interface...)
EMIFA_CECTL_WRHLDMSB_DEFAULT,
EMIFA_CECTL_RDHLD_OF(1) // write-strobe = 1T = 10ns
),
\endverbatim
*/
IEKC64_STATUS TIDC_setEmif(Uint32 *EmifBaseAddr, Uint32 EmifValue);
/*@}*//* end of group TIDC */
#ifdef __cplusplus
}
#endif
#endif /* ifndef _IEK_TIDC_H_ */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?