EBI External Bus Interface (EBI) Peripheral API. More...
![]() |
Data Structures | |
struct | EBI_Init_TypeDef |
struct | EBI_TFTInit_TypeDef |
Defines | |
#define | EBI_BANK0 (uint32_t)(1 << 1) |
#define | EBI_BANK1 (uint32_t)(1 << 2) |
#define | EBI_BANK2 (uint32_t)(1 << 3) |
#define | EBI_BANK3 (uint32_t)(1 << 4) |
#define | EBI_CS0 (uint32_t)(1 << 1) |
#define | EBI_CS1 (uint32_t)(1 << 2) |
#define | EBI_CS2 (uint32_t)(1 << 3) |
#define | EBI_CS3 (uint32_t)(1 << 4) |
#define | EBI_INIT_DEFAULT |
#define | EBI_TFTINIT_DEFAULT |
Enumerations | |
enum | EBI_Mode_TypeDef { ebiModeD8A8 = EBI_CTRL_MODE_D8A8, ebiModeD16A16ALE = EBI_CTRL_MODE_D16A16ALE, ebiModeD8A24ALE = EBI_CTRL_MODE_D8A24ALE, ebiModeD16 = EBI_CTRL_MODE_D16 } |
enum | EBI_Polarity_TypeDef { ebiActiveLow = 0, ebiActiveHigh = 1 } |
enum | EBI_Line_TypeDef { ebiLineARDY, ebiLineALE, ebiLineWE, ebiLineRE, ebiLineCS, ebiLineBL, ebiLineTFTVSync, ebiLineTFTHSync, ebiLineTFTDataEn, ebiLineTFTDClk, ebiLineTFTCS } |
enum | EBI_ALow_TypeDef { ebiALowA0 = EBI_ROUTE_ALB_A0, ebiALowA8 = EBI_ROUTE_ALB_A8, ebiALowA16 = EBI_ROUTE_ALB_A16, ebiALowA24 = EBI_ROUTE_ALB_A24 } |
enum | EBI_AHigh_TypeDef { ebiAHighA0 = EBI_ROUTE_APEN_A0, ebiAHighA5 = EBI_ROUTE_APEN_A5, ebiAHighA6 = EBI_ROUTE_APEN_A6, ebiAHighA7 = EBI_ROUTE_APEN_A7, ebiAHighA8 = EBI_ROUTE_APEN_A8, ebiAHighA9 = EBI_ROUTE_APEN_A9, ebiAHighA10 = EBI_ROUTE_APEN_A10, ebiAHighA11 = EBI_ROUTE_APEN_A11, ebiAHighA12 = EBI_ROUTE_APEN_A12, ebiAHighA13 = EBI_ROUTE_APEN_A13, ebiAHighA14 = EBI_ROUTE_APEN_A14, ebiAHighA15 = EBI_ROUTE_APEN_A15, ebiAHighA16 = EBI_ROUTE_APEN_A16, ebiAHighA17 = EBI_ROUTE_APEN_A17, ebiAHighA18 = EBI_ROUTE_APEN_A18, ebiAHighA19 = EBI_ROUTE_APEN_A19, ebiAHighA20 = EBI_ROUTE_APEN_A20, ebiAHighA21 = EBI_ROUTE_APEN_A21, ebiAHighA22 = EBI_ROUTE_APEN_A22, ebiAHighA23 = EBI_ROUTE_APEN_A23, ebiAHighA24 = EBI_ROUTE_APEN_A24, ebiAHighA25 = EBI_ROUTE_APEN_A25, ebiAHighA26 = EBI_ROUTE_APEN_A26, ebiAHighA27 = EBI_ROUTE_APEN_A27, ebiAHighA28 = EBI_ROUTE_APEN_A28 } |
enum | EBI_Location_TypeDef { ebiLocation0 = EBI_ROUTE_LOCATION_LOC0, ebiLocation1 = EBI_ROUTE_LOCATION_LOC1, ebiLocation2 = EBI_ROUTE_LOCATION_LOC2 } |
enum | EBI_TFTBank_TypeDef { ebiTFTBank0 = EBI_TFTCTRL_BANKSEL_BANK0, ebiTFTBank1 = EBI_TFTCTRL_BANKSEL_BANK1, ebiTFTBank2 = EBI_TFTCTRL_BANKSEL_BANK2, ebiTFTBank3 = EBI_TFTCTRL_BANKSEL_BANK3 } |
enum | EBI_TFTColorSrc_TypeDef { ebiTFTColorSrcMem = EBI_TFTCTRL_COLOR1SRC_MEM, ebiTFTColorSrcPixel1 = EBI_TFTCTRL_COLOR1SRC_PIXEL1 } |
enum | EBI_TFTInterleave_TypeDef { ebiTFTInterleaveUnlimited = EBI_TFTCTRL_INTERLEAVE_UNLIMITED, ebiTFTInterleaveOnePerDClk = EBI_TFTCTRL_INTERLEAVE_ONEPERDCLK, ebiTFTInterleavePorch = EBI_TFTCTRL_INTERLEAVE_PORCH } |
enum | EBI_TFTFrameBufTrigger_TypeDef { ebiTFTFrameBufTriggerVSync = EBI_TFTCTRL_FBCTRIG_VSYNC, ebiTFTFrameBufTriggerHSync = EBI_TFTCTRL_FBCTRIG_HSYNC } |
enum | EBI_TFTMaskBlend_TypeDef { ebiTFTMBDisabled = EBI_TFTCTRL_MASKBLEND_DISABLED, ebiTFTMBIMask = EBI_TFTCTRL_MASKBLEND_IMASK, ebiTFTMBIAlpha = EBI_TFTCTRL_MASKBLEND_IALPHA, ebiTFTMBIMaskAlpha = EBI_TFTCTRL_MASKBLEND_IMASKIALPHA, ebiTFTMBEMask = EBI_TFTCTRL_MASKBLEND_EMASK, ebiTFTMBEAlpha = EBI_TFTCTRL_MASKBLEND_EALPHA, ebiTFTMBEMaskAlpha = EBI_TFTCTRL_MASKBLEND_EMASKEALPHA } |
enum | EBI_TFTDDMode_TypeDef { ebiTFTDDModeDisabled = EBI_TFTCTRL_DD_DISABLED, ebiTFTDDModeInternal = EBI_TFTCTRL_DD_INTERNAL, ebiTFTDDModeExternal = EBI_TFTCTRL_DD_EXTERNAL } |
enum | EBI_TFTWidth_TypeDef { ebiTFTWidthByte = EBI_TFTCTRL_WIDTH_BYTE, ebiTFTWidthHalfWord = EBI_TFTCTRL_WIDTH_HALFWORD } |
Functions | |
void | EBI_Init (const EBI_Init_TypeDef *ebiInit) |
Configure and enable External Bus Interface. | |
void | EBI_Disable (void) |
Disable External Bus Interface. | |
uint32_t | EBI_BankAddress (uint32_t bank) |
Return base address of EBI bank. | |
void | EBI_BankEnable (uint32_t banks, bool enable) |
Enable or disable EBI Bank. | |
void | EBI_TFTInit (const EBI_TFTInit_TypeDef *ebiTFTInit) |
Configure and initialize TFT Direct Drive. | |
void | EBI_TFTSizeSet (uint32_t horizontal, uint32_t vertical) |
Configure and initialize TFT size settings. | |
void | EBI_TFTHPorchSet (int front, int back, int pulseWidth) |
Configure and initialize Horizontal Porch Settings. | |
void | EBI_TFTVPorchSet (int front, int back, int pulseWidth) |
Configure Vertical Porch Settings. | |
void | EBI_TFTTimingSet (int dclkPeriod, int start, int setup, int hold) |
Configure TFT Direct Drive Timing Settings. | |
void | EBI_BankReadTimingSet (uint32_t banks, int setupCycles, int strobeCycles, int holdCycles) |
Configure timing values of read bus accesses. | |
void | EBI_BankReadTimingConfig (uint32_t banks, bool pageMode, bool prefetch, bool halfRE) |
Configure read operation parameters for selected bank. | |
void | EBI_BankWriteTimingSet (uint32_t banks, int setupCycles, int strobeCycles, int holdCycles) |
Configure timing values of write bus accesses. | |
void | EBI_BankWriteTimingConfig (uint32_t banks, bool writeBufDisable, bool halfWE) |
Configure write operation parameters for selected bank. | |
void | EBI_BankAddressTimingSet (uint32_t banks, int setupCycles, int holdCycles) |
Configure timing values of address latch bus accesses. | |
void | EBI_BankAddressTimingConfig (uint32_t banks, bool halfALE) |
Configure address operation parameters for selected bank. | |
void | EBI_BankPolaritySet (uint32_t banks, EBI_Line_TypeDef line, EBI_Polarity_TypeDef polarity) |
Configure EBI pin polarity for selected bank(s) for devices with individual timing support. | |
void | EBI_BankByteLaneEnable (uint32_t banks, bool enable) |
Configure Byte Lane Enable for select banks timing support. | |
void | EBI_AltMapEnable (bool enable) |
Configure Alternate Address Map support Enables or disables 256MB address range for all banks. | |
__STATIC_INLINE void | EBI_TFTEnable (EBI_TFTDDMode_TypeDef mode) |
Enable or disable TFT Direct Drive. | |
__STATIC_INLINE void | EBI_TFTFrameBaseSet (uint32_t address) |
Configure frame buffer pointer. | |
__STATIC_INLINE void | EBI_TFTPixelSet (int pixel, uint32_t color) |
Set TFT Pixel Color 0 or 1. | |
__STATIC_INLINE void | EBI_TFTMaskBlendMode (EBI_TFTMaskBlend_TypeDef maskBlend) |
Masking and Blending Mode Set. | |
__STATIC_INLINE void | EBI_TFTAlphaBlendSet (uint8_t alpha) |
Set TFT Alpha Blending Factor. | |
__STATIC_INLINE void | EBI_TFTMaskSet (uint32_t mask) |
Set TFT mask value Data accesses that matches this value are suppressed. | |
__STATIC_INLINE uint32_t | EBI_TFTVCount (void) |
Get current vertical position counter. | |
__STATIC_INLINE uint32_t | EBI_TFTHCount (void) |
Get current horizontal position counter. | |
__STATIC_INLINE void | EBI_TFTFBTriggerSet (EBI_TFTFrameBufTrigger_TypeDef sync) |
Set Frame Buffer Trigger. | |
__STATIC_INLINE void | EBI_TFTHStrideSet (uint32_t nbytes) |
Set horizontal TFT stride value in number of bytes. | |
__STATIC_INLINE void | EBI_IntClear (uint32_t flags) |
Clear one or more pending EBI interrupts. | |
__STATIC_INLINE void | EBI_IntSet (uint32_t flags) |
Set one or more pending EBI interrupts from SW. | |
__STATIC_INLINE void | EBI_IntDisable (uint32_t flags) |
Disable one or more EBI interrupts. | |
__STATIC_INLINE void | EBI_IntEnable (uint32_t flags) |
Enable one or more EBI interrupts. | |
__STATIC_INLINE uint32_t | EBI_IntGet (void) |
Get pending EBI interrupt flags. | |
__STATIC_INLINE void | EBI_StartNandEccGen (void) |
Start ECC generator on NAND flash transfers. | |
__STATIC_INLINE uint32_t | EBI_StopNandEccGen (void) |
Stop NAND flash ECC generator and return generated ECC. | |
void | EBI_ChipSelectEnable (uint32_t cs, bool enable) |
Enable or disable EBI Chip Select. | |
void | EBI_ReadTimingSet (int setupCycles, int strobeCycles, int holdCycles) |
Configure timing values of read bus accesses. | |
void | EBI_WriteTimingSet (int setupCycles, int strobeCycles, int holdCycles) |
Configure timing values of write bus accesses. | |
void | EBI_AddressTimingSet (int setupCycles, int holdCycles) |
Configure timing values of address latch bus accesses. | |
void | EBI_PolaritySet (EBI_Line_TypeDef line, EBI_Polarity_TypeDef polarity) |
Configure EBI pin polarity. |
EBI External Bus Interface (EBI) Peripheral API.
#define EBI_BANK0 (uint32_t)(1 << 1) |
* * --------- --------- * | EBI | /| |\ | Ext. | * | | / --------- \ | Async | * |(EFM32)| \ --------- / | Device| * | | \| |/ | | * --------- --------- * Parallel interface * *
EBI address bank 0
Definition at line 77 of file em_ebi.h.
Referenced by EBI_BankAddress(), EBI_BankAddressTimingConfig(), EBI_BankAddressTimingSet(), EBI_BankByteLaneEnable(), EBI_BankEnable(), EBI_BankPolaritySet(), EBI_BankReadTimingConfig(), EBI_BankReadTimingSet(), EBI_BankWriteTimingConfig(), EBI_BankWriteTimingSet(), and EBI_Init().
#define EBI_BANK1 (uint32_t)(1 << 2) |
EBI address bank 1
Definition at line 78 of file em_ebi.h.
Referenced by EBI_BankAddress(), EBI_BankAddressTimingConfig(), EBI_BankAddressTimingSet(), EBI_BankByteLaneEnable(), EBI_BankEnable(), EBI_BankPolaritySet(), EBI_BankReadTimingConfig(), EBI_BankReadTimingSet(), EBI_BankWriteTimingConfig(), EBI_BankWriteTimingSet(), and EBI_Init().
#define EBI_BANK2 (uint32_t)(1 << 3) |
EBI address bank 2
Definition at line 79 of file em_ebi.h.
Referenced by EBI_BankAddress(), EBI_BankAddressTimingConfig(), EBI_BankAddressTimingSet(), EBI_BankByteLaneEnable(), EBI_BankEnable(), EBI_BankPolaritySet(), EBI_BankReadTimingConfig(), EBI_BankReadTimingSet(), EBI_BankWriteTimingConfig(), EBI_BankWriteTimingSet(), and EBI_Init().
#define EBI_BANK3 (uint32_t)(1 << 4) |
EBI address bank 3
Definition at line 80 of file em_ebi.h.
Referenced by EBI_BankAddress(), EBI_BankAddressTimingConfig(), EBI_BankAddressTimingSet(), EBI_BankByteLaneEnable(), EBI_BankEnable(), EBI_BankPolaritySet(), EBI_BankReadTimingConfig(), EBI_BankReadTimingSet(), EBI_BankWriteTimingConfig(), EBI_BankWriteTimingSet(), and EBI_Init().
#define EBI_CS0 (uint32_t)(1 << 1) |
EBI chip select line 0
Definition at line 82 of file em_ebi.h.
Referenced by EBI_ChipSelectEnable().
#define EBI_CS1 (uint32_t)(1 << 2) |
EBI chip select line 1
Definition at line 83 of file em_ebi.h.
Referenced by EBI_ChipSelectEnable().
#define EBI_CS2 (uint32_t)(1 << 3) |
EBI chip select line 2
Definition at line 84 of file em_ebi.h.
Referenced by EBI_ChipSelectEnable().
#define EBI_CS3 (uint32_t)(1 << 4) |
EBI chip select line 3
Definition at line 85 of file em_ebi.h.
Referenced by EBI_ChipSelectEnable().
#define EBI_INIT_DEFAULT |
#define EBI_TFTINIT_DEFAULT |
{ ebiTFTBank0, /* Select EBI Bank 0 */ \ ebiTFTWidthHalfWord, /* Select 2-byte increments */ \ ebiTFTColorSrcMem, /* Use memory as source for mask/blending */ \ ebiTFTInterleaveUnlimited, /* Unlimited interleaved accesses */ \ ebiTFTFrameBufTriggerVSync, /* VSYNC as frame buffer update trigger */ \ false, /* Drive DCLK from negative edge of internal clock */ \ ebiTFTMBDisabled, /* No masking and alpha blending enabled */ \ ebiTFTDDModeExternal, /* Drive from external memory */ \ ebiActiveLow, /* CS Active Low polarity */ \ ebiActiveLow, /* DCLK Active Low polarity */ \ ebiActiveLow, /* DATAEN Active Low polarity */ \ ebiActiveLow, /* HSYNC Active Low polarity */ \ ebiActiveLow, /* VSYNC Active Low polarity */ \ 320, /* Horizontal size in pixels */ \ 1, /* Horizontal Front Porch */ \ 29, /* Horizontal Back Porch */ \ 2, /* Horizontal Synchronization Pulse Width */ \ 240, /* Vertical size in pixels */ \ 1, /* Vertical Front Porch */ \ 4, /* Vertical Back Porch */ \ 2, /* Vertical Synchronization Pulse Width */ \ 0x0000, /* Address offset to EBI memory base */ \ 5, /* DCLK Period */ \ 2, /* DCLK Start */ \ 1, /* DCLK Setup cycles */ \ 1, /* DCLK Hold cycles */ \ }
Default configuration for EBI TFT init structure
enum EBI_AHigh_TypeDef |
Adress Pin Enable, high limit - higher limit of pins to enable
enum EBI_ALow_TypeDef |
Address Pin Enable, lower limit - lower range of pins to enable
enum EBI_Line_TypeDef |
EBI Pin Line types
enum EBI_Location_TypeDef |
enum EBI_Mode_TypeDef |
enum EBI_Polarity_TypeDef |
enum EBI_TFTBank_TypeDef |
Control of mask and alpha blending mode
enum EBI_TFTWidth_TypeDef |
void EBI_AddressTimingSet | ( | int | setupCycles, | |
int | holdCycles | |||
) |
Configure timing values of address latch bus accesses.
[in] | setupCycles | Sets the number of cycles the address is held after ALE is asserted |
[in] | holdCycles | Sets the number of cycles the address is driven onto the ADDRDAT bus before ALE is asserted. If set 0, 1 cycle is inserted by HW |
Definition at line 542 of file em_ebi.c.
Referenced by EBI_Init().
void EBI_AltMapEnable | ( | bool | enable | ) |
Configure Alternate Address Map support Enables or disables 256MB address range for all banks.
[in] | enable | Set or clear address map extension |
Definition at line 1163 of file em_ebi.c.
References BITBAND_Peripheral().
uint32_t EBI_BankAddress | ( | uint32_t | bank | ) |
void EBI_BankAddressTimingConfig | ( | uint32_t | banks, | |
bool | halfALE | |||
) |
Configure address operation parameters for selected bank.
[in] | banks | Mask of memory bank(s) to configure write timing for |
[in] | halfALE | Enables or disables half cycle ALE strobe in last strobe cycle |
Definition at line 942 of file em_ebi.c.
References BITBAND_Peripheral(), EBI_BANK0, EBI_BANK1, EBI_BANK2, and EBI_BANK3.
Referenced by EBI_Init().
void EBI_BankAddressTimingSet | ( | uint32_t | banks, | |
int | setupCycles, | |||
int | holdCycles | |||
) |
Configure timing values of address latch bus accesses.
[in] | banks | Mask of memory bank(s) to configure address timing for |
[in] | setupCycles | Sets the number of cycles the address is held after ALE is asserted |
[in] | holdCycles | Sets the number of cycles the address is driven onto the ADDRDAT bus before ALE is asserted. If set 0, 1 cycle is inserted by HW |
Definition at line 980 of file em_ebi.c.
References EBI_BANK0, EBI_BANK1, EBI_BANK2, and EBI_BANK3.
Referenced by EBI_Init().
void EBI_BankByteLaneEnable | ( | uint32_t | banks, | |
bool | enable | |||
) |
Configure Byte Lane Enable for select banks timing support.
[in] | banks | Mask of memory bank(s) to configure polarity for |
[in] | enable | Flag |
Definition at line 1130 of file em_ebi.c.
References BITBAND_Peripheral(), EBI_BANK0, EBI_BANK1, EBI_BANK2, and EBI_BANK3.
void EBI_BankEnable | ( | uint32_t | banks, | |
bool | enable | |||
) |
Enable or disable EBI Bank.
[in] | banks | Banks to reconfigure, mask of EBI_BANK<n> flags |
[in] | enable | True to enable, false to disable |
Definition at line 296 of file em_ebi.c.
References BITBAND_Peripheral(), EBI_BANK0, EBI_BANK1, EBI_BANK2, and EBI_BANK3.
void EBI_BankPolaritySet | ( | uint32_t | banks, | |
EBI_Line_TypeDef | line, | |||
EBI_Polarity_TypeDef | polarity | |||
) |
Configure EBI pin polarity for selected bank(s) for devices with individual timing support.
[in] | banks | Mask of memory bank(s) to configure polarity for |
[in] | line | Which pin/line to configure |
[in] | polarity | Active high, or active low |
Definition at line 1036 of file em_ebi.c.
References BITBAND_Peripheral(), EBI_BANK0, EBI_BANK1, EBI_BANK2, EBI_BANK3, ebiLineALE, ebiLineARDY, ebiLineBL, ebiLineCS, ebiLineRE, ebiLineTFTCS, ebiLineTFTDataEn, ebiLineTFTDClk, ebiLineTFTHSync, ebiLineTFTVSync, and ebiLineWE.
Referenced by EBI_Init().
void EBI_BankReadTimingConfig | ( | uint32_t | banks, | |
bool | pageMode, | |||
bool | prefetch, | |||
bool | halfRE | |||
) |
Configure read operation parameters for selected bank.
[in] | banks | Mask of memory bank(s) to configure write timing for |
[in] | pageMode | Enables or disables half cycle WE strobe in last strobe cycle |
[in] | prefetch | Enables or disables half cycle WE strobe in last strobe cycle |
[in] | halfRE | Enables or disables half cycle WE strobe in last strobe cycle |
Definition at line 729 of file em_ebi.c.
References BITBAND_Peripheral(), EBI_BANK0, EBI_BANK1, EBI_BANK2, and EBI_BANK3.
Referenced by EBI_Init().
void EBI_BankReadTimingSet | ( | uint32_t | banks, | |
int | setupCycles, | |||
int | strobeCycles, | |||
int | holdCycles | |||
) |
Configure timing values of read bus accesses.
[in] | banks | Mask of memory bank(s) to configure timing for |
[in] | setupCycles | Number of clock cycles for address setup before REn is asserted |
[in] | strobeCycles | The number of cycles the REn is held active. After the specified number of cycles, data is read. If set to 0, 1 cycle is inserted by HW |
[in] | holdCycles | The number of cycles CSn is held active after the REn is dessarted |
Definition at line 778 of file em_ebi.c.
References EBI_BANK0, EBI_BANK1, EBI_BANK2, and EBI_BANK3.
Referenced by EBI_Init().
void EBI_BankWriteTimingConfig | ( | uint32_t | banks, | |
bool | writeBufDisable, | |||
bool | halfWE | |||
) |
Configure write operation parameters for selected bank.
[in] | banks | Mask of memory bank(s) to configure write timing for |
[in] | writeBufDisable | If true, disable the write buffer |
[in] | halfWE | Enables or disables half cycle WE strobe in last strobe cycle |
Definition at line 839 of file em_ebi.c.
References BITBAND_Peripheral(), EBI_BANK0, EBI_BANK1, EBI_BANK2, and EBI_BANK3.
Referenced by EBI_Init().
void EBI_BankWriteTimingSet | ( | uint32_t | banks, | |
int | setupCycles, | |||
int | strobeCycles, | |||
int | holdCycles | |||
) |
Configure timing values of write bus accesses.
[in] | banks | Mask of memory bank(s) to configure write timing for |
[in] | setupCycles | Number of clock cycles for address setup before WEn is asserted |
[in] | strobeCycles | Number of cycles WEn is held active. If set to 0, 1 cycle is inserted by HW |
[in] | holdCycles | Number of cycles CSn is held active after the WEn is deasserted |
Definition at line 884 of file em_ebi.c.
References EBI_BANK0, EBI_BANK1, EBI_BANK2, and EBI_BANK3.
Referenced by EBI_Init().
void EBI_ChipSelectEnable | ( | uint32_t | cs, | |
bool | enable | |||
) |
Enable or disable EBI Chip Select.
[in] | cs | ChipSelect lines to reconfigure, mask of EBI_CS<n> flags |
[in] | enable | True to enable, false to disable |
Definition at line 384 of file em_ebi.c.
References BITBAND_Peripheral(), EBI_CS0, EBI_CS1, EBI_CS2, and EBI_CS3.
Referenced by EBI_Init().
void EBI_Init | ( | const EBI_Init_TypeDef * | ebiInit | ) |
Configure and enable External Bus Interface.
[in] | ebiInit | EBI configuration structure |
Definition at line 61 of file em_ebi.c.
References EBI_Init_TypeDef::addrHalfALE, EBI_Init_TypeDef::addrHoldCycles, EBI_Init_TypeDef::addrSetupCycles, EBI_Init_TypeDef::aHigh, EBI_Init_TypeDef::alePolarity, EBI_Init_TypeDef::aLow, EBI_Init_TypeDef::ardyDisableTimeout, EBI_Init_TypeDef::ardyEnable, EBI_Init_TypeDef::ardyPolarity, EBI_Init_TypeDef::banks, BITBAND_Peripheral(), EBI_Init_TypeDef::blEnable, EBI_Init_TypeDef::blPolarity, EBI_Init_TypeDef::csLines, EBI_Init_TypeDef::csPolarity, EBI_AddressTimingSet(), EBI_BANK0, EBI_BANK1, EBI_BANK2, EBI_BANK3, EBI_BankAddressTimingConfig(), EBI_BankAddressTimingSet(), EBI_BankPolaritySet(), EBI_BankReadTimingConfig(), EBI_BankReadTimingSet(), EBI_BankWriteTimingConfig(), EBI_BankWriteTimingSet(), EBI_ChipSelectEnable(), EBI_PolaritySet(), EBI_ReadTimingSet(), EBI_WriteTimingSet(), ebiLineALE, ebiLineARDY, ebiLineBL, ebiLineCS, ebiLineRE, ebiLineWE, ebiModeD16, ebiModeD16A16ALE, ebiModeD8A24ALE, ebiModeD8A8, EBI_Init_TypeDef::enable, EBI_Init_TypeDef::location, EBI_Init_TypeDef::mode, EBI_Init_TypeDef::noIdle, EBI_Init_TypeDef::readHalfRE, EBI_Init_TypeDef::readHoldCycles, EBI_Init_TypeDef::readPageMode, EBI_Init_TypeDef::readPrefetch, EBI_Init_TypeDef::readSetupCycles, EBI_Init_TypeDef::readStrobeCycles, EBI_Init_TypeDef::rePolarity, EBI_Init_TypeDef::wePolarity, EBI_Init_TypeDef::writeBufferDisable, EBI_Init_TypeDef::writeHalfWE, EBI_Init_TypeDef::writeHoldCycles, EBI_Init_TypeDef::writeSetupCycles, and EBI_Init_TypeDef::writeStrobeCycles.
__STATIC_INLINE void EBI_IntClear | ( | uint32_t | flags | ) |
__STATIC_INLINE void EBI_IntDisable | ( | uint32_t | flags | ) |
__STATIC_INLINE void EBI_IntEnable | ( | uint32_t | flags | ) |
__STATIC_INLINE uint32_t EBI_IntGet | ( | void | ) |
__STATIC_INLINE void EBI_IntSet | ( | uint32_t | flags | ) |
void EBI_PolaritySet | ( | EBI_Line_TypeDef | line, | |
EBI_Polarity_TypeDef | polarity | |||
) |
Configure EBI pin polarity.
[in] | line | Which pin/line to configure |
[in] | polarity | Active high, or active low |
Definition at line 415 of file em_ebi.c.
References BITBAND_Peripheral(), ebiLineALE, ebiLineARDY, ebiLineBL, ebiLineCS, ebiLineRE, ebiLineTFTCS, ebiLineTFTDataEn, ebiLineTFTDClk, ebiLineTFTHSync, ebiLineTFTVSync, and ebiLineWE.
Referenced by EBI_Init(), and EBI_TFTInit().
void EBI_ReadTimingSet | ( | int | setupCycles, | |
int | strobeCycles, | |||
int | holdCycles | |||
) |
Configure timing values of read bus accesses.
[in] | setupCycles | Number of clock cycles for address setup before REn is asserted |
[in] | strobeCycles | The number of cycles the REn is held active. After the specified number of cycles, data is read. If set to 0, 1 cycle is inserted by HW |
[in] | holdCycles | The number of cycles CSn is held active after the REn is dessarted |
Definition at line 475 of file em_ebi.c.
Referenced by EBI_Init().
__STATIC_INLINE void EBI_StartNandEccGen | ( | void | ) |
__STATIC_INLINE uint32_t EBI_StopNandEccGen | ( | void | ) |
__STATIC_INLINE void EBI_TFTAlphaBlendSet | ( | uint8_t | alpha | ) |
__STATIC_INLINE void EBI_TFTEnable | ( | EBI_TFTDDMode_TypeDef | mode | ) |
__STATIC_INLINE void EBI_TFTFBTriggerSet | ( | EBI_TFTFrameBufTrigger_TypeDef | sync | ) |
__STATIC_INLINE void EBI_TFTFrameBaseSet | ( | uint32_t | address | ) |
Configure frame buffer pointer.
[in] | address | Frame pointer address, as offset by EBI base address |
Definition at line 591 of file em_ebi.h.
Referenced by EBI_TFTInit().
__STATIC_INLINE uint32_t EBI_TFTHCount | ( | void | ) |
void EBI_TFTHPorchSet | ( | int | front, | |
int | back, | |||
int | pulseWidth | |||
) |
Configure and initialize Horizontal Porch Settings.
[in] | front | Horizontal front porch size in pixels |
[in] | back | Horizontal back porch size in pixels |
[in] | pulseWidth | Horizontal synchronization pulse width. Set to required -1. |
Definition at line 647 of file em_ebi.c.
Referenced by EBI_TFTInit().
__STATIC_INLINE void EBI_TFTHStrideSet | ( | uint32_t | nbytes | ) |
void EBI_TFTInit | ( | const EBI_TFTInit_TypeDef * | ebiTFTInit | ) |
Configure and initialize TFT Direct Drive.
[in] | ebiTFTInit | TFT Initialization structure |
Definition at line 567 of file em_ebi.c.
References EBI_TFTInit_TypeDef::addressOffset, EBI_TFTInit_TypeDef::bank, EBI_TFTInit_TypeDef::colSrc, EBI_TFTInit_TypeDef::csPolarity, EBI_TFTInit_TypeDef::dataenPolarity, EBI_TFTInit_TypeDef::dclkPeriod, EBI_TFTInit_TypeDef::dclkPolarity, EBI_TFTInit_TypeDef::driveMode, EBI_PolaritySet(), EBI_TFTFrameBaseSet(), EBI_TFTHPorchSet(), EBI_TFTSizeSet(), EBI_TFTTimingSet(), EBI_TFTVPorchSet(), ebiLineTFTCS, ebiLineTFTDataEn, ebiLineTFTDClk, ebiLineTFTHSync, ebiLineTFTVSync, ebiTFTDDModeDisabled, EBI_TFTInit_TypeDef::fbTrigger, EBI_TFTInit_TypeDef::holdCycles, EBI_TFTInit_TypeDef::hPorchBack, EBI_TFTInit_TypeDef::hPorchFront, EBI_TFTInit_TypeDef::hPulseWidth, EBI_TFTInit_TypeDef::hsize, EBI_TFTInit_TypeDef::hsyncPolarity, EBI_TFTInit_TypeDef::interleave, EBI_TFTInit_TypeDef::maskBlend, EBI_TFTInit_TypeDef::setupCycles, EBI_TFTInit_TypeDef::shiftDClk, EBI_TFTInit_TypeDef::startPosition, EBI_TFTInit_TypeDef::vPorchBack, EBI_TFTInit_TypeDef::vPorchFront, EBI_TFTInit_TypeDef::vPulseWidth, EBI_TFTInit_TypeDef::vsize, EBI_TFTInit_TypeDef::vsyncPolarity, and EBI_TFTInit_TypeDef::width.
__STATIC_INLINE void EBI_TFTMaskBlendMode | ( | EBI_TFTMaskBlend_TypeDef | maskBlend | ) |
__STATIC_INLINE void EBI_TFTMaskSet | ( | uint32_t | mask | ) |
__STATIC_INLINE void EBI_TFTPixelSet | ( | int | pixel, | |
uint32_t | color | |||
) |
void EBI_TFTSizeSet | ( | uint32_t | horizontal, | |
uint32_t | vertical | |||
) |
Configure and initialize TFT size settings.
[in] | horizontal | TFT display horizontal size in pixels |
[in] | vertical | TFT display vertical size in pixels |
Definition at line 627 of file em_ebi.c.
Referenced by EBI_TFTInit().
void EBI_TFTTimingSet | ( | int | dclkPeriod, | |
int | start, | |||
int | setup, | |||
int | hold | |||
) |
Configure TFT Direct Drive Timing Settings.
[in] | dclkPeriod | DCLK period in internal cycles |
[in] | start | Starting position of external direct drive, relative to DCLK inactive edge |
[in] | setup | Number of cycles RGB data is driven before active edge of DCLK |
[in] | hold | Number of cycles RGB data is held after active edge of DCLK |
Definition at line 698 of file em_ebi.c.
Referenced by EBI_TFTInit().
__STATIC_INLINE uint32_t EBI_TFTVCount | ( | void | ) |
void EBI_TFTVPorchSet | ( | int | front, | |
int | back, | |||
int | pulseWidth | |||
) |
Configure Vertical Porch Settings.
[in] | front | Vertical front porch size in pixels |
[in] | back | Vertical back porch size in pixels |
[in] | pulseWidth | Vertical synchronization pulse width. Set to required -1. |
Definition at line 670 of file em_ebi.c.
Referenced by EBI_TFTInit().
void EBI_WriteTimingSet | ( | int | setupCycles, | |
int | strobeCycles, | |||
int | holdCycles | |||
) |
Configure timing values of write bus accesses.
[in] | setupCycles | Number of clock cycles for address setup before WEn is asserted |
[in] | strobeCycles | Number of cycles WEn is held active. If set to 0, 1 cycle is inserted by HW |
[in] | holdCycles | Number of cycles CSn is held active after the WEn is deasserted |
Definition at line 510 of file em_ebi.c.
Referenced by EBI_Init().