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 + -
显示快捷键?