rif.h

来自「OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI」· C头文件 代码 · 共 151 行

H
151
字号
//=====================================================================  
//      TEXAS INSTRUMENTS INCORPORATED PROPRIETARY INFORMATION             
// Property of Texas Instruments -- For Unrestricted Internal Use Only   
// Unauthorized reproduction and/or distribution is strictly prohibited  
// This product is protected under copyright law and trade secret law as 
// an unpublished work.Created 2001,(C) Copyright 2001 Texas Instruments.
// All rights reserved.                                                  
//=====================================================================  

#ifndef RIF_H
#define RIF_H

//---------------------------------------------------------
//NAME        : <LIB_function_name>
//DESCRIPTION : 
//PARAMETERS  : 
//RETURN VALUE: 
//LIMITATIONS :
//---------------------------------------------------------
#include "global_types.h"
#include "mem.h"
#include "error.h"
#include "result.h"

#define MEM_DSP_RIF_ADDR        0xE1013800

#define RIF_ADDR_ARM    MEM_DSP_RIF_ADDR


#define RIF_ADDR_T              0x0000 

#define RIF_ADDR_R              (0x0001<<1)


#define RIF_SPCX_OFFSET         (0x02<<1)            /* SPCX */


#define RIF_CTRL_MCM            0x0001          /* MCM*/
#define RIF_CTRL_XRST           0x0002          /*XRST */
#define RIF_CTRL_XRDY           0x0004          /*XRDY*/
#define RIF_CTRL_CLKX_AUTO      0x0008          /* CLOCK AUTO */
#define RIF_CTRL_TXM            0x0010          /*TXM*/
#define RIF_CTRL_NCLK_EN        0x0020          /* CLOCK EXT*/
#define RIF_CTRL_NCLK13_EN      0x0040          /* CLOCK13 */
#define RIF_CTRL_AL_EM          0x0080          /*ALMOST EMPTY */
#define RIF_CTRL_FIFOET         0x0100          /*FIFO EMPTY*/
#define RIF_CTRL_FIFOFT         0x0200          /*FIFO FULL*/
#define RIF_CTRL_THRET          0x0400          /*THRESHOLD 10 12*/
#define RIF_CTRL_PTV            0x2000          /* PTV CLOCK DIVISION*/

#define RIF_SPCX_MCM_POS          0
#define RIF_SPCX_XRST_POS         1
#define RIF_SPCX_XRDY_POS         2
#define RIF_SPCX_CLKX_AUTO_POS    3
#define RIF_SPCX_TXM_POS          4
#define RIF_SPCX_NCLK_EN_POS      5
#define RIF_SPCX_NCK13_EN_POS     6
#define RIF_SPCX_ALMOST_EMPTY_POS 7
#define RIF_SPCX_FIFO_EMPTY_POS   8
#define RIF_SPCX_FIFO_FULL_POS    9
#define RIF_SPCX_THRESHOLD_POS    10
#define RIF_SPCX_DIV_CLK_POS      12


#define RIF_SPCR_OFFSET         (0x03<<1)    /*SPCR RECEIVE */


#define RIF_CTRL_DLB            0x0001          /* DLB */
#define RIF_CTRL_RRST           0x0002          /* RRST */
#define RIF_CTRL_RRDY           0x0004          /* RRDY */
#define RIF_CTRL_RSRFULL        0x0008          /* RSRFULL */
#define RIF_CTRL_AL_FU          0x0010          /* ALMOST FULL */
#define RIF_CTRL_FIFOER         0x0020          /*FIFO EMPTY */
#define RIF_CTRL_FIFOFR         0x0040          /* FIFO FULL*/          
#define RIF_CTRL_THRER          0x0080          /* THRESHOLD*/

#define RIF_SPCR_DLB_POS          0
#define RIF_SPCR_RRST_POS         1
#define RIF_SPCR_RRDY_POS         2
#define RIF_SPCR_RSRFULL_POS      3
#define RIF_SPCR_ALMOST_FULL_POS  4
#define RIF_SPCR_FIFO_EMPTY_POS   5
#define RIF_SPCR_FIFO_FULL_POS    6
#define RIF_SPCR_THRESHOLD_POS    7
#define RIF_SPCR_XINT_MASK_POS    10
#define RIF_SPCR_RINT_MASK_POS    11
#define RIF_SPCR_XDMA_MASK_POS    12
#define RIF_SPCR_RDMA_MASK_POS    13
#define RIF_SPCR_CLKLB_POS        14


#define RIF_CTRL_FIRST          0x0001          /* first bit */
#define RIF_CTRL_RSTAT          0x0070          /* R FIFO STATUS */
#define RIF_CTRL_RFOUR          0x0050          /* FOUR WORD in R FIFO  */
#define RIF_CTRL_RTWO           0x0010          /* TWO word in R FIFO */

#define MAP_RIF_ADDR_T_DSP      REG16(RIF_ADDR_ARM + RIF_ADDR_T)
#define MAP_RIF_ADDR_R_DSP      REG16(RIF_ADDR_ARM + RIF_ADDR_R)
#define MAP_RIF_SPCX_REG_DSP    REG16(RIF_ADDR_ARM + RIF_SPCX_OFFSET)
#define MAP_RIF_SPCR_REG_DSP    REG16(RIF_ADDR_ARM + RIF_SPCR_OFFSET)


#define RIF_SPCX_RES_VAL	0x059E				/* SPCX reset value */
#define RIF_SPCX_RD_MASK	0x7FFF				/* SPCX read mask */
#define RIF_SPCX_RW_MASK	0x7C7B				/* SPCX read/write mask */

#define RIF_SPCR_RES_VAL	0x3CA2				/* SPCR reset value */
#define RIF_SPCR_RD_MASK	0x7FFF				/* SPCR read mask */
#define RIF_SPCR_RW_MASK	0x7F83				/* SPCR read/write mask */


/* ----- Prototypes ----- */

void RIF_InitSpcx(int Mcm, int Xrst, int Clk_auto, int Txm, int Nclk_en, int Nclk13_en, int Threshold, int Ptv);

void RIF_InitSpcr(int Dlb, int Rrst, int Threshold, int Xint, int Rint, int Xdma, int Rdma, int Clklb);

void RIF_BclkInternalLoopback(int Clk_loop);

int RIF_GetMcm(void);
int RIF_GetXrst(void);
int RIF_GetClkauto(void);
int RIF_GetTxm(void);
int RIF_GetNclken(void);
int RIF_GetNclk13(void);
int RIF_GetThresholdx(void);
int RIF_GetPtv(void);
int RIF_GetFifoet(void);
int RIF_GetFifoft(void);
void RIF_GetSpcx(int *Mcm, int *Xrst,
                      int *Clk_auto, int *Txm,
                      int *Nclk_en,int *Nclk13_en,
                      int *Threshold,int *Ptv );
int RIF_GetDlb(void);
int RIF_GetRrst(void);
int RIF_GetThresholdx(void);
void RIF_GetSpcr(int *Dlb, int *Rrst,
                      int *Threshold);
void RIF_Reset(void);
int RIF_GetFifoafr(void);
int RIF_GetFifoer(void);
int RIF_TestRifReg(void);

void RIF_TestResetValue(void);
void RIF_TestWriteRead(void);

void RIF_EnableInternalClock(void);

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?