EBI
Detailed Description
EBI External Bus Interface (EBI) Peripheral API.
This module contains functions to control the EBI peripheral of Silicon Labs 32-bit MCUs and SoCs. The EBI is used for accessing external parallel devices. The devices appear as part of the internal memory map of the MCU.
| Data Structures | |
| struct | EBI_Init_TypeDef | 
| struct | EBI_TFTInit_TypeDef | 
| Macros | |
| #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_GENERIC_ALB_A0 EBI_ROUTE_ALB_A0 | 
| #define | EBI_GENERIC_ALB_A16 EBI_ROUTE_ALB_A16 | 
| #define | EBI_GENERIC_ALB_A24 EBI_ROUTE_ALB_A24 | 
| #define | EBI_GENERIC_ALB_A8 EBI_ROUTE_ALB_A8 | 
| #define | EBI_GENERIC_APEN_A0 EBI_ROUTE_APEN_A0 | 
| #define | EBI_GENERIC_APEN_A10 EBI_ROUTE_APEN_A10 | 
| #define | EBI_GENERIC_APEN_A11 EBI_ROUTE_APEN_A11 | 
| #define | EBI_GENERIC_APEN_A12 EBI_ROUTE_APEN_A12 | 
| #define | EBI_GENERIC_APEN_A13 EBI_ROUTE_APEN_A13 | 
| #define | EBI_GENERIC_APEN_A14 EBI_ROUTE_APEN_A14 | 
| #define | EBI_GENERIC_APEN_A15 EBI_ROUTE_APEN_A15 | 
| #define | EBI_GENERIC_APEN_A16 EBI_ROUTE_APEN_A16 | 
| #define | EBI_GENERIC_APEN_A17 EBI_ROUTE_APEN_A17 | 
| #define | EBI_GENERIC_APEN_A18 EBI_ROUTE_APEN_A18 | 
| #define | EBI_GENERIC_APEN_A19 EBI_ROUTE_APEN_A19 | 
| #define | EBI_GENERIC_APEN_A20 EBI_ROUTE_APEN_A20 | 
| #define | EBI_GENERIC_APEN_A21 EBI_ROUTE_APEN_A21 | 
| #define | EBI_GENERIC_APEN_A22 EBI_ROUTE_APEN_A22 | 
| #define | EBI_GENERIC_APEN_A23 EBI_ROUTE_APEN_A23 | 
| #define | EBI_GENERIC_APEN_A24 EBI_ROUTE_APEN_A24 | 
| #define | EBI_GENERIC_APEN_A25 EBI_ROUTE_APEN_A25 | 
| #define | EBI_GENERIC_APEN_A26 EBI_ROUTE_APEN_A26 | 
| #define | EBI_GENERIC_APEN_A27 EBI_ROUTE_APEN_A27 | 
| #define | EBI_GENERIC_APEN_A28 EBI_ROUTE_APEN_A28 | 
| #define | EBI_GENERIC_APEN_A5 EBI_ROUTE_APEN_A5 | 
| #define | EBI_GENERIC_APEN_A6 EBI_ROUTE_APEN_A6 | 
| #define | EBI_GENERIC_APEN_A7 EBI_ROUTE_APEN_A7 | 
| #define | EBI_GENERIC_APEN_A8 EBI_ROUTE_APEN_A8 | 
| #define | EBI_GENERIC_APEN_A9 EBI_ROUTE_APEN_A9 | 
| #define | EBI_INIT_DEFAULT | 
| #define | EBI_TFTINIT_DEFAULT | 
| Enumerations | |
| enum | EBI_AHigh_TypeDef
         
         { ebiAHighA0 = EBI_GENERIC_APEN_A0, ebiAHighA5 = EBI_GENERIC_APEN_A5, ebiAHighA6 = EBI_GENERIC_APEN_A6, ebiAHighA7 = EBI_GENERIC_APEN_A7, ebiAHighA8 = EBI_GENERIC_APEN_A8, ebiAHighA9 = EBI_GENERIC_APEN_A9, ebiAHighA10 = EBI_GENERIC_APEN_A10, ebiAHighA11 = EBI_GENERIC_APEN_A11, ebiAHighA12 = EBI_GENERIC_APEN_A12, ebiAHighA13 = EBI_GENERIC_APEN_A13, ebiAHighA14 = EBI_GENERIC_APEN_A14, ebiAHighA15 = EBI_GENERIC_APEN_A15, ebiAHighA16 = EBI_GENERIC_APEN_A16, ebiAHighA17 = EBI_GENERIC_APEN_A17, ebiAHighA18 = EBI_GENERIC_APEN_A18, ebiAHighA19 = EBI_GENERIC_APEN_A19, ebiAHighA20 = EBI_GENERIC_APEN_A20, ebiAHighA21 = EBI_GENERIC_APEN_A21, ebiAHighA22 = EBI_GENERIC_APEN_A22, ebiAHighA23 = EBI_GENERIC_APEN_A23, ebiAHighA24 = EBI_GENERIC_APEN_A24, ebiAHighA25 = EBI_GENERIC_APEN_A25, ebiAHighA26 = EBI_GENERIC_APEN_A26, ebiAHighA27 = EBI_GENERIC_APEN_A27, ebiAHighA28 = EBI_GENERIC_APEN_A28 } | 
