NMSIS-Core  Version 1.5.0
NMSIS-Core support for Nuclei processor-based devices
SMPCC Functions

SMPCC related functions. More...

Functions

__STATIC_FORCEINLINE SMP_VER_Type SMPCC_GetVersion (void)
 Get the SMP version number. More...
 
__STATIC_FORCEINLINE uint8_t SMPCC_IsCCachePresent (void)
 Check if cluster cache is present. More...
 
__STATIC_FORCEINLINE uint8_t SMPCC_GetCoreNum (void)
 Get the number of cores in the cluster. More...
 
__STATIC_FORCEINLINE uint8_t SMPCC_GetIOCPNum (void)
 Get the number of IO coherency ports. More...
 
__STATIC_FORCEINLINE uint8_t SMPCC_GetPMONNum (void)
 Get the number of performance monitors. More...
 
__STATIC_FORCEINLINE uint32_t SMPCC_GetCCacheSetNum (void)
 Get the number of cache sets. More...
 
__STATIC_FORCEINLINE uint32_t SMPCC_GetCCacheWayNum (void)
 Get the number of cache ways. More...
 
__STATIC_FORCEINLINE uint8_t SMPCC_GetCCacheLineSize (void)
 Get the cache line size. More...
 
__STATIC_FORCEINLINE uint8_t SMPCC_IsCCacheSupportECC (void)
 Check if cluster cache supports ECC. More...
 
__STATIC_FORCEINLINE void SMPCC_EnableSnoop (uint16_t client_msk)
 Enable snoop for specific clients. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableSnoop (uint16_t client_msk)
 Disable snoop for specific clients. More...
 
__STATIC_FORCEINLINE void SMPCC_EnableCCache (void)
 Enable cluster cache. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableCCache (void)
 Disable cluster cache. More...
 
__STATIC_FORCEINLINE int32_t SMPCC_IsCCacheEnabled (void)
 Get status of cluster cache. More...
 
__STATIC_FORCEINLINE uint8_t SMPCC_IsAnySnoopPending (uint32_t client_msk)
 Check if any client is being snooped. More...
 
__STATIC_FORCEINLINE uint8_t SMPCC_IsAnyTransactionPending (uint32_t client_msk)
 Check if any transaction is pending for clients. More...
 
__STATIC_FORCEINLINE void SMPCC_SetCLMAllWays (uint64_t addr)
 Set Cluster Local Memory to use all ways. More...
 
__STATIC_FORCEINLINE void SMPCC_SetCLMNWays (uint64_t addr, uint32_t way_msk)
 Set Cluster Local Memory to use specific ways. More...
 
__STATIC_FORCEINLINE void SMPCC_SetCLMNoWay (void)
 Configure Cluster Local Memory to use no ways. More...
 
__STATIC_FORCEINLINE void SMPCC_SetCCacheControl (uint32_t val)
 Set Cluster Cache Control register. More...
 
__STATIC_FORCEINLINE uint32_t SMPCC_GetCCacheControl (void)
 Get Cluster Cache Control register value. More...
 
__STATIC_FORCEINLINE void SMPCC_EnableCCacheECC (void)
 Enable Cluster Cache ECC. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableCCacheECC (void)
 Disable Cluster Cache ECC. More...
 
__STATIC_FORCEINLINE void SMPCC_EnableCCacheECCExcp (void)
 Enable Cluster Cache ECC Exception. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableCCacheECCExcp (void)
 Disable Cluster Cache ECC Exception. More...
 
__STATIC_FORCEINLINE void SMPCC_LockECCConfig (void)
 Lock ECC Configuration. More...
 
__STATIC_FORCEINLINE void SMPCC_LockECCErrInjection (void)
 Lock ECC Error Injection Register. More...
 
__STATIC_FORCEINLINE void SMPCC_EnableRecvErrIrq (void)
 Enable Recoverable Error Interrupt. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableRecvErrIrq (void)
 Disable Recoverable Error Interrupt. More...
 
__STATIC_FORCEINLINE void SMPCC_EnableFatalErrIrq (void)
 Enable Fatal Error Interrupt. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableFatalErrIrq (void)
 Disable Fatal Error Interrupt. More...
 
__STATIC_FORCEINLINE void SMPCC_EnableBusErrIrq (void)
 Enable Bus Error Interrupt. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableBusErrIrq (void)
 Disable Bus Error Interrupt. More...
 
__STATIC_FORCEINLINE void SMPCC_EnableSModeCmd (void)
 Enable Supervisor Mode Commands. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableSModeCmd (void)
 Disable Supervisor Mode Commands. More...
 
__STATIC_FORCEINLINE void SMPCC_EnableUModeCmd (void)
 Enable User Mode Commands. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableUModeCmd (void)
 Disable User Mode Commands. More...
 
__STATIC_FORCEINLINE void SMPCC_EnableCCacheECCCheck (void)
 Enable Cluster Cache ECC Check. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableCCacheECCCheck (void)
 Disable Cluster Cache ECC Check. More...
 
__STATIC_FORCEINLINE void SMPCC_EnableCLMECC (void)
 Enable Cluster Local Memory ECC. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableCLMECC (void)
 Disable Cluster Local Memory ECC. More...
 
__STATIC_FORCEINLINE void SMPCC_EnableCLMECCCheck (void)
 Enable Cluster Local Memory ECC Check. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableCLMECCCheck (void)
 Disable Cluster Local Memory ECC Check. More...
 
__STATIC_FORCEINLINE void SMPCC_EnableCLMECCExcp (void)
 Enable Cluster Local Memory ECC Exception. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableCLMECCExcp (void)
 Disable Cluster Local Memory ECC Exception. More...
 
__STATIC_FORCEINLINE void SMPCC_EnableL1PrefetchShareCacheline (void)
 Enable L1 Prefetch to Snoop and Share Cacheline. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableL1PrefetchShareCacheline (void)
 Disable L1 Prefetch to Snoop and Share Cacheline. More...
 
__STATIC_FORCEINLINE void SMPCC_EnableCCacheEarlyPrefetch (void)
 Enable Cluster Cache Early Prefetch. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableCCacheEarlyPrefetch (void)
 Disable Cluster Cache Early Prefetch. More...
 
__STATIC_FORCEINLINE void SMPCC_LimitCCachePrefetchOutsNum (void)
 Limit Cluster Cache Prefetch Outstanding Number. More...
 
__STATIC_FORCEINLINE void SMPCC_UnlimitCCachePrefetchOutsNum (void)
 Unlimit Cluster Cache Prefetch Outstanding Number. More...
 
__STATIC_FORCEINLINE void SMPCC_EnableCCachePrefetchNoWb (void)
 Enable Cluster Cache Prefetch to Avoid Write Back. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableCCachePrefetchNoWb (void)
 Disable Cluster Cache Prefetch to Avoid Write Back. More...
 
__STATIC_FORCEINLINE void SMPCC_EnableICacheSnoopDCache (void)
 Enable ICache to Snoop DCache. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableICacheSnoopDCache (void)
 Disable ICache to Snoop DCache. More...
 
__STATIC_FORCEINLINE uint32_t SMPCC_GetRecvErrCount (void)
 Get Recoverable Error Count. More...
 
__STATIC_FORCEINLINE void SMPCC_ClearRecvErrCount (void)
 Clear Recoverable Error Count. More...
 
__STATIC_FORCEINLINE uint32_t SMPCC_GetFatalErrCount (void)
 Get Fatal Error Count. More...
 
__STATIC_FORCEINLINE void SMPCC_ClearFatalErrCount (void)
 Clear Fatal Error Count. More...
 
__STATIC_FORCEINLINE void SMPCC_SetRecvErrCntThreshold (uint16_t threshold)
 Set Recoverable Error Count Threshold. More...
 
__STATIC_FORCEINLINE uint16_t SMPCC_GetRecvErrCntThreshold (void)
 Get Recoverable Error Count Threshold. More...
 
__STATIC_FORCEINLINE void SMPCC_SetFatalErrCntThreshold (uint16_t threshold)
 Set Fatal Error Count Threshold. More...
 
__STATIC_FORCEINLINE uint16_t SMPCC_GetFatalErrCntThreshold (void)
 Get Fatal Error Count Threshold. More...
 
__STATIC_FORCEINLINE uint32_t SMPCC_GetClientErrStatus (uint8_t client_id)
 Get Client Error Status. More...
 
__STATIC_FORCEINLINE void SMPCC_SetSTMControl (uint32_t val)
 Set Stream Control Register. More...
 
__STATIC_FORCEINLINE uint32_t SMPCC_GetSTMControl (void)
 Get Stream Control Register Value. More...
 
__STATIC_FORCEINLINE void SMPCC_EnableStreamRead (void)
 Enable Stream Read. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableStreamRead (void)
 Disable Stream Read. More...
 
__STATIC_FORCEINLINE void SMPCC_EnableStreamWrite (void)
 Enable Stream Write. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableStreamWrite (void)
 Disable Stream Write. More...
 
__STATIC_FORCEINLINE void SMPCC_EnableStreamTransAlloc (void)
 Enable Stream Translate Allocate. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableStreamTransAlloc (void)
 Disable Stream Translate Allocate. More...
 
__STATIC_FORCEINLINE void SMPCC_EnableStreamMergeNCRead (void)
 Enable Stream Merge Non-Cacheable Read. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableStreamMergeNCRead (void)
 Disable Stream Merge Non-Cacheable Read. More...
 
