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

📄 omap30_armmbx.h

📁 有关于USB的一些主机端驱动
💻 H
字号:
//-------------------------------------------------------------------------------
//          TEXAS INSTRUMENTS INCORPORATED PROPRIETARY INFORMATION  
//   Property of Texas Instruments
//   For Unrestricted Internal Use Only
//   Unauthorized reprofuction 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
//
//-------------------------------------------------------------------------------
#ifndef _OMAP30_MAILBOX__H_
#define _OMAP30_MAILBOX__H_

//-------------------------------------------------------------------------------
//
//   ARM REGISTERS DECLARATION
//
//-------------------------------------------------------------------------------

#define            ARMMBX_BASE_ADDR                                            MEM_ARM_MAILBOX_ADDR

//ARMMBX_ARM2DSP1
//-------------------
#define            ARMMBX_ARM2DSP1                                             REG16(ARMMBX_BASE_ADDR+0x00)


#define            ARMMBX_ARM2DSP1_ARM2DSP1_POS                                0
#define            ARMMBX_ARM2DSP1_ARM2DSP1_NUMB                               16
#define            ARMMBX_ARM2DSP1_ARM2DSP1_RES_VAL                            0x0
//R/W


//ARMMBX_ARM2DSP1B
//-------------------
#define            ARMMBX_ARM2DSP1B                                            REG16(ARMMBX_BASE_ADDR+0x04)


#define            ARMMBX_ARM2DSP1B_ARM2DSP1B_POS                              0
#define            ARMMBX_ARM2DSP1B_ARM2DSP1B_NUMB                             16
#define            ARMMBX_ARM2DSP1B_ARM2DSP1B_RES_VAL                          0x0
//R/W


//ARMMBX_DSP2ARM1
//-------------------
#define            ARMMBX_DSP2ARM1                                             REG16(ARMMBX_BASE_ADDR+0x08)


#define            ARMMBX_DSP2ARM1_DSP2ARM1_POS                                0
#define            ARMMBX_DSP2ARM1_DSP2ARM1_NUMB                               16
#define            ARMMBX_DSP2ARM1_DSP2ARM1_RES_VAL                            0x0
//R


//ARMMBX_DSP2ARM1B
//-------------------
#define            ARMMBX_DSP2ARM1B                                            REG16(ARMMBX_BASE_ADDR+0x0C)


#define            ARMMBX_DSP2ARM1B_DSP2ARM1B_POS                              0
#define            ARMMBX_DSP2ARM1B_DSP2ARM1B_NUMB                             16
#define            ARMMBX_DSP2ARM1B_DSP2ARM1B_RES_VAL                          0x0
//R


//ARMMBX_DSP2ARM2
//-------------------
#define            ARMMBX_DSP2ARM2                                             REG16(ARMMBX_BASE_ADDR+0x10)


#define            ARMMBX_DSP2ARM2_DSP2ARM2_POS                                0
#define            ARMMBX_DSP2ARM2_DSP2ARM2_NUMB                               16
#define            ARMMBX_DSP2ARM2_DSP2ARM2_RES_VAL                            0x0
//R


//ARMMBX_DSP2ARM2B
//-------------------
#define            ARMMBX_DSP2ARM2B                                            REG16(ARMMBX_BASE_ADDR+0x14)


#define            ARMMBX_DSP2ARM2B_DSP2ARM2B_POS                              0
#define            ARMMBX_DSP2ARM2B_DSP2ARM2B_NUMB                             16
#define            ARMMBX_DSP2ARM2B_DSP2ARM2B_RES_VAL                          0x0
//R


//ARMMBX_ARM2DSP_INT1_FLAG
//-------------------
#define            ARMMBX_ARM2DSP_INT1_FLAG                                    REG16(ARMMBX_BASE_ADDR+0x18)


#define            ARMMBX_ARM2DSP_INT1_FLAG_INT_POS                            0
#define            ARMMBX_ARM2DSP_INT1_FLAG_INT_NUMB                           1
#define            ARMMBX_ARM2DSP_INT1_FLAG_INT_RES_VAL                        0x0
//R


//ARMMBX_DSP2ARM_INT1_FLAG
//-------------------
#define            ARMMBX_DSP2ARM_INT1_FLAG                                    REG16(ARMMBX_BASE_ADDR+0x1C)


#define            ARMMBX_DSP2ARM_INT1_FLAG_INT_POS                            0
#define            ARMMBX_DSP2ARM_INT1_FLAG_INT_NUMB                           1
#define            ARMMBX_DSP2ARM_INT1_FLAG_INT_RES_VAL                        0x0
//R


