55void EBI_Open(uint32_t u32Bank, uint32_t u32DataWidth, uint32_t u32TimingClass, uint32_t u32BusMode, uint32_t u32CSActiveLevel)
57 volatile uint32_t *pu32EBICTL = (uint32_t *)((uint32_t)&
EBI->CTL0 + (u32Bank * 0x10));
58 volatile uint32_t *pu32EBITCTL = (uint32_t *)((uint32_t)&
EBI->TCTL0 + (u32Bank * 0x10));
61 *pu32EBICTL &= ~EBI_CTL0_DW16_Msk;
65 switch(u32TimingClass)
79 *pu32EBITCTL = 0x03003318;
94 *pu32EBITCTL = 0x03003318;
102 *pu32EBITCTL = 0x07007738;
110 *pu32EBITCTL = 0x07007738;
118 *pu32EBITCTL = 0x07007738;
122 *pu32EBICTL &= ~EBI_CTL0_EN_Msk;
140 volatile uint32_t *pu32EBICTL = (uint32_t *)((uint32_t)&
EBI->CTL0 + (u32Bank * 0x10));
142 *pu32EBICTL &= ~EBI_CTL0_EN_Msk;
166 volatile uint32_t *pu32EBICTL = (uint32_t *)((uint32_t)&
EBI->CTL0 + (u32Bank * 0x10));
167 volatile uint32_t *pu32EBITCTL = (uint32_t *)((uint32_t)&
EBI->TCTL0 + (u32Bank * 0x10));
170 *pu32EBITCTL = u32TimingConfig;
#define EBI_CTL0_TALE_Msk
#define EBI_CTL0_CSPOLINV_Pos
#define EBI_CTL0_TALE_Pos
#define EBI_CTL0_MCLKDIV_Msk
#define EBI_CTL0_DW16_Msk
#define EBI_CTL0_MCLKDIV_Pos
#define EBI_TIMING_VERYFAST
#define EBI_TIMING_FASTEST
#define EBI_BUSWIDTH_8BIT
#define EBI_TIMING_VERYSLOW
#define EBI_TIMING_NORMAL
#define EBI_TIMING_SLOWEST
void EBI_Close(uint32_t u32Bank)
Disable EBI on specify Bank.
void EBI_Open(uint32_t u32Bank, uint32_t u32DataWidth, uint32_t u32TimingClass, uint32_t u32BusMode, uint32_t u32CSActiveLevel)
Initialize EBI for specify Bank.
void EBI_SetBusTiming(uint32_t u32Bank, uint32_t u32TimingConfig, uint32_t u32MclkDiv)
Set EBI Bus Timing for specify Bank.