__STATIC_FORCEINLINE void SMPCC_EnableStreamReadCross4K (void)
 Enable Stream Read Cross 4K Boundary. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableStreamReadCross4K (void)
 Disable Stream Read Cross 4K Boundary. More...
 
__STATIC_FORCEINLINE void SMPCC_SetNSRegionNACL (uint8_t region_id, uint64_t addr)
 Set Non-Shareable Region to NACL. More...
 
__STATIC_FORCEINLINE void SMPCC_SetNSRegionNAPOT (uint8_t region_id, uint64_t addr)
 Set Non-Shareable Region to NAPOT. More...
 
__STATIC_FORCEINLINE void SMPCC_DisableNSRegion (uint8_t region_id)
 Disable Non-Shareable Region. More...
 
__STATIC_FORCEINLINE void SMPCC_SetPMONEventSelect (uint8_t idx, uint8_t client_id, uint8_t event)
 Set Performance Monitor Event Selection. More...
 
__STATIC_FORCEINLINE uint32_t SMPCC_GetPMONEventSelect (uint8_t idx)
 Get Performance Monitor Event Selection. More...
 
__STATIC_FORCEINLINE uint64_t SMPCC_GetPMONCount (uint8_t idx)
 Get Performance Monitor Count. More...
 
__STATIC_FORCEINLINE void SMPCC_ClearPMONCount (uint8_t idx)
 Clear Performance Monitor Count. More...
 
__STATIC_FORCEINLINE uint64_t SMPCC_GetClientErrAddr (uint8_t client_id)
 Get Client Error Address. More...
 
__STATIC_FORCEINLINE void SMPCC_MaskClientCCacheWays (uint8_t client_id, uint32_t way_msk)
 Mask Client Cluster Cache Ways. More...
 
__STATIC_FORCEINLINE int32_t SMPCC_IsXorErrorInjectMode (void)
 Check if ECC error injection mode is XOR mode. More...
 
__STATIC_FORCEINLINE void SMPCC_SetECCCode (uint32_t ecc_code)
 Set ECC code for error injection. More...
 
__STATIC_FORCEINLINE void SMPCC_CCacheTramErrInject (uint32_t ecc_code, void *addr)
 Inject ECC error to cluster cache tag RAM. More...
 
__STATIC_FORCEINLINE void SMPCC_CCacheDramErrInject (uint32_t ecc_code, void *addr)
 Inject ECC error to cluster cache data RAM. More...
 
__STATIC_FORCEINLINE void SMPCC_CLMErrInject (uint32_t ecc_code, void *addr)
 Inject ECC error to CLM (Cluster Local Memory) More...
 
__STATIC_FORCEINLINE void SMPCC_CCacheErrRestore (void *addr)
 Restore cluster cache after error injection. More...
 

Detailed Description

SMPCC related functions.

Function Documentation

◆ SMPCC_CCacheDramErrInject()

__STATIC_FORCEINLINE void SMPCC_CCacheDramErrInject ( uint32_t  ecc_code,
void *  addr 
)

Inject ECC error to cluster cache data RAM.

This function injects an ECC error into the cluster cache data RAM at the specified address.

Parameters
ecc_codeECC code to be injected
addrAddress where the error should be injected
Returns
None

Definition at line 1842 of file core_feature_smpcc.h.

1843 {
1844  SMPCC_SetECCCode(ecc_code);
1846  MInvalICacheLine((unsigned long)addr);
1847  MFlushInvalDCacheCCacheLine((unsigned long)addr);
1848  __RWMB();
1849  SMPCC->CC_ERR_INJ.b.inj_data = SMPCC_ERR_INJ_INJDATA_ENABLE;
1850  MLockCCacheLine((unsigned long)addr);
1851  SMPCC->CC_ERR_INJ.b.inj_data = SMPCC_ERR_INJ_INJDATA_DISABLE;
1852  __RWMB();
1854 }
__STATIC_INLINE unsigned long MLockCCacheLine(unsigned long addr)
Lock one Cluster Cache line specified by address in M-Mode.
#define __RWMB()
Read & Write Memory barrier.
#define MFlushInvalDCacheCCacheLine(addr)
Flush and invalidate one D-Cache and Cluster Cache line specified by address in M-Mode.
__STATIC_INLINE void MInvalICacheLine(unsigned long addr)
Invalidate one I-Cache line specified by address in M-Mode.
__STATIC_FORCEINLINE void SMPCC_SetECCCode(uint32_t ecc_code)
Set ECC code for error injection.
__STATIC_FORCEINLINE void SMPCC_EnableCCacheECCCheck(void)
Enable Cluster Cache ECC Check.
__STATIC_FORCEINLINE void SMPCC_DisableCCacheECCCheck(void)
Disable Cluster Cache ECC Check.
#define SMPCC_ERR_INJ_INJDATA_ENABLE
SMPCC CC_ERR_INJ INJDATA Enable.
#define SMPCC_ERR_INJ_INJDATA_DISABLE
SMPCC CC_ERR_INJ INJDATA Disable.
#define SMPCC
SMPCC configuration struct.

References __RWMB, MFlushInvalDCacheCCacheLine, MInvalICacheLine(), MLockCCacheLine(), SMPCC, SMPCC_DisableCCacheECCCheck(), SMPCC_EnableCCacheECCCheck(), SMPCC_ERR_INJ_INJDATA_DISABLE, SMPCC_ERR_INJ_INJDATA_ENABLE, and SMPCC_SetECCCode().

◆ SMPCC_CCacheErrRestore()

__STATIC_FORCEINLINE void SMPCC_CCacheErrRestore ( void *  addr)

Restore cluster cache after error injection.

This function restores the cluster cache after an error injection operation.

Parameters
addrAddress to be restored
Returns
None

Definition at line 1883 of file core_feature_smpcc.h.

1884 {
1886  MInvalICacheLine((unsigned long)addr);
1887  MFlushInvalDCacheCCacheLine((unsigned long)addr);
1888  MLockCCacheLine((unsigned long)addr);
1890 }

References MFlushInvalDCacheCCacheLine, MInvalICacheLine(), MLockCCacheLine(), SMPCC_DisableCCacheECCCheck(), and SMPCC_EnableCCacheECCCheck().

◆ SMPCC_CCacheTramErrInject()

__STATIC_FORCEINLINE void SMPCC_CCacheTramErrInject ( uint32_t  ecc_code,
void *  addr 
)

Inject ECC error to cluster cache tag RAM.

This function injects an ECC error into the cluster cache tag RAM at the specified address.

Parameters
ecc_codeECC code to be injected
addrAddress where the error should be injected
Returns
None

Definition at line 1821 of file core_feature_smpcc.h.

1822 {
1823  SMPCC_SetECCCode(ecc_code);
1825  MInvalICacheLine((unsigned long)addr);
1826  MFlushInvalDCacheCCacheLine((unsigned long)addr);
1827  __RWMB();
1828  SMPCC->CC_ERR_INJ.b.inj_tag = SMPCC_ERR_INJ_INJTAG_ENABLE;
1829  MLockCCacheLine((unsigned long)addr);
1830  SMPCC->CC_ERR_INJ.b.inj_tag = SMPCC_ERR_INJ_INJTAG_DISABLE;
1831  __RWMB();
1833 }
#define SMPCC_ERR_INJ_INJTAG_DISABLE
SMPCC CC_ERR_INJ INJTAG Disable.
#define SMPCC_ERR_INJ_INJTAG_ENABLE
SMPCC CC_ERR_INJ INJTAG Enable.

References __RWMB, MFlushInvalDCacheCCacheLine, MInvalICacheLine(), MLockCCacheLine(), SMPCC, SMPCC_DisableCCacheECCCheck(), SMPCC_EnableCCacheECCCheck(), SMPCC_ERR_INJ_INJTAG_DISABLE, SMPCC_ERR_INJ_INJTAG_ENABLE, and SMPCC_SetECCCode().

◆ SMPCC_ClearFatalErrCount()

__STATIC_FORCEINLINE void SMPCC_ClearFatalErrCount ( void  )

Clear Fatal Error Count.

This function clears the fatal error count register.

See also

Definition at line 1441 of file core_feature_smpcc.h.

1442 {
1443  SMPCC->CC_FATAL_CNT.w = 0;
1444 }

References SMPCC.

◆ SMPCC_ClearPMONCount()

__STATIC_FORCEINLINE void SMPCC_ClearPMONCount ( uint8_t  idx)

Clear Performance Monitor Count.

This function clears the count value of a performance monitor.

Parameters
[in]idxIndex of the performance monitor to clear
See also

Definition at line 1761 of file core_feature_smpcc.h.

1762 {
1763  SMPCC->SMP_PMON_CNT[idx] = 0;
1764 }

References SMPCC.

◆ SMPCC_ClearRecvErrCount()

__STATIC_FORCEINLINE void SMPCC_ClearRecvErrCount ( void  )

Clear Recoverable Error Count.

This function clears the recoverable error count register.

See also

Definition at line 1416 of file core_feature_smpcc.h.

1417 {
1418  SMPCC->CC_RECV_CNT.w = 0;
1419 }

References SMPCC.

◆ SMPCC_CLMErrInject()

__STATIC_FORCEINLINE void SMPCC_CLMErrInject ( uint32_t  ecc_code,
void *  addr 
)

Inject ECC error to CLM (Cluster Local Memory)

This function injects an ECC error into the CLM at the specified address. Only the ecc code can be injected, the data will keep as it is.

Parameters
ecc_codeECC code to be injected
addrAddress where the error should be injected
Returns
None

Definition at line 1864 of file core_feature_smpcc.h.