| enum | EBI_ALow_TypeDef
         
         { ebiALowA0 = EBI_GENERIC_ALB_A0, ebiALowA8 = EBI_GENERIC_ALB_A8, ebiALowA16 = EBI_GENERIC_ALB_A16, ebiALowA24 = EBI_GENERIC_ALB_A24 } | 
| enum | EBI_Line_TypeDef
         
         { ebiLineARDY , ebiLineALE , ebiLineWE , ebiLineRE , ebiLineCS , ebiLineBL , ebiLineTFTVSync , ebiLineTFTHSync , ebiLineTFTDataEn , ebiLineTFTDClk , ebiLineTFTCS } | 
| enum | EBI_Location_TypeDef
         
         { ebiLocation0 = EBI_ROUTE_LOCATION_LOC0, ebiLocation1 = EBI_ROUTE_LOCATION_LOC1, ebiLocation2 = EBI_ROUTE_LOCATION_LOC2 } | 
| 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_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_TFTDDMode_TypeDef
         
         { ebiTFTDDModeDisabled = EBI_TFTCTRL_DD_DISABLED, ebiTFTDDModeInternal = EBI_TFTCTRL_DD_INTERNAL, ebiTFTDDModeExternal = EBI_TFTCTRL_DD_EXTERNAL } | 
| enum | EBI_TFTFrameBufTrigger_TypeDef
         
         { ebiTFTFrameBufTriggerVSync = EBI_TFTCTRL_FBCTRIG_VSYNC, ebiTFTFrameBufTriggerHSync = EBI_TFTCTRL_FBCTRIG_HSYNC } | 
| enum | EBI_TFTInterleave_TypeDef
         
         { ebiTFTInterleaveUnlimited = EBI_TFTCTRL_INTERLEAVE_UNLIMITED, ebiTFTInterleaveOnePerDClk = EBI_TFTCTRL_INTERLEAVE_ONEPERDCLK, ebiTFTInterleavePorch = EBI_TFTCTRL_INTERLEAVE_PORCH } | 
| 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_TFTWidth_TypeDef
         
         { ebiTFTWidthByte = EBI_TFTCTRL_WIDTH_BYTE, ebiTFTWidthHalfWord = EBI_TFTCTRL_WIDTH_HALFWORD } | 
