AM263x MCU+ SDK  08.05.00
mcrc/v0/sdl_mcrc.h File Reference

Introduction

This file contains the prototypes of the APIs present in the device abstraction layer file of MCRC. This also contains some related macros.

Go to the source code of this file.

MCRC Operation Mode

#define SDL_MCRC_OPERATION_MODE_DATA   (SDL_MCRC_CTRL2_CH1_MODE_DATA)
 
#define SDL_MCRC_OPERATION_MODE_AUTO   (SDL_MCRC_CTRL2_CH1_MODE_AUTO)
 
#define SDL_MCRC_OPERATION_MODE_SEMICPU   (SDL_MCRC_CTRL2_CH1_MODE_SEMICPU)
 
#define SDL_MCRC_OPERATION_MODE_FULLCPU   (SDL_MCRC_CTRL2_CH1_MODE_FULLCPU)
 
typedef uint32_t SDL_MCRC_ModeType
 MCRC operation mode supported. MCRC can either operate in Semi-CPU, Full-CPU or Auto mode. More...
 

MCRC channel

#define SDL_MCRC_CHANNEL_1   (0x1U)
 
#define SDL_MCRC_CHANNEL_2   (0x2U)
 
#define SDL_MCRC_CHANNEL_3   (0x3U)
 
#define SDL_MCRC_CHANNEL_4   (0x4U)
 
typedef uint32_t SDL_MCRC_Channel_t
 MCRC channel supported. More...
 

Data Structures

struct  SDL_MCRC_Signature_t
 Structure for accessing MCRC register data which are 64 bit wide. More...
 
struct  SDL_MCRC_SignatureRegAddr_t
 Structure for accessing MCRC registers address which are 64 bit wide. More...
 
struct  SDL_MCRC_ChannelStaticRegs
 MCRC channel static registers list. More...
 
struct  SDL_MCRC_StaticRegs_t
 MCRC static registers list. More...
 
struct  SDL_MCRC_DataConfig_t
 Structure for MCRC CPU inputs data. More...
 

Macros

#define SDL_MCRC_CHANNEL_IRQSTATUS_RAW_MAIN_ALL
 Macro defines mask for all the interrupts for a channel. More...
 
#define SDL_MCRC_PATTERN_COUNT_MAX   (0x000FFFFFU)
 Macro defines maximum value of MCRC Pattern Count. More...
 
#define SDL_MCRC_SECTOR_COUNT_MAX   (0x0000FFFFU)
 Macro defines maximum value of MCRC Sector Count. More...
 
#define SDL_MCRC_BCTOPLD_MAX   (0x00FFFFFFU)
 Macro defines maximum value of MCRC Block Complete Timeout Counter Preload. More...
 
#define SDL_MCRC_WDTOPLD_MAX   (0x00FFFFFFU)
 Macro defines maximum value of MCRC Watchdog Timeout Counter Preload. More...
 
#define SDL_MCRC_MAX_NUM_OF_CHANNELS   (4U)
 Max number of channels supported in MCRC. More...
 

Enumerations

enum  SDL_MCRC_DataBitSize { SDL_MCRC_DATA_8_BIT = 1, SDL_MCRC_DATA_16_BIT = 2, SDL_MCRC_DATA_32_BIT = 3 }
 This enumerator defines the Data size for input MCRC DATA. More...
 

Functions

int32_t SDL_MCRC_init (SDL_MCRC_InstType instance, SDL_MCRC_Channel_t channel, uint32_t watchdogPreload, uint32_t blockPreload)
 Initialize MCRC channel and will configure watchdog and block preload value for given channel. More...
 
int32_t SDL_MCRC_verifyInit (SDL_MCRC_InstType instance, SDL_MCRC_Channel_t channel, uint32_t watchdogPreload, uint32_t blockPreload)
 Verify the MCRC watchdog and block preload value initialized for given channel. More...
 
int32_t SDL_MCRC_config (SDL_MCRC_InstType instance, SDL_MCRC_Channel_t channel, uint32_t patternCount, uint32_t sectorCount, SDL_MCRC_ModeType mode)
 This API will configure MCRC mode, pattern and sector count for given channel. More...
 