1865 {
1866  SMPCC_SetECCCode(ecc_code);
1868  uint32_t val = __LW(addr);
1869  __RWMB();
1870  SMPCC->CC_ERR_INJ.b.inj_clm = SMPCC_ERR_INJ_INJCLM_ENABLE;
1871  __SW(addr, val);
1872  SMPCC->CC_ERR_INJ.b.inj_clm = SMPCC_ERR_INJ_INJCLM_DISABLE;
1873  __RWMB();
1875 }
__STATIC_FORCEINLINE void __SW(volatile void *addr, uint32_t val)
Write 32bit value to address (32 bit)
__STATIC_FORCEINLINE uint32_t __LW(volatile void *addr)
Load 32bit value from address (32 bit)
__STATIC_FORCEINLINE void SMPCC_DisableCLMECCCheck(void)
Disable Cluster Local Memory ECC Check.
__STATIC_FORCEINLINE void SMPCC_EnableCLMECCCheck(void)
Enable Cluster Local Memory ECC Check.
#define SMPCC_ERR_INJ_INJCLM_ENABLE
SMPCC CC_ERR_INJ INJCLM Enable.
#define SMPCC_ERR_INJ_INJCLM_DISABLE
SMPCC CC_ERR_INJ INJCLM Disable.

References __LW(), __RWMB, __SW(), SMPCC, SMPCC_DisableCLMECCCheck(), SMPCC_EnableCLMECCCheck(), SMPCC_ERR_INJ_INJCLM_DISABLE, SMPCC_ERR_INJ_INJCLM_ENABLE, and SMPCC_SetECCCode().

◆ SMPCC_DisableBusErrIrq()

__STATIC_FORCEINLINE void SMPCC_DisableBusErrIrq ( void  )

Disable Bus Error Interrupt.

This function disables interrupt generation for bus errors in cluster cache maintenance operations.

See also

Definition at line 1127 of file core_feature_smpcc.h.

1128 {
1129  SMPCC->CC_CTRL.b.bus_err_irq_en = SMPCC_CTRL_BUS_ERR_IRQ_EN_DISABLE;
1130 }
#define SMPCC_CTRL_BUS_ERR_IRQ_EN_DISABLE
SMPCC CC_CTRL BUS_ERR_IRQ_EN Disable.

References SMPCC, and SMPCC_CTRL_BUS_ERR_IRQ_EN_DISABLE.

◆ SMPCC_DisableCCache()

__STATIC_FORCEINLINE void SMPCC_DisableCCache ( void  )

Disable cluster cache.

This function disables the cluster cache.

See also

Definition at line 839 of file core_feature_smpcc.h.

840 {
841  SMPCC->CC_CTRL.b.cc_en = SMPCC_CTRL_CC_EN_DISABLE;
842 }
#define SMPCC_CTRL_CC_EN_DISABLE
SMPCC CC_CTRL CC_EN Disable.

References SMPCC, and SMPCC_CTRL_CC_EN_DISABLE.

◆ SMPCC_DisableCCacheEarlyPrefetch()

__STATIC_FORCEINLINE void SMPCC_DisableCCacheEarlyPrefetch ( void  )

Disable Cluster Cache Early Prefetch.

This function disables L2 prefetch to initialize external bus read access while looking up the cluster cache.

See also

Definition at line 1319 of file core_feature_smpcc.h.

1320 {
1321  SMPCC->CC_CTRL.b.pf_l2_early_en = SMPCC_CTRL_PF_L2_EARLY_EN_DISABLE;
1322 }
#define SMPCC_CTRL_PF_L2_EARLY_EN_DISABLE
SMPCC CC_CTRL PF_L2_EARLY_EN Disable.

References SMPCC, and SMPCC_CTRL_PF_L2_EARLY_EN_DISABLE.

◆ SMPCC_DisableCCacheECC()

__STATIC_FORCEINLINE void SMPCC_DisableCCacheECC ( void  )

Disable Cluster Cache ECC.

This function disables ECC functionality for the cluster cache.

See also

Definition at line 1007 of file core_feature_smpcc.h.

1008 {
1009  SMPCC->CC_CTRL.b.cc_ecc_en = SMPCC_CTRL_CC_ECC_EN_DISABLE;
1010 }
#define SMPCC_CTRL_CC_ECC_EN_DISABLE
SMPCC CC_CTRL CC_ECC_EN Disable.

References SMPCC, and SMPCC_CTRL_CC_ECC_EN_DISABLE.

◆ SMPCC_DisableCCacheECCCheck()

__STATIC_FORCEINLINE void SMPCC_DisableCCacheECCCheck ( void  )

Disable Cluster Cache ECC Check.

This function disables ECC check functionality for the cluster cache.

See also

Definition at line 1199 of file core_feature_smpcc.h.

1200 {
1201  SMPCC->CC_CTRL.b.ecc_chk_en = SMPCC_CTRL_ECC_CHK_EN_DISABLE;
1202 }
#define SMPCC_CTRL_ECC_CHK_EN_DISABLE
SMPCC CC_CTRL ECC_CHK_EN Disable.

References SMPCC, and SMPCC_CTRL_ECC_CHK_EN_DISABLE.

Referenced by SMPCC_CCacheDramErrInject(), SMPCC_CCacheErrRestore(), and SMPCC_CCacheTramErrInject().

◆ SMPCC_DisableCCacheECCExcp()

__STATIC_FORCEINLINE void SMPCC_DisableCCacheECCExcp ( void  )

Disable Cluster Cache ECC Exception.

This function disables ECC exception handling for the cluster cache.

See also

Definition at line 1031 of file core_feature_smpcc.h.

1032 {
1033  SMPCC->CC_CTRL.b.ecc_excp_en = SMPCC_CTRL_CC_ECC_EXCP_EN_DISABLE;
1034 }
#define SMPCC_CTRL_CC_ECC_EXCP_EN_DISABLE
SMPCC CC_CTRL ECC_EXCP_EN Disable.

References SMPCC, and SMPCC_CTRL_CC_ECC_EXCP_EN_DISABLE.

◆ SMPCC_DisableCCachePrefetchNoWb()

__STATIC_FORCEINLINE void SMPCC_DisableCCachePrefetchNoWb ( void  )

Disable Cluster Cache Prefetch to Avoid Write Back.

This function disables L2 prefetch from aborting and avoiding dirty cacheline write back when filling the cluster cache.

See also

Definition at line 1367 of file core_feature_smpcc.h.

1368 {
1369  SMPCC->CC_CTRL.b.pf_no_wb = SMPCC_CTRL_PF_NO_WB_DISABLE;
1370 }
#define SMPCC_CTRL_PF_NO_WB_DISABLE
SMPCC CC_CTRL PF_NO_WB Disable.

References SMPCC, and SMPCC_CTRL_PF_NO_WB_DISABLE.

◆ SMPCC_DisableCLMECC()

__STATIC_FORCEINLINE void SMPCC_DisableCLMECC ( void  )

Disable Cluster Local Memory ECC.

This function disables ECC functionality for the Cluster Local Memory.

See also

Definition at line 1223 of file core_feature_smpcc.h.

1224 {
1225  SMPCC->CC_CTRL.b.clm_ecc_en = SMPCC_CTRL_CLM_ECC_EN_DISABLE;
1226 }
#define SMPCC_CTRL_CLM_ECC_EN_DISABLE
SMPCC CC_CTRL CLM_ECC_EN Disable.

References SMPCC, and SMPCC_CTRL_CLM_ECC_EN_DISABLE.

◆ SMPCC_DisableCLMECCCheck()

__STATIC_FORCEINLINE void SMPCC_DisableCLMECCCheck ( void  )

Disable Cluster Local Memory ECC Check.

This function disables ECC check functionality for the Cluster Local Memory.

See also

Definition at line 1247 of file core_feature_smpcc.h.

1248 {
1249  SMPCC->CC_CTRL.b.clm_ecc_chk_en = SMPCC_CTRL_CLM_ECC_CHK_EN_DISABLE;
1250 }
#define SMPCC_CTRL_CLM_ECC_CHK_EN_DISABLE
SMPCC CC_CTRL CLM_ECC_CHK_EN Disable.

References SMPCC, and SMPCC_CTRL_CLM_ECC_CHK_EN_DISABLE.

Referenced by SMPCC_CLMErrInject().

◆ SMPCC_DisableCLMECCExcp()

__STATIC_FORCEINLINE void SMPCC_DisableCLMECCExcp ( void  )

Disable Cluster Local Memory ECC Exception.

This function disables ECC exception handling for the Cluster Local Memory.

See also

Definition at line 1271 of file core_feature_smpcc.h.

1272 {
1273  SMPCC->CC_CTRL.b.clm_excp_en = SMPCC_CTRL_CLM_EXCP_EN_DISABLE;
1274 }
#define SMPCC_CTRL_CLM_EXCP_EN_DISABLE
SMPCC CC_CTRL CLM_EXCP_EN Disable.

References SMPCC, and SMPCC_CTRL_CLM_EXCP_EN_DISABLE.

◆ SMPCC_DisableFatalErrIrq()

__STATIC_FORCEINLINE void SMPCC_DisableFatalErrIrq ( void  )

Disable Fatal Error Interrupt.

This function disables interrupt generation when fatal error count exceeds the threshold.

See also

Definition at line 1103 of file core_feature_smpcc.h.

