📄 mpui.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 + -