| Functions | |
| void | EBI_AddressTimingSet (uint32_t setupCycles, uint32_t holdCycles) | 
| Configure timing values of address latch bus accesses. | |
| void | EBI_AltMapEnable (bool enable) | 
| Configure the Alternate Address Map support. Enables or disables 256 MB address range for all banks. | |
| uint32_t | EBI_BankAddress (uint32_t bank) | 
| Return the base address of the EBI bank. | |
| void | EBI_BankAddressTimingConfig (uint32_t banks, bool halfALE) | 
| Configure address operation parameters for a selected bank. | |
| void | EBI_BankAddressTimingSet (uint32_t banks, uint32_t setupCycles, uint32_t holdCycles) | 
| Configure timing values of address latch bus accesses. | |
| void | EBI_BankByteLaneEnable (uint32_t banks, bool enable) | 
| Configure Byte Lane Enable for select banks timing support. | |
| void | EBI_BankEnable (uint32_t banks, bool enable) | 
| Enable or disable EBI 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_BankReadTimingConfig (uint32_t banks, bool pageMode, bool prefetch, bool halfRE) | 
| Configure read operation parameters for a selected bank. | |
| void | EBI_BankReadTimingSet (uint32_t banks, uint32_t setupCycles, uint32_t strobeCycles, uint32_t holdCycles) | 
| Configure timing values of read bus accesses. | |
| void | EBI_BankWriteTimingConfig (uint32_t banks, bool writeBufDisable, bool halfWE) | 
| Configure write operation parameters for a selected bank. | |
| void | EBI_BankWriteTimingSet (uint32_t banks, uint32_t setupCycles, uint32_t strobeCycles, uint32_t holdCycles) | 
| Configure timing values of write bus accesses. | |
| void | EBI_ChipSelectEnable (uint32_t cs, bool enable) | 
| Enable or disable EBI Chip Select. | |
| void | EBI_Disable (void) | 
| Disable External Bus Interface. | |
| void | EBI_Init (const EBI_Init_TypeDef *ebiInit) | 
| Configure and enable the External Bus Interface. | |
| __STATIC_INLINE void | EBI_IntClear (uint32_t flags) | 
| Clear one or more pending EBI interrupts. | |
| __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 uint32_t | EBI_IntGetEnabled (void) | 
| Get enabled and pending EBI interrupt flags. Useful for handling more interrupt sources in the same interrupt handler. | |
| __STATIC_INLINE void | EBI_IntSet (uint32_t flags) | 
| Set one or more pending EBI interrupts. | |
| void | EBI_NANDFlashEnable (uint32_t banks, bool enable) | 
| Enable or disable EBI NAND Flash Support. | |
| void | EBI_PolaritySet ( EBI_Line_TypeDef line, EBI_Polarity_TypeDef polarity) | 
| Configure EBI pin polarity. | |
| void | EBI_ReadTimingSet (uint32_t setupCycles, uint32_t strobeCycles, uint32_t holdCycles) | 
| Configure timing values of read bus accesses. | |
| __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. | |
| __STATIC_INLINE void | EBI_TFTAlphaBlendSet (uint8_t alpha) | 
| Set TFT Alpha Blending Factor. | |
| __STATIC_INLINE void | EBI_TFTColorSrcSet ( EBI_TFTColorSrc_TypeDef colorSrc) | 
| Masking and Blending Color1 Source Set. | |
| __STATIC_INLINE void | EBI_TFTDDSet (uint32_t color) | 
| Set TFT Direct Drive Data from Internal Memory. | |
| __STATIC_INLINE void | EBI_TFTEnable ( EBI_TFTDDMode_TypeDef mode) | 
| Enable or disable TFT Direct Drive. | |
| __STATIC_INLINE void | EBI_TFTFBTriggerSet ( EBI_TFTFrameBufTrigger_TypeDef sync) | 
| Set Frame Buffer Trigger. | |
| __STATIC_INLINE void | EBI_TFTFrameBaseSet (uint32_t address) | 
| Configure frame buffer pointer. | |
| __STATIC_INLINE uint32_t | EBI_TFTHCount (void) | 
| Get current horizontal position counter. | |
| void | EBI_TFTHPorchSet (uint32_t front, uint32_t back, uint32_t pulseWidth) | 
| Configure and initialize Horizontal Porch Settings. | |
| __STATIC_INLINE void | EBI_TFTHStrideSet (uint32_t nbytes) | 
| Set horizontal TFT stride value in number of bytes. | |
| void | EBI_TFTInit (const EBI_TFTInit_TypeDef *ebiTFTInit) | 
| Configure and initialize TFT Direct Drive. | |
| __STATIC_INLINE void | EBI_TFTMaskBlendMode ( EBI_TFTMaskBlend_TypeDef maskBlend) | 
| Masking and Blending Mode Set. | |
| __STATIC_INLINE void | EBI_TFTMaskSet (uint32_t mask) | 
| Set TFT mask value. Data accesses that matches this value are suppressed. | |
| __STATIC_INLINE void | EBI_TFTPixelSet (int pixel, uint32_t color) | 
| Set TFT Pixel Color 0 or 1. | |
| void | EBI_TFTSizeSet (uint32_t horizontal, uint32_t vertical) | 
| Configure and initialize TFT size settings. | |
| void | EBI_TFTTimingSet (uint32_t dclkPeriod, uint32_t start, uint32_t setup, uint32_t hold) | 
| Configure TFT Direct Drive Timing Settings. | |
| __STATIC_INLINE uint32_t | EBI_TFTVCount (void) | 
| Get current vertical position counter. | |
| void | EBI_TFTVPorchSet (uint32_t front, uint32_t back, uint32_t pulseWidth) | 
| Configure Vertical Porch Settings. | |
| void | EBI_WriteTimingSet (uint32_t setupCycles, uint32_t strobeCycles, uint32_t holdCycles) | 
| Configure timing values of write bus accesses. | |
Macro Definition Documentation
| #define EBI_BANK0Â Â Â (uint32_t)(1 << 1) | 
* * --------- --------- * | | /| |\ | Ext. | * | EBI | / --------- \ | Async | * | | \ --------- / | Device| * | | \| |/ | | * --------- --------- * Parallel interface * *
EBI address bank 0.
        Definition at line
        
         73
        
        of file
        
         em_ebi.h
        
        .
       