1104 {
1105  SMPCC->CC_CTRL.b.fatal_err_irq_en = SMPCC_CTRL_FATAL_ERR_IRQ_EN_DISABLE;
1106 }
#define SMPCC_CTRL_FATAL_ERR_IRQ_EN_DISABLE
SMPCC CC_CTRL FATAL_ERR_IRQ_EN Disable.

References SMPCC, and SMPCC_CTRL_FATAL_ERR_IRQ_EN_DISABLE.

◆ SMPCC_DisableICacheSnoopDCache()

__STATIC_FORCEINLINE void SMPCC_DisableICacheSnoopDCache ( void  )

Disable ICache to Snoop DCache.

This function disables snoop to dcache for icache refill reads.

See also

Definition at line 1391 of file core_feature_smpcc.h.

1392 {
1393  SMPCC->CC_CTRL.b.i_snoop_d_en = SMPCC_CTRL_I_SNOOP_D_EN_DISABLE;
1394 }
#define SMPCC_CTRL_I_SNOOP_D_EN_DISABLE
SMPCC CC_CTRL I_SNOOP_D_EN Disable.

References SMPCC, and SMPCC_CTRL_I_SNOOP_D_EN_DISABLE.

◆ SMPCC_DisableL1PrefetchShareCacheline()

__STATIC_FORCEINLINE void SMPCC_DisableL1PrefetchShareCacheline ( void  )

Disable L1 Prefetch to Snoop and Share Cacheline.

This function disables L1 prefetch to snoop and share cacheline from other cores.

See also

Definition at line 1295 of file core_feature_smpcc.h.

1296 {
1297  SMPCC->CC_CTRL.b.pf_sh_cl_en = SMPCC_CTRL_PF_SH_CL_EN_DISABLE;
1298 }
#define SMPCC_CTRL_PF_SH_CL_EN_DISABLE
SMPCC CC_CTRL PF_SH_CL_EN Disable.

References SMPCC, and SMPCC_CTRL_PF_SH_CL_EN_DISABLE.

◆ SMPCC_DisableNSRegion()

__STATIC_FORCEINLINE void SMPCC_DisableNSRegion ( uint8_t  region_id)

Disable Non-Shareable Region.

This function disables a non-shareable region.

Parameters
[in]region_idID of the region to disable
See also

Definition at line 1695 of file core_feature_smpcc.h.

1696 {
1697  SMPCC->NS_RG[region_id].dw = SMPCC_NS_RG_CFG_DISABLE;
1698 }
#define SMPCC_NS_RG_CFG_DISABLE
SMPCC Non-Shareable Region CFG DISABLE.

References SMPCC, and SMPCC_NS_RG_CFG_DISABLE.

◆ SMPCC_DisableRecvErrIrq()

__STATIC_FORCEINLINE void SMPCC_DisableRecvErrIrq ( void  )

Disable Recoverable Error Interrupt.

This function disables interrupt generation when recoverable error count exceeds the threshold.

See also

Definition at line 1079 of file core_feature_smpcc.h.

1080 {
1081  SMPCC->CC_CTRL.b.recv_err_irq_en = SMPCC_CTRL_RECV_ERR_IRQ_EN_DISABLE;
1082 }
#define SMPCC_CTRL_RECV_ERR_IRQ_EN_DISABLE
SMPCC CC_CTRL RECV_ERR_IRQ_EN Disable.

References SMPCC, and SMPCC_CTRL_RECV_ERR_IRQ_EN_DISABLE.

◆ SMPCC_DisableSModeCmd()

__STATIC_FORCEINLINE void SMPCC_DisableSModeCmd ( void  )

Disable Supervisor Mode Commands.

This function disables supervisor mode from operating CC_sCMD and SMP_PMON_SEL registers.

See also

Definition at line 1151 of file core_feature_smpcc.h.

1152 {
1153  SMPCC->CC_CTRL.b.sup_cmd_en = SMPCC_CTRL_SUP_CMD_EN_DISABLE;
1154 }
#define SMPCC_CTRL_SUP_CMD_EN_DISABLE
SMPCC CC_CTRL SUP_CMD_EN Disable.

References SMPCC, and SMPCC_CTRL_SUP_CMD_EN_DISABLE.

◆ SMPCC_DisableSnoop()

__STATIC_FORCEINLINE void SMPCC_DisableSnoop ( uint16_t  client_msk)

Disable snoop for specific clients.

This function disables snoop functionality for specified client mask.

Parameters
[in]client_mskClient mask to disable snoop for
See also

Definition at line 815 of file core_feature_smpcc.h.

816 {
817  SMPCC->SMP_ENB.b.smp_enable &= ~client_msk;
818 }

References SMPCC.

◆ SMPCC_DisableStreamMergeNCRead()

__STATIC_FORCEINLINE void SMPCC_DisableStreamMergeNCRead ( void  )

Disable Stream Merge Non-Cacheable Read.

This function disables non-cacheable attribute read merge functionality.

See also

Definition at line 1627 of file core_feature_smpcc.h.

1628 {
1629  SMPCC->STM_CTRL.b.rd_merge_en = SMPCC_STMCTRL_RD_MERGE_EN_DISABLE;
1630 }
#define SMPCC_STMCTRL_RD_MERGE_EN_DISABLE
SMPCC READ Merge Enable Disable.

References SMPCC, and SMPCC_STMCTRL_RD_MERGE_EN_DISABLE.

◆ SMPCC_DisableStreamRead()

__STATIC_FORCEINLINE void SMPCC_DisableStreamRead ( void  )

Disable Stream Read.

This function disables stream read functionality.

See also

Definition at line 1555 of file core_feature_smpcc.h.

1556 {
1557  SMPCC->STM_CTRL.b.rd_stm_en = SMPCC_STMCTRL_RD_STM_EN_DISABLE;
1558 }
#define SMPCC_STMCTRL_RD_STM_EN_DISABLE
SMPCC READ Stream Enable Disable.

References SMPCC, and SMPCC_STMCTRL_RD_STM_EN_DISABLE.

◆ SMPCC_DisableStreamReadCross4K()

__STATIC_FORCEINLINE void SMPCC_DisableStreamReadCross4K ( void  )

Disable Stream Read Cross 4K Boundary.

This function disables read stream from crossing 4K boundary.

See also

Definition at line 1651 of file core_feature_smpcc.h.

1652 {
1653  SMPCC->STM_CTRL.b.cross_en = SMPCC_STMCTRL_CROSS_EN_DISABLE;
1654 }
#define SMPCC_STMCTRL_CROSS_EN_DISABLE
SMPCC READ STREAM CROSS 4K Disable.

References SMPCC, and SMPCC_STMCTRL_CROSS_EN_DISABLE.

◆ SMPCC_DisableStreamTransAlloc()

__STATIC_FORCEINLINE void SMPCC_DisableStreamTransAlloc ( void  )

Disable Stream Translate Allocate.

This function disables translation of allocate attribute to non-alloc attribute.

See also

Definition at line 1603 of file core_feature_smpcc.h.

1604 {
1605  SMPCC->STM_CTRL.b.trans_alloc = SMPCC_STMCTRL_TRANS_ALLOC_DISABLE;
1606 }
#define SMPCC_STMCTRL_TRANS_ALLOC_DISABLE
SMPCC TRANSLATE ALLOC ATTRIBUTE Disable.

References SMPCC, and SMPCC_STMCTRL_TRANS_ALLOC_DISABLE.

◆ SMPCC_DisableStreamWrite()

__STATIC_FORCEINLINE void SMPCC_DisableStreamWrite ( void  )

Disable Stream Write.

This function disables stream write functionality.

See also

Definition at line 1579 of file core_feature_smpcc.h.

1580 {
1581  SMPCC->STM_CTRL.b.wr_stm_en = SMPCC_STMCTRL_WR_STM_EN_DISABLE;
1582 }
#define SMPCC_STMCTRL_WR_STM_EN_DISABLE
SMPCC WRITE Stream Enable Disable.

References SMPCC, and SMPCC_STMCTRL_WR_STM_EN_DISABLE.

◆ SMPCC_DisableUModeCmd()

__STATIC_FORCEINLINE void SMPCC_DisableUModeCmd ( void  )

Disable User Mode Commands.

This function disables user mode from operating CC_uCMD and SMP_PMON_SEL registers.

See also

Definition at line 1175 of file core_feature_smpcc.h.

1176 {
1177  SMPCC->CC_CTRL.b.use_cmd_en = SMPCC_CTRL_USE_CMD_EN_DISABLE;
1178 }
#define SMPCC_CTRL_USE_CMD_EN_DISABLE
SMPCC CC_CTRL USE_CMD_EN Disable.

References SMPCC, and SMPCC_CTRL_USE_CMD_EN_DISABLE.

◆ SMPCC_EnableBusErrIrq()

__STATIC_FORCEINLINE void SMPCC_EnableBusErrIrq ( void  )

Enable Bus Error Interrupt.

This function enables interrupt generation for bus errors in cluster cache maintenance operations.

See also

Definition at line 1115 of file core_feature_smpcc.h.

1116 {
1117  SMPCC->CC_CTRL.b.bus_err_irq_en = SMPCC_CTRL_BUS_ERR_IRQ_EN_ENABLE;
1118 }
#define SMPCC_CTRL_BUS_ERR_IRQ_EN_ENABLE
SMPCC CC_CTRL BUS_ERR_IRQ_EN Enable.

References SMPCC, and SMPCC_CTRL_BUS_ERR_IRQ_EN_ENABLE.

◆ SMPCC_EnableCCache()

__STATIC_FORCEINLINE void SMPCC_EnableCCache ( void  )

Enable cluster cache.

This function enables the cluster cache.

See also

