M471M/R1/S BSP V3.01.000
The Board Support Package for M4521
Macros | Functions
Collaboration diagram for EBI Exported Functions:

Macros

#define EBI0_READ_DATA8(u32Addr)   (*((volatile unsigned char *)(EBI_BANK0_BASE_ADDR+(u32Addr))))
 Read 8-bit data on EBI bank0. More...
 
#define EBI0_WRITE_DATA8(u32Addr, u32Data)   (*((volatile unsigned char *)(EBI_BANK0_BASE_ADDR+(u32Addr))) = (u32Data))
 Write 8-bit data to EBI bank0. More...
 
#define EBI0_READ_DATA16(u32Addr)   (*((volatile unsigned short *)(EBI_BANK0_BASE_ADDR+(u32Addr))))
 Read 16-bit data on EBI bank0. More...
 
#define EBI0_WRITE_DATA16(u32Addr, u32Data)   (*((volatile unsigned short *)(EBI_BANK0_BASE_ADDR+(u32Addr))) = (u32Data))
 Write 16-bit data to EBI bank0. More...
 
#define EBI0_READ_DATA32(u32Addr)   (*((volatile unsigned int *)(EBI_BANK0_BASE_ADDR+(u32Addr))))
 Read 32-bit data on EBI bank0. More...
 
#define EBI0_WRITE_DATA32(u32Addr, u32Data)   (*((volatile unsigned int *)(EBI_BANK0_BASE_ADDR+(u32Addr))) = (u32Data))
 Write 32-bit data to EBI bank0. More...
 
#define EBI1_READ_DATA8(u32Addr)   (*((volatile unsigned char *)(EBI_BANK1_BASE_ADDR+(u32Addr))))
 Read 8-bit data on EBI bank1. More...
 
#define EBI1_WRITE_DATA8(u32Addr, u32Data)   (*((volatile unsigned char *)(EBI_BANK1_BASE_ADDR+(u32Addr))) = (u32Data))
 Write 8-bit data to EBI bank1. More...
 
#define EBI1_READ_DATA16(u32Addr)   (*((volatile unsigned short *)(EBI_BANK1_BASE_ADDR+(u32Addr))))
 Read 16-bit data on EBI bank1. More...
 
#define EBI1_WRITE_DATA16(u32Addr, u32Data)   (*((volatile unsigned short *)(EBI_BANK1_BASE_ADDR+(u32Addr))) = (u32Data))
 Write 16-bit data to EBI bank1. More...
 
#define EBI1_READ_DATA32(u32Addr)   (*((volatile unsigned int *)(EBI_BANK1_BASE_ADDR+(u32Addr))))
 Read 32-bit data on EBI bank1. More...
 
#define EBI1_WRITE_DATA32(u32Addr, u32Data)   (*((volatile unsigned int *)(EBI_BANK1_BASE_ADDR+(u32Addr))) = (u32Data))
 Write 32-bit data to EBI bank1. More...
 

Functions

void EBI_Open (uint32_t u32Bank, uint32_t u32DataWidth, uint32_t u32TimingClass, uint32_t u32BusMode, uint32_t u32CSActiveLevel)
 Initialize EBI for specify Bank. More...
 
void EBI_Close (uint32_t u32Bank)
 Disable EBI on specify Bank. More...
 
void EBI_SetBusTiming (uint32_t u32Bank, uint32_t u32TimingConfig, uint32_t u32MclkDiv)
 Set EBI Bus Timing for specify Bank. More...
 

Detailed Description

Macro Definition Documentation

◆ EBI0_READ_DATA16

#define EBI0_READ_DATA16 (   u32Addr)    (*((volatile unsigned short *)(EBI_BANK0_BASE_ADDR+(u32Addr))))

Read 16-bit data on EBI bank0.

Parameters
[in]u32AddrThe data address on EBI bank0.
Returns
16-bit Data

This macro is used to read 16-bit data from specify address on EBI bank0.

Definition at line 110 of file ebi.h.

◆ EBI0_READ_DATA32

#define EBI0_READ_DATA32 (   u32Addr)    (*((volatile unsigned int *)(EBI_BANK0_BASE_ADDR+(u32Addr))))

Read 32-bit data on EBI bank0.

Parameters
[in]u32AddrThe data address on EBI bank0.
Returns
32-bit Data

This macro is used to read 32-bit data from specify address on EBI bank0.

Definition at line 133 of file ebi.h.

◆ EBI0_READ_DATA8

#define EBI0_READ_DATA8 (   u32Addr)    (*((volatile unsigned char *)(EBI_BANK0_BASE_ADDR+(u32Addr))))

Read 8-bit data on EBI bank0.

Parameters
[in]u32AddrThe data address on EBI bank0.
Returns
8-bit Data

This macro is used to read 8-bit data from specify address on EBI bank0.

Definition at line 87 of file ebi.h.

◆ EBI0_WRITE_DATA16

#define EBI0_WRITE_DATA16 (   u32Addr,
  u32Data 
)    (*((volatile unsigned short *)(EBI_BANK0_BASE_ADDR+(u32Addr))) = (u32Data))

Write 16-bit data to EBI bank0.

Parameters
[in]u32AddrThe data address on EBI bank0.
[in]u32DataSpecify data to be written.
Returns
None

This macro is used to write 16-bit data to specify address on EBI bank0.

Definition at line 122 of file ebi.h.

◆ EBI0_WRITE_DATA32

#define EBI0_WRITE_DATA32 (   u32Addr,
  u32Data 
)    (*((volatile unsigned int *)(EBI_BANK0_BASE_ADDR+(u32Addr))) = (u32Data))

