ms.h

来自「OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI」· C头文件 代码 · 共 435 行 · 第 1/2 页

H
435
字号
//===============================================================================
//            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 2000, (C) Copyright 2000 Texas Instruments.  All rights reserved.
//
//   Filename          : ms.h
//
//   Description       : Header file for the memory stick interface module
//
//   Project           : Helen
//  
//   Author            : Hiro UCHIKAWA (hirojii@ti.com)
//===============================================================================

#ifndef _MS_H
#define _MS_H

#ifndef _GLOBAL_TYPES_H
#include "global_types.h"
#endif

#include "mem.h"

#define  REGU8(A)	(*(REG_UWORD8*)(A))		
#define  REGU16(A)	(*(REG_UWORD16*)(A))		
#define  REGU32(A)	(*(REG_UWORD32*)(A))		

// Define register offset
#define MS_CMD_REG_OFFSET               0x00
#define MS_STAT_REG_OFFSET              0x04
#define MS_CNTL_REG_OFFSET              0x08
#define MS_I_DATA_REG_OFFSET            0x0C
#define MS_I_CTL_REG_OFFSET             0x10
#define MS_PP_DATA_REG_OFFSET           0x14
#define MS_PP_CTL_REG_OFFSET            0x18
                                      //0x1c reserved 
#define MS_RX_DATA_REG_OFFSET           0x20
#define MS_TX_DATA_REG_OFFSET           0x24
#define MS_FIFO_CTL_REG_OFFSET          0x28
#define MS_FIFO_CNT_REG_OFFSET          0x2c

#define MS_GCM_CLK_REG_OFFSET		0x400
#define MS_GCM_RESET_REG_OFFSET         0x404

// Define register address
#define MS_CMD_REG_SUPERVISOR_ADDR	\
	(MS_SUPERVISOR_ADDR + MS_CMD_REG_OFFSET)
#define MS_STAT_REG_SUPERVISOR_ADDR	\
	(MS_SUPERVISOR_ADDR + MS_STAT_REG_OFFSET)
#define MS_CNTL_REG_SUPERVISOR_ADDR	\
	(MS_SUPERVISOR_ADDR + MS_CNTL_REG_OFFSET)
#define MS_I_DATA_REG_SUPERVISOR_ADDR	\
	(MS_SUPERVISOR_ADDR + MS_I_DATA_REG_OFFSET)
#define MS_I_CTL_REG_SUPERVISOR_ADDR	\
	(MS_SUPERVISOR_ADDR + MS_I_CTL_REG_OFFSET)
#define MS_PP_DATA_REG_SUPERVISOR_ADDR	\
	(MS_SUPERVISOR_ADDR + MS_PP_DATA_REG_OFFSET)
#define MS_PP_CTL_REG_SUPERVISOR_ADDR	\
	(MS_SUPERVISOR_ADDR + MS_PP_CTL_REG_OFFSET)
#define MS_RX_DATA_REG_SUPERVISOR_ADDR	\
	(MS_SUPERVISOR_ADDR + MS_RX_DATA_REG_OFFSET)
#define MS_TX_DATA_REG_SUPERVISOR_ADDR	\
	(MS_SUPERVISOR_ADDR + MS_TX_DATA_REG_OFFSET)
#define MS_FIFO_CTL_REG_SUPERVISOR_ADDR	\
	(MS_SUPERVISOR_ADDR + MS_FIFO_CTL_REG_OFFSET)
#define MS_FIFO_CNT_REG_SUPERVISOR_ADDR	\
	(MS_SUPERVISOR_ADDR + MS_FIFO_CNT_REG_OFFSET)
#define MS_GCM_CLK_REG_SUPERVISOR_ADDR \
	(MS_SUPERVISOR_ADDR + MS_GCM_CLK_REG_OFFSET)
#define MS_GCM_RESET_REG_SUPERVISOR_ADDR \
	(MS_SUPERVISOR_ADDR + MS_GCM_RESET_REG_OFFSET)

// Define register reset value
#define MS_CMD_REG_VALUE_AT_RESET       0x0000
#define MS_STAT_REG_VALUE_AT_RESET      0x003a
#define MS_CNTL_REG_VALUE_AT_RESET	0x0000
#define MS_I_DATA_REG_VALUE_AT_RESET    0x0000
#define MS_I_CTL_REG_VALUE_AT_RESET     0x0000
#define MS_PP_CTL_REG_VALUE_AT_RESET    0x0000
#define MS_FIFO_CTL_REG_VALUE_AT_RESET  0x0000
#define MS_FIFO_CNT_REG_VALUE_AT_RESET  0x0000
#define MS_GCM_CLK_REG_VALUE_AT_RESET   0x00000000
#define MS_GCM_RESET_REG_VALUE_AT_RESET 0x00000001

// Define register mask value
#define MS_CMD_REG_MSK                  0xf3ff
#define MS_STAT_REG_MSK                 0x03ff
#define MS_CNTL_REG_MSK                 0x01ff
#define MS_I_DATA_REG_MSK               0x00fb
#define MS_I_CTL_REG_MSK                0x00e0
#define MS_PP_CTL_REG_MSK               0x0003
#define MS_FIFO_CTL_REG_MSK             0x00ff
#define	MS_FIFO_CNT_REG_MSK             0xffff
#define MS_GCM_CLK_REG_MSK		0x00000001
#define MS_GCM_RESET_REG_MSK		0x00000001