Definition at line 827 of file core_feature_smpcc.h.

828 {
829  SMPCC->CC_CTRL.b.cc_en = SMPCC_CTRL_CC_EN_ENABLE;
830 }
#define SMPCC_CTRL_CC_EN_ENABLE
SMPCC CC_CTRL CC_EN Enable.

References SMPCC, and SMPCC_CTRL_CC_EN_ENABLE.

◆ SMPCC_EnableCCacheEarlyPrefetch()

__STATIC_FORCEINLINE void SMPCC_EnableCCacheEarlyPrefetch ( void  )

Enable Cluster Cache Early Prefetch.

This function enables L2 prefetch to initialize external bus read access while looking up the cluster cache.

See also

Definition at line 1307 of file core_feature_smpcc.h.

1308 {
1309  SMPCC->CC_CTRL.b.pf_l2_early_en = SMPCC_CTRL_PF_L2_EARLY_EN_ENABLE;
1310 }
#define SMPCC_CTRL_PF_L2_EARLY_EN_ENABLE
SMPCC CC_CTRL PF_L2_EARLY_EN Enable.

References SMPCC, and SMPCC_CTRL_PF_L2_EARLY_EN_ENABLE.

◆ SMPCC_EnableCCacheECC()

__STATIC_FORCEINLINE void SMPCC_EnableCCacheECC ( void  )

Enable Cluster Cache ECC.

This function enables ECC functionality for the cluster cache.

See also

Definition at line 995 of file core_feature_smpcc.h.

996 {
997  SMPCC->CC_CTRL.b.cc_ecc_en = SMPCC_CTRL_CC_ECC_EN_ENABLE;
998 }
#define SMPCC_CTRL_CC_ECC_EN_ENABLE
SMPCC CC_CTRL CC_ECC_EN Enable.

References SMPCC, and SMPCC_CTRL_CC_ECC_EN_ENABLE.

◆ SMPCC_EnableCCacheECCCheck()

__STATIC_FORCEINLINE void SMPCC_EnableCCacheECCCheck ( void  )

Enable Cluster Cache ECC Check.

This function enables ECC check functionality for the cluster cache.

See also

Definition at line 1187 of file core_feature_smpcc.h.

1188 {
1189  SMPCC->CC_CTRL.b.ecc_chk_en = SMPCC_CTRL_ECC_CHK_EN_ENABLE;
1190 }
#define SMPCC_CTRL_ECC_CHK_EN_ENABLE
SMPCC CC_CTRL ECC_CHK_EN Enable.

References SMPCC, and SMPCC_CTRL_ECC_CHK_EN_ENABLE.

Referenced by SMPCC_CCacheDramErrInject(), SMPCC_CCacheErrRestore(), and SMPCC_CCacheTramErrInject().

◆ SMPCC_EnableCCacheECCExcp()

__STATIC_FORCEINLINE void SMPCC_EnableCCacheECCExcp ( void  )

Enable Cluster Cache ECC Exception.

This function enables ECC exception handling for the cluster cache.

See also

Definition at line 1019 of file core_feature_smpcc.h.

1020 {
1021  SMPCC->CC_CTRL.b.ecc_excp_en = SMPCC_CTRL_CC_ECC_EXCP_EN_ENABLE;
1022 }
#define SMPCC_CTRL_CC_ECC_EXCP_EN_ENABLE
SMPCC CC_CTRL ECC_EXCP_EN Enable.

References SMPCC, and SMPCC_CTRL_CC_ECC_EXCP_EN_ENABLE.

◆ SMPCC_EnableCCachePrefetchNoWb()

__STATIC_FORCEINLINE void SMPCC_EnableCCachePrefetchNoWb ( void  )

Enable Cluster Cache Prefetch to Avoid Write Back.

This function enables L2 prefetch to abort and avoid dirty cacheline write back when filling the cluster cache.

See also

Definition at line 1355 of file core_feature_smpcc.h.

1356 {
1357  SMPCC->CC_CTRL.b.pf_no_wb = SMPCC_CTRL_PF_NO_WB_ENABLE;
1358 }
#define SMPCC_CTRL_PF_NO_WB_ENABLE
SMPCC CC_CTRL PF_NO_WB Enable.

References SMPCC, and SMPCC_CTRL_PF_NO_WB_ENABLE.

◆ SMPCC_EnableCLMECC()

__STATIC_FORCEINLINE void SMPCC_EnableCLMECC ( void  )

Enable Cluster Local Memory ECC.

This function enables ECC functionality for the Cluster Local Memory.

See also

Definition at line 1211 of file core_feature_smpcc.h.

1212 {
1213  SMPCC->CC_CTRL.b.clm_ecc_en = SMPCC_CTRL_CLM_ECC_EN_ENABLE;
1214 }
#define SMPCC_CTRL_CLM_ECC_EN_ENABLE
SMPCC CC_CTRL CLM_ECC_EN Enable.

References SMPCC, and SMPCC_CTRL_CLM_ECC_EN_ENABLE.

◆ SMPCC_EnableCLMECCCheck()

__STATIC_FORCEINLINE void SMPCC_EnableCLMECCCheck ( void  )

Enable Cluster Local Memory ECC Check.

This function enables ECC check functionality for the Cluster Local Memory.

See also
  • SMPCC_DisableCLMCCCheck

Definition at line 1235 of file core_feature_smpcc.h.

1236 {
1237  SMPCC->CC_CTRL.b.clm_ecc_chk_en = SMPCC_CTRL_CLM_ECC_CHK_EN_ENABLE;
1238 }
#define SMPCC_CTRL_CLM_ECC_CHK_EN_ENABLE
SMPCC CC_CTRL CLM_ECC_CHK_EN Enable.

References SMPCC, and SMPCC_CTRL_CLM_ECC_CHK_EN_ENABLE.

Referenced by SMPCC_CLMErrInject().

◆ SMPCC_EnableCLMECCExcp()

__STATIC_FORCEINLINE void SMPCC_EnableCLMECCExcp ( void  )

Enable Cluster Local Memory ECC Exception.

This function enables ECC exception handling for the Cluster Local Memory.

See also

Definition at line 1259 of file core_feature_smpcc.h.

1260 {
1261  SMPCC->CC_CTRL.b.clm_excp_en = SMPCC_CTRL_CLM_EXCP_EN_ENABLE;
1262 }
#define SMPCC_CTRL_CLM_EXCP_EN_ENABLE
SMPCC CC_CTRL CLM_EXCP_EN Enable.

References SMPCC, and SMPCC_CTRL_CLM_EXCP_EN_ENABLE.

◆ SMPCC_EnableFatalErrIrq()

__STATIC_FORCEINLINE void SMPCC_EnableFatalErrIrq ( void  )

Enable Fatal Error Interrupt.

This function enables interrupt generation when fatal error count exceeds the threshold.

See also

Definition at line 1091 of file core_feature_smpcc.h.

1092 {
1093  SMPCC->CC_CTRL.b.fatal_err_irq_en = SMPCC_CTRL_FATAL_ERR_IRQ_EN_ENABLE;
1094 }
#define SMPCC_CTRL_FATAL_ERR_IRQ_EN_ENABLE
SMPCC CC_CTRL FATAL_ERR_IRQ_EN Enable.

References SMPCC, and SMPCC_CTRL_FATAL_ERR_IRQ_EN_ENABLE.

◆ SMPCC_EnableICacheSnoopDCache()

__STATIC_FORCEINLINE void SMPCC_EnableICacheSnoopDCache ( void  )

Enable ICache to Snoop DCache.

This function enables snoop to dcache for icache refill reads.

See also

Definition at line 1379 of file core_feature_smpcc.h.

1380 {
1381  SMPCC->CC_CTRL.b.i_snoop_d_en = SMPCC_CTRL_I_SNOOP_D_EN_ENABLE;
1382 }
#define SMPCC_CTRL_I_SNOOP_D_EN_ENABLE
SMPCC CC_CTRL I_SNOOP_D_EN Enable.

References SMPCC, and SMPCC_CTRL_I_SNOOP_D_EN_ENABLE.

◆ SMPCC_EnableL1PrefetchShareCacheline()

__STATIC_FORCEINLINE void SMPCC_EnableL1PrefetchShareCacheline ( void  )

Enable L1 Prefetch to Snoop and Share Cacheline.

This function enables L1 prefetch to snoop and share cacheline from other cores.

See also

Definition at line 1283 of file core_feature_smpcc.h.

1284 {
1285  SMPCC->CC_CTRL.b.pf_sh_cl_en = SMPCC_CTRL_PF_SH_CL_EN_ENABLE;
1286 }
#define SMPCC_CTRL_PF_SH_CL_EN_ENABLE
SMPCC CC_CTRL PF_SH_CL_EN Enable.

References SMPCC, and SMPCC_CTRL_PF_SH_CL_EN_ENABLE.

◆ SMPCC_EnableRecvErrIrq()

__STATIC_FORCEINLINE void SMPCC_EnableRecvErrIrq ( void  )

Enable Recoverable Error Interrupt.

This function enables interrupt generation when recoverable error count exceeds the threshold.

See also

Definition at line 1067 of file core_feature_smpcc.h.

1068 {
1069  SMPCC->CC_CTRL.b.recv_err_irq_en = SMPCC_CTRL_RECV_ERR_IRQ_EN_ENABLE;
1070 }
#define SMPCC_CTRL_RECV_ERR_IRQ_EN_ENABLE
SMPCC CC_CTRL RECV_ERR_IRQ_EN Enable.