int32_t SDL_MCRC_verifyConfig (SDL_MCRC_InstType instance, SDL_MCRC_Channel_t channel, uint32_t patternCount, uint32_t sectorCount, SDL_MCRC_ModeType mode)
 This API will verify the configure of MCRC mode, pattern and sector count for given channel. More...
 
int32_t SDL_MCRC_channelReset (SDL_MCRC_InstType instance, SDL_MCRC_Channel_t channel)
 This API is used to reset the MCRC channel. More...
 
int32_t SDL_MCRC_setPSASeedSig (SDL_MCRC_InstType instance, SDL_MCRC_Channel_t channel, const SDL_MCRC_Signature_t *pSeedSign)
 This API is used to set the PSA seed value without compression for given Channel. More...
 
int32_t SDL_MCRC_getPSASectorSig (SDL_MCRC_InstType instance, SDL_MCRC_Channel_t channel, SDL_MCRC_Signature_t *pSecSign)
 This API is used to get sector signature Value/ MCRC value for given channel. More...
 
int32_t SDL_MCRC_getIntrStatus (SDL_MCRC_InstType instance, SDL_MCRC_Channel_t channel, uint32_t *pIntrStatus)
 This API is used to get the pending interrupts for given Channel. More...
 
int32_t SDL_MCRC_enableIntr (SDL_MCRC_InstType instance, SDL_MCRC_Channel_t channel, uint32_t intrMask)
 This API is used to enable interrupts for given Channel. More...
 
int32_t SDL_MCRC_disableIntr (SDL_MCRC_InstType instance, SDL_MCRC_Channel_t channel, uint32_t intrMask)
 This API is used to disable interrupts for given Channel. More...
 
int32_t SDL_MCRC_clearIntr (SDL_MCRC_InstType instance, SDL_MCRC_Channel_t channel, uint32_t intrMask)
 This API is used to clear interrupts for given Channel. More...
 
int32_t SDL_MCRC_isBusy (SDL_MCRC_InstType instance, SDL_MCRC_Channel_t channel, uint32_t *pBusyFlag)
 This API is used to check if MCRC is busy for given Channel. More...
 
int32_t SDL_MCRC_getCurSecNum (SDL_MCRC_InstType instance, SDL_MCRC_Channel_t channel, uint32_t *pCurSecNum)
 This API is used to get the current sector number of which the signature verification fails in AUTO mode for given channel. More...
 
int32_t SDL_MCRC_getPSASig (SDL_MCRC_InstType instance, SDL_MCRC_Channel_t channel, SDL_MCRC_Signature_t *pPSAsig)
 This API is used to get current known good signature value/ MCRC value for given channel. More...
 
int32_t SDL_MCRC_readStaticReg (SDL_MCRC_InstType instance, SDL_MCRC_StaticRegs_t *pStaticRegs)
 This API is used to read static registers of MCRC module. This API needs to be called after the initial configuration is done and hence mutliple read between static registers do not change the values. More...
 
int32_t SDL_MCRC_getCurPSASig (SDL_MCRC_InstType instance, SDL_MCRC_Channel_t channel, SDL_MCRC_Signature_t *pCurPSASig)
 This API is used to get current known good signature value/ MCRC value for given channel. More...
 
int32_t SDL_MCRC_getPSASigRegAddr (SDL_MCRC_InstType instance, SDL_MCRC_Channel_t channel, SDL_MCRC_SignatureRegAddr_t *pMCRCregAddr)
 This API is used to get the PSA register address for given Channel. More...
 
int32_t SDL_MCRC_computeSignCPUmode (SDL_MCRC_InstType instance, SDL_MCRC_Channel_t channel, const SDL_MCRC_DataConfig_t *pDataConfig, SDL_MCRC_Signature_t *sectSignVal)
 This API is used to compute the signature for CPU-only mode and it check if the generated MCRC signature value matches with the reference signature value. More...