Referenced by BSP_EbiInit() , EBI_BankAddress() , EBI_BankAddressTimingConfig() , EBI_BankAddressTimingSet() , EBI_BankByteLaneEnable() , EBI_BankEnable() , EBI_BankPolaritySet() , EBI_BankReadTimingConfig() , EBI_BankReadTimingSet() , EBI_BankWriteTimingConfig() , EBI_BankWriteTimingSet() , EBI_Init() , and EBI_NANDFlashEnable() .
| #define EBI_BANK1Â Â Â (uint32_t)(1 << 2) | 
EBI address bank 1.
        Definition at line
        
         74
        
        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() , EBI_Init() , and EBI_NANDFlashEnable() .
| #define EBI_BANK2Â Â Â (uint32_t)(1 << 3) | 
EBI address bank 2.
        Definition at line
        
         75
        
        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() , EBI_Init() , EBI_NANDFlashEnable() , and TFT_DirectInit() .
| #define EBI_BANK3Â Â Â (uint32_t)(1 << 4) | 
EBI address bank 3.
        Definition at line
        
         76
        
        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() , EBI_Init() , and EBI_NANDFlashEnable() .
| #define EBI_CS0Â Â Â (uint32_t)(1 << 1) | 
EBI chip select line 0.
        Definition at line
        
         78
        
        of file
        
         em_ebi.h
        
        .
       
Referenced by EBI_ChipSelectEnable() .
| #define EBI_CS1Â Â Â (uint32_t)(1 << 2) | 
EBI chip select line 1.
        Definition at line
        
         79
        
        of file
        
         em_ebi.h
        
        .
       
Referenced by EBI_ChipSelectEnable() .
| #define EBI_CS2Â Â Â (uint32_t)(1 << 3) | 
EBI chip select line 2.
        Definition at line
        
         80
        
        of file
        
         em_ebi.h
        
        .
       
Referenced by EBI_ChipSelectEnable() .
| #define EBI_CS3Â Â Â (uint32_t)(1 << 4) | 
EBI chip select line 3.
        Definition at line
        
         81
        
        of file
        
         em_ebi.h
        
        .
       
Referenced by EBI_ChipSelectEnable() .
| #define EBI_INIT_DEFAULT | 
Default configuration for EBI initialization structures.
        Definition at line
        
         526
        
        of file
        
         em_ebi.h
        
        .
       
| #define EBI_TFTINIT_DEFAULT | 
Default configuration for EBI TFT initialization structure.
        Definition at line
        
         644
        
        of file
        
         em_ebi.h
        
        .
       
Enumeration Type Documentation
| enum EBI_AHigh_TypeDef | 
Address Pin Enable, high limit - higher limit of pins to enable.
        Definition at line
        
         215
        
        of file
        
         em_ebi.h
        
        .
       
| enum EBI_ALow_TypeDef | 
Address Pin Enable, lower limit - lower range of pins to enable.
        Definition at line
        
         203
        
        of file
        
         em_ebi.h
        
        .
       
| enum EBI_Line_TypeDef | 
EBI Pin Line types.
        Definition at line
        
         172
        
        of file
        
         em_ebi.h
        
        .
       
| enum EBI_Location_TypeDef | 
| enum EBI_Mode_TypeDef | 
| enum EBI_Polarity_TypeDef | 
| enum EBI_TFTBank_TypeDef | 
Bus Data Interleave Mode.
        Definition at line
        
         336
        
        of file
        
         em_ebi.h
        
        .
       
Control of mask and alpha blending mode.
        Definition at line
        
         354
        
        of file
        
         em_ebi.h
        
        .
       
| enum EBI_TFTWidth_TypeDef | 
Function Documentation
| void EBI_AddressTimingSet | ( | uint32_t | 
            setupCycles,
            | 
| uint32_t | 
            holdCycles
            | ||
| ) | 
Configure timing values of address latch bus accesses.
- Parameters
- 
         [in] setupCyclesSets the number of cycles the address is held after ALE is asserted. [in] holdCyclesSets the number of cycles the address is driven onto the ADDRDAT bus before ALE is asserted. If set 0, 1 cycle is inserted by hardware. 
        Definition at line
        
         594
        
        of file
        
         em_ebi.c
        
        .
       
Referenced by EBI_Init() .
| void EBI_AltMapEnable | ( | bool | 
            enable
            | ) | 
Configure the Alternate Address Map support. Enables or disables 256 MB address range for all banks.
- Parameters
- 
         [in] enableSet or clear the address map extension. 
        Definition at line
        
         1177
        
        of file
        
         em_ebi.c
        
        .
       
References BUS_RegBitWrite() .
| uint32_t EBI_BankAddress | ( | uint32_t | 
            bank
            | ) | 
Return the base address of the EBI bank.
- Parameters
- 
         [in] bankA bank to return the start address for. 
- Returns
- an absolute address of the bank.
        Definition at line
        
         360
        
        of file
        
         em_ebi.c
        
        .
       