References SMPCC, and SMPCC_CTRL_RECV_ERR_IRQ_EN_ENABLE.

◆ SMPCC_EnableSModeCmd()

__STATIC_FORCEINLINE void SMPCC_EnableSModeCmd ( void  )

Enable Supervisor Mode Commands.

This function enables supervisor mode to operate CC_sCMD and SMP_PMON_SEL registers.

See also

Definition at line 1139 of file core_feature_smpcc.h.

1140 {
1141  SMPCC->CC_CTRL.b.sup_cmd_en = SMPCC_CTRL_SUP_CMD_EN_ENABLE;
1142 }
#define SMPCC_CTRL_SUP_CMD_EN_ENABLE
SMPCC CC_CTRL SUP_CMD_EN Enable.

References SMPCC, and SMPCC_CTRL_SUP_CMD_EN_ENABLE.

◆ SMPCC_EnableSnoop()

__STATIC_FORCEINLINE void SMPCC_EnableSnoop ( uint16_t  client_msk)

Enable snoop for specific clients.

This function enables snoop functionality for specified client mask.

Parameters
[in]client_mskClient mask to enable snoop for
See also

Definition at line 802 of file core_feature_smpcc.h.

803 {
804  SMPCC->SMP_ENB.b.smp_enable |= client_msk;
805 }

References SMPCC.

◆ SMPCC_EnableStreamMergeNCRead()

__STATIC_FORCEINLINE void SMPCC_EnableStreamMergeNCRead ( void  )

Enable Stream Merge Non-Cacheable Read.

This function enables non-cacheable attribute read merge functionality.

See also

Definition at line 1615 of file core_feature_smpcc.h.

1616 {
1617  SMPCC->STM_CTRL.b.rd_merge_en = SMPCC_STMCTRL_RD_MERGE_EN_ENABLE;
1618 }
#define SMPCC_STMCTRL_RD_MERGE_EN_ENABLE
SMPCC READ Merge Enable Enable.

References SMPCC, and SMPCC_STMCTRL_RD_MERGE_EN_ENABLE.

◆ SMPCC_EnableStreamRead()

__STATIC_FORCEINLINE void SMPCC_EnableStreamRead ( void  )

Enable Stream Read.

This function enables stream read functionality.

See also

Definition at line 1543 of file core_feature_smpcc.h.

1544 {
1545  SMPCC->STM_CTRL.b.rd_stm_en = SMPCC_STMCTRL_RD_STM_EN_ENABLE;
1546 }
#define SMPCC_STMCTRL_RD_STM_EN_ENABLE
SMPCC READ Stream Enable Enable.

References SMPCC, and SMPCC_STMCTRL_RD_STM_EN_ENABLE.

◆ SMPCC_EnableStreamReadCross4K()

__STATIC_FORCEINLINE void SMPCC_EnableStreamReadCross4K ( void  )

Enable Stream Read Cross 4K Boundary.

This function enables read stream to cross 4K boundary.

See also

Definition at line 1639 of file core_feature_smpcc.h.

1640 {
1641  SMPCC->STM_CTRL.b.cross_en = SMPCC_STMCTRL_CROSS_EN_ENABLE;
1642 }
#define SMPCC_STMCTRL_CROSS_EN_ENABLE
SMPCC READ STREAM CROSS 4K Enable.

References SMPCC, and SMPCC_STMCTRL_CROSS_EN_ENABLE.

◆ SMPCC_EnableStreamTransAlloc()

__STATIC_FORCEINLINE void SMPCC_EnableStreamTransAlloc ( void  )

Enable Stream Translate Allocate.

This function enables translation of allocate attribute to non-alloc attribute.

See also

Definition at line 1591 of file core_feature_smpcc.h.

1592 {
1593  SMPCC->STM_CTRL.b.trans_alloc = SMPCC_STMCTRL_TRANS_ALLOC_ENABLE;
1594 }
#define SMPCC_STMCTRL_TRANS_ALLOC_ENABLE
SMPCC TRANSLATE ALLOC ATTRIBUTE Enable.

References SMPCC, and SMPCC_STMCTRL_TRANS_ALLOC_ENABLE.

◆ SMPCC_EnableStreamWrite()

__STATIC_FORCEINLINE void SMPCC_EnableStreamWrite ( void  )

Enable Stream Write.

This function enables stream write functionality.

See also

Definition at line 1567 of file core_feature_smpcc.h.

1568 {
1569  SMPCC->STM_CTRL.b.wr_stm_en = SMPCC_STMCTRL_WR_STM_EN_ENABLE;
1570 }
#define SMPCC_STMCTRL_WR_STM_EN_ENABLE
SMPCC WRITE Stream Enable Enable.

References SMPCC, and SMPCC_STMCTRL_WR_STM_EN_ENABLE.

◆ SMPCC_EnableUModeCmd()

__STATIC_FORCEINLINE void SMPCC_EnableUModeCmd ( void  )

Enable User Mode Commands.

This function enables user mode to operate CC_uCMD and SMP_PMON_SEL registers.

See also

Definition at line 1163 of file core_feature_smpcc.h.

1164 {
1165  SMPCC->CC_CTRL.b.use_cmd_en = SMPCC_CTRL_USE_CMD_EN_ENABLE;
1166 }
#define SMPCC_CTRL_USE_CMD_EN_ENABLE
SMPCC CC_CTRL USE_CMD_EN Enable.

References SMPCC, and SMPCC_CTRL_USE_CMD_EN_ENABLE.

◆ SMPCC_GetCCacheControl()

__STATIC_FORCEINLINE uint32_t SMPCC_GetCCacheControl ( void  )

Get Cluster Cache Control register value.

This function returns the current value of the Cluster Cache Control register.

Returns
Current value of the control register
See also

Definition at line 983 of file core_feature_smpcc.h.

984 {
985  return SMPCC->CC_CTRL.w;
986 }

References SMPCC.

◆ SMPCC_GetCCacheLineSize()

__STATIC_FORCEINLINE uint8_t SMPCC_GetCCacheLineSize ( void  )

Get the cache line size.

This function returns the cache line size in the cluster cache (2^(cc_lsize + 2)).

Returns
Cache line size in bytes

Definition at line 778 of file core_feature_smpcc.h.

779 {
780  return 1 << (SMPCC->CC_CFG.b.cc_lsize + 2);
781 }

References SMPCC.

◆ SMPCC_GetCCacheSetNum()

__STATIC_FORCEINLINE uint32_t SMPCC_GetCCacheSetNum ( void  )

Get the number of cache sets.

This function returns the number of cache sets in the cluster cache (2^cc_set).

Returns
Number of cache sets

Definition at line 756 of file core_feature_smpcc.h.

757 {
758  return 1U << SMPCC->CC_CFG.b.cc_set;
759 }

References SMPCC.

◆ SMPCC_GetCCacheWayNum()

__STATIC_FORCEINLINE uint32_t SMPCC_GetCCacheWayNum ( void  )

Get the number of cache ways.

This function returns the number of cache ways in the cluster cache (cc_way + 1).

Returns
Number of cache ways

Definition at line 767 of file core_feature_smpcc.h.

768 {
769  return SMPCC->CC_CFG.b.cc_way + 1;
770 }

References SMPCC.

◆ SMPCC_GetClientErrAddr()

__STATIC_FORCEINLINE uint64_t SMPCC_GetClientErrAddr ( uint8_t  client_id)

Get Client Error Address.

This function returns the error address for a specific client.

Parameters
[in]client_idID of the client to get error address for
Returns
Error address of the specified client

Definition at line 1773 of file core_feature_smpcc.h.

1774 {
1775  return SMPCC->CLIENT_ERR_ADDR[client_id];
1776 }

References SMPCC.

◆ SMPCC_GetClientErrStatus()

__STATIC_FORCEINLINE uint32_t SMPCC_GetClientErrStatus ( uint8_t  client_id)

Get Client Error Status.

This function returns the error status for a specific client.

Parameters
[in]client_idID of the client to get error status for
Returns
Error status of the specified client

Definition at line 1505 of file core_feature_smpcc.h.

1506 {
1507  return SMPCC->CLIENT_ERR_STATUS[client_id].w;
1508 }

References SMPCC.

◆ SMPCC_GetCoreNum()

__STATIC_FORCEINLINE uint8_t SMPCC_GetCoreNum ( void  )

Get the number of cores in the cluster.

This function returns the number of cores in the SMP cluster.

Returns
Number of cores in the cluster

Definition at line 723 of file core_feature_smpcc.h.

724 {
725  return SMPCC->SMP_CFG.b.smp_core_num + 1;
726 }

References SMPCC.

◆ SMPCC_GetFatalErrCntThreshold()

__STATIC_FORCEINLINE uint16_t SMPCC_GetFatalErrCntThreshold ( void  )

Get Fatal Error Count Threshold.

This function returns the current threshold value for fatal error count.

Returns
Current threshold value for fatal error count
See also

Definition at line 1493 of file core_feature_smpcc.h.

1494 {
1495  return SMPCC->CC_FATAL_THV.b.cnt;
1496 }

References SMPCC.

◆ SMPCC_GetFatalErrCount()

__STATIC_FORCEINLINE uint32_t SMPCC_GetFatalErrCount ( void  )

Get Fatal Error Count.

This function returns the current count of fatal errors.

Returns
Current count of fatal errors
See also

Definition at line 1429 of file core_feature_smpcc.h.

1430 {
1431  return SMPCC->CC_FATAL_CNT.b.cnt;
1432 }

References SMPCC.

◆ SMPCC_GetIOCPNum()

