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

📄 mpui.h

📁 以TI 公司的OMAP5910为例
💻 H
字号:
//////////////////////////////////////////////////////////////////////////
//            Copyright (C) 2004, Eyoka @ Microunit
//                           All Rights Reserved
//________________________________________________________________________
//
// FILENAME:    mpui.h
// PROJECT:     High-Resolution Video System On OMAP
// MODULE:      MPU System
// DESCRIPTION: MPU Interface support
// 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 _MPUI_H_
#define _MPUI_H_

#include "datatypes.h"


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

typedef enum
{
	DSPBOOT_MPNMC		= 0,
	DSPBOOT_PSEUDOEXT	= 1,
	DSPBOOT_EMIF16		= 3,
	DSPBOOT_EXTERNAL	= 4,
	DSPBOOT_INTERNAL	= 5
}
MPUI_DSPBOOTMODE_t;

typedef enum
{
	WSWAP_ALL		= 0,
	WSWAP_NON_MPUI	= 1,
	WSWAP_MPUI		= 2,
	WSWAP_NONE		= 3
}
MPUI_WSWAP_t;

typedef enum
{
	ARM_DMA = 0,
	DMA_ARM = 2
}
MPUI_AP_t;

typedef enum
{
	BSWAP_NONE		= 0,
	BSWAP_NON_MPUI	= 1,
	BSWAP_ALL		= 2,
	BSWAP_MPUI		= 3
}
MPUI_BSWAP_t;

typedef enum
{
	HIGH_FREQ	= 0,
	LOW_FREQ	= 1
}
MPUI_FREQ_t;


/////////////////////////////////////////////////////////////////////
// MPUI REGISTERS
/////////////////////////////////////////////////////////////////////

#define MPUI_CTRL_REG			REG32(0xFFFEC900)
#define MPUI_DEBUG_ADDR			REG32(0xFFFEC904)
#define MPUI_DEBUG_DATA			REG32(0xFFFEC908)
#define MPUI_DEBUG_FLAG			REG32(0xFFFEC90C)
#define MPUI_STATUS_REG			REG32(0xFFFEC910)
#define MPUI_DSP_STATUS_REG		REG32(0xFFFEC914)
#define MPUI_DSP_BOOT_CONFIG	REG32(0xFFFEC918)
#define MPUI_DSP_API_CONFIG		REG32(0xFFFEC91C)


/////////////////////////////////////////////////////////////////////
// MPUI FUNCTIONS
/////////////////////////////////////////////////////////////////////

//___________________________________________________________________
// Function: MPUI_Set_WSWAP
// Usage: Set WORD swap mode
// Parameters:
//	wordswap		enum type, can be:
//					WSWAP_NONE, WSWAP_NON_MPUI, WSWAP_ALL or WSWAP_MPUI
// Return Values:	N/A
//___________________________________________________________________
//
void MPUI_Set_WSWAP(MPUI_WSWAP_t wordswap);

//___________________________________________________________________
// Function: MPUI_Set_AP
// Usage: Set access priority
// Parameters:
//	ap				enum type, can be:
//					ARM_DMA(ARM priorier) or DMA_ARM(DMA priorier)
// Return Values:	N/A
//___________________________________________________________________
//
void MPUI_Set_AP(MPUI_AP_t ap);

//___________________________________________________________________
// Function: MPUI_Set_BSWAP
// Usage: Set BYTE swap mode
// Parameters:
//	byteswap		enum type, can be:
//					BSWAP_NONE, BSWAP_NON_MPUI, BSWAP_ALL or BSWAP_MPUI
// Return Values:	N/A
//___________________________________________________________________
//
void MPUI_Set_BSWAP(MPUI_BSWAP_t byteswap);

//___________________________________________________________________
// Function: MPUI_Set_Timeout
// Usage: Set MPUI Timeout
// Parameters:
//	timeout			0<=timeout<=255
// Return Values:	N/A
//___________________________________________________________________
//
void MPUI_Set_Timeout(int timeout);

//___________________________________________________________________
// Function: MPUI_Set_Div
// Usage: Set Divider
// Parameters:
//	factor			2<=factor<=15
// Return Values:	N/A
//___________________________________________________________________
//
void MPUI_Set_Div(int factor);

//___________________________________________________________________
// Function: MPUI_EnableABORT
// Usage: Enable/Disable the ABORT interrupt of MPUI
// Parameters:
//	bEnable			TRUE to Enable, FALSE to Disable.
// Return Values:	N/A
//___________________________________________________________________
//
void MPUI_EnableABORT(BOOL bEnable);

//___________________________________________________________________
// Function: MPUI_EnableTimeout
// Usage: Enable/Disable the Timeout interrupt of MPUI
// Parameters:
//	bEnable			TRUE to Enable, FALSE to Disable.
// Return Values:	N/A
//___________________________________________________________________
//
void MPUI_EnableTimeout(BOOL bEnable);

//___________________________________________________________________
// Function: MPUI_SetFrequency
// Usage: Set frequency mode of MPUI
// Parameters:
//	freqmode		can be HIGH_FREQ or LOW_FREQ
// Return Values:	N/A
//___________________________________________________________________
//
void MPUI_SetFrequency(MPUI_FREQ_t freqmode);

//___________________________________________________________________
// Function: MPUI_SetDSPBootMode
// Usage: Set DSP boot mode
// Parameters:
//	mode			enum type, can be:
//					DSPBOOT_MPNMC, start from 0xFFFF00
//					DSPBOOT_PSEUDOEXT,
//					DSPBOOT_EMIF16, 16-bit boot download
//					DSPBOOT_EXTERNAL, 32-bit boot download
//					DSPBOOT_INTERNAL, MPUI boot download
// Return Values:	N/A
//___________________________________________________________________
//
void MPUI_SetDSPBootMode(MPUI_DSPBOOTMODE_t mode);



#endif // ifndef _MPUI_H_

⌨️ 快捷键说明

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