References EBI_BANK0 , EBI_BANK1 , EBI_BANK2 , and EBI_BANK3 .
        Referenced by
        
         BSP_getTftSRAMDirectDriveBaseAddress()
        
        ,
        
         BSP_setTftSRAMDirectDriveBaseAddress()
        
        , and
        
         TFT_DirectInit()
        
        .
       
| void EBI_BankAddressTimingConfig | ( | uint32_t | 
            banks,
            | 
| bool | 
            halfALE
            | ||
| ) | 
Configure address operation parameters for a selected bank.
- Parameters
- 
         [in] banksA mask of memory bank(s) to configure write timing for. [in] halfALEEnables or disables the half cycle ALE strobe in the last strobe cycle. 
        Definition at line
        
         981
        
        of file
        
         em_ebi.c
        
        .
       
References BUS_RegBitWrite() , EBI_BANK0 , EBI_BANK1 , EBI_BANK2 , and EBI_BANK3 .
Referenced by EBI_Init() .
| void EBI_BankAddressTimingSet | ( | uint32_t | 
            banks,
            | 
| uint32_t | 
            setupCycles,
            | ||
| uint32_t | 
            holdCycles
            | ||
| ) | 
Configure timing values of address latch bus accesses.
- Parameters
- 
         [in] banksA mask of memory bank(s) to configure address timing for. [in] setupCyclesSets the number of cycles the address is held after ALE is asserted. [in] holdCyclesSets the number of cycles the address is driven onto the ADDRDAT bus before ALE is asserted. If set 0, 1 cycle is inserted by hardware. 
        Definition at line
        
         1014
        
        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.
- Parameters
- 
         [in] banksA mask of memory bank(s) to configure polarity for. [in] enableA flag 
        Definition at line
        
         1149
        
        of file
        
         em_ebi.c
        
        .
       
References BUS_RegBitWrite() , EBI_BANK0 , EBI_BANK1 , EBI_BANK2 , and EBI_BANK3 .
| void EBI_BankEnable | ( | uint32_t | 
            banks,
            | 
| bool | 
            enable
            | ||
| ) | 
Enable or disable EBI Bank.
- Parameters
- 
         [in] banksBanks to reconfigure, mask of EBI_BANK<n> flags. [in] enableTrue to enable, false to disable. 
        Definition at line
        
         334
        
        of file
        
         em_ebi.c
        
        .
       
References BUS_RegBitWrite() , 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.
- Parameters
- 
         [in] banksA mask of memory bank(s) to configure polarity for. [in] lineWhich pin/line to configure. [in] polarityActive high, or active low. 
        Definition at line
        
         1069
        
        of file
        
         em_ebi.c
        
        .
       
References BUS_RegBitWrite() , 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 a selected bank.
- Parameters
- 
         [in] banksA mask of memory bank(s) to configure write timing for. [in] pageModeEnables or disables the half cycle WE strobe in the last strobe cycle. [in] prefetchEnables or disables the half cycle WE strobe in the last strobe cycle. [in] halfREEnables or disables the half cycle WE strobe in the last strobe cycle. 
        Definition at line
        
         779
        
        of file
        
         em_ebi.c
        
        .
       
References BUS_RegBitWrite() , EBI_BANK0 , EBI_BANK1 , EBI_BANK2 , and EBI_BANK3 .
Referenced by EBI_Init() .
| void EBI_BankReadTimingSet | ( | uint32_t | 
            banks,
            | 
| uint32_t | 
            setupCycles,
            | ||
| uint32_t | 
            strobeCycles,
            | ||
| uint32_t | 
            holdCycles
            | ||
| ) | 
Configure timing values of read bus accesses.
- Parameters
- 
         [in] banksA mask of memory bank(s) to configure timing for. [in] setupCyclesA number of clock cycles for address setup before REn is asserted. [in] strobeCyclesThe 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 hardware. [in] holdCyclesThe number of cycles CSn is held active after the REn is deasserted. 
        Definition at line
        
         824
        
        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 a selected bank.
- Parameters
- 
         [in] banksA mask of memory bank(s) to configure write timing for. [in] writeBufDisableIf true, disable the write buffer. [in] halfWEEnables or disables half cycle WE strobe in the last strobe cycle. 
        Definition at line
        
         884
        
        of file
        
         em_ebi.c
        
        .
       
References BUS_RegBitWrite() , EBI_BANK0 , EBI_BANK1 , EBI_BANK2 , and EBI_BANK3 .
Referenced by EBI_Init() .
| void EBI_BankWriteTimingSet | ( | uint32_t | 
            banks,
            | 
| uint32_t | 
            setupCycles,
            | ||
| uint32_t | 
            strobeCycles,
            | ||
| uint32_t | 
            holdCycles
            | ||
| ) | 
Configure timing values of write bus accesses.
- Parameters
- 
         [in] banksA mask of memory bank(s) to configure write timing for. [in] setupCyclesA number of clock cycles for address setup before WEn is asserted. [in] strobeCyclesA number of cycles WEn is held active. If set to 0, 1 cycle is inserted by hardware. [in] holdCyclesNumber of cycles CSn is held active after WEn is deasserted. 
        Definition at line
        
         924
        
        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.
