📄 gdma_omap32.h
字号:
#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 + -