📄 dspmmu.c
字号:
//////////////////////////////////////////////////////////////////////////
// Copyright (C) 2004, Eyoka @ Microunit
// All Rights Reserved
//________________________________________________________________________
//
// FILENAME: dspmmu.c
// 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.
//////////////////////////////////////////////////////////////////////////
#include "dspmmu.h"
/////////////////////////////////////////////////////////////////////
// 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)
{
DSPMMU_CAM_H_REG = (WORD)(pConfig->vir_addr>>22);
DSPMMU_CAM_L_REG = ((WORD)(pConfig->vir_addr>>6) & 0xFC00)
| (pConfig->bPreserved<<3) | pConfig->size;
DSPMMU_RAM_H_REG = (WORD)(pConfig->phy_addr>>16);
DSPMMU_RAM_L_REG = ((WORD)(pConfig->phy_addr) & 0xFC00)
| (pConfig->ap<<8);
DSPMMU_LOCK_REG = pConfig->index<<4;
DSPMMU_LD_TLB_REG = 0x0001;
}
//___________________________________________________________________
// Function: DSPMMU_ReleaseReset
// Usage: Release DSPMMU from reset.
// Parameters: N/A
// Return Values: N/A
//___________________________________________________________________
//
void DSPMMU_ReleaseReset(void)
{
DSPMMU_CNTL_REG |= 0x0001;
}
//___________________________________________________________________
// Function: DSPMMU_Reset
// Usage: Reset DSPMMU.
// Parameters: N/A
// Return Values: N/A
//___________________________________________________________________
//
void DSPMMU_Reset(void)
{
DSPMMU_CNTL_REG &= 0xFFFE;
}
//___________________________________________________________________
// Function: DSPMMU_Enable
// Usage: Enable DSPMMU.
// Parameters: N/A
// Return Values: N/A
//___________________________________________________________________
//
void DSPMMU_Enable(void)
{
DSPMMU_CNTL_REG |= 0x0002;
}
//___________________________________________________________________
// Function: DSPMMU_Disable
// Usage: Disable DSPMMU.
// Parameters: N/A
// Return Values: N/A
//___________________________________________________________________
//
void DSPMMU_Disable(void)
{
DSPMMU_CNTL_REG &= 0xFFFD;
}
// the end
//////////////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -