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

📄 gdma_omap32.h

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 H
📖 第 1 页 / 共 2 页
字号:
#define     DMA_LCD_SRC_EI_B1_NUMB        16
#define     DMA_LCD_SRC_EI_B1_MASK        0x0000FFFF

//DMA_LCD_SRC_EI_B2 
//---------------------------------------
#define     DMA_LCD_SRC_EI_B2_POS         0
#define     DMA_LCD_SRC_EI_B2_NUMB        16
#define     DMA_LCD_SRC_EI_B2_MASK        0x0000FFFF

//DMA_LCD_SRC_FI_B1 
//---------------------------------------
#define     DMA_LCD_SRC_FI_B1_POS         0
#define     DMA_LCD_SRC_FI_B1_NUMB        16
#define     DMA_LCD_SRC_FI_B1_MASK        0x0000FFFF

//DMA_LCD_SRC_FI_B2 
//---------------------------------------
#define     DMA_LCD_SRC_FI_B2_POS         0
#define     DMA_LCD_SRC_FI_B2_NUMB        16
#define     DMA_LCD_SRC_FI_B2_MASK        0x0000FFFF

//DMA_LCD_SRC_EN_B1 
//---------------------------------------
#define     DMA_LCD_SRC_EN_B1_POS         0
#define     DMA_LCD_SRC_EN_B1_NUMB        16
#define     DMA_LCD_SRC_EN_B1_MASK        0x0000FFFF

//DMA_LCD_SRC_EN_B2 
//---------------------------------------
#define     DMA_LCD_SRC_EN_B2_POS         0
#define     DMA_LCD_SRC_EN_B2_NUMB        16
#define     DMA_LCD_SRC_EN_B2_MASK        0x0000FFFF

//DMA_LCD_SRC_FN_B1 
//---------------------------------------
#define     DMA_LCD_SRC_FN_B1_POS         0
#define     DMA_LCD_SRC_FN_B1_NUMB        16
#define     DMA_LCD_SRC_FN_B1_MASK        0x0000FFFF

//DMA_LCD_SRC_FN_B2 
//---------------------------------------
#define     DMA_LCD_SRC_FN_B2_POS         0
#define     DMA_LCD_SRC_FN_B2_NUMB        16
#define     DMA_LCD_SRC_FN_B2_MASK        0x0000FFFF

//DMA_LCD_SRC_FI_HI_B1 
//---------------------------------------
#define     DMA_LCD_SRC_FI_HI_B1_POS         0
#define     DMA_LCD_SRC_FI_HI_B1_NUMB        16
#define     DMA_LCD_SRC_FI_HI_B1_MASK        0xFFFF0000

//DMA_LCD_SRC_FI_HI_B2 
//---------------------------------------
#define     DMA_LCD_SRC_FI_HI_B2_POS         0
#define     DMA_LCD_SRC_FI_HI_B2_NUMB        16
#define     DMA_LCD_SRC_FI_HI_B2_MASK        0xFFFF0000

// ----------------------------------------------------------
//   LCD Channel DMA descriptor structure
// ----------------------------------------------------------
typedef struct
{

   //DMA LCD CSDP
   //--------------------
  BIT    TypeSize_B1:2;
  BIT    B1_Pack:1;
  BIT    B1_Burst:2;
  BIT    TypeSize_B2:2;
  BIT    B2_Pack:1;
  BIT    B2_Burst:2;

   //DMA LCD CCR
   //--------------------
  BIT    Priority:1;
  BIT    Enable:1;
  BIT    Autoinit:1;
  BIT    Repeat:1;
  BIT    EndProg:1;
  BIT    OMAP31Disable:1;
  BIT    B1AddressMode:2;
  BIT    B2AddressMode:2;

   //DMA_LCD_CTRL
   //--------------------
  BIT    FrameMode:1;
  BIT    FrameItIe:1;
  BIT    BusErrorItIe:1;
  BIT    Frame1ItCond:1;
  BIT    Frame2ItCond:1;
  BIT    BusErrorItCond:1;
  BIT    LcdSrc:2;
  BIT    LcdDest:1;

   //Reserved
   //-----------------------
  UWORD32    LcdReserved1;

   //DMA_LCD_TOP_B1
   //-----------------------
  UWORD32    LcdTopB1;

   //DMA_LCD_BOT_B1
   //-----------------------
  UWORD32    LcdBotB1;

   //DMA_LCD_TOP_B2
   //-----------------------
  UWORD32    LcdTopB2;

   //DMA_LCD_BOT_B2
   //-----------------------
  UWORD32    LcdBotB2;

   //DMA_LCD_SRC_EI_B1
   //-----------------------
  UWORD16    LcdSrcEI_B1;

   //DMA_LCD_SRC_FI_B1
   //-----------------------
  UWORD32    LcdSrcFI_B1;

   //DMA_LCD_SRC_EN_B1
   //-----------------------
  UWORD16    LcdSrcEN_B1;

   //DMA_LCD_SRC_FN_B1
   //-----------------------
  UWORD16    LcdSrcFN_B1;
  
   //DMA_LCD_SRC_EI_2
   //-----------------------
  UWORD16    LcdSrcEI_B2;

   //DMA_LCD_SRC_FI_B2
   //-----------------------
  UWORD32    LcdSrcFI_B2;

   //DMA_LCD_SRC_EN_B2
   //-----------------------
  UWORD16    LcdSrcEN_B2;

   //DMA_LCD_SRC_FN_B2
   //-----------------------
  UWORD16    LcdSrcFN_B2;
  
  UWORD16    Pattern;

}
LCD_CHANNEL_DESCRIPTOR_OMAP32 ;


// ----------------------------------------------------------
//  Complete DMA Structure
// ----------------------------------------------------------
typedef struct
{

   //Global register
   //--------------------
  BIT   Autogating_on:1;
  BIT   Free:1;

  CHANNEL_DESCRIPTOR_OMAP32     DmaChannel[DMA_NUMBER_OF_CHANNEL_OMAP32];
  LCD_CHANNEL_DESCRIPTOR_OMAP32 LcdChannel;

}
DMA_SYSTEM_STRUCT_OMAP32;

//-------------------------------------------------------------------------------
// NAME         : SDMA_SetupSystemDma       
//
// DESCRIPTION  : Init the SystemDma Structure and Set The debugging mode
//
// PARAMETERS   : WithOrWithoutFree            DMA_FREE_RUNNING
//                                        DMA_SUSPEND_RUNNING 
//
// RETURN VALUE : None
//
//--------------------------------------------------------------------------------
extern void DMA_Omap32SetupSystemDma(BOOL WithOrWithoutFree );

//-------------------------------------------------------------------------------
// NAME         : DMA_Omap31DisableMapping       
//
// DESCRIPTION  : disable the omap3.1 mapping
//
// PARAMETERS   : disable (BOOLEAN)    = 1 => 3.1 mapping disabled
//                                     = 0 => 3.1 mapping enabled 
//
// RETURN VALUE : None
//
//--------------------------------------------------------------------------------
extern void DMA_Omap31DisableMapping(BOOL disable );

//-------------------------------------------------------------------------------
// NAME         : DMA_Omap32SetupChannel       
//
// DESCRIPTION  : Copy the channel structure at the right place in the registers of the
//                specified channel
//
// PARAMETERS   : ChannelNumber
//
// RETURN VALUE : None
//
//--------------------------------------------------------------------------------
extern void DMA_Omap32SetupChannel(UWORD16 ChannelNumber);

//-------------------------------------------------------------------------------
// NAME         : DMA_ReadGlobalReg       
//
// DESCRIPTION  : Read the contents of the global register
//
// PARAMETERS   : None
//
// RETURN VALUE : None
//
//--------------------------------------------------------------------------------
extern void DMA_ReadGlobalReg(GLOBAL_REGISTER* Global);