- Parameters
- 
         [in] csChipSelect lines to reconfigure, mask of EBI_CS<n> flags. [in] enableTrue to enable, false to disable. 
        Definition at line
        
         442
        
        of file
        
         em_ebi.c
        
        .
       
References EBI_CS0 , EBI_CS1 , EBI_CS2 , and EBI_CS3 .
Referenced by EBI_Init() .
| void EBI_Init | ( | const EBI_Init_TypeDef * | 
            ebiInit
            | ) | 
Configure and enable the External Bus Interface.
- Parameters
- 
         [in] ebiInitThe EBI configuration structure. 
- Note
- GPIO lines must be configured as a PUSH_PULL for the correct operation. GPIO and EBI clocks must be enabled in the CMU.
        Definition at line
        
         112
        
        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 , 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 .
        Referenced by
        
         BSP_EbiInit()
        
        ,
        
         BSP_initEbiFlash()
        
        , and
        
         BSP_initEbiSram()
        
        .
       
| __STATIC_INLINE void EBI_IntClear | ( | uint32_t | 
            flags
            | ) | 
Clear one or more pending EBI interrupts.
- Parameters
- 
         [in] flagsPending EBI interrupt source to clear. Use a logical OR combination of valid interrupt flags for the EBI module (EBI_IF_nnn). 
        Definition at line
        
         886
        
        of file
        
         em_ebi.h
        
        .
       
| __STATIC_INLINE void EBI_IntDisable | ( | uint32_t | 
            flags
            | ) | 
Disable one or more EBI interrupts.
- Parameters
- 
         [in] flagsEBI interrupt sources to disable. Use logical OR combination of valid interrupt flags for the EBI module (EBI_IF_nnn) 
        Definition at line
        
         912
        
        of file
        
         em_ebi.h
        
        .
       
| __STATIC_INLINE void EBI_IntEnable | ( | uint32_t | 
            flags
            | ) | 
Enable one or more EBI interrupts.
- Parameters
- 
         [in] flagsEBI interrupt sources to enable. Use logical OR combination of valid interrupt flags for the EBI module (EBI_IF_nnn) 
        Definition at line
        
         925
        
        of file
        
         em_ebi.h
        
        .
       
| __STATIC_INLINE uint32_t EBI_IntGet | ( | void | 
            | ) | 
Get pending EBI interrupt flags.
- Note
- Event bits are not cleared by the use of this function.
- Returns
- EBI interrupt sources pending, a logical combination of valid EBI interrupt flags, EBI_IF_nnn.
        Definition at line
        
         941
        
        of file
        
         em_ebi.h
        
        .
       
| __STATIC_INLINE uint32_t EBI_IntGetEnabled | ( | void | 
            | ) | 
Get enabled and pending EBI interrupt flags. Useful for handling more interrupt sources in the same interrupt handler.
- Note
- Interrupt flags are not cleared by the use of this function.
- Returns
- 
         Pending and enabled EBI interrupt sources. The return value is the bitwise AND of
         - the enabled interrupt sources in EBI_IEN and
- the pending interrupt flags EBI_IF.
 
        Definition at line
        
         960
        
        of file
        
         em_ebi.h
        
        .
       
| __STATIC_INLINE void EBI_IntSet | ( | uint32_t | 
            flags
            | ) | 
Set one or more pending EBI interrupts.
- Parameters
- 
         [in] flagsEBI interrupt sources to set to pending. Use a logical OR combination of valid interrupt flags for the EBI module (EBI_IF_nnn). 
        Definition at line
        
         899
        
        of file
        
         em_ebi.h
        
        .
       
| void EBI_NANDFlashEnable | ( | uint32_t | 
            banks,
            | 
| bool | 
            enable
            | ||
| ) | 
Enable or disable EBI NAND Flash Support.
- Parameters
- 
         [in] banksBanks to reconfigure, mask of EBI_BANK<n> flags. [in] enableTrue to enable, false to disable. 
        Definition at line
        
         414
        
        of file
        
         em_ebi.c
        
        .
       
