37 #if defined(EBI_COUNT) && (EBI_COUNT > 0)
75 #define EBI_BANK0 (uint32_t)(1 << 1)
76 #define EBI_BANK1 (uint32_t)(1 << 2)
77 #define EBI_BANK2 (uint32_t)(1 << 3)
78 #define EBI_BANK3 (uint32_t)(1 << 4)
80 #define EBI_CS0 (uint32_t)(1 << 1)
81 #define EBI_CS1 (uint32_t)(1 << 2)
82 #define EBI_CS2 (uint32_t)(1 << 3)
83 #define EBI_CS3 (uint32_t)(1 << 4)
98 #if defined(_EFM32_GIANT_FAMILY) || defined(_EFM32_WONDER_FAMILY)
126 #if defined(_EFM32_GIANT_FAMILY) || defined(_EFM32_WONDER_FAMILY)
130 #if defined(_EFM32_GIANT_FAMILY) || defined(_EFM32_WONDER_FAMILY)
144 #if defined(_EFM32_GIANT_FAMILY) || defined(_EFM32_WONDER_FAMILY)
225 #if defined(_EFM32_GIANT_FAMILY) || defined(_EFM32_WONDER_FAMILY)
328 #if defined(_EFM32_GIANT_FAMILY) || defined(_EFM32_WONDER_FAMILY)
348 #if defined(_EFM32_GIANT_FAMILY) || defined(_EFM32_WONDER_FAMILY)
358 #if defined(_EFM32_GIANT_FAMILY) || defined(_EFM32_WONDER_FAMILY)
372 #if defined(_EFM32_GIANT_FAMILY) || defined(_EFM32_WONDER_FAMILY)
389 #if defined(_EFM32_GIANT_FAMILY) || defined(_EFM32_WONDER_FAMILY)
390 #define EBI_INIT_DEFAULT \
425 #define EBI_INIT_DEFAULT \
449 #if defined(_EFM32_GIANT_FAMILY) || defined(_EFM32_WONDER_FAMILY)
509 #define EBI_TFTINIT_DEFAULT \
512 ebiTFTWidthHalfWord, \
514 ebiTFTInterleaveUnlimited, \
515 ebiTFTFrameBufTriggerVSync, \
518 ebiTFTDDModeExternal, \
549 #if defined(_EFM32_GIANT_FAMILY) || defined(_EFM32_WONDER_FAMILY)
557 #if defined(_EFM32_GIANT_FAMILY) || defined(_EFM32_WONDER_FAMILY)
594 EBI->TFTFRAMEBASE = (uint32_t) address;
608 EFM_ASSERT(pixel == 0 || pixel == 1);
612 EBI->TFTPIXEL0 = color;
616 EBI->TFTPIXEL1 = color;
641 EBI->TFTALPHA = alpha;
703 EFM_ASSERT(nbytes < 0x1000);
747 EBI->IEN &= ~(flags);
801 return EBI->IF & ien;
825 return EBI->ECCPARITY;
#define _EBI_TFTSTATUS_VCNT_MASK
void EBI_BankWriteTimingSet(uint32_t bank, int setupCycles, int strobeCycles, int holdCycles)
Configure timing values of write bus accesses.
void EBI_AltMapEnable(bool enable)
Configure Alternate Address Map support Enables or disables 256MB address range for all banks...
__STATIC_INLINE uint32_t EBI_StopNandEccGen(void)
Stop NAND flash ECC generator and return generated ECC.
EBI_Polarity_TypeDef dclkPolarity
#define EBI_TFTCTRL_WIDTH_HALFWORD
Emlib peripheral API "assert" implementation.
__STATIC_INLINE void EBI_TFTPixelSet(int pixel, uint32_t color)
Set TFT Pixel Color 0 or 1.
void EBI_WriteTimingSet(int setupCycles, int strobeCycles, int holdCycles)
Configure timing values of write bus accesses.
EBI_TFTMaskBlend_TypeDef maskBlend
#define EBI_ROUTE_APEN_A13
uint32_t EBI_BankAddress(uint32_t bank)
Return base address of EBI bank.
#define EBI_ROUTE_LOCATION_LOC0
__STATIC_INLINE void EBI_IntClear(uint32_t flags)
Clear one or more pending EBI interrupts.
EBI_Polarity_TypeDef csPolarity
#define EBI_ROUTE_APEN_A19
#define EBI_ROUTE_APEN_A9
__STATIC_INLINE void EBI_StartNandEccGen(void)
Start ECC generator on NAND flash transfers.
#define EBI_TFTCTRL_FBCTRIG_VSYNC
#define EBI_TFTCTRL_DD_INTERNAL
EBI_Polarity_TypeDef vsyncPolarity
#define EBI_ROUTE_APEN_A25
#define _EBI_TFTCTRL_MASKBLEND_MASK
#define EBI_ROUTE_APEN_A23
#define EBI_TFTCTRL_DD_DISABLED
#define EBI_ROUTE_APEN_A0
void EBI_TFTHPorchSet(int front, int back, int pulseWidth)
Configure and initialize Horizontal Porch Settings.
__STATIC_INLINE void EBI_TFTFrameBaseSet(uint32_t address)
Configure frame buffer pointer.
CMSIS Cortex-M Peripheral Access Layer for Silicon Laboratories microcontroller devices.
EBI_Polarity_TypeDef csPolarity
EBI_TFTFrameBufTrigger_TypeDef fbTrigger
void EBI_PolaritySet(EBI_Line_TypeDef line, EBI_Polarity_TypeDef polarity)
Configure EBI pin polarity.
#define EBI_CTRL_MODE_D16A16ALE
#define EBI_TFTCTRL_MASKBLEND_IMASKIALPHA
__STATIC_INLINE void EBI_TFTEnable(EBI_TFTDDMode_TypeDef mode)
Enable or disable TFT Direct Drive.
#define EBI_TFTCTRL_DD_EXTERNAL
#define EBI_TFTCTRL_MASKBLEND_EMASKEALPHA
#define EBI_ROUTE_APEN_A16
__STATIC_INLINE uint32_t EBI_TFTVCount(void)
Get current vertical position counter.
EBI_TFTDDMode_TypeDef driveMode
#define EBI_CTRL_MODE_D16
EBI_Location_TypeDef location
EBI_Polarity_TypeDef hsyncPolarity
__STATIC_INLINE void EBI_TFTMaskBlendMode(EBI_TFTMaskBlend_TypeDef maskBlend)
Masking and Blending Mode Set.
#define EBI_ROUTE_APEN_A5
#define EBI_TFTCTRL_COLOR1SRC_MEM
__STATIC_INLINE uint32_t EBI_IntGet(void)
Get pending EBI interrupt flags.
__STATIC_INLINE void EBI_IntEnable(uint32_t flags)
Enable one or more EBI interrupts.
#define EBI_TFTCTRL_COLOR1SRC_PIXEL1
void EBI_AddressTimingSet(int setupCycles, int holdCycles)
Configure timing values of address latch bus accesses.
void EBI_BankEnable(uint32_t banks, bool enable)
Enable or disable EBI Bank.
EBI_TFTColorSrc_TypeDef colSrc
__STATIC_INLINE void EBI_TFTHStrideSet(uint32_t nbytes)
Set horizontal TFT stride value in number of bytes.
#define EBI_TFTCTRL_MASKBLEND_EMASK
__STATIC_INLINE uint32_t EBI_TFTHCount(void)
Get current horizontal position counter.
__STATIC_INLINE void EBI_TFTAlphaBlendSet(uint8_t alpha)
Set TFT Alpha Blending Factor.
#define EBI_TFTCTRL_FBCTRIG_HSYNC
#define EBI_CTRL_MODE_D8A24ALE
#define EBI_TFTCTRL_MASKBLEND_EALPHA
EBI_TFTInterleave_TypeDef interleave
#define EBI_TFTCTRL_BANKSEL_BANK0
#define _EBI_TFTSTATUS_VCNT_SHIFT
EBI_TFTWidth_TypeDef width
void EBI_BankByteLaneEnable(uint32_t bank, bool enable)
Configure Byte Lane Enable for select banks timing support.
__STATIC_INLINE void EBI_IntDisable(uint32_t flags)
Disable one or more EBI interrupts.
void EBI_ChipSelectEnable(uint32_t banks, bool enable)
Enable or disable EBI Chip Select.
#define EBI_TFTCTRL_BANKSEL_BANK3
__STATIC_INLINE void EBI_TFTMaskSet(uint32_t mask)
Set TFT mask value Data accesses that matches this value are suppressed.
#define EBI_ROUTE_APEN_A26
void EBI_BankReadTimingSet(uint32_t bank, int setupCycles, int strobeCycles, int holdCycles)
Configure timing values of read bus accesses.
#define EBI_ROUTE_ALB_A24
#define EBI_ROUTE_APEN_A12
#define EBI_ROUTE_APEN_A6
#define _EBI_TFTCTRL_FBCTRIG_MASK
#define _EBI_TFTSTATUS_HCNT_SHIFT
#define EBI_ROUTE_APEN_A14
void EBI_Init(const EBI_Init_TypeDef *ebiInit)
Configure and enable External Bus Interface.
#define EBI_ROUTE_LOCATION_LOC2
__STATIC_INLINE uint32_t EBI_IntGetEnabled(void)
Get enabled and pending EBI interrupt flags. Useful for handling more interrupt sources in the same i...
__STATIC_INLINE void EBI_IntSet(uint32_t flags)
Set one or more pending EBI interrupts.
void EBI_ReadTimingSet(int setupCycles, int strobeCycles, int holdCycles)
Configure timing values of read bus accesses.
void EBI_BankWriteTimingConfig(uint32_t bank, bool writeBufDisable, bool halfWE)
Configure write operation parameters for selected bank.
#define EBI_ROUTE_APEN_A18
EBI_TFTInterleave_TypeDef
EBI_Polarity_TypeDef blPolarity
#define EBI_TFTCTRL_MASKBLEND_IMASK
#define EBI_ROUTE_APEN_A15
EBI_Polarity_TypeDef rePolarity
#define EBI_CTRL_MODE_D8A8
#define EBI_ROUTE_APEN_A24
#define EBI_TFTCTRL_INTERLEAVE_PORCH
#define EBI_TFTCTRL_INTERLEAVE_UNLIMITED
EBI_Polarity_TypeDef alePolarity
#define EBI_TFTCTRL_WIDTH_BYTE
#define EBI_ROUTE_APEN_A27
#define _EBI_TFTSTATUS_HCNT_MASK
#define _EBI_TFTCTRL_DD_MASK
#define EBI_TFTCTRL_MASKBLEND_IALPHA
#define _EBI_TFTSTRIDE_HSTRIDE_MASK
EBI_TFTFrameBufTrigger_TypeDef
void EBI_BankPolaritySet(uint32_t bank, EBI_Line_TypeDef line, EBI_Polarity_TypeDef polarity)
Configure EBI pin polarity for selected bank(s) for devices with individual timing support...
#define EBI_ROUTE_APEN_A20
void EBI_Disable(void)
Disable External Bus Interface.
#define EBI_TFTCTRL_INTERLEAVE_ONEPERDCLK
void EBI_BankAddressTimingSet(uint32_t bank, int setupCycles, int holdCycles)
Configure timing values of address latch bus accesses.
#define EBI_ROUTE_APEN_A8
EBI_Polarity_TypeDef dataenPolarity
#define EBI_ROUTE_ALB_A16
__STATIC_INLINE void EBI_TFTFBTriggerSet(EBI_TFTFrameBufTrigger_TypeDef sync)
Set Frame Buffer Trigger.
#define EBI_ROUTE_APEN_A10
#define EBI_ROUTE_APEN_A7
void EBI_BankReadTimingConfig(uint32_t bank, bool pageMode, bool prefetch, bool halfRE)
Configure read operation parameters for selected bank.
#define EBI_TFTCTRL_BANKSEL_BANK1
void EBI_TFTSizeSet(uint32_t horizontal, uint32_t vertical)
Configure and initialize TFT size settings.
void EBI_TFTTimingSet(int dclkPeriod, int start, int setup, int hold)
Configure TFT Direct Drive Timing Settings.
void EBI_TFTVPorchSet(int front, int back, int pulseWidth)
Configure Vertical Porch Settings.
#define EBI_TFTCTRL_BANKSEL_BANK2
#define EBI_ROUTE_APEN_A22
#define EBI_ROUTE_APEN_A21
EBI_Polarity_TypeDef wePolarity
void EBI_TFTInit(const EBI_TFTInit_TypeDef *ebiTFTInit)
Configure and initialize TFT Direct Drive.
EBI_Polarity_TypeDef ardyPolarity
#define EBI_ROUTE_APEN_A17
#define EBI_ROUTE_APEN_A11
void EBI_BankAddressTimingConfig(uint32_t bank, bool halfALE)
Configure address operation parameters for selected bank.
#define EBI_ROUTE_APEN_A28
#define EBI_TFTCTRL_MASKBLEND_DISABLED
#define _EBI_TFTSTRIDE_HSTRIDE_SHIFT
#define EBI_ROUTE_LOCATION_LOC1