//-------------------------------------------------------------------------------
// NAME         : DMA_VerifyIfPossible       
//
// DESCRIPTION  : Verify if the setup is compliant with a possible transfert
//
//
// PARAMETERS   : ChannelNumber
//
// RETURN VALUE : YES or NO
//
//--------------------------------------------------------------------------------
extern BOOL DMA_VerifyIfPossible_OMAP32(UWORD16 ChannelNumber);

//-------------------------------------------------------------------------------
// NAME         : DMA_Omap32ReadChannel       
//
// DESCRIPTION  : Copy the DMA registers in the structure
//
// PARAMETERS   : ChannelNumber
//
// RETURN VALUE : None
//
//--------------------------------------------------------------------------------
extern void DMA_Omap32ReadChannel(UWORD16 ChannelNumber);

//-------------------------------------------------------------------------------
// NAME         : DMA_GetCondBitsInterrupt       
//
// DESCRIPTION  : Get back the condition bits of the specified channel
//
// PARAMETERS   : ChannelNumber
//
// RETURN VALUE : None
//
//--------------------------------------------------------------------------------
extern void DMA_Omap32GetCondBitsInterrupt(UWORD16 ChannelNumber);

//-------------------------------------------------------------------------------
// NAME         : DMAClearInterruptSource_OMAP32       
//
// DESCRIPTION  : Clear interrupt bits of the specified channel
//
// PARAMETERS   : ChannelNumber
//
// RETURN VALUE : None
//
//--------------------------------------------------------------------------------
extern void DMA_Omap32ClearInterruptSource(UWORD16 ChannelNumber);

//-------------------------------------------------------------------------------
// NAME         : DMA_EnableChannel       
//
// DESCRIPTION  : Enable the specified channel
//
// PARAMETERS   : ChannelNumber
//
// RETURN VALUE : None
//
//--------------------------------------------------------------------------------
extern void DMA_Omap32EnableChannel(UWORD16 ChannelNumber);

//-------------------------------------------------------------------------------
// NAME         : DMA_Omap32DisableChaining       
//
// DESCRIPTION  : Disable the chaining on specified channel
//
// PARAMETERS   : ChannelNumber
//
// RETURN VALUE : None
//
//--------------------------------------------------------------------------------
extern void DMA_Omap32DisableChaining(UWORD16 ChannelNumber);

//-------------------------------------------------------------------------------
// NAME         : DMA_Omap32EnableIntFlags
//
// DESCRIPTION  : Setup interrupt flags in the channel structure specified
//
// PARAMETERS   : ChannelNumber
//
// PARAMETERS   : TimeoutIntEnable    ENABLE or DISABLE
//                DropIntEnable               "
//                HalfFrameIntEnable          "
//                FrameIntEnable              "
//                LastFrameIntEnable          "
//                BlockIntEnable              "
//
// RETURN VALUE : IS_OK or NOT_OK if something fail
//
//--------------------------------------------------------------------------------
extern void DMA_Omap32EnableIntFlags(UWORD16 ChannelNumber,
                                      UWORD32 TimeoutIntEnable,
                                      UWORD32 DropIntEnable,
                                      UWORD32 HalfFrameIntEnable,
                                      UWORD32 FrameIntEnable,
                                      UWORD32 LastFrameIntEnable,
                                      UWORD32 BlockIntEnable);

//-------------------------------------------------------------------------------
// NAME         : DMA_Omap32EnableLcdIntFlags       
//
// DESCRIPTION  : Setup interrupt flags in the channel structure specified
//                
// PARAMETERS   : FrameItIe          ENABLE or DISABLE
//                BusErrorItIe                "
//
// RETURN VALUE : IS_OK or NOT_OK if something fail
//
//--------------------------------------------------------------------------------

extern void DMA_Omap32EnableLcdIntFlags (UWORD32 FrameItIe,
                                          UWORD32 BusErrorItIe);