References BUS_RegBitWrite() , EBI_BANK0 , EBI_BANK1 , EBI_BANK2 , and EBI_BANK3 .
| void EBI_PolaritySet | ( | EBI_Line_TypeDef | 
            line,
            | 
| EBI_Polarity_TypeDef | 
            polarity
            | ||
| ) | 
Configure EBI pin polarity.
- Parameters
- 
         [in] lineWhich pin/line to configure. [in] polarityActive high or active low. 
        Definition at line
        
         468
        
        of file
        
         em_ebi.c
        
        .
       
References BUS_RegBitWrite() , ebiLineALE , ebiLineARDY , ebiLineBL , ebiLineCS , ebiLineRE , ebiLineTFTCS , ebiLineTFTDataEn , ebiLineTFTDClk , ebiLineTFTHSync , ebiLineTFTVSync , and ebiLineWE .
Referenced by EBI_Init() , and EBI_TFTInit() .
| void EBI_ReadTimingSet | ( | uint32_t | 
            setupCycles,
            | 
| uint32_t | 
            strobeCycles,
            | ||
| uint32_t | 
            holdCycles
            | ||
| ) | 
Configure timing values of read bus accesses.
- Parameters
- 
         [in] setupCyclesA number of clock cycles for the address setup before REn is asserted. [in] strobeCyclesThe 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 hardware. [in] holdCyclesThe number of cycles CSn is held active after the REn is deasserted. 
        Definition at line
        
         528
        
        of file
        
         em_ebi.c
        
        .
       
Referenced by EBI_Init() .
| __STATIC_INLINE uint32_t EBI_StopNandEccGen | ( | void | 
            | ) | 
Stop NAND flash ECC generator and return generated ECC.
- Returns
- The generated ECC.
        Definition at line
        
         986
        
        of file
        
         em_ebi.h
        
        .
       
Referenced by NANDFLASH_ReadPage() , and NANDFLASH_WritePage() .
| __STATIC_INLINE void EBI_TFTAlphaBlendSet | ( | uint8_t | 
            alpha
            | ) | 
Set TFT Alpha Blending Factor.
- Parameters
- 
         [in] alpha8-bit value indicating blending factor. 
        Definition at line
        
         812
        
        of file
        
         em_ebi.h
        
        .
       
| __STATIC_INLINE void EBI_TFTColorSrcSet | ( | EBI_TFTColorSrc_TypeDef | 
            colorSrc
            | ) | 
Masking and Blending Color1 Source Set.
- Parameters
- 
         [in] colorSrcColor1 source. 
        Definition at line
        
         801
        
        of file
        
         em_ebi.h
        
        .
       
| __STATIC_INLINE void EBI_TFTDDSet | ( | uint32_t | 
            color
            | ) | 
Set TFT Direct Drive Data from Internal Memory.
- Parameters
- 
         [in] colorColor of pixel 
        Definition at line
        
         763
        
        of file
        
         em_ebi.h
        
        .
       
| __STATIC_INLINE void EBI_TFTEnable | ( | EBI_TFTDDMode_TypeDef | 
            mode
            | ) | 
Enable or disable TFT Direct Drive.
- Parameters
- 
         [in] modeDrive from Internal or External memory, or Disable Direct Drive. 
        Definition at line
        
         720
        
        of file
        
         em_ebi.h
        
        .
       
| __STATIC_INLINE void EBI_TFTFBTriggerSet | ( | EBI_TFTFrameBufTrigger_TypeDef | 
            sync
            | ) | 
Set Frame Buffer Trigger.
Frame buffer pointer will be updated either on each horizontal line (hsync) or vertical update (vsync).
- Parameters
- 
         [in] syncTrigger update of frame buffer pointer on vertical or horizontal sync. 
        Definition at line
        
         857
        
        of file
        
         em_ebi.h
        
        .
       
| __STATIC_INLINE void EBI_TFTFrameBaseSet | ( | uint32_t | 
            address
            | ) | 
Configure frame buffer pointer.
- Parameters
- 
         [in] addressFrame pointer address, as offset by EBI base address. 
        Definition at line
        
         732
        
        of file
        
         em_ebi.h
        
        .
       
Referenced by EBI_TFTInit() .
| __STATIC_INLINE uint32_t EBI_TFTHCount | ( | void | 
            | ) | 
Get current horizontal position counter.
- Returns
- Returns the current horizontal pixel position within a visible line.
        Definition at line
        
         842
        
        of file
        
         em_ebi.h
        
        .
       
| void EBI_TFTHPorchSet | ( | uint32_t | 
            front,
            | 
| uint32_t | 
            back,
            | ||
| uint32_t | 
            pulseWidth
            | ||
| ) | 
Configure and initialize Horizontal Porch Settings.
- Parameters
- 
         [in] frontHorizontal front porch size in pixels. [in] backHorizontal back porch size in pixels. [in] pulseWidthHorizontal synchronization pulse width. Set to required -1. 
        Definition at line
        
         698
        
        of file
        
         em_ebi.c
        
        .
       