//ARMMBX_DSP2ARM_INT2_FLAG
//-------------------
#define            ARMMBX_DSP2ARM_INT2_FLAG                                    REG16(ARMMBX_BASE_ADDR+0x20)


#define            ARMMBX_DSP2ARM_INT2_FLAG_INT_POS                            0
#define            ARMMBX_DSP2ARM_INT2_FLAG_INT_NUMB                           1
#define            ARMMBX_DSP2ARM_INT2_FLAG_INT_RES_VAL                        0x0
//R


//ARMMBX_ARM2DSP2
//-------------------
#define            ARMMBX_ARM2DSP2                                             REG16(ARMMBX_BASE_ADDR+0x24)


#define            ARMMBX_ARM2DSP2_ARM2DSP2_POS                                0
#define            ARMMBX_ARM2DSP2_ARM2DSP2_NUMB                               16
#define            ARMMBX_ARM2DSP2_ARM2DSP2_RES_VAL                            0x0
//R/W


//ARMMBX_ARM2DSP2B
//-------------------
#define            ARMMBX_ARM2DSP2B                                            REG16(ARMMBX_BASE_ADDR+0x28)


#define            ARMMBX_ARM2DSP2B_ARM2DSP2B_POS                              0
#define            ARMMBX_ARM2DSP2B_ARM2DSP2B_NUMB                             16
#define            ARMMBX_ARM2DSP2B_ARM2DSP2B_RES_VAL                          0x0
//R/W


//ARMMBX_ARM2DSP_INT2_FLAG
//-------------------
#define            ARMMBX_ARM2DSP_INT2_FLAG                                    REG16(ARMMBX_BASE_ADDR+0x2C)


#define            ARMMBX_ARM2DSP_INT2_FLAG_INT_POS                            0
#define            ARMMBX_ARM2DSP_INT2_FLAG_INT_NUMB                           1
#define            ARMMBX_ARM2DSP_INT2_FLAG_INT_RES_VAL                        0x0
//R

//-------------------------------------------------------------------------------
//
//   GLOBAL TYPES DEFINITION
//
//-------------------------------------------------------------------------------

#define ARMMBX_ARM2DSP_FLAG_MASK           0x0001
#define ARMMBX_DSP2ARM_FLAG_MASK           0x0001

typedef enum
{
  ARM2DSP1 = 0, 
  DSP2ARM1 = 1,
  DSP2ARM2 = 2,
  ARM2DSP2 = 3
} Mailbox_Enum_t;

//-------------------------------------------------------------------------------
//
//  FUNCTIONS
//
//-------------------------------------------------------------------------------

//-------------------------------------------------------------------------------
// NAME        : Mailbox_Write
// DESCRIPTION : Write data to Mailbox registers :
//                 - ARM2DSP1 and ARM2DSP1B if ARM2DSP1_FLAG[0] == 0
//                 - ARM2DSP2 and ARM2DSP2B if ARM2DSP2_FLAG[0] == 0
// PARAMETERS  : Mailbox       ARM2DSP1 or ARM2DSP2
//               Data1         data to first register
//               Data2         data to second register
// RETURN VALUE: TRUE if write done successfully, otherwise FALSE
// LIMITATIONS : None
//-------------------------------------------------------------------------------
BOOL Mailbox_Write(Mailbox_Enum_t Mailbox, UWORD16 Data1, UWORD16 Data2);

//-------------------------------------------------------------------------------
// NAME        : Mailbox_Read
// DESCRIPTION : Read data from Mailbox registers :
//                 - ARM2DSP1 and ARM2DSP1B
//                 - ARM2DSP2 and ARM2DSP2B
//                 - DSP2ARM1 and DSP2ARM1B
//                 - DSP2ARM2 and DSP2ARM2B
// PARAMETERS  : Mailbox       ARM2DSP1, ARM2DSP2, DSP2ARM1 or DSP2ARM2
//               *Ptr1         pointer on data from first register
//               *Ptr2         pointer on data from second register
// RETURN VALUE: None
// LIMITATIONS : None
//-------------------------------------------------------------------------------
void Mailbox_Read(Mailbox_Enum_t Mailbox, UWORD16 *Ptr1, UWORD16 *Ptr2);

//-------------------------------------------------------------------------------
// NAME        : Mailbox_Clear
// DESCRIPTION : Clear the interrupt send by the DSP :
//                 - DSP2ARM_INT1B
//                 - DSP2ARM_INT2B
// PARAMETERS  : Mailbox       DSP2ARM1 or DSP2ARM2
// RETURN VALUE: None
// LIMITATIONS : None
//-------------------------------------------------------------------------------
void Mailbox_Clear(Mailbox_Enum_t Mailbox);

#endif /* _OMAP30_MAILBOX__H_ */


⌨️ 快捷键说明

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