//-------------------------------------------------------------------------------
// NAME         : DMA_ConfigInt 
//
// DESCRIPTION  : Configure the DMA interrupts prior to transfer
//
// PARAMETERS  :     ChannelNumb
//
// RETURN VALUE : None
//
//-------------------------------------------------------------------------------- 
extern void DMA_Omap32ConfigInt(UWORD16 ChannelNumb); 

//-------------------------------------------------------------------------------
// NAME         : DMA_Omap32DisableInt
//
// DESCRIPTION  : Disable the DMA interrupts after the transfer
//
// PARAMETERS  :     ChannelNumb
//
// RETURN VALUE : None
//
//-------------------------------------------------------------------------------- 
extern void DMA_Omap32DisableInt(UWORD16 ChannelNumb); 

//-------------------------------------------------------------------------------
// NAME         : DMA_Omap32SetCdfi
//
// DESCRIPTION  : Set the destination frame index
//
// PARAMETERS  :     ChannelNumb
//
// RETURN VALUE : None
//
//-------------------------------------------------------------------------------- 
extern void DMA_Omap32SetCdfi (UWORD16 ChannelNumber,
                                short int CDFI); 

//-------------------------------------------------------------------------------
// NAME         : DMA_InitMemCore
//
// DESCRIPTION  : Initialize the DMA memory cores 
//
// PARAMETERS  :  UWORD16 value 
//
// RETURN VALUE : None
//
//-------------------------------------------------------------------------------- 
extern void DMA_InitMemCore(UWORD16 value); 

//-------------------------------------------------------------------------------
// NAME         : DMA_Set_BIST
//
// DESCRIPTION  : Set the CPU BIST bit in the test register
//
// PARAMETERS  :  None
//
// RETURN VALUE : None
//
//-------------------------------------------------------------------------------- 
extern void DMA_Set_BIST(void);
  
//-------------------------------------------------------------------------------
// NAME         : DMA_Reset_BIST
//
// DESCRIPTION  : Reset the CPU BIST bit in the test register
//
// PARAMETERS  :  None 
//
// RETURN VALUE : None
//
//-------------------------------------------------------------------------------- 
extern void DMA_Reset_BIST(void);
  
//-------------------------------------------------------------------------------
// NAME         : DMA_BistMemsel
//
// DESCRIPTION  : Select the memory block to test
//
// PARAMETERS   : int memory block
//
// RETURN VALUE : None
//
//-------------------------------------------------------------------------------- 
extern void DMA_BistMemsel(int mem_block);
  
//-------------------------------------------------------------------------------
// NAME         : DMA_Omap32LcdChannelHandler
//
// DESCRIPTION  : Interrupt service handler for the LCD Channel interrupts
//
// PARAMETERS   : pointers to counters for each of the 3 interrupt conditions
//
// RETURN VALUE : None
//
//-------------------------------------------------------------------------------- 

extern void DMA_Omap32LcdChannelHandler(UWORD8 *block1_end_counter,
                                         UWORD8 *block2_end_counter,
				         UWORD8 *bus_error_counter,
				         UWORD8 *unknown_counter);

//-------------------------------------------------------------------------------
// NAME         : LCDSharedhandler_OMAP32
//
// DESCRIPTION  : Interrupt service handler for the LCD Controller interrupts
//
// PARAMETERS   : pointers to counters for each of the 7 interrupt conditions
//
// RETURN VALUE : None
//
//-------------------------------------------------------------------------------- 

extern void DMA_Omap32LcdSharedHandler (UWORD8 *lcd_done_counter,
                                         UWORD8 *lcd_vs_counter,
                                         UWORD8 *lcd_sync_counter,
                                         UWORD8 *lcd_acbias_counter,
                                         UWORD8 *lcd_lineint_counter,
                                         UWORD8 *lcd_fifounderflow_counter,
                                         UWORD8 *lcd_pl_counter,
                                         UWORD8 *unknown_counter);


#endif /* __GDMA_OMAP32_H__ */

⌨️ 快捷键说明

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