Write 32-bit data to EBI bank0.

Parameters
[in]u32AddrThe data address on EBI bank0.
[in]u32DataSpecify data to be written.
Returns
None

This macro is used to write 32-bit data to specify address on EBI bank0.

Definition at line 145 of file ebi.h.

◆ EBI0_WRITE_DATA8

#define EBI0_WRITE_DATA8 (   u32Addr,
  u32Data 
)    (*((volatile unsigned char *)(EBI_BANK0_BASE_ADDR+(u32Addr))) = (u32Data))

Write 8-bit data to EBI bank0.

Parameters
[in]u32AddrThe data address on EBI bank0.
[in]u32DataSpecify data to be written.
Returns
None

This macro is used to write 8-bit data to specify address on EBI bank0.

Definition at line 99 of file ebi.h.

◆ EBI1_READ_DATA16

#define EBI1_READ_DATA16 (   u32Addr)    (*((volatile unsigned short *)(EBI_BANK1_BASE_ADDR+(u32Addr))))

Read 16-bit data on EBI bank1.

Parameters
[in]u32AddrThe data address on EBI bank1.
Returns
16-bit Data

This macro is used to read 16-bit data from specify address on EBI bank1.

Definition at line 179 of file ebi.h.

◆ EBI1_READ_DATA32

#define EBI1_READ_DATA32 (   u32Addr)    (*((volatile unsigned int *)(EBI_BANK1_BASE_ADDR+(u32Addr))))

Read 32-bit data on EBI bank1.

Parameters
[in]u32AddrThe data address on EBI bank1.
Returns
32-bit Data

This macro is used to read 32-bit data from specify address on EBI bank1.

Definition at line 202 of file ebi.h.

◆ EBI1_READ_DATA8

#define EBI1_READ_DATA8 (   u32Addr)    (*((volatile unsigned char *)(EBI_BANK1_BASE_ADDR+(u32Addr))))

Read 8-bit data on EBI bank1.

Parameters
[in]u32AddrThe data address on EBI bank1.
Returns
8-bit Data

This macro is used to read 8-bit data from specify address on EBI bank1.

Definition at line 156 of file ebi.h.

◆ EBI1_WRITE_DATA16

#define EBI1_WRITE_DATA16 (   u32Addr,
  u32Data 
)    (*((volatile unsigned short *)(EBI_BANK1_BASE_ADDR+(u32Addr))) = (u32Data))

Write 16-bit data to EBI bank1.

Parameters
[in]u32AddrThe data address on EBI bank1.
[in]u32DataSpecify data to be written.
Returns
None

This macro is used to write 16-bit data to specify address on EBI bank1.

Definition at line 191 of file ebi.h.

◆ EBI1_WRITE_DATA32

#define EBI1_WRITE_DATA32 (   u32Addr,
  u32Data 
)    (*((volatile unsigned int *)(EBI_BANK1_BASE_ADDR+(u32Addr))) = (u32Data))

Write 32-bit data to EBI bank1.

Parameters
[in]u32AddrThe data address on EBI bank1.
[in]u32DataSpecify data to be written.
Returns
None

This macro is used to write 32-bit data to specify address on EBI bank1.

Definition at line 214 of file ebi.h.

◆ EBI1_WRITE_DATA8

#define EBI1_WRITE_DATA8 (   u32Addr,
  u32Data 
)    (*((volatile unsigned char *)(EBI_BANK1_BASE_ADDR+(u32Addr))) = (u32Data))

Write 8-bit data to EBI bank1.

Parameters
[in]u32AddrThe data address on EBI bank1.
[in]u32DataSpecify data to be written.
Returns
None

This macro is used to write 8-bit data to specify address on EBI bank1.

Definition at line 168 of file ebi.h.

Function Documentation

◆ EBI_Close()

void EBI_Close ( uint32_t  u32Bank)

Disable EBI on specify Bank.

Parameters
[in]u32BankBank number for EBI. Valid values are:
Returns
none

This function is used to close specify EBI function.

Definition at line 134 of file ebi.c.

◆ EBI_Open()

void EBI_Open ( uint32_t  u32Bank,
uint32_t  u32DataWidth,
uint32_t  u32TimingClass,
uint32_t  u32BusMode,
uint32_t  u32CSActiveLevel 
)

Initialize EBI for specify Bank.

Parameters
[in]u32BankBank number for EBI. Valid values are:
[in]u32DataWidthData bus width. Valid values are:
[in]u32TimingClassDefault timing configuration. Valid values are:
[in]u32BusModeEnable EBI separate mode. This parameter is current not used.
[in]u32CSActiveLevelCS is active High/Low. Valid values are:
Returns
none

This function is used to open specify EBI bank with different bus width, timing setting and
active level of CS pin to access EBI device.

Note
Write Buffer Enable(WBUFEN) and Extend Time Of ALE(TALE) are only available in EBI bank0 control register.

Definition at line 51 of file ebi.c.

◆ EBI_SetBusTiming()

void EBI_SetBusTiming ( uint32_t  u32Bank,
uint32_t  u32TimingConfig,
uint32_t  u32MclkDiv 
)

Set EBI Bus Timing for specify Bank.

Parameters
[in]u32BankBank number for EBI. Valid values are:
[in]u32TimingConfigConfigure EBI timing settings, includes TACC, TAHD, W2X and R2R setting.
[in]u32MclkDivDivider for MCLK. Valid values are:
Returns
none

This function is used to configure specify EBI bus timing for access EBI device.

Definition at line 160 of file ebi.c.