⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dspmmu.h

📁 以TI 公司的OMAP5910为例
💻 H
字号:
//////////////////////////////////////////////////////////////////////////
//            Copyright (C) 2004, Eyoka @ Microunit
//                           All Rights Reserved
//________________________________________________________________________
//
// FILENAME:    dspmmu.h
// PROJECT:     High-Resolution Video System On OMAP
// MODULE:      MPU System
// DESCRIPTION: DSPMMU Interface.
// TARGET CPU:  ARM-925T of OMAP5910
// VERSION:     0.2
//________________________________________________________________________
//
// REVISE HISTORY
// DATE         VERSION AUTHOR  DESCRIPTION
// 2004-11-08   0.2     Eyoka   Checked.
// 2004-11-01   0.1     Eyoka   Created.
//////////////////////////////////////////////////////////////////////////

#ifndef _DSPMMU_H_
#define _DSPMMU_H_

#include "datatypes.h"


/////////////////////////////////////////////////////////////////////
// TYPES
/////////////////////////////////////////////////////////////////////

typedef enum
{
	SIZE_SECTION	= 0,
	SIZE_LARGE_PAGE	= 1,
	SIZE_SMALL_PAGE	= 2,
	SIZE_TINY_PAGE	= 3
}
MMU_ENTRY_LENGTH_t;

typedef enum
{
	NO_ACCESS	= 0,
	READ_ONLY	= 2,
	FULL_ACCESS	= 3
}
MMU_ENTRY_AP_t;

typedef struct tagTLB_PARAM
{
	DWORD	phy_addr;
	DWORD	vir_addr;
	BYTE	size;		// MMU_ENTRY_LENGTH_t
	BYTE	ap;			// MMU_ENTRY_AP_t
	BYTE	bPreserved;
	BYTE	index;
}
TLB_PARAM;


/////////////////////////////////////////////////////////////////////
// DSPMMU REGISTERS
/////////////////////////////////////////////////////////////////////

#define DSPMMU_PREFETCH_REG			REG16(0xFFFED200)
#define DSPMMU_WALKING_ST_REG		REG16(0xFFFED204)
#define DSPMMU_CNTL_REG				REG16(0xFFFED208)
#define DSPMMU_FAULT_AD_H_REG		REG16(0xFFFED20C)
#define DSPMMU_FAULT_AD_L_REG		REG16(0xFFFED210)
#define DSPMMU_F_ST_REG				REG16(0xFFFED214)
#define DSPMMU_IT_ACK_REG			REG16(0xFFFED218)
#define DSPMMU_TTB_H_REG			REG16(0xFFFED21C)
#define DSPMMU_TTB_L_REG			REG16(0xFFFED220)
#define DSPMMU_LOCK_REG				REG16(0xFFFED224)
#define DSPMMU_LD_TLB_REG			REG16(0xFFFED228)
#define DSPMMU_CAM_H_REG			REG16(0xFFFED22C)
#define DSPMMU_CAM_L_REG			REG16(0xFFFED230)
#define DSPMMU_RAM_H_REG			REG16(0xFFFED234)
#define DSPMMU_RAM_L_REG			REG16(0xFFFED238)
#define DSPMMU_GFLUSH_REG			REG16(0xFFFED23C)
#define DSPMMU_FLUSH_ENTRY_REG		REG16(0xFFFED240)
#define DSPMMU_READ_CAM_H_REG		REG16(0xFFFED244)
#define DSPMMU_READ_CAM_L_REG		REG16(0xFFFED248)
#define DSPMMU_READ_RAM_H_REG		REG16(0xFFFED24C)
#define DSPMMU_READ_RAM_L_REG		REG16(0xFFFED250)


/////////////////////////////////////////////////////////////////////
// DSPMMU FUNCTIONS
/////////////////////////////////////////////////////////////////////

//___________________________________________________________________
// Function: DSPMMU_TLB_Insert
// Usage: Write DSPMMU TLB entry.
// Parameters:
//	pConfig			pointer to TLB_PARAM.
// Return Values:	N/A
//___________________________________________________________________
// locked base index considered 0
void DSPMMU_TLB_Insert(TLB_PARAM *pConfig);

//___________________________________________________________________
// Function: DSPMMU_ReleaseReset
// Usage: Release DSPMMU from reset.
// Parameters:		N/A
// Return Values:	N/A
//___________________________________________________________________
//
void DSPMMU_ReleaseReset(void);

//___________________________________________________________________
// Function: DSPMMU_Reset
// Usage: Reset DSPMMU.
// Parameters:		N/A
// Return Values:	N/A
//___________________________________________________________________
//
void DSPMMU_Reset(void);

//___________________________________________________________________
// Function: DSPMMU_Enable
// Usage: Enable DSPMMU.
// Parameters:		N/A
// Return Values:	N/A
//___________________________________________________________________
//
void DSPMMU_Enable(void);

//___________________________________________________________________
// Function: DSPMMU_Disable
// Usage: Disable DSPMMU.
// Parameters:		N/A
// Return Values:	N/A
//___________________________________________________________________
//
void DSPMMU_Disable(void);



#endif	// ifndef _DSPMMU_H_

⌨️ 快捷键说明

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