// Redefiniation of register name for the test of reset values
#define MS_CMD_REG        MS_CMD_REG_SUPERVISOR_ADDR	
#define MS_STAT_REG       MS_STAT_REG_SUPERVISOR_ADDR	
#define MS_CNTL_REG       MS_CNTL_REG_SUPERVISOR_ADDR	
#define MS_I_DATA_REG     MS_I_DATA_REG_SUPERVISOR_ADDR	
#define MS_I_CTL_REG      MS_I_CTL_REG_SUPERVISOR_ADDR	
#define MS_PP_DATA_REG    MS_PP_DATA_REG_SUPERVISOR_ADDR	
#define MS_PP_CTL_REG     MS_PP_CTL_REG_SUPERVISOR_ADDR	
#define MS_RX_DATA_REG    MS_RX_DATA_REG_SUPERVISOR_ADDR	
#define MS_TX_DATA_REG    MS_TX_DATA_REG_SUPERVISOR_ADDR	
#define MS_FIFO_CTL_REG   MS_FIFO_CTL_REG_SUPERVISOR_ADDR	
#define MS_FIFO_CNT_REG   MS_FIFO_CNT_REG_SUPERVISOR_ADDR	
#define MS_GCM_CLK_REG    MS_GCM_CLK_REG_SUPERVISOR_ADDR 
#define MS_GCM_RESET_REG  MS_GCM_RESET_REG_SUPERVISOR_ADDR 



// Register MSCMD
#define MSCMD_TPC_POS               12
#define MSCMD_TPC_NUMB               4
#define MSCMD_TPC_RES_VAL            0

#define MSCMD_DATASIZE_POS           0
#define MSCMD_DATASIZE_NUMB         10
#define MSCMD_DATASIZE_RES_VAL       0

// Register MSSTAT
#define MSSTAT_BSSTAT_POS            8
#define MSSTAT_BSSTAT_NUMB           2
#define MSSTAT_BSSTAT_RES_VAL        0

#define MSSTAT_INT_POS               7
#define MSSTAT_INT_NUMB              1
#define MSSTAT_INT_RES_VAL           0

#define MSSTAT_DRQ_POS               6
#define MSSTAT_DRQ_NUMB              1
#define MSSTAT_DRQ_RES_VAL           0

#define MSSTAT_RXFREQ_POS            5
#define MSSTAT_RXFREQ_NUMB           1
#define MSSTAT_RXFREQ_RES_VAL        1

#define MSSTAT_TXFREQ_POS            4
#define MSSTAT_TXFREQ_NUMB           1
#define MSSTAT_TXFREQ_RES_VAL        1

#define MSSTAT_RBE_POS               3
#define MSSTAT_RBE_NUMB              1
#define MSSTAT_RBE_RES_VAL           1

#define MSSTAT_RBF_POS               2
#define MSSTAT_RBF_NUMB              1
#define MSSTAT_RBF_RES_VAL           0

#define MSSTAT_TBE_POS               1
#define MSSTAT_TBE_NUMB              1
#define MSSTAT_TBE_RES_VAL           1

#define MSSTAT_TBF_POS               0
#define MSSTAT_TBF_NUMB              1
#define MSSTAT_TBF_RES_VAL           0

// Register MSCNTL
#define MSCNTL_SWAP_POS             15
#define MSCNTL_SWAP_NUMB             1
#define MSCNTL_SWAP_RES_VAL          0

#define MSCNTL_MRST_POS              8
#define MSCNTL_MRST_NUMB             1
#define MSCNTL_MRST_RES_VAL          0

#define MSCNTL_TRRST_POS             7
#define MSCNTL_TRRST_NUMB            1
#define MSCNTL_TRRST_RES_VAL         0

#define MSCNTL_PWS_POS               6
#define MSCNTL_PWS_NUMB              1
#define MSCNTL_PWS_RES_VAL           0

#define MSCNTL_SIEN_POS              5
#define MSCNTL_SIEN_NUMB             1
#define MSCNTL_SIEN_RES_VAL          0

#define MSCNTL_DMAEN_POS             4
#define MSCNTL_DMAEN_NUMB            1
#define MSCNTL_DMAEN_RES_VAL         0

#define MSCNTL_NOCRC_POS             3
#define MSCNTL_NOCRC_NUMB            1
#define MSCNTL_NOCRC_RES_VAL         0

#define MSCNTL_BSYCNT_POS            2
#define MSCNTL_BSYCNT_NUMB           3
#define MSCNTL_BSYCNT_RES_VAL        0


// Register MSIDATA
#define MSIDATA_RDY_POS              7
#define MSIDATA_RDY_NUMB             1
#define MSIDATA_RDY_RES_VAL          0

#define MSIDATA_SIF_POS              6
#define MSIDATA_SIF_NUMB             1
#define MSIDATA_SIF_RES_VAL          0

#define MSIDATA_DRQ_POS              5
#define MSIDATA_DRQ_NUMB             1
#define MSIDATA_DRQ_RES_VAL          0

#define MSIDATA_PIN1_POS             4
#define MSIDATA_PIN1_NUMB            1
#define MSIDATA_PIN1_RES_VAL         0

#define MSIDATA_PIN0_POS             3
#define MSIDATA_PIN0_NUMB            1
#define MSIDATA_PIN0_RES_VAL         0

⌨️ 快捷键说明

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