Referenced by EBI_TFTInit() .
| __STATIC_INLINE void EBI_TFTHStrideSet | ( | uint32_t | 
            nbytes
            | ) | 
Set horizontal TFT stride value in number of bytes.
- Parameters
- 
         [in] nbytesNumber of bytes to add to frame buffer pointer after each horizontal line update. 
        Definition at line
        
         869
        
        of file
        
         em_ebi.h
        
        .
       
| void EBI_TFTInit | ( | const EBI_TFTInit_TypeDef * | 
            ebiTFTInit
            | ) | 
Configure and initialize TFT Direct Drive.
- Parameters
- 
         [in] ebiTFTInitThe TFT Initialization structure. 
        Definition at line
        
         620
        
        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 .
        Referenced by
        
         BSP_initEbiTftDirectDrive()
        
        , and
        
         TFT_DirectInit()
        
        .
       
| __STATIC_INLINE void EBI_TFTMaskBlendMode | ( | EBI_TFTMaskBlend_TypeDef | 
            maskBlend
            | ) | 
Masking and Blending Mode Set.
- Parameters
- 
         [in] maskBlendMasking and alpha blending mode. 
        Definition at line
        
         790
        
        of file
        
         em_ebi.h
        
        .
       
| __STATIC_INLINE void EBI_TFTMaskSet | ( | uint32_t | 
            mask
            | ) | 
Set TFT mask value. Data accesses that matches this value are suppressed.
- Parameters
- 
         [in] mask
        Definition at line
        
         822
        
        of file
        
         em_ebi.h
        
        .
       
| __STATIC_INLINE void EBI_TFTPixelSet | ( | int | 
            pixel,
            | 
| uint32_t | 
            color
            | ||
| ) | 
Set TFT Pixel Color 0 or 1.
- Parameters
- 
         [in] pixelWhich pixel instance to set. [in] colorColor of pixel, 16-bit value. 
        Definition at line
        
         745
        
        of file
        
         em_ebi.h
        
        .
       
| void EBI_TFTSizeSet | ( | uint32_t | 
            horizontal,
            | 
| uint32_t | 
            vertical
            | ||
| ) | 
Configure and initialize TFT size settings.
- Parameters
- 
         [in] horizontalTFT display horizontal size in pixels. [in] verticalTFT display vertical size in pixels. 
        Definition at line
        
         678
        
        of file
        
         em_ebi.c
        
        .
       
Referenced by EBI_TFTInit() .
| void EBI_TFTTimingSet | ( | uint32_t | 
            dclkPeriod,
            | 
| uint32_t | 
            start,
            | ||
| uint32_t | 
            setup,
            | ||
| uint32_t | 
            hold
            | ||
| ) | 
Configure TFT Direct Drive Timing Settings.
- Parameters
- 
         [in] dclkPeriodDCLK period in internal cycles. [in] startA starting position of the external direct drive, relative to the DCLK inactive edge. [in] setupA number of cycles that RGB data is driven before the active edge of DCLK. [in] holdA number of cycles that RGB data is held after the active edge of DCLK. 
        Definition at line
        
         747
        
        of file
        
         em_ebi.c
        
        .
       
Referenced by EBI_TFTInit() .
| __STATIC_INLINE uint32_t EBI_TFTVCount | ( | void | 
            | ) | 
Get current vertical position counter.
- Returns
- Returns the current line position for the visible part of a frame.
        Definition at line
        
         832
        
        of file
        
         em_ebi.h
        
        .
       
| void EBI_TFTVPorchSet | ( | uint32_t | 
            front,
            | 
| uint32_t | 
            back,
            | ||
| uint32_t | 
            pulseWidth
            | ||
| ) | 
Configure Vertical Porch Settings.
- Parameters
- 
         [in] frontVertical front porch size in pixels. [in] backVertical back porch size in pixels. [in] pulseWidthVertical synchronization pulse width. Set to required -1. 
        Definition at line
        
         720
        
        of file
        
         em_ebi.c
        
        .
       
Referenced by EBI_TFTInit() .
| void EBI_WriteTimingSet | ( | uint32_t | 
            setupCycles,
            | 
| uint32_t | 
            strobeCycles,
            | ||
| uint32_t | 
            holdCycles
            | ||
| ) | 
Configure timing values of write bus accesses.
- Parameters
- 
         [in] setupCyclesA number of clock cycles for the address setup before WEn is asserted. [in] strobeCyclesA number of cycles WEn is held active. If set to 0, 1 cycle is inserted by hardware. [in] holdCyclesA number of cycles CSn is held active after the WEn is deasserted. 
        Definition at line
        
         562
        
        of file
        
         em_ebi.c
        
        .
       
Referenced by EBI_Init() .