HYPERBUS Driver API/interface file.
Go to the source code of this file.
Data Structures | |
| struct | HYPERBUS_ECCErrorInfo |
| ECC Error Information structure. More... | |
| struct | HYPERBUS_ECCRegions |
| ECC region The structure specifies the ECC region start address and size. More... | |
| struct | HYPERBUS_ECCRegion |
| Structure containing ECC region params. More... | |
| struct | HYPERBUS_MemCfg |
| Memory Configuration Structure. More... | |
| struct | HYPERBUS_fssDataIf |
| FSS Data Interface Structure. More... | |
| struct | HYPERBUS_fssHandle |
| FSS Handle Structure. More... | |
| struct | HYPERBUS_MemTiming |
| Register structure for the Memory Timing Register. More... | |
| struct | HYPERBUS_Params |
| HYPERBUS Parameters. More... | |
| struct | HYPERBUS_Attrs |
| HYPERBUS instance attributes - used during init time. More... | |
| struct | HYPERBUS_Object |
| HYPERBUS driver object. More... | |
| struct | HYPERBUS_Config |
| HYPERBUS driver configuration structure. More... | |
Macros | |
| #define | HYPERBUS_MEM_OFFSET 0U |
| Memory offset for HYPERBUS controller. More... | |
| #define | HYPERBUS_MCR_CONFIGURABLE_CS_LOW_TIME 0x1U |
| Memory Configuration Register defines. More... | |
| #define | HYPERBUS_MCR_NO_CONFIGURABLE_CS_LOW_TIME 0x0U |
| #define | HYPERBUS_MCR_MAXLEN_2_BYTE 0x0U |
| Maximum Length defines. More... | |
| #define | HYPERBUS_MCR_MAXLEN_4_BYTE 0x1U |
| #define | HYPERBUS_MCR_MAXLEN_6_BYTE 0x2U |
| #define | HYPERBUS_MCR_MAXLEN_1024_BYTE 0x1FFU |
| #define | HYPERBUS_MCR_MERGE_WRAP_INCR 0x1U |
| Memory Configuration Register defines. More... | |
| #define | HYPERBUS_MCR_NO_MERGE_WRAP_INCR 0x0U |
| #define | HYPERBUS_MCR_ASYMM_CACHE_SUPPORT 0x1U |
| Memory Configuration Register defines. More... | |
| #define | HYPERBUS_MCR_NO_ASYMM_CACHE_SUPPORT 0x0U |
| #define | HYPERBUS_MCR_MEM_SPACE 0x0U |
| Memory Configuration Register defines. More... | |
| #define | HYPERBUS_MCR_CR_SPACE 0x1U |
| #define | HYPERBUS_MCR_HYPERFLASH 0x0U |
| Memory Configuration Register defines. More... | |
| #define | HYPERBUS_MCR_HYPERRAM 0x1U |
| #define | HYPERBUS_MCR_WRAPSIZE_NONE 0x0U |
| Memory Configuration Register defines. More... | |
| #define | HYPERBUS_MCR_WRAPSIZE_64B 0x1U |
| #define | HYPERBUS_MCR_WRAPSIZE_16B 0x2U |
| #define | HYPERBUS_MCR_WRAPSIZE_32B 0x3U |
| #define | HYPERBUS_DMA_CH_INVALID (-1) |
| Invalid DMA channel index value. More... | |
| #define | HYPERBUS_FSS_FSAS_GENREGS_SYSCONFIG_ECC_ENABLE (0x00000001U) |
| Value to enable ECC in SYSCONFIG register. More... | |
| #define | HYPERBUS_FSS_FSAS_GENREGS_SYSCONFIG_ECC_DISABLE (0x00000000U) |
| Value to disable ECC in SYSCONFIG register. More... | |
| #define | HYPERBUS_FSS_FSAS_GENREGS_STATUS_RAW_ECC_WRITE_NONALIGN_ERR_MASK (0x4U) |
| Mask for write non-aligned error field in STATUS_RAW register. More... | |
| #define | HYPERBUS_FSS_FSAS_GENREGS_STATUS_RAW_ECC_WRITE_NONALIGN_ERR_SHIFT (0x2U) |
| Shift for write non-aligned error field in STATUS_RAW register. More... | |
| #define | HYPERBUS_FSS_FSAS_GENREGS_STATUS_RAW_ECC_DOUBLE_BIT_ERR_MASK (0x2U) |
| Mask for double bit error field in STATUS_RAW register. More... | |
| #define | HYPERBUS_FSS_FSAS_GENREGS_STATUS_RAW_ECC_DOUBLE_BIT_ERR_SHIFT (0x1U) |
| Shift for double bit error field in STATUS_RAW register. More... | |
| #define | HYPERBUS_FSS_FSAS_GENREGS_STATUS_RAW_ECC_SINGLE_BIT_ERR_MASK (0x1U) |
| Mask for single bit error field in STATUS_RAW register. More... | |
| #define | HYPERBUS_FSS_FSAS_GENREGS_STATUS_RAW_ECC_SINGLE_BIT_ERR_SHIFT (0x0U) |
| Shift for single bit error field in STATUS_RAW register. More... | |
| #define | HYPERBUS_FSS_FSAS_GENREGS_ERR_ECC_TYPE_OFFSET (0x00000074U) |
| Offset of ECC error type register in Hyperbus FSS module. More... | |
| #define | HYPERBUS_FSS_FSAS_GENREGS_ERR_WRT_TYPE_OFFSET (0x00000078U) |
| Offset of write error type register in Hyperbus FSS module. More... | |
| #define | HYPERBUS_FSS_FSAS_GENREGS_ECC_ERR_CLEAR_VALUE (0x80000000U) |
| Value to clear ECC error in Hyperbus FSS module. More... | |
| #define | HYPERBUS_FSS_FSAS_GENREGS_IRQ_EOI_OFFSET (0x00000010U) |
| Offset of EOI register in Hyperbus FSS module. More... | |
| #define | HYPERBUS_FSS_FSAS_GENREGS_IRQ_EOI_VECTOR (0x00000001U) |
| Value to write to EOI register to clear interrupt in Hyperbus FSS module. More... | |
| #define | HYPERBUS_FSS_FSAS_GENREGS_STATUS_RAW_OFFSET (0x00000014U) |
| Offset of STATUS_RAW register in Hyperbus FSS module. More... | |
| #define | HYPERBUS_FSS_FSAS_GENREGS_IRQ_STATUS_OFFSET (0x00000018U) |
| Offset of IRQ status register in Hyperbus FSS module. More... | |
| #define | HYPERBUS_FSS_FSAS_GENREGS_IRQ_ENABLE_SET_OFFSET (0x0000001cU) |
| Offset of IRQ enable set register in Hyperbus FSS module. More... | |
| #define | HYPERBUS_FSS_FSAS_GENREGS_IRQ_ENABLE_CLR_OFFSET (0x00000020U) |
| Offset of IRQ enable clear register in Hyperbus FSS module. More... | |
| #define | HYPERBUS_FSS_FSAS_GENREGS_IRQ_ENABLE_SET_VALUE (0x00000007U) |
| Value to write to IRQ enable set register to enable interrupts in Hyperbus FSS module. More... | |
| #define | HYPERBUS_FSS_FSAS_GENREGS_IRQ_ENABLE_CLR_VALUE (0x00000007U) |
| Value to write to IRQ enable clear register to disable interrupts in Hyperbus FSS module. More... | |
| #define | HYPERBUS_FSS_FSAS_ECC_REGION_START_OFFSET (0x00000030U) |
| Offset of ECC region start address register in Hyperbus FSS module. More... | |
| #define | HYPERBUS_FSS_FSAS_ECC_REGION_SIZE_OFFSET (0x00000034U) |
| Offset of ECC region size register in Hyperbus FSS module. More... | |
| #define | HYPERBUS_FSS_FSAS_ECC_REGION_OFFSET_STEP (0x00000008U) |
| Offset step to access ECC region start address and size registers. More... | |
| #define | HYPERBUS_FSS_FSAS_ECC_REGION_START_ADDR_SHIFT (0x0000000cU) |
| Shift value to get ECC region start address in 4KBytes steps. More... | |
| #define | HYPERBUS_FSS_FSAS_ECC_REGION_SIZE_SHIFT (0x0000000cU) |
| Shift value to get ECC region size in 4KBytes steps. More... | |
| #define | HYPERBUS_FSS_FSAS_NUM_ECC_REGIONS (0x4U) |
| Number of ECC regions supported by the Hyperbus FSS module. More... | |
| #define | HYPERBUS_FSS_FSAS_ECC_REGION0 (0U) |
| First ECC region in Hyperbus FSS module (region 0) More... | |
| #define | HYPERBUS_FSS_FSAS_ECC_REGION1 (1U) |
| Second ECC region in Hyperbus FSS module (region 1) More... | |
| #define | HYPERBUS_FSS_FSAS_ECC_REGION2 (2U) |
| Third ECC region in Hyperbus FSS module (region 2) More... | |
| #define | HYPERBUS_FSS_FSAS_ECC_REGION3 (3U) |
| Fourth ECC region in Hyperbus FSS module (region 3) More... | |
Chip Selects | |
| #define | HYPERBUS_CS0 (0U) |
| #define | HYPERBUS_CS1 (1U) |
HYPERBUS ECC error type | |
| #define | HYPERBUS_ECC_1B_ERROR (0U) |
| #define | HYPERBUS_ECC_2B_ERROR (1U) |
| #define | HYPERBUS_ECC_WRITE_NONALIGN_ERROR (2U) |
| #define | HYPERBUS_ECC_ERR_ALL (3U) |
Typedefs | |
| typedef void * | HYPERBUS_Handle |
| A handle that is returned from a HYPERBUS_open() call. More... | |
| typedef void(* | HYPERBUS_ECCCallbackFxn) (HYPERBUS_Handle hyperbusHandle, uint8_t errorType) |
| The definition of a callback function used by the HYPERBUS driver when ECC error interrupts occur. More... | |
Enumerations | |
| enum | HYPERBUS_Devicetype { HYPERBUS_DEVICETYPE_HYPERRAM, HYPERBUS_DEVICETYPE_NONE, HYPERBUS_DEVICETYPE_HYPERFLASH } |
| Enum for device type. More... | |
Functions | |
| void | HYPERBUS_init (void) |
| This function initializes the HYPERBUS module. More... | |
| void | HYPERBUS_deinit (void) |
| This function de-initializes the HYPERBUS module. More... | |
| HYPERBUS_Handle | HYPERBUS_open (uint32_t index) |
| This function opens a given HYPERBUS peripheral. More... | |
| void | HYPERBUS_close (HYPERBUS_Handle handle) |
| Function to close a HYPERBUS peripheral specified by the HYPERBUS handle. More... | |
| HYPERBUS_Handle | HYPERBUS_getHandle (uint32_t index) |
| This function returns the handle of an open HYPERBUS Instance from the instance index. More... | |
| uint32_t | HYPERBUS_getHyperBusDataBaseAddr (HYPERBUS_Handle handle) |
| This function gets the SOC mapped data base address of the HyperRam. More... | |
| static uint32_t | HYPERBUS_makeMemCfg (HYPERBUS_Handle handle, HYPERBUS_MemCfg *pHyperBusMemCfg) |
| This function returns the memory configuration of the HYPERBUS Instance. More... | |
| static uint32_t | HYPERBUS_makeMemTiming (HYPERBUS_Handle handle, HYPERBUS_MemTiming *pHyperBusMemTiming) |
| This function returns the memory Timings of the HYPERBUS Instance. More... | |
| static void | HYPERBUS_isr (void *args) |
| This function is called by the HwiP module to service interrupts generated by the FSS of the HYPERBUS controller. More... | |
| int32_t | HYPERBUS_configureECC (HYPERBUS_Handle handle) |
| This function configures the ECC regions for the HYPERBUS Instance. More... | |
| int32_t | HYPERBUS_setECCRegion (HYPERBUS_Handle handle, uint8_t region) |
| This function sets the ECC region for the HYPERBUS Instance. More... | |
| int32_t | HYPERBUS_enableECC (HYPERBUS_Handle handle, uint8_t enableFlag) |
| This function enables or disables ECC for the HYPERBUS Instance. More... | |
| int32_t | HYPERBUS_clearECCError (HYPERBUS_Handle handle, uint8_t errorType) |
| This function clears the ECC error for the HYPERBUS Instance. More... | |
| int32_t | HYPERBUS_getECCErrorInfo (HYPERBUS_Handle handle, HYPERBUS_ECCErrorInfo *ECCErrorInfo) |
| This function returns the ECC error information for the HYPERBUS Instance. More... | |
Variables | |
| HYPERBUS_Config | gHyperBusConfig [] |
| Externally defined driver configuration array. More... | |
| uint32_t | gHyperBusConfigNum |
| Externally defined driver configuration array size. More... | |
| HYPERBUS_ECCRegion | gHyperBusEccRegion [HYPERBUS_FSS_FSAS_NUM_ECC_REGIONS] |