![]() |
![]() |
Functions | |
CSL_IDEF_INLINE Uint32 | CSL_MSMC_getPID (void) |
CSL_IDEF_INLINE Uint8 | CSL_MSMC_getModeChangeProgress (void) |
CSL_IDEF_INLINE Uint32 | CSL_MSMC_getSoftErrorAddress (void) |
CSL_IDEF_INLINE void | CSL_MSMC_getSoftErrorAddressExtension (Uint8 *esyn, Uint8 *address, Uint8 *sepId, Uint8 *ser) |
CSL_IDEF_INLINE void | CSL_MSMC_setCounterBankRefreshRead (Uint32 refdel) |
CSL_IDEF_INLINE Uint32 | CSL_MSMC_getCounterBankRefreshRead (void) |
CSL_IDEF_INLINE Uint8 | CSL_MSMC_getParityRAM (void) |
CSL_IDEF_INLINE Uint8 | CSL_MSMC_getCSE (void) |
CSL_IDEF_INLINE void | CSL_MSMC_setCSE (Uint8 cse) |
CSL_IDEF_INLINE Uint8 | CSL_MSMC_getECM (void) |
CSL_IDEF_INLINE void | CSL_MSMC_setECM (Uint8 ecm) |
CSL_IDEF_INLINE void | CSL_MSMC_enableScrubbingEngine (void) |
CSL_IDEF_INLINE void | CSL_MSMC_disableScrubbingEngine (void) |
CSL_IDEF_INLINE Uint32 | CSL_MSMC_getScrubbingEngineState (void) |
CSL_IDEF_INLINE Uint32 | CSL_MSMC_getScrubErrorCorrectedAddress (void) |
CSL_IDEF_INLINE Uint8 | CSL_MSMC_getSyndromeValue (void) |
CSL_IDEF_INLINE Uint32 | CSL_MSMC_getScrubCorrectableErrorCounter (void) |
CSL_IDEF_INLINE void | CSL_MSMC_clearScrubCorrectableErrorCounter (void) |
CSL_IDEF_INLINE Uint32 | CSL_MSMC_getScrubNonCorrectableErrorCounter (void) |
CSL_IDEF_INLINE void | CSL_MSMC_clearScrubNonCorrectableErrorCounter (void) |
CSL_IDEF_INLINE Uint32 | CSL_MSMC_getFaultAddress (void) |
CSL_IDEF_INLINE Uint8 | CSL_MSMC_getFaultAddressNMStatus (void) |
CSL_IDEF_INLINE void | CSL_MSMC_getFaultInfo (Uint8 *faultPrivID, Uint8 *faultMstID) |
CSL_IDEF_INLINE void | CSL_MSMC_clearFaultPrivID (void) |
CSL_IDEF_INLINE Uint32 | CSL_MSMC_getSecurityThreshold (void) |
CSL_IDEF_INLINE void | CSL_MSMC_setSecurityThreshold (Uint32 securityThreshold) |
CSL_IDEF_INLINE Bool | CSL_MSMC_IsNonSecure (void) |
CSL_IDEF_INLINE void | CSL_MSMC_SecureMSMC (void) |
CSL_IDEF_INLINE void | CSL_MSMC_NonSecureMSMC (void) |
CSL_IDEF_INLINE void | CSL_MSMC_setStarvationBoundCGEM (Uint32 index, Uint8 strvEmifArbiter, Uint8 strvRAMArbiter) |
CSL_IDEF_INLINE void | CSL_MSMC_getStarvationBoundCGEM (Uint32 index, Uint8 *strvEmifArbiter, Uint8 *strvRAMArbiter) |
CSL_IDEF_INLINE void | CSL_MSMC_setStarvationBoundSMS (Uint32 sbnd) |
CSL_IDEF_INLINE Uint32 | CSL_MSMC_getStarvationBoundSMS (void) |
CSL_IDEF_INLINE void | CSL_MSMC_setStarvationBoundSES (Uint32 sbnd) |
CSL_IDEF_INLINE Uint32 | CSL_MSMC_getStarvationBoundSES (void) |
CSL_IDEF_INLINE void | CSL_MSMC_setSMSMPAXH (Uint32 privid, Uint32 index, CSL_MSMC_SMSMPAXH *mpaxh) |
CSL_IDEF_INLINE void | CSL_MSMC_getSMSMPAXH (Uint32 privid, Uint32 index, CSL_MSMC_SMSMPAXH *mpaxh) |
CSL_IDEF_INLINE void | CSL_MSMC_setSMSMPAXL (Uint32 privid, Uint32 index, CSL_MSMC_SMSMPAXL *mpaxl) |
CSL_IDEF_INLINE void | CSL_MSMC_getSMSMPAXL (Uint32 privid, Uint32 index, CSL_MSMC_SMSMPAXL *mpaxl) |
CSL_IDEF_INLINE void | CSL_MSMC_setSESMPAXH (Uint32 privid, Uint32 index, CSL_MSMC_SESMPAXH *mpaxh) |
CSL_IDEF_INLINE void | CSL_MSMC_getSESMPAXH (Uint32 privid, Uint32 index, CSL_MSMC_SESMPAXH *mpaxh) |
CSL_IDEF_INLINE void | CSL_MSMC_setSESMPAXL (Uint32 privid, Uint32 index, CSL_MSMC_SESMPAXL *mpaxl) |
CSL_IDEF_INLINE void | CSL_MSMC_getSESMPAXL (Uint32 privid, Uint32 index, CSL_MSMC_SESMPAXL *mpaxl) |
CSL_IDEF_INLINE void | CSL_MSMC_lockNonMPAX (void) |
CSL_IDEF_INLINE Bool | CSL_MSMC_isNonMPAXLocked (void) |
CSL_IDEF_INLINE void | CSL_MSMC_unlockNonMPAX (void) |
CSL_IDEF_INLINE void | CSL_MSMC_lockSMS (Uint32 privid) |
CSL_IDEF_INLINE Bool | CSL_MSMC_isSMSLocked (Uint32 privId) |
CSL_IDEF_INLINE void | CSL_MSMC_unlockSMS (Uint32 privid) |
CSL_IDEF_INLINE void | CSL_MSMC_lockSES (Uint32 privid) |
CSL_IDEF_INLINE Bool | CSL_MSMC_isSESLocked (Uint32 privId) |
CSL_IDEF_INLINE void | CSL_MSMC_unlockSES (Uint32 privid) |
CSL_IDEF_INLINE void | CSL_MSMC_getPendingInterrupts (Uint16 *pfeStat, Uint8 *cees, Uint8 *ncees, Uint8 *cses, Uint8 *ncses) |
CSL_IDEF_INLINE void | CSL_MSMC_getRawInterruptStatus (Uint16 *pfeStat, Uint8 *cees, Uint8 *ncees, Uint8 *cses, Uint8 *ncses) |
CSL_IDEF_INLINE void | CSL_MSMC_setRawInterruptStatus (Uint16 pfiStat, Uint8 cei, Uint8 ncei, Uint8 csi, Uint8 ncsi) |
CSL_IDEF_INLINE void | CSL_MSMC_clearRawInterruptStatus (Uint16 pfiStat, Uint8 cei, Uint8 ncei, Uint8 csi, Uint8 ncsi) |
CSL_IDEF_INLINE void | CSL_MSMC_getInterruptEnableStatus (Uint16 *pfiStat, Uint8 *cei, Uint8 *ncei, Uint8 *csi, Uint8 *ncsi) |
CSL_IDEF_INLINE void | CSL_MSMC_enableInterrupts (Uint16 pfiStat, Uint8 cei, Uint8 ncei, Uint8 csi, Uint8 ncsi) |
CSL_IDEF_INLINE void | CSL_MSMC_disableInterrupts (Uint16 pfiStat, Uint8 cei, Uint8 ncei, Uint8 csi, Uint8 ncsi) |
CSL_IDEF_INLINE Uint32 | CSL_MSMC_getTransmitHeader (void) |
CSL_IDEF_INLINE void | CSL_MSMC_setTransmitHeader (Uint32 transmitHeader) |
CSL_IDEF_INLINE Uint32 | CSL_MSMC_getHitCounter (void) |
CSL_IDEF_INLINE void | CSL_MSMC_setHitCounter (Uint32 hitCounter) |
CSL_IDEF_INLINE void | CSL_MSMC_getMissCounter (Uint32 *readMiss, Uint32 *writeMiss) |
CSL_IDEF_INLINE void | CSL_MSMC_setMissCounter (Uint32 readMiss, Uint32 writeMiss) |
CSL_IDEF_INLINE Uint32 | CSL_MSMC_getVictimCounter (void) |
CSL_IDEF_INLINE void | CSL_MSMC_setVictimCounter (Uint32 victimCounter) |
CSL_IDEF_INLINE void | CSL_MSMC_getMemoryArbiterCounters (Uint8 *priorityElevationCounter, Uint32 *accCyclesCounter) |
CSL_IDEF_INLINE void | CSL_MSMC_setMemoryArbiterCounters (Uint32 accCyclesCounter) |
CSL_IDEF_INLINE void | CSL_MSMC_getPortArbiterCounters (Uint8 *priorityElevationCounter, Uint32 *accCyclesCounter) |
CSL_IDEF_INLINE void | CSL_MSMC_setPortArbiterCounters (Uint32 accCyclesCounter) |
CSL_IDEF_INLINE void | CSL_MSMC_getPerfFilters (Uint8 *ccf, Uint16 *pidf, Uint8 *hm, Uint8 *pth) |
CSL_IDEF_INLINE void | CSL_MSMC_setPerfFilters (Uint8 ccf, Uint16 pidf, Uint8 hm, Uint8 pth) |
CSL_IDEF_INLINE void | CSL_MSMC_enableAnalysisCounter (void) |
CSL_IDEF_INLINE void | CSL_MSMC_disableAnalysisCounter (void) |
CSL_IDEF_INLINE Uint8 | CSL_MSMC_getPriorityLevel (void) |
CSL_IDEF_INLINE void | CSL_MSMC_setPriorityLevel (Uint8 priorityLevel) |
CSL_IDEF_INLINE void | CSL_MSMC_freezeCache (void) |
CSL_IDEF_INLINE void | CSL_MSMC_unFreezeCache (void) |
CSL_IDEF_INLINE Bool | CSL_MSMC_isCacheFrozen (void) |
CSL_IDEF_INLINE void | CSL_MSMC_invalidateCache (void) |
CSL_IDEF_INLINE Uint32 | CSL_MSMC_getInvalidateCacheStatus (void) |
CSL_IDEF_INLINE void | CSL_MSMC_setCacheSize (Uint32 cmode) |
CSL_IDEF_INLINE Uint32 | CSL_MSMC_getCacheSize (void) |
CSL_IDEF_INLINE Uint32 | CSL_MSMC_getSharedMemoryErrorAddress (void) |
CSL_IDEF_INLINE void | CSL_MSMC_getSharedMemoryErrorAddressExtendedInfo (Uint8 *seeAddr, Uint8 *sepId, Uint8 *ser) |
CSL_IDEF_INLINE Uint32 | CSL_MSMC_getScrubbingEngineErrorAddress () |
CSL_IDEF_INLINE void CSL_MSMC_clearFaultPrivID | ( | void | ) |
============================================================================
CSL_MSMC_clearFaultPrivID
Description
This function clears the faulted PrivID bit set in SMPFV register.
Arguments
None
Return Value
None
Pre Condition
None
Post Condition
Fault ID is cleared.
Writes
MSMC_SMPFCR_CLR=1
Example
CSL_MSMC_clearFaultPrivID ();
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_clearRawInterruptStatus | ( | Uint16 | pfiStat, | |
Uint8 | cei, | |||
Uint8 | ncei, | |||
Uint8 | csi, | |||
Uint8 | ncsi | |||
) |
============================================================================
CSL_MSMC_clearRawInterruptStatus
Description
This function clears the RAW Interrupt Status.
Arguments
pfiStat Protection Fault Status cei Correctable EDC Error ncei Non-Correctable EDC Error csi Correctable Scrubbing Error ncsi Non-Correctable Scrubbing Error
Return Value
None
Pre Condition
None
Post Condition
None
Writes
MSMC_SMIRC_PFIC, MSMC_SMIRC_MPEC, MSMC_SMIRC_CEC,
MSMC_SMIRC_NCEC, MSMC_SMIRC_CSC, MSMC_SMIRC_NCSC
Example
Uint16 pfiStat; Uint8 cei; Uint8 ncei; Uint8 csi; Uint8 ncsi; // Get the MSMC Raw Interrupt Status CSL_MSMC_getRawInterruptStatus (&pfiStat, &cei, &ncei, &csi, &ncsi); ... // Clear the MSMC Interrupt Status. CSL_MSMC_clearRawInterruptStatus (pfiStat, cei, ncei, csi, ncsi);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_clearScrubCorrectableErrorCounter | ( | void | ) |
============================================================================
CSL_MSMC_clearScrubCorrectableErrorCounter
Description
This function clears the Scrub Correctable Error Counter.
Arguments
None
Return Value
None
Pre Condition
None
Post Condition
SMSECC register configured with the value passed.
Writes
MSMC_SMSECC_SCEC=0
Example
CSL_MSMC_clearScrubCorrectableErrorCounter ();
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_clearScrubNonCorrectableErrorCounter | ( | void | ) |
============================================================================
CSL_MSMC_clearScrubNonCorrectableErrorCounter
Description
his function clears the Scrub Non Correctable Error Counter.
Arguments
None
Return Value
None
Pre Condition
None
Post Condition
SMSECC register configured with the value passed.
Writes
MSMC_SMSECC_SNCEC=0
Example
CSL_MSMC_clearScrubNonCorrectableErrorCounter ();
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_disableAnalysisCounter | ( | void | ) |
============================================================================
CSL_MSMC_disableAnalysisCounter
Description
This function disables the analysis counters
Arguments
None
Return Value
None
Pre Condition
None
Post Condition
None
Writes
MSMC_SMAC_AEN=0
Example
// Disables the performance analysis counter CSL_MSMC_disableAnalysisCounter();
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_disableInterrupts | ( | Uint16 | pfiStat, | |
Uint8 | cei, | |||
Uint8 | ncei, | |||
Uint8 | csi, | |||
Uint8 | ncsi | |||
) |
============================================================================
CSL_MSMC_disableInterrupts
Description
This function disables the MSMC interrupts
Arguments
pfiStat Protection Fault Status cei Correctable EDC Error ncei Non-Correctable EDC Error csi Correctable Scrubbing Error ncsi Non-Correctable Scrubbing Error
Return Value
None
Pre Condition
None
Post Condition
None
Writes
MSMC_SMIEC_PFIEC, MSMC_SMIEC_CEEC, MSMC_SMIEC_NCEEC,
MSMC_SMIEC_CSEC, MSMC_SMIEC_NCSEC
Example
// Disable all interrupts except the scrubbing errors. CSL_MSMC_disableInterrupts (0xFFFF, 0x1, 0x1, 0x0, 0x0);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_disableScrubbingEngine | ( | void | ) |
============================================================================
CSL_MSMC_disableScrubbingEngine
Description
This function disables the scrubbing engine.
Arguments
None
Return Value
None
Pre Condition
None
Post Condition
Scrubbing Engine is disabled.
Writes
MSMC_SMEDCC_SEN=1
Example
CSL_MSMC_disableScrubbingEngine ();
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_enableAnalysisCounter | ( | void | ) |
============================================================================
CSL_MSMC_enableAnalysisCounter
Description
This function enables the analysis counters
Arguments
None
Return Value
None
Pre Condition
None
Post Condition
None
Writes
MSMC_SMAC_AEN=1
Example
// Enables the performance analysis counter CSL_MSMC_enableAnalysisCounter();
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_enableInterrupts | ( | Uint16 | pfiStat, | |
Uint8 | cei, | |||
Uint8 | ncei, | |||
Uint8 | csi, | |||
Uint8 | ncsi | |||
) |
============================================================================
CSL_MSMC_enableInterrupts
Description
This function enables the MSMC interrupts
Arguments
pfiStat Protection Fault Status cei Correctable EDC Error ncei Non-Correctable EDC Error csi Correctable Scrubbing Error ncsi Non-Correctable Scrubbing Error
Return Value
None
Pre Condition
None
Post Condition
None
Writes
MSMC_SMIESTAT_PFIESTAT, MSMC_SMIESTAT_CEIE, MSMC_SMIESTAT_NCEIE,
MSMC_SMIESTAT_CSIE,MSMC_SMIESTAT_NCSIE
Example
// Enable all interrupts except the scrubbing errors. CSL_MSMC_enableInterrupts (0xFFFF, 0x1, 0x1, 0x0, 0x0);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_enableScrubbingEngine | ( | void | ) |
============================================================================
CSL_MSMC_enableScrubbingEngine
Description
This function enables the scrubbing engine.
Arguments
None
Return Value
None
Pre Condition
None
Post Condition
Scrubbing Engine is enabled.
Writes
MSMC_SMEDCC_SEN=0
Example
CSL_MSMC_enableScrubbingEngine ();
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_freezeCache | ( | void | ) |
============================================================================
CSL_MSMC_freezeCache
Description
This function freezes the MSMC cache
Arguments
None
Return Value
None
Pre Condition
None
Post Condition
None
Writes
MSMC_SMCFG_EFZ=1
Example
// Freeze the MSMC Cache CSL_MSMC_freezeCache ();
=============================================================================
CSL_IDEF_INLINE Uint32 CSL_MSMC_getCacheSize | ( | void | ) |
============================================================================
CSL_MSMC_getCacheSize
Description
This function returns the amount of memory configured as cache.
Arguments
None
Return Value
Cache Size
Pre Condition
None
Post Condition
None
Reads
MSMC_SMCFG_CMODE
Example
Uint32 cacheSize; cacheSize = CSL_MSMC_getCacheSize ();
=============================================================================
CSL_IDEF_INLINE Uint32 CSL_MSMC_getCounterBankRefreshRead | ( | void | ) |
============================================================================
CSL_MSMC_getCounterBankRefreshRead
Description
This function gets REFDEL counter to the number of MSMC clock cycles between each bank refresh read access.
Arguments
None
Return Value REFDEL counter
Pre Condition
None
Post Condition
None
Reads
MSMC_SMEDCC_REFDEL
Example
Uint32 refdel; refdel = CSL_MSMC_getCounterBankRefreshRead ();
=============================================================================
CSL_IDEF_INLINE Uint8 CSL_MSMC_getCSE | ( | void | ) |
============================================================================
CSL_MSMC_getCSE
Description
This function programs reads the CSE bit to determine if there is a parity mismatch
Arguments
None
Return Value
CSE Status
Pre Condition
None
Post Condition
None
Reads
MSMC_SMEDCC_CSE
Example
Uint8 cse; cse = CSL_MSMC_getCSE ();
=============================================================================
CSL_IDEF_INLINE Uint8 CSL_MSMC_getECM | ( | void | ) |
============================================================================
CSL_MSMC_getECM
Description
This function programs gets the status of the error correcting mode
Arguments
None
Return Value
ECM Mode
Pre Condition
None
Post Condition
None
Reads
MSMC_SMEDCC_ECM
Example
Uint8 ecm; ecm = CSL_MSMC_getECM ();
=============================================================================
CSL_IDEF_INLINE Uint32 CSL_MSMC_getFaultAddress | ( | void | ) |
============================================================================
CSL_MSMC_getFaultAddress
Description
This function gets the access address causing the fault.
Arguments
None
Return Value Fault Address
Pre Condition
None
Post Condition
None
Reads
MSMC_SMPFAR_FAULT_ADDRESS
Example
Uint32 faultAddr; faultAddr = CSL_MSMC_getFaultAddress ();
=============================================================================
CSL_IDEF_INLINE Uint8 CSL_MSMC_getFaultAddressNMStatus | ( | void | ) |
============================================================================
CSL_MSMC_getFaultAddressNMStatus
Description
This function gets the NM Status which is set if the access address causing the fault does not match any of the segment BADDR
Arguments
None
Return Value Fault Address NM Status
Pre Condition
None
Post Condition
None
Reads
MSMC_SMPFXR_NM
Example
Uint8 faultNMStatus; faultNMStatus = CSL_MSMC_getFaultAddressNMStatus ();
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_getFaultInfo | ( | Uint8 * | faultPrivID, | |
Uint8 * | faultMstID | |||
) |
============================================================================
CSL_MSMC_getFaultInfo
Description
This function gets the MSMC fault information. This include the event bits event bits for all PrivID's and the Master ID which caused the fault.
Arguments
faultPrivID Fault Priv ID populated by this API. faultMstID Fault Master ID populated by this API.
Return Value
None
Pre Condition
None
Post Condition
None
Reads
MSMC_SMPFR_FPID, MSMC_SMPFR_FMSTID
Example
Uint8 faultPrivID; Uint8 faultMstID; // Get the fault information. CSL_MSMC_getFaultInfo &faultPrivID, &faultMstID);
=============================================================================
CSL_IDEF_INLINE Uint32 CSL_MSMC_getHitCounter | ( | void | ) |
============================================================================
CSL_MSMC_getHitCounter
Description
This function gets the hit counter for the cache. If the HM bit in SMAC is set, it is a counter for Cache hits+SRAM accesses
Arguments
None
Return Value
Hit Counter
Pre Condition
None
Post Condition
None
Reads
MSMC_SMAH_HCNT
Example
Uint32 hitCounter; // Get the Hit Counter hitCounter = CSL_MSMC_getHitCounter();
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_getInterruptEnableStatus | ( | Uint16 * | pfiStat, | |
Uint8 * | cei, | |||
Uint8 * | ncei, | |||
Uint8 * | csi, | |||
Uint8 * | ncsi | |||
) |
============================================================================
CSL_MSMC_getInterruptEnableStatus
Description
This function is used to get the interrupt enable/disable status
Arguments
pfiStat Protection Fault Status cei Correctable EDC Error ncei Non-Correctable EDC Error csi Correctable Scrubbing Error ncsi Non-Correctable Scrubbing Error
Return Value
None
Pre Condition
None
Post Condition
None
Reads
MSMC_SMIESTAT_PFIESTAT, MSMC_SMIESTAT_CEIE, MSMC_SMIESTAT_NCEIE,
MSMC_SMIESTAT_CSIE,MSMC_SMIESTAT_NCSIE
Example
Uint16 pfiStat; Uint8 cei; Uint8 ncei; Uint8 csi; Uint8 ncsi; // Get the interrupt enable status. CSL_MSMC_getInterruptEnableStatus (&pfiStat, &cei, &ncei, &csi, &ncsi);
=============================================================================
CSL_IDEF_INLINE Uint32 CSL_MSMC_getInvalidateCacheStatus | ( | void | ) |
============================================================================
CSL_MSMC_getInvalidateCacheStatus
Description
This function returns the value of invalidate bit in SMCFG register.
Arguments
None
Return Value
Pre Condition
None
Post Condition
None
Reads
MSMC_SMCFG_GIW
Example
Uint32 invStatus; invStatus = CSL_MSMC_getInvalidateCacheStatus ();
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_getMemoryArbiterCounters | ( | Uint8 * | priorityElevationCounter, | |
Uint32 * | accCyclesCounter | |||
) |
============================================================================
CSL_MSMC_getMemoryArbiterCounters
Description
This function gets the performance counters for the memory arbiters (all banks).
Arguments
priorityElevationCounter Priority Elevation Counter accCyclesCounter Accumulated Cycles counter
Return Value
None
Pre Condition
None
Post Condition
None
Reads
MSMC_SMAMP_MPECNT, MSMC_SMAMP_ACWM
Example
Uint8 priorityElevationCounter; Uint32 accCyclesCounter; // Get the Memory Arbiter Counters CSL_MSMC_getMemoryArbiterCounters(&priorityElevationCounter, &accCyclesCounter);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_getMissCounter | ( | Uint32 * | readMiss, | |
Uint32 * | writeMiss | |||
) |
============================================================================
CSL_MSMC_getMissCounter
Description
This function gets the reads/write miss counters
Arguments
readMissCntr Read Miss Counter writeMissCntr Write Miss Counter
Return Value
None
Pre Condition
None
Post Condition
None
Reads
MSMC_SMARM_RMCNT,MSMC_SMAWM_WMCNT
Example
Uint32 readMiss; Uint32 writeMiss; // Get the Read and Write Miss Counters CSL_MSMC_getMissCounter(&readMiss, &writeMiss);
=============================================================================
CSL_IDEF_INLINE Uint8 CSL_MSMC_getModeChangeProgress | ( | void | ) |
============================================================================
CSL_MSMC_getModeChangeProgress
Description
This function gets the mode change progress flag
Arguments
None
Return Value
None
Pre Condition
None
Post Condition
None
Reads
MSMC_SMCC_MCP
Example
Uint8 mcpFlag; // Get the Mode change progress flag mcpFlag = CSL_MSMC_getModeChangeProgress ();
=============================================================================
CSL_IDEF_INLINE Uint8 CSL_MSMC_getParityRAM | ( | void | ) |
============================================================================
CSL_MSMC_getParityRAM
Description
This function programs gets the parity RAM status
Arguments
None
Return Value
Parity RAM
Pre Condition
None
Post Condition
None
Reads
MSMC_SMEDCC_PRR
Example
Uint8 parityRAM; parityRAM = CSL_MSMC_getParityRAM ();
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_getPendingInterrupts | ( | Uint16 * | pfeStat, | |
Uint8 * | cees, | |||
Uint8 * | ncees, | |||
Uint8 * | cses, | |||
Uint8 * | ncses | |||
) |
============================================================================
CSL_MSMC_getPendingInterrupts
Description
This function gets the status of all pending interrupts i.e. which have been enabled and an interrupt has occurred.
Arguments
pfeStat Protection Fault Status cees Correctable EDC Error ncees Non-Correctable EDC Error cses Correctable Scrubbing Error nces Non-Correctable Scrubbing Error
Return Value
None
Pre Condition
None
Post Condition
None
Reads
MSMC_SMESTAT_PFESTAT, MSMC_SMESTAT_CEES, MSMC_SMESTAT_NCEES,
MSMC_SMESTAT_CSES, MSMC_SMESTAT_NCSES
Example
Uint16 pfeStat; Uint8 cees; Uint8 ncees; Uint8 cses; Uint8 ncses; // Get the MSMC Pending Interrupt Status CSL_MSMC_getPendingInterrupts (&pfeStat,&cees, &ncees, &cses, &ncses);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_getPerfFilters | ( | Uint8 * | ccf, | |
Uint16 * | pidf, | |||
Uint8 * | hm, | |||
Uint8 * | pth | |||
) |
============================================================================
CSL_MSMC_getPerfFilters
Description
This function gets the performance counters filters
Arguments
ccf CPU filter for counters pidf System request PrivID filter for counters hm Selects if SMAH:HCNT counts only cache hits or SRAM accesses pth Priority threshold filter
Return Value
None
Pre Condition
None
Post Condition
None
Reads
MSMC_SMAC_CCF, MSMC_SMAC_PIDF, MSMC_SMAC_HM, MSMC_SMAC_PTH
Example
Uint8 ccf; Uint16 pidf; Uint8 hm; Uint8 pth; // Get the Performance Filters CSL_MSMC_getPerfFilters(&ccf, &pidf, &hm, &pth);
=============================================================================
CSL_IDEF_INLINE Uint32 CSL_MSMC_getPID | ( | void | ) |
============================================================================
CSL_MSMC_getPID
Description
This function gets the peripheral ID register for the MSMC IP.
Arguments
None
Return Value
None
Pre Condition
None
Post Condition
None
Reads
MSMC_PID
Example
Uint32 pid; // Get the Mode change progress flag mcpFlag = CSL_MSMC_getModeChangeProgress ();
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_getPortArbiterCounters | ( | Uint8 * | priorityElevationCounter, | |
Uint32 * | accCyclesCounter | |||
) |
============================================================================
CSL_MSMC_getPortArbiterCounters
Description
This function gets the performance counters for the port arbiters
Arguments
priorityElevationCounter Priority Elevation Counter accCyclesCounter Accumulated Cycles counter
Return Value
None
Pre Condition
None
Post Condition
None
Reads
MSMC_SMAEP_EPECNT, MSMC_SMAEP_ACWE
Example
Uint8 priorityElevationCounter; Uint32 accCyclesCounter; // Get the Port Arbiter Counters CSL_MSMC_getPortArbiterCounters(&priorityElevationCounter, &accCyclesCounter);
=============================================================================
CSL_IDEF_INLINE Uint8 CSL_MSMC_getPriorityLevel | ( | void | ) |
============================================================================
CSL_MSMC_getPriorityLevel
Description
This function gets the priority level used for software initiated global invalidate
Arguments
None
Return Value
None
Pre Condition
None
Post Condition
None
Reads
MSMC_SMCFG_INVP
Example
Uint8 priorityLevel; // Get the priority Level. priorityLevel = CSL_MSMC_getPriorityLevel ();
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_getRawInterruptStatus | ( | Uint16 * | pfeStat, | |
Uint8 * | cees, | |||
Uint8 * | ncees, | |||
Uint8 * | cses, | |||
Uint8 * | ncses | |||
) |
============================================================================
CSL_MSMC_getRawInterruptStatus
Description
This function gets the RAW Interrupt Status.
Arguments
pfeStat Protection Fault Status cees Correctable EDC Error ncees Non-Correctable EDC Error cses Correctable Scrubbing Error nces Non-Correctable Scrubbing Error
Return Value
None
Pre Condition
None
Post Condition
None
Reads
MSMC_SMIRSTAT_PFESTAT, MSMC_SMIRSTAT_CEES, MSMC_SMIRSTAT_NCEES,
MSMC_SMIRSTAT_CSES, MSMC_SMIRSTAT_NCSES
Example
Uint16 pfeStat; Uint8 cees; Uint8 ncees; Uint8 cses; Uint8 ncses; // Get the MSMC Raw Interrupt Status CSL_MSMC_getRawInterruptStatus (&pfeStat, &cees, &ncees, &cses, &ncses);
=============================================================================
CSL_IDEF_INLINE Uint32 CSL_MSMC_getScrubbingEngineErrorAddress | ( | ) |
============================================================================
CSL_MSMC_getScrubbingEngineErrorAddress
Description
This function returns the scrubbing engine address after a 2-bit non correctable address is detected.
Arguments
None
Return Value
Address which caused the error
Pre Condition
None
Post Condition
None
Reads
MSMC_SMNCEA_SENCA
Example
Uint32 errAddress; errAddress = CSL_MSMC_getScrubbingEngineErrorAddress ();
=============================================================================
CSL_IDEF_INLINE Uint32 CSL_MSMC_getScrubbingEngineState | ( | void | ) |
============================================================================
CSL_MSMC_getScrubbingEngineState
Description
This function gets the state of scrubbing engine, if it is enabled/disabled.
Arguments
None
Return Value
Pre Condition
None
Post Condition
None
Reads
MSMC_SMEDCC_SEN
Example
Uint32 stateSE; stateSE = CSL_MSMC_getScrubbingEngineState ();
=============================================================================
CSL_IDEF_INLINE Uint32 CSL_MSMC_getScrubCorrectableErrorCounter | ( | void | ) |
============================================================================
CSL_MSMC_getScrubCorrectableErrorCounter
Description
This function gets the Scrubbing Engine Correctable Error Counter.
Arguments
None
Return Value Uint32
Pre Condition
None
Post Condition
None
Reads
MSMC_SMSECC_SCEC
Example
Uint32 cCounter; cCounter = CSL_MSMC_getScrubCorrectableErrorCounter ();
=============================================================================
CSL_IDEF_INLINE Uint32 CSL_MSMC_getScrubErrorCorrectedAddress | ( | void | ) |
============================================================================
CSL_MSMC_getScrubErrorCorrectedAddress
Description
This function gets address of the location whose contents have been corrected by the scrubbing engine.
Arguments
None
Return Value Uint32
Pre Condition
None
Post Condition
None
Reads
MSMC_SMCEA_SECA
Example
Uint32 correctedAddr; correctedAddr = CSL_MSMC_getScrubErrorCorrectedAddress ();
=============================================================================
CSL_IDEF_INLINE Uint32 CSL_MSMC_getScrubNonCorrectableErrorCounter | ( | void | ) |
============================================================================
CSL_MSMC_getScrubNonCorrectableErrorCounter
Description
This function gets the Scrubbing Engine NonCorrectable Error Counter.
Arguments
None
Return Value Uint32
Pre Condition
None
Post Condition
None
Reads
MSMC_SMSECC_SNCEC
Example
Uint32 ncCounter; ncCounter = CSL_MSMC_getScrubNonCorrectableErrorCounter ();
=============================================================================
CSL_IDEF_INLINE Uint32 CSL_MSMC_getSecurityThreshold | ( | void | ) |
============================================================================
CSL_MSMC_getSecurityThreshold
Description
This function gets the Security Threshold Address register. All addresses above (and including) the address contained in the SMSTA register are deemed as being secure and can only be accessed by secure mode code
Arguments
None
Return Value
None
Pre Condition
None
Post Condition
None
Reads
MSMC_SMSTA_SECURITY_THRESHOLD_SEGMENT_ADDRESS
Example
Uint32 secThreshold; // Get the security Threshold. secThreshold = CSL_MSMC_getSecurityThreshold ();
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_getSESMPAXH | ( | Uint32 | privid, | |
Uint32 | index, | |||
CSL_MSMC_SESMPAXH * | mpaxh | |||
) |
============================================================================
CSL_MSMC_getSESMPAXH
Description
This function gets the contents of SES_MPAXH register.
Arguments
privid PrivID index Index into the set of 8 registers for this particular PrivID mpaxh CSL_MSMC_SESMPAXH structure that needs to be set into the register
Return Value
None
Pre Condition
None
Post Condition
None
Reads
MSMC_SES_MPAXH_0_BE..MSMC_SES_MPAXH_7_BE, MSMC_SES_MPAXH_0_AI..MSMC_SES_MPAXH_7_AI, MSMC_SES_MPAXH_0_SEGSZ..MSMC_SES_MPAXH_7_SEGSZ, MSMC_SES_MPAXH_0_BADDR..MSMC_SES_MPAXH_7_BADDR
Example
Uint32 privid = 1; Uint32 index = 0; CSL_MSMC_SESMPAXH mpaxh; CSL_MSMC_getSESMPAXH (privid, index, &mpaxh);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_getSESMPAXL | ( | Uint32 | privid, | |
Uint32 | index, | |||
CSL_MSMC_SESMPAXL * | mpaxl | |||
) |
============================================================================
CSL_MSMC_getSESMPAXL
Description
This function gets the contents of SES_MPAXL register.
Arguments
privid PrivID index Index into the set of 8 registers for this particular PrivID mpaxl CSL_MSMC_SESMPAXL structure that needs to be set into the register
Return Value
None
Pre Condition
None
Post Condition
None
Reads
MSMC_SES_MPAXL_0_UX..MSMC_SES_MPAXL_7_UX, MSMC_SES_MPAXL_0_UW..MSMC_SES_MPAXL_7_UW, MSMC_SES_MPAXL_0_UR..MSMC_SES_MPAXL_7_UR, MSMC_SES_MPAXL_0_SX..MSMC_SES_MPAXL_7_SX, MSMC_SES_MPAXL_0_SW..MSMC_SES_MPAXL_7_SW, MSMC_SES_MPAXL_0_SR..MSMC_SES_MPAXL_7_SR, MSMC_SES_MPAXL_0_RADDR..MSMC_SES_MPAXL_7_RADDR
Example
Uint32 privid = 1; Uint32 index = 0; CSL_MSMC_SESMPAXL mpaxl; CSL_MSMC_getSESMPAXL (privid, index, &mpaxl);
=============================================================================
CSL_IDEF_INLINE Uint32 CSL_MSMC_getSharedMemoryErrorAddress | ( | void | ) |
============================================================================
CSL_MSMC_getSharedMemoryErrorAddress
Description
This function returns the lower 32 bits of the 36 bit address used in the accessing the corrupted location.
Arguments
None
Return Value
Shared Memory Error Address
Pre Condition
None
Post Condition
None
Reads
MSMC_SMNCERRAR
Example
Uint32 memErrAddress; memErrAddress = CSL_MSMC_getSharedMemoryErrorAddress ();
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_getSharedMemoryErrorAddressExtendedInfo | ( | Uint8 * | seeAddr, | |
Uint8 * | sepId, | |||
Uint8 * | ser | |||
) |
============================================================================
CSL_MSMC_getSharedMemoryErrorAddressExtendedInfo
Description
This function returns extended information i.e. upper 4 bits, priv id which caused the error which accessing the corrupted location.
Arguments
None
Return Value
Shared Memory Extended Information
Pre Condition
None
Post Condition
None
Reads
MSMC_SMNCERRXR_SEEADDR, MSMC_SMNCERRXR_SEPID, MSMC_SMNCERRXR_SER
Example
Uint8 seeAddr; Uint8 sepId; Uint8 ser; CSL_MSMC_getSharedMemoryErrorAddressExtendedInfo (&seeAddr, &sepId, &ser);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_getSMSMPAXH | ( | Uint32 | privid, | |
Uint32 | index, | |||
CSL_MSMC_SMSMPAXH * | mpaxh | |||
) |
============================================================================
CSL_MSMC_getSMSMPAXH
Description
This function gets the contents of SMS_MPAXH register.
Arguments
privid PrivID index Index into the set of 8 registers for this particular PrivID mpaxh CSL_MSMC_SMSMPAXH structure that needs to be set into the register
Return Value
None
Pre Condition
None
Post Condition
None
Reads
MSMC_SMS_MPAXH_0_SEGSZ..MSMC_SMS_MPAXH_7_SEGSZ, MSMC_SMS_MPAXH_0_BADDR..MSMC_SMS_MPAXH_7_BADDR
Example
Uint32 privid = 1; Uint32 index = 0; CSL_MSMC_SMSMPAXH mpaxh; CSL_MSMC_getSMSMPAXH (privid, index, &mpaxh);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_getSMSMPAXL | ( | Uint32 | privid, | |
Uint32 | index, | |||
CSL_MSMC_SMSMPAXL * | mpaxl | |||
) |
============================================================================
CSL_MSMC_getSMSMPAXL
Description
This function gets the contents of SMS_MPAXL register.
Arguments
privid PrivID index Index into the set of 8 registers for this particular PrivID mpaxl CSL_MSMC_SMSMPAXL structure that needs to be set into the register
Return Value
None
Pre Condition
None
Post Condition
None
Reads
MSMC_SMS_MPAXL_0_UX..MSMC_SMS_MPAXL_7_UX, MSMC_SMS_MPAXL_0_UW..MSMC_SMS_MPAXL_7_UW, MSMC_SMS_MPAXL_0_UR..MSMC_SMS_MPAXL_7_UR, MSMC_SMS_MPAXL_0_SX..MSMC_SMS_MPAXL_7_SX, MSMC_SMS_MPAXL_0_SW..MSMC_SMS_MPAXL_7_SW, MSMC_SMS_MPAXL_0_SR..MSMC_SMS_MPAXL_7_SR, MSMC_SMS_MPAXL_0_RADDR..MSMC_SMS_MPAXL_7_RADDR,
Example
Uint32 privid = 1; Uint32 index = 0; CSL_MSMC_SMSMPAXL mpaxl; CSL_MSMC_getSMSMPAXL (privid, index, &mpaxl);
=============================================================================
CSL_IDEF_INLINE Uint32 CSL_MSMC_getSoftErrorAddress | ( | void | ) |
============================================================================
CSL_MSMC_getSoftErrorAddress
Description
When ECM bit is 1 in SMCFG register this function gets the corrupted location error address.
Arguments
None
Return Value Sof Error Address.
Pre Condition
None
Post Condition
None
Reads
MSMC_SMCERRAR_SEADDR
Example
Uint32 errAddr; errAddr = CSL_MSMC_getSoftErrorAddress ();
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_getSoftErrorAddressExtension | ( | Uint8 * | esyn, | |
Uint8 * | address, | |||
Uint8 * | sepId, | |||
Uint8 * | ser | |||
) |
============================================================================
CSL_MSMC_getSoftErrorAddressExtension
Description
This function gets the address extension used for the faulting address.
Arguments
None
Return Value Soft Address Extension.
Pre Condition
None
Post Condition
None
Reads
MSMC_SMCERRXR_ESYN, MSMC_SMCERRXR_SEEADDR, MSMC_SMCERRXR_SEPID,MSMC_SMCERRXR_SER
Example
Uint8 esyn; Uint8 errAddrExt; Uint8 sepId; Uint8 ser; CSL_MSMC_getSoftErrorAddressExtension (&esyn, &errAddrExt, &sepId, &ser);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_getStarvationBoundCGEM | ( | Uint32 | index, | |
Uint8 * | strvEmifArbiter, | |||
Uint8 * | strvRAMArbiter | |||
) |
============================================================================
CSL_MSMC_getStarvationBoundCGEM
Description
This function gets the starvation bound for CCGEM slaves.
Arguments
index CGEM slave index strvEmifArbiter Starvation bound for the EMIF Arbiter strvRAMArbiter Starvation bound for the RAM Bank Arbiter
Return Value
None
Pre Condition
None
Post Condition
None
Reads
MSMC_SBNDC0_SCNTCE, MSMC_SBNDC0_SCNTCM
Example
Uint8 strvEMIF; Uint8 strvRAM; CSL_MSMC_getStarvationBoundCGEM (1, &strvEMIF, &strvRAM);
=============================================================================
CSL_IDEF_INLINE Uint32 CSL_MSMC_getStarvationBoundSES | ( | void | ) |
============================================================================
CSL_MSMC_getStarvationBoundSES
Description
This function gets the starvation bound for SES port.
Arguments
None
Return Value Starvation Bound for the SES Port.
Pre Condition
None
Post Condition
None
Reads
MSMC_SBNDE_SCNTEM
Example
Uint32 sbnde; sbnde = CSL_MSMC_getStarvationBoundSES ();
=============================================================================
CSL_IDEF_INLINE Uint32 CSL_MSMC_getStarvationBoundSMS | ( | void | ) |
============================================================================
CSL_MSMC_getStarvationBoundSMS
Description
This function gets the starvation bound for SMS port.
Arguments
None
Return Value Starvation Bound for the SMS Port.
Pre Condition
None
Post Condition
None
Reads
MSMC_SBNDM_SCNTMM
Example
Uint32 sbndm; sbndm = CSL_MSMC_getStarvationBoundSMS ();
=============================================================================
CSL_IDEF_INLINE Uint8 CSL_MSMC_getSyndromeValue | ( | void | ) |
============================================================================
CSL_MSMC_getSyndromeValue
Description
This function gets the syndrome value that identifies the erroneous bit in the data which the scrubbing engine has corrected.
Arguments
None
Return Value
ESYN Field
Pre Condition
None
Post Condition
SMSECA register configured with the value zero.
Reads
MSMC_SMCEA_ESYN
Example
Uint8 esynValue; esynValue = CSL_MSMC_getSyndromeValue ();
=============================================================================
CSL_IDEF_INLINE Uint32 CSL_MSMC_getTransmitHeader | ( | void | ) |
============================================================================
CSL_MSMC_getTransmitHeader
Description
This function gets the transmit header for analysis counter state export through STM
Arguments
None
Return Value
Transmit Header
Pre Condition
None
Post Condition
None
Reads
MSMC_SMATH
Example
Uint32 transmitHeader; // Get the Transmit Header transmitHeader = CSL_MSMC_getTransmitHeader();
=============================================================================
CSL_IDEF_INLINE Uint32 CSL_MSMC_getVictimCounter | ( | void | ) |
============================================================================
CSL_MSMC_getVictimCounter
Description
This function gets the victim counter
Arguments
None
Return Value
Victim Counter
Pre Condition
None
Post Condition
None
Reads
MSMC_SMAV_VCNT
Example
Uint32 victimCounter; // Get the Victim Counter victimCounter = CSL_MSMC_getVictimCounter();
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_invalidateCache | ( | void | ) |
============================================================================
CSL_MSMC_invalidateCache
Description
This function does a global invalidation of all the lines in the cache.
Arguments
None
Return Value
None
Pre Condition
None
Post Condition
All Cache lines are invalidated.
Writes
MSMC_SMCFG_GIW=1
Example
CSL_MSMC_invalidateCache ();
=============================================================================
CSL_IDEF_INLINE Bool CSL_MSMC_isCacheFrozen | ( | void | ) |
============================================================================
CSL_MSMC_isCacheFrozen
Description
This function checks if the MSMC cache is frozen or not?
Arguments
None
Return Value
TRUE - Cache is frozen
FALSE - Cache is not frozen
Pre Condition
None
Post Condition
None
Reads
MSMC_SMCFG_EFZ
Example
// Check the status of the cache if (CSL_MSMC_isCacheFrozen () == TRUE) { // Cache is frozen. } else { // Cache is NOT frozen. }
=============================================================================
CSL_IDEF_INLINE Bool CSL_MSMC_isNonMPAXLocked | ( | void | ) |
============================================================================
CSL_MSMC_isNonMPAXLocked
Description
This function gets the status of the lock for non MPAX registers.
Arguments
None
Return Value
TRUE - Non MPAX Register Write Access is locked
FALSE - Non MPAX Register Write Access is unlocked
Pre Condition
None
Post Condition
None
Reads
MSMC_CFGLCKSTAT_WSTAT
Example
if (CSL_MSMC_isNonMPAXLocked () == TRUE) { // Non MPAX Registers are locked. } else { // MPAX Registers are not locked. }
=============================================================================
CSL_IDEF_INLINE Bool CSL_MSMC_IsNonSecure | ( | void | ) |
============================================================================
CSL_MSMC_IsNonSecure
Description
This function checks if the MSMC SRAM is secure or not?
Arguments
None
Return Value
TRUE - MSMC SRAM is non-secure
FALSE - MSMC SRAM is secure
Pre Condition
None
Post Condition
None
Reads
MSMC_SMSTA_NS
Example
// Check if the MSMC SRAM is secure or not? if (CSL_MSMC_IsNonSecure () == TRUE) { // MSMC SRAM is Non-Secure ... } else { // MSMC SRAM is Secure ... }
=============================================================================
CSL_IDEF_INLINE Bool CSL_MSMC_isSESLocked | ( | Uint32 | privId | ) |
============================================================================
CSL_MSMC_isSESLocked
Description
This function gets the status of the lock for SES MPAX registers for the specific priv-id
Arguments
privid PrivID for which the status is required.
Return Value
TRUE - SES MPAX Register Write Access is locked for the priv-id
FALSE - SES MPAX Register Write Access is unlocked for the priv-id
Pre Condition
None
Post Condition
None
Reads
MSMC_SES_MPAX_LCKSTAT_WSTAT
Example
if (CSL_MSMC_isSESLocked (1) == TRUE) { // SES MPAX Registers for Priv-ID 1 are locked. } else { // SES MPAX Registers for Priv-ID 1 are not locked. }
=============================================================================
CSL_IDEF_INLINE Bool CSL_MSMC_isSMSLocked | ( | Uint32 | privId | ) |
============================================================================
CSL_MSMC_isSMSLocked
Description
This function gets the status of the lock for SMS MPAX registers for the specific priv-id
Arguments
privid PrivID for which the status is required.
Return Value
TRUE - SMS MPAX Register Write Access is locked for the priv-id
FALSE - SMS MPAX Register Write Access is unlocked for the priv-id
Pre Condition
None
Post Condition
None
Reads
MSMC_SMS_MPAX_LCKSTAT_WSTAT
Example
if (CSL_MSMC_isSMSLocked (1) == TRUE) { // SMS MPAX Registers for Priv-ID 1 are locked. } else { // SMS MPAX Registers for Priv-ID 1 are not locked. }
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_lockNonMPAX | ( | void | ) |
============================================================================
CSL_MSMC_lockNonMPAX
Description
This function locks the write access for all non MPAX registers.
Arguments
None
Return Value
None
Pre Condition
None
Post Condition
All the non MPAX registers are locked for write-access.
Writes
MSMC_CFGLCK_MGCID=0x2CD00000,MSMC_CFGLCK_WLCK=1
Example
CSL_MSMC_lockNonMPAX ();
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_lockSES | ( | Uint32 | privid | ) |
============================================================================
CSL_MSMC_lockSES
Description
This function locks the write access for all SES MPAX registers.
Arguments
privid PrivID for which the SES MPAX registers will be locked.
Return Value
None
Pre Condition
None
Post Condition
All the SES MPAX registers for the specific PrivID are locked for write-access.
Writes
MSMC_SES_MPAX_LCK_MGCID=0x2CD20000,MSMC_SES_MPAX_LCK_WLCK
Example
// Lock SES MPAX registers for priv-id 1. CSL_MSMC_lockSES (1);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_lockSMS | ( | Uint32 | privid | ) |
============================================================================
CSL_MSMC_lockSMS
Description
This function locks the write access for all SMS MPAX registers.
Arguments
privid PrivID for which the SMS MPAX registers will be locked.
Return Value
None
Pre Condition
None
Post Condition
All the SMS MPAX registers for the specific PrivID are locked for write-access.
Writes
MSMC_SMS_MPAX_LCK_MGCID=0x2CD10000, MSMC_SMS_MPAX_LCK_WLCK
Example
// Lock SMS MPAX registers for priv-id 1. CSL_MSMC_lockSMS (1);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_NonSecureMSMC | ( | void | ) |
============================================================================
CSL_MSMC_NonSecureMSMC
Description
This function non-secures the MSMC SRAM. This can only be called by a secure supervisor.
Arguments
None
Return Value
None
Pre Condition
None
Post Condition
None
Writes
MSMC_SMSTA_NS=1
Example
// Ensure that access to all MSMC SRAM is non secure. CSL_MSMC_NonSecureMSMC ();
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_SecureMSMC | ( | void | ) |
============================================================================
CSL_MSMC_SecureMSMC
Description
This function secures the MSMC SRAM. This can only be called by a secure supervisor.
Arguments
None
Return Value
None
Pre Condition
None
Post Condition
None
Writes
MSMC_SMSTA_NS=0
Example
// Secure the MSMC SRAM access CSL_MSMC_SecureMSMC ();
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_setCacheSize | ( | Uint32 | cmode | ) |
============================================================================
CSL_MSMC_setCacheSize
Description
This function sets the amount of memory configured as cache.
Arguments
cmode size of cache
Return Value
None
Pre Condition
None
Post Condition
MSMC Cache Memory Size is configured.
Writes
MSMC_SMCFG_CMODE
Example
CSL_MSMC_setCacheSize (2);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_setCounterBankRefreshRead | ( | Uint32 | refdel | ) |
============================================================================
CSL_MSMC_setCounterBankRefreshRead
Description
This function programs REFDEL counter to the number of MSMC clock cycles between each bank refresh read access.
Arguments
refdel number of MSMC clock cycles
Return Value
None
Pre Condition
None
Post Condition
None
Writes
MSMC_SMEDCC_REFDEL
Example
CSL_MSMC_setCounterBankRefreshRead (1);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_setCSE | ( | Uint8 | cse | ) |
============================================================================
CSL_MSMC_setCSE
Description
This function programs sets the CSE bit
Arguments
None
Return Value
None
Pre Condition
None
Post Condition
None
Writes
MSMC_SMEDCC_CSE
Example
// Clear the CSE Bit. CSL_MSMC_setCSE (0);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_setECM | ( | Uint8 | ecm | ) |
============================================================================
CSL_MSMC_setECM
Description
This function programs sets the error correcting mode.
Arguments
None
Return Value
None
Pre Condition
None
Post Condition
None
Writes
MSMC_SMEDCC_ECM
Example
// Set Error Correcting Mode CSL_MSMC_setECM (0);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_setHitCounter | ( | Uint32 | hitCounter | ) |
============================================================================
CSL_MSMC_setHitCounter
Description
This function sets the hit counter for the cache. If the HM bit in SMAC is set, it is a counter for Cache hits+SRAM accesses
Arguments
hitCounter - Hit Counter to be configured.
Return Value
None
Pre Condition
None
Post Condition
None
Writes
MSMC_SMAH_HCNT
Example
// Reset the hit counter CSL_MSMC_setHitCounter(0);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_setMemoryArbiterCounters | ( | Uint32 | accCyclesCounter | ) |
============================================================================
CSL_MSMC_setMemoryArbiterCounters
Description
This function sets the performance counters for the memory arbiters (all banks).
Arguments
accCyclesCounter Accumulated Cycles counter
Return Value
None
Pre Condition
None
Post Condition
None
Writes
MSMC_SMAMP_ACWM
Example
// Clear the Memory Arbiter Counters CSL_MSMC_setMemoryArbiterCounters(0);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_setMissCounter | ( | Uint32 | readMiss, | |
Uint32 | writeMiss | |||
) |
============================================================================
CSL_MSMC_setMissCounter
Description
This function sets the reads/write miss counters
Arguments
readMissCntr Read Miss Counter writeMissCntr Write Miss Counter
Return Value
None
Pre Condition
None
Post Condition
None
Writes
MSMC_SMARM_RMCNT, MSMC_SMAWM_WMCNT
Example
// Clear the Read & Write Miss Counters CSL_MSMC_getMissCounter(&readMiss, &writeMiss);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_setPerfFilters | ( | Uint8 | ccf, | |
Uint16 | pidf, | |||
Uint8 | hm, | |||
Uint8 | pth | |||
) |
============================================================================
CSL_MSMC_setPerfFilters
Description
This function sets the performance counters filters
Arguments
ccf CPU filter for counters pidf System request PrivID filter for counters hm Selects if SMAH:HCNT counts only cache hits or SRAM accesses pth Priority threshold filter
Return Value
None
Pre Condition
None
Post Condition
None
Writes
MSMC_SMAC_CCF, MSMC_SMAC_PIDF, MSMC_SMAC_HM, MSMC_SMAC_PTH
Example
Uint8 ccf; Uint16 pidf; Uint8 hm; Uint8 pth; // Get the Performance Filters CSL_MSMC_getPerfFilters(&ccf, &pidf, &hm, &pth); ... // Make sure we counter SRAM access also. CSL_MSMC_setPerfFilters(ccf, pidf, 1, pth); ...
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_setPortArbiterCounters | ( | Uint32 | accCyclesCounter | ) |
============================================================================
CSL_MSMC_setPortArbiterCounters
Description
This function sets the performance counters for the port arbiters
Arguments
accCyclesCounter Accumulated Cycles counter
Return Value
None
Pre Condition
None
Post Condition
None
Writes
MSMC_SMAEP_ACWE
Example
// Reset the Port Arbiter Counters CSL_MSMC_setPortArbiterCounters(0);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_setPriorityLevel | ( | Uint8 | priorityLevel | ) |
============================================================================
CSL_MSMC_setPriorityLevel
Description
This function sets the priority level used for software initiated global invalidate
Arguments
None
Return Value
None
Pre Condition
None
Post Condition
None
Writes
MSMC_SMCFG_INVP
Example
// Set the priority Level. CSL_MSMC_setPriorityLevel (0x1);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_setRawInterruptStatus | ( | Uint16 | pfiStat, | |
Uint8 | cei, | |||
Uint8 | ncei, | |||
Uint8 | csi, | |||
Uint8 | ncsi | |||
) |
============================================================================
CSL_MSMC_setRawInterruptStatus
Description
This function sets the RAW Interrupt Status.
Arguments
pfiStat Protection Fault Status cei Correctable EDC Error ncei Non-Correctable EDC Error csi Correctable Scrubbing Error ncsi Non-Correctable Scrubbing Error
Return Value
None
Pre Condition
None
Post Condition
None
Writes
MSMC_SMIRSTAT_PFESTAT, MSMC_SMIRSTAT_CEES, MSMC_SMIRSTAT_NCEES,
MSMC_SMIRSTAT_CSES, MSMC_SMIRSTAT_NCSES
Example
// Ensure only the Correctable EDC Errors is set CSL_MSMC_setRawInterruptStatus (0x0, 0x1, 0x0, 0x0, 0x0);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_setSecurityThreshold | ( | Uint32 | securityThreshold | ) |
============================================================================
CSL_MSMC_setSecurityThreshold
Description
This function sets the Security Threshold Address register. All addresses above (and including) the address contained in the SMSTA register are deemed as being secure and can only be accessed by secure mode code
Arguments
securityThreshold Security Threshold to be configured.
Return Value
None
Pre Condition
None
Post Condition
None
Writes
MSMC_SMSTA_SECURITY_THRESHOLD_SEGMENT_ADDRESS
Example
// Set the security Threshold to 0x0; implies that all MSMC SRAM is secure CSL_MSMC_setSecurityThreshold (0x0);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_setSESMPAXH | ( | Uint32 | privid, | |
Uint32 | index, | |||
CSL_MSMC_SESMPAXH * | mpaxh | |||
) |
============================================================================
CSL_MSMC_setSESMPAXH
Description
This function sets the contents of SES_MPAXH register.
Arguments
privid PrivID index Index into the set of 8 registers for this particular PrivID mpaxh CSL_MSMC_SESMPAXH structure that needs to be set into the register
Return Value
None
Pre Condition
None
Post Condition
SES MPAXH register for the PrivID configured with the value passed.
Writes
MSMC_SES_MPAXH_0_BE..MSMC_SES_MPAXH_7_BE, MSMC_SES_MPAXH_0_AI..MSMC_SES_MPAXH_7_AI, MSMC_SES_MPAXH_0_SEGSZ..MSMC_SES_MPAXH_7_SEGSZ, MSMC_SES_MPAXH_0_BADDR..MSMC_SES_MPAXH_7_BADDR
Example
Uint32 privid = 1; Uint32 index = 0; CSL_MSMC_SESMPAXH mpaxh; mpaxh.segSize = 4; mpaxh.baseAddress = 0x100; mpaxh.be = 1; mpaxh.ai = 1; CSL_MSMC_setSESMPAXH (privid, index, &mpaxh);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_setSESMPAXL | ( | Uint32 | privid, | |
Uint32 | index, | |||
CSL_MSMC_SESMPAXL * | mpaxl | |||
) |
============================================================================
CSL_MSMC_setSESMPAXL
Description
This function sets the contents of SES_MPAXL register.
Arguments
privid PrivID index Index into the set of 8 registers for this particular PrivID mpaxl CSL_MSMC_SESMPAXL structure that needs to be set into the register
Return Value
None
Pre Condition
None
Post Condition
SES MPAXL register for the PrivID configured with the value passed.
Writes
MSMC_SES_MPAXL_0_UX..MSMC_SES_MPAXL_7_UX, MSMC_SES_MPAXL_0_UW..MSMC_SES_MPAXL_7_UW, MSMC_SES_MPAXL_0_UR..MSMC_SES_MPAXL_7_UR, MSMC_SES_MPAXL_0_SX..MSMC_SES_MPAXL_7_SX, MSMC_SES_MPAXL_0_SW..MSMC_SES_MPAXL_7_SW, MSMC_SES_MPAXL_0_SR..MSMC_SES_MPAXL_7_SR, MSMC_SES_MPAXL_0_RADDR..MSMC_SES_MPAXL_7_RADDR
Example
Uint32 privid = 1; Uint32 index = 0; CSL_MSMC_SESMPAXL mpaxl; mpaxl.ux = 1; mpaxl.uw = 1; mpaxl.ur = 1; mpaxl.sx = 1; mpaxl.sw = 1; mpaxl.sr = 1; mpaxl.raddr = 0x4000; CSL_MSMC_setSESMPAXL (privid, index, &mpaxl);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_setSMSMPAXH | ( | Uint32 | privid, | |
Uint32 | index, | |||
CSL_MSMC_SMSMPAXH * | mpaxh | |||
) |
============================================================================
CSL_MSMC_setSMSMPAXH
Description
This function sets the contents of SMS_MPAXH register.
Arguments
privid PrivID index Index into the set of 8 registers for this particular PrivID mpaxh CSL_MSMC_SMSMPAXH structure that needs to be set into the register
Return Value
None
Pre Condition
None
Post Condition
SMS MPAXH register for the PrivID configured with the value passed.
Writes
MSMC_SMS_MPAXH_0_SEGSZ..MSMC_SMS_MPAXH_7_SEGSZ, MSMC_SMS_MPAXH_0_BADDR..MSMC_SMS_MPAXH_7_BADDR
Example
Uint32 privid = 1; Uint32 index = 0; CSL_MSMC_SMSMPAXH mpaxh; mpaxh.segSz = 4; mpaxh.baddr = 0x10; CSL_MSMC_setSMSMPAXH (privid, index, &mpaxh);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_setSMSMPAXL | ( | Uint32 | privid, | |
Uint32 | index, | |||
CSL_MSMC_SMSMPAXL * | mpaxl | |||
) |
============================================================================
CSL_MSMC_setSMSMPAXL
Description
This function sets the contents of SMS_MPAXL register.
Arguments
privid PrivID index Index into the set of 8 registers for this particular PrivID mpaxl CSL_MSMC_SMSMPAXL structure that needs to be set into the register
Return Value
None
Pre Condition
None
Post Condition
SMS MPAXL register for the PrivID configured with the value passed.
Writes
MSMC_SMS_MPAXL_0_UX..MSMC_SMS_MPAXL_7_UX, MSMC_SMS_MPAXL_0_UW..MSMC_SMS_MPAXL_7_UW, MSMC_SMS_MPAXL_0_UR..MSMC_SMS_MPAXL_7_UR, MSMC_SMS_MPAXL_0_SX..MSMC_SMS_MPAXL_7_SX, MSMC_SMS_MPAXL_0_SW..MSMC_SMS_MPAXL_7_SW, MSMC_SMS_MPAXL_0_SR..MSMC_SMS_MPAXL_7_SR, MSMC_SMS_MPAXL_0_RADDR..MSMC_SMS_MPAXL_7_RADDR,
Example
Uint32 privid = 1; Uint32 index = 0; CSL_MSMC_SMSMPAXL mpaxl; mpaxl.ux = 1; mpaxl.uw = 1; mpaxl.ur = 1; mpaxl.sx = 1; mpaxl.sw = 1; mpaxl.sr = 1; mpaxl.emu = 0; mpaxl.ns = 1; mpaxl.raddr = 0x100; CSL_MSMC_setSMSMPAXL (privid, index, &mpaxl);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_setStarvationBoundCGEM | ( | Uint32 | index, | |
Uint8 | strvEmifArbiter, | |||
Uint8 | strvRAMArbiter | |||
) |
============================================================================
CSL_MSMC_setStarvationBoundCGEM
Description
This function sets the starvation bound for CCGEM slaves.
Arguments
index CGEM slave to configure starvation bound for strvEmifArbiter Starvation bound to be configured for the EMIF Arbiter strvRAMArbiter Starvation bound to be configured for the RAM Bank Arbiter
Return Value
None
Pre Condition
None
Post Condition
None
Writes
MSMC_SBNDC0_SCNTCE, MSMC_SBNDC0_SCNTCM
Example
CSL_MSMC_setStarvationBoundCGEM (1,1,1);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_setStarvationBoundSES | ( | Uint32 | sbnd | ) |
============================================================================
CSL_MSMC_setStarvationBoundSES
Description
This function sets the starvation bound for SES port.
Arguments
sbnd starvation bound to be configured
Return Value
None
Pre Condition
None
Post Condition
Starvation count for the SES port is configured
Writes
MSMC_SBNDE_SCNTEM
Example
CSL_MSMC_setStarvationBoundSES (1);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_setStarvationBoundSMS | ( | Uint32 | sbnd | ) |
============================================================================
CSL_MSMC_setStarvationBoundSMS
Description
This function sets the starvation bound for SMS port.
Arguments
sbnd starvation bound to be configured
Return Value
None
Pre Condition
None
Post Condition
Starvation Count for the SMS Port is configured.
Writes
MSMC_SBNDM_SCNTMM
Example
CSL_MSMC_setStarvationBoundSMS (1);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_setTransmitHeader | ( | Uint32 | transmitHeader | ) |
============================================================================
CSL_MSMC_setTransmitHeader
Description
This function sets the transmit header for analysis counter state export through STM
Arguments
transmitHeader Transmit header to be configured
Return Value
None
Pre Condition
None
Post Condition
None
Writes
MSMC_SMATH
Example
// Set the Transmit Header CSL_MSMC_getTransmitHeader(0x100);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_setVictimCounter | ( | Uint32 | victimCounter | ) |
============================================================================
CSL_MSMC_setVictimCounter
Description
This function sets the victim counter
Arguments
None
Return Value
Victim Counter
Pre Condition
None
Post Condition
None
Writes
MSMC_SMAV_VCNT
Example
// Reset the Victim Counter CSL_MSMC_setVictimCounter(0);
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_unFreezeCache | ( | void | ) |
============================================================================
CSL_MSMC_unFreezeCache
Description
This function unfreezes the MSMC cache
Arguments
None
Return Value
None
Pre Condition
None
Post Condition
None
Writes
MSMC_SMCFG_EFZ=0
Example
// Unfreeze the MSMC Cache CSL_MSMC_unFreezeCache ();
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_unlockNonMPAX | ( | void | ) |
============================================================================
CSL_MSMC_unlockNonMPAX
Description
This function unlocks the write access for all non MPAX registers.
Arguments
None
Return Value
None
Pre Condition
CSL_MSMC_lockNonMPAX() must be called.
Post Condition
All the non MPAX registers are available for write-access.
Writes
MSMC_CFGULCK_MGCID=0x2CD00000,MSMC_CFGULCK_WEN=1
Example
if (CSL_MSMC_isNonMPAXLocked () == TRUE) { // Non MPAX Registers are locked ... // Unlock the Non-MPAX registers. CSL_MSMC_unlockNonMPAX (); }
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_unlockSES | ( | Uint32 | privid | ) |
============================================================================
CSL_MSMC_unlockSES
Description
This function unlocks the write access for all SES MPAX registers.
Arguments
privid PrivID for which the SES MPAX registers will be unlocked.
Return Value
None
Pre Condition
CSL_MSMC_lockSES() must be called.
Post Condition
All the SES MPAX registers for the specific PrivID are unlocked for write-access.
Writes
MSMC_SES_MPAX_ULCK_MGCID=0x2CD20000,MSMC_SES_MPAX_ULCK_WEN
Example
... if (CSL_MSMC_isSESLocked (1) == TRUE) { // SES MPAX Registers for Priv-ID 1 are locked. ... // Unlock SES MPAX registers for priv-id 1. CSL_MSMC_unlockSES (1); }
=============================================================================
CSL_IDEF_INLINE void CSL_MSMC_unlockSMS | ( | Uint32 | privid | ) |
============================================================================
CSL_MSMC_unlockSMS
Description
This function unlocks the write access for all SMS MPAX registers.
Arguments
privid PrivID for which the SMS MPAX registers will be unlocked.
Return Value
None
Pre Condition
CSL_MSMC_lockSMS() must be called.
Post Condition
All the SMS MPAX registers for the specific PrivID are unlocked for write-access.
Writes
MSMC_SMS_MPAX_ULCK_MGCID=0x2CD10000,MSMC_SMS_MPAX_ULCK_WEN
Example
... if (CSL_MSMC_isSMSLocked (1) == TRUE) { // SMS MPAX Registers for Priv-ID 1 are locked. ... // Unlock SMS MPAX registers for priv-id 1. CSL_MSMC_unlockSMS (1); }
=============================================================================