38#define EBI_BASE_ADDR 0x60000000
39#define EBI_MAX_SIZE 0x20000
40#define EBI_TIMEOUT_COUNT 0x10000
43#define EBI_BUSWIDTH_8BIT 8
44#define EBI_BUSWIDTH_16BIT 16
49#define EBI_MCLKDIV_1 0
50#define EBI_MCLKDIV_2 1
51#define EBI_MCLKDIV_4 2
52#define EBI_MCLKDIV_8 3
53#define EBI_MCLKDIV_16 4
54#define EBI_MCLKDIV_32 5
59#define EBI_TIMING_FASTEST 0x0
60#define EBI_TIMING_VERYFAST 0x1
61#define EBI_TIMING_FAST 0x2
62#define EBI_TIMING_NORMAL 0x3
63#define EBI_TIMING_SLOW 0x4
64#define EBI_TIMING_VERYSLOW 0x5
65#define EBI_TIMING_SLOWEST 0x6
85#define EBI_READ_DATA8(Addr) *((volatile unsigned char *)(EBI_BASE_ADDR+Addr))
94#define EBI_WRITE_DATA8(Addr, Data) *((volatile unsigned char *)(EBI_BASE_ADDR+Addr))=Data
102#define EBI_READ_DATA16(Addr) *((volatile unsigned short *)(EBI_BASE_ADDR+Addr))
111#define EBI_WRITE_DATA16(Addr, Data) *((volatile unsigned short *)(EBI_BASE_ADDR+Addr))=Data
119#define EBI_READ_DATA32(Addr) *((volatile unsigned int *)(EBI_BASE_ADDR+Addr))
128#define EBI_WRITE_DATA32(Addr, Data) *((volatile unsigned int *)(EBI_BASE_ADDR+Addr))=Data
134void EBI_Open(uint32_t u32Bank, uint32_t u32DataWidth, uint32_t u32TimingClass, uint32_t u32BusMode, uint32_t u32CSActiveLevel);
136void EBI_SetBusTiming(uint32_t u32Bank, uint32_t u32TimingConfig, uint32_t u32MclkDiv);
void EBI_Open(uint32_t u32Bank, uint32_t u32DataWidth, uint32_t u32TimingClass, uint32_t u32BusMode, uint32_t u32CSActiveLevel)
Initialize and enable EBI.
void EBI_Close(uint8_t u32Bank)
Disable EBI.
void EBI_SetBusTiming(uint32_t u32Bank, uint32_t u32TimingConfig, uint32_t u32MclkDiv)
Set EBI bus timings.