__STATIC_FORCEINLINE uint8_t SMPCC_GetIOCPNum ( void  )

Get the number of IO coherency ports.

This function returns the number of IO coherency ports in the cluster.

Returns
Number of IO coherency ports

Definition at line 734 of file core_feature_smpcc.h.

735 {
736  return SMPCC->SMP_CFG.b.iocp_num;
737 }

References SMPCC.

◆ SMPCC_GetPMONCount()

__STATIC_FORCEINLINE uint64_t SMPCC_GetPMONCount ( uint8_t  idx)

Get Performance Monitor Count.

This function returns the current count value of a performance monitor.

Parameters
[in]idxIndex of the performance monitor
Returns
Current count value of the performance monitor
See also

Definition at line 1746 of file core_feature_smpcc.h.

1747 {
1748  return SMPCC->SMP_PMON_CNT[idx];
1749 }

References SMPCC.

◆ SMPCC_GetPMONEventSelect()

__STATIC_FORCEINLINE uint32_t SMPCC_GetPMONEventSelect ( uint8_t  idx)

Get Performance Monitor Event Selection.

This function gets a performance monitor configuration value.

Parameters
[in]idxIndex of the performance monitor
Returns
The performance monitor configuration value.
See also

Definition at line 1730 of file core_feature_smpcc.h.

1731 {
1732  return SMPCC->SMP_PMON_SEL[idx].w;
1733 }

References SMPCC.

◆ SMPCC_GetPMONNum()

__STATIC_FORCEINLINE uint8_t SMPCC_GetPMONNum ( void  )

Get the number of performance monitors.

This function returns the number of performance monitors in the cluster.

Returns
Number of performance monitors

Definition at line 745 of file core_feature_smpcc.h.

746 {
747  return SMPCC->SMP_CFG.b.pmon_num;
748 }

References SMPCC.

◆ SMPCC_GetRecvErrCntThreshold()

__STATIC_FORCEINLINE uint16_t SMPCC_GetRecvErrCntThreshold ( void  )

Get Recoverable Error Count Threshold.

This function returns the current threshold value for recoverable error count.

Returns
Current threshold value for recoverable error count
See also

Definition at line 1467 of file core_feature_smpcc.h.

1468 {
1469  return SMPCC->CC_RECV_THV.b.cnt;
1470 }

References SMPCC.

◆ SMPCC_GetRecvErrCount()

__STATIC_FORCEINLINE uint32_t SMPCC_GetRecvErrCount ( void  )

Get Recoverable Error Count.

This function returns the current count of recoverable errors.

Returns
Current count of recoverable errors
See also

Definition at line 1404 of file core_feature_smpcc.h.

1405 {
1406  return SMPCC->CC_RECV_CNT.b.cnt;
1407 }

References SMPCC.

◆ SMPCC_GetSTMControl()

__STATIC_FORCEINLINE uint32_t SMPCC_GetSTMControl ( void  )

Get Stream Control Register Value.

This function returns the current value of the Stream Control register.

Returns
Current value of the stream control register
See also

Definition at line 1531 of file core_feature_smpcc.h.

1532 {
1533  return SMPCC->STM_CTRL.w;
1534 }

References SMPCC.

◆ SMPCC_GetVersion()

__STATIC_FORCEINLINE SMP_VER_Type SMPCC_GetVersion ( void  )

Get the SMP version number.

This function gets the hardware version information from SMP_VER register.

Returns
hardware version number in SMP_VER register.

Definition at line 701 of file core_feature_smpcc.h.

702 {
703  return SMPCC->SMP_VER;
704 }

References SMPCC.

◆ SMPCC_IsAnySnoopPending()

__STATIC_FORCEINLINE uint8_t SMPCC_IsAnySnoopPending ( uint32_t  client_msk)

Check if any client is being snooped.

This function checks if any client specified in the mask is currently being snooped.

Parameters
[in]client_mskClient mask to check
Returns
1 if any client is being snooped, 0 otherwise

Definition at line 864 of file core_feature_smpcc.h.

865 {
866  return (SMPCC->SNOOP_PENDING.b.snoop_pending & client_msk) != 0;
867 }

References SMPCC.

◆ SMPCC_IsAnyTransactionPending()

__STATIC_FORCEINLINE uint8_t SMPCC_IsAnyTransactionPending ( uint32_t  client_msk)

Check if any transaction is pending for clients.

This function checks if any transaction is pending for clients specified in the mask.

Parameters
[in]client_mskClient mask to check
Returns
1 if any transaction is pending, 0 otherwise

Definition at line 876 of file core_feature_smpcc.h.

877 {
878  return (SMPCC->TRANS_PENDING.b.trans_pending & client_msk) != 0;
879 }

References SMPCC.

◆ SMPCC_IsCCacheEnabled()

__STATIC_FORCEINLINE int32_t SMPCC_IsCCacheEnabled ( void  )

Get status of cluster cache.

This function returns the enable status of the cluster cache.

Returns
Return the status of cluster cache (1 - enabled, 0 - disabled)
See also

Definition at line 852 of file core_feature_smpcc.h.

853 {
854  return SMPCC->CC_CTRL.b.cc_en;
855 }

References SMPCC.

◆ SMPCC_IsCCachePresent()

__STATIC_FORCEINLINE uint8_t SMPCC_IsCCachePresent ( void  )

Check if cluster cache is present.

This function checks if the cluster cache is present in the system.

Returns
1 if cluster cache is present, 0 otherwise

Definition at line 712 of file core_feature_smpcc.h.

713 {
714  return SMPCC->SMP_CFG.b.cc_present;
715 }

References SMPCC.

◆ SMPCC_IsCCacheSupportECC()

__STATIC_FORCEINLINE uint8_t SMPCC_IsCCacheSupportECC ( void  )

Check if cluster cache supports ECC.

This function checks if the cluster cache supports ECC functionality.

Returns
1 if ECC is supported, 0 otherwise

Definition at line 789 of file core_feature_smpcc.h.

790 {
791  return SMPCC->CC_CFG.b.cc_ecc;
792 }

References SMPCC.

◆ SMPCC_IsXorErrorInjectMode()

__STATIC_FORCEINLINE int32_t SMPCC_IsXorErrorInjectMode ( void  )

Check if ECC error injection mode is XOR mode.

This function checks which ECC error injection mode is supported. Returns 1 if XOR mode is supported, 0 if direct write mode is supported.

Returns
1 if XOR mode is supported, 0 if direct write mode is supported

Definition at line 1796 of file core_feature_smpcc.h.

1797 {
1798  return SMPCC->CC_ERR_INJ.b.inj_mode;
1799 }

References SMPCC.

◆ SMPCC_LimitCCachePrefetchOutsNum()

__STATIC_FORCEINLINE void SMPCC_LimitCCachePrefetchOutsNum ( void  )

Limit Cluster Cache Prefetch Outstanding Number.

This function enables the limit of outstanding L2 prefetch to the number of L2 prefetch line-buffer.

See also

Definition at line 1331 of file core_feature_smpcc.h.

1332 {
1333  SMPCC->CC_CTRL.b.pf_biu_outs_en = SMPCC_CTRL_PF_BIU_OUTS_EN_ENABLE;
1334 }
#define SMPCC_CTRL_PF_BIU_OUTS_EN_ENABLE
SMPCC CC_CTRL PF_BIU_OUTS_EN Enable.

References SMPCC, and SMPCC_CTRL_PF_BIU_OUTS_EN_ENABLE.

◆ SMPCC_LockECCConfig()

__STATIC_FORCEINLINE void SMPCC_LockECCConfig ( void  )

Lock ECC Configuration.

This function locks the ECC configuration to prevent further changes.

See also

Definition at line 1043 of file core_feature_smpcc.h.

1044 {
1045  SMPCC->CC_CTRL.b.lock_ecc_cfg = SMPCC_CTRL_LOCK_ECC_CFG_LOCK;
1046 }
#define SMPCC_CTRL_LOCK_ECC_CFG_LOCK
SMPCC CC_CTRL LOCK_ECC_CFG Lock.

References SMPCC, and SMPCC_CTRL_LOCK_ECC_CFG_LOCK.

◆ SMPCC_LockECCErrInjection()

__STATIC_FORCEINLINE void SMPCC_LockECCErrInjection ( void  )

Lock ECC Error Injection Register.

This function locks the ECC error injection register to prevent further changes.

See also

Definition at line 1055 of file core_feature_smpcc.h.

1056 {
1057  SMPCC->CC_CTRL.b.lock_ecc_err_inj = SMPCC_CTRL_LOCK_ECC_ERR_INJ_LOCK;
1058 }
#define SMPCC_CTRL_LOCK_ECC_ERR_INJ_LOCK
SMPCC CC_CTRL LOCK_ECC_ERR_INJ Lock.

References SMPCC, and SMPCC_CTRL_LOCK_ECC_ERR_INJ_LOCK.

◆ SMPCC_MaskClientCCacheWays()

__STATIC_FORCEINLINE void SMPCC_MaskClientCCacheWays ( uint8_t  client_id,
uint32_t  way_msk 
)

Mask Client Cluster Cache Ways.

This function masks specific ways in the cluster cache for a specific client.

Parameters
[in]client_idID of the client
[in]way_mskWay mask to apply

Definition at line 1785 of file core_feature_smpcc.h.

1786 {
1787  SMPCC->CLIENT_WAY_MASK[client_id].w = way_msk;
1788 }

References SMPCC.

◆ SMPCC_SetCCacheControl()

__STATIC_FORCEINLINE void SMPCC_SetCCacheControl ( uint32_t  val)

Set Cluster Cache Control register.

This function sets the value of the Cluster Cache Control register.

Parameters
[in]valValue to set in the control register
See also

Definition at line 970 of file core_feature_smpcc.h.

971 {
972  SMPCC->CC_CTRL.w = val;
973 }

References SMPCC.

◆ SMPCC_SetCLMAllWays()

__STATIC_FORCEINLINE void SMPCC_SetCLMAllWays ( uint64_t  addr)

Set Cluster Local Memory to use all ways.

This function configures the Cluster Local Memory to use all cache ways at the specified address.

Parameters
[in]addrBase address for Cluster Local Memory.
Remarks
  • Access to the CLM_ADDR_BASE register depends on the physical address (PA) size. If the PA size is not larger than 32 bits, only the low 32 bits of the address can be accessed.
  • Before changing the Cluster Cache to CLM mode, ensure that:
    • The Cluster Cache is disabled,
    • Its contents have been invalidated and flushed to memory.

Example usage:

__STATIC_INLINE int32_t MFlushInvalCCache(void)
Flush and invalidate all Cluster Cache in M-Mode.
__STATIC_FORCEINLINE void SMPCC_SetCLMAllWays(uint64_t addr)
Set Cluster Local Memory to use all ways.
__STATIC_FORCEINLINE void SMPCC_DisableCCache(void)
Disable cluster cache.
See also

Definition at line 904 of file core_feature_smpcc.h.

905 {
906 #if (__CPU_PA_SIZE > 32)
907  SMPCC->CLM_ADDR_BASE.clm_base64 = addr;
908 #else
909  SMPCC->CLM_ADDR_BASE.clm32.clm_base32 = (uint32_t)addr;
910 #endif
911  SMPCC->CLM_WAY_EN = 0xFFFFU;
912 }

References SMPCC.

◆ SMPCC_SetCLMNoWay()

__STATIC_FORCEINLINE void SMPCC_SetCLMNoWay ( void  )

Configure Cluster Local Memory to use no ways.

This function configures the Cluster Local Memory to not use any cache ways.

See also

Definition at line 957 of file core_feature_smpcc.h.

958 {
959  SMPCC->CLM_WAY_EN = 0x0000U;
960 }

References SMPCC.

◆ SMPCC_SetCLMNWays()

__STATIC_FORCEINLINE void SMPCC_SetCLMNWays ( uint64_t  addr,
uint32_t  way_msk 
)

Set Cluster Local Memory to use specific ways.

This function configures the Cluster Local Memory to use specific cache ways at the specified address.

Parameters
[in]addrBase address for Cluster Local Memory
[in]way_mskWay mask to configure
Remarks
  • Access to the CLM_ADDR_BASE register depends on the physical address (PA) size. If the PA size is not larger than 32 bits, only the low 32 bits of the address can be accessed.
  • Before changing the Cluster Cache to CLM mode, ensure that:
    • The Cluster Cache is disabled,
    • Its contents have been invalidated and flushed to memory.

Example usage:

SMPCC_SetCLMNWays(addr, way_msk);
SMPCC_EnableCCache(); // Enable the remaining CCache
__STATIC_FORCEINLINE void SMPCC_EnableCCache(void)
Enable cluster cache.
__STATIC_FORCEINLINE void SMPCC_SetCLMNWays(uint64_t addr, uint32_t way_msk)
Set Cluster Local Memory to use specific ways.
See also

Definition at line 939 of file core_feature_smpcc.h.

940 {
941 #if (__CPU_PA_SIZE > 32)
942  SMPCC->CLM_ADDR_BASE.clm_base64 = addr;
943 #else
944  SMPCC->CLM_ADDR_BASE.clm32.clm_base32 = (uint32_t)addr;
945 #endif
946  SMPCC->CLM_WAY_EN = way_msk;
947 }

References SMPCC.

◆ SMPCC_SetECCCode()

__STATIC_FORCEINLINE void SMPCC_SetECCCode ( uint32_t  ecc_code)

Set ECC code for error injection.

This function sets the ECC code to be used for error injection.

Parameters
ecc_codeECC code to be set for error injection
Returns
None

Definition at line 1807 of file core_feature_smpcc.h.

1808 {
1809  SMPCC->CC_ERR_INJ.w = (SMPCC->CC_ERR_INJ.w & ~SMPCC_ERR_INJ_INJECCCODE_Msk) |
1810  _VAL2FLD(SMPCC_ERR_INJ_INJECCCODE, ecc_code);
1811 }
#define _VAL2FLD(field, value)
Mask and shift a bit field value for use in a register bit range.
#define SMPCC_ERR_INJ_INJECCCODE_Msk
SMPCC CC_ERR_INJ INJECCCODE Mask.

References _VAL2FLD, SMPCC, and SMPCC_ERR_INJ_INJECCCODE_Msk.

Referenced by SMPCC_CCacheDramErrInject(), SMPCC_CCacheTramErrInject(), and SMPCC_CLMErrInject().

◆ SMPCC_SetFatalErrCntThreshold()

__STATIC_FORCEINLINE void SMPCC_SetFatalErrCntThreshold ( uint16_t  threshold)

Set Fatal Error Count Threshold.

This function sets the threshold value for fatal error count.

Parameters
[in]thresholdThreshold value to set
See also

Definition at line 1480 of file core_feature_smpcc.h.

1481 {
1482  SMPCC->CC_FATAL_THV.b.cnt = threshold;
1483 }

References SMPCC.

◆ SMPCC_SetNSRegionNACL()

__STATIC_FORCEINLINE void SMPCC_SetNSRegionNACL ( uint8_t  region_id,
uint64_t  addr 
)

Set Non-Shareable Region to NACL.

This function configures a non-shareable region as NACL (NAPOT/CA with length) at the specified address.

Parameters
[in]region_idID of the region to configure
[in]addrAddress for the region
See also

Definition at line 1666 of file core_feature_smpcc.h.

1667 {
1668  SMPCC->NS_RG[region_id].dw = SMPCC_NS_RG_CFG_NACL | addr;
1669 }
#define SMPCC_NS_RG_CFG_NACL
SMPCC Non-Shareable Region CFG NACL.

References SMPCC, and SMPCC_NS_RG_CFG_NACL.

◆ SMPCC_SetNSRegionNAPOT()

__STATIC_FORCEINLINE void SMPCC_SetNSRegionNAPOT ( uint8_t  region_id,
uint64_t  addr 
)

Set Non-Shareable Region to NAPOT.

This function configures a non-shareable region as NAPOT (Naturally Aligned Power of Two) at the specified address.

Parameters
[in]region_idID of the region to configure
[in]addrAddress for the region
See also

Definition at line 1681 of file core_feature_smpcc.h.

1682 {
1683  SMPCC->NS_RG[region_id].dw = SMPCC_NS_RG_CFG_NAPOT | addr;
1684 }
#define SMPCC_NS_RG_CFG_NAPOT
SMPCC Non-Shareable Region CFG NAPOT.

References SMPCC, and SMPCC_NS_RG_CFG_NAPOT.

◆ SMPCC_SetPMONEventSelect()

__STATIC_FORCEINLINE void SMPCC_SetPMONEventSelect ( uint8_t  idx,
uint8_t  client_id,
uint8_t  event 
)

Set Performance Monitor Event Selection.

This function configures a performance monitor to select a specific event and client.

Parameters
[in]idxIndex of the performance monitor
[in]client_idID of the client to monitor
[in]eventEvent to monitor
See also

Definition at line 1713 of file core_feature_smpcc.h.

1714 {
1715  SMPCC->SMP_PMON_SEL[idx].w = SMPCC_PMON_EVENT(event, client_id);
1716 }
#define SMPCC_PMON_EVENT(event, client)

References SMPCC, and SMPCC_PMON_EVENT.

◆ SMPCC_SetRecvErrCntThreshold()

__STATIC_FORCEINLINE void SMPCC_SetRecvErrCntThreshold ( uint16_t  threshold)

Set Recoverable Error Count Threshold.

This function sets the threshold value for recoverable error count.

Parameters
[in]thresholdThreshold value to set
See also

Definition at line 1454 of file core_feature_smpcc.h.

1455 {
1456  SMPCC->CC_RECV_THV.b.cnt = threshold;
1457 }

References SMPCC.

◆ SMPCC_SetSTMControl()

__STATIC_FORCEINLINE void SMPCC_SetSTMControl ( uint32_t  val)

Set Stream Control Register.

This function sets the value of the Stream Control register.

Parameters
[in]valValue to set in the stream control register
See also

Definition at line 1518 of file core_feature_smpcc.h.

1519 {
1520  SMPCC->STM_CTRL.w = val;
1521 }

References SMPCC.

◆ SMPCC_UnlimitCCachePrefetchOutsNum()

__STATIC_FORCEINLINE void SMPCC_UnlimitCCachePrefetchOutsNum ( void  )

Unlimit Cluster Cache Prefetch Outstanding Number.

This function disables the limit of outstanding L2 prefetch to the number of L2 prefetch line-buffer.

See also

Definition at line 1343 of file core_feature_smpcc.h.

1344 {
1345  SMPCC->CC_CTRL.b.pf_biu_outs_en = SMPCC_CTRL_PF_BIU_OUTS_EN_DISABLE;
1346 }
#define SMPCC_CTRL_PF_BIU_OUTS_EN_DISABLE
SMPCC CC_CTRL PF_BIU_OUTS_EN Disable.

References SMPCC, and SMPCC_CTRL_PF_BIU_OUTS_EN_DISABLE.