For more details and example usage, see SOC
Data Structures | |
struct | SOC_RcmClkSrcInfo |
struct | SOC_RcmXTALInfo |
struct | SOC_RcmADPLLJConfig_t |
struct | SOC_RcmPllHsDivOutConfig |
Functions | |
void | SOC_rcmCoreApllConfig (SOC_RcmPllFoutFreqId outFreqId, SOC_RcmPllHsDivOutConfig *hsDivCfg) |
Configure CORE PLL. More... | |
void | SOC_rcmCoreApllRelockPreRequisite (void) |
Pre-requisite sequence to Re-configure CORE PLL. More... | |
void | SOC_rcmCoreApllHSDivConfig (SOC_RcmPllFoutFreqId outFreqId, SOC_RcmPllHsDivOutConfig *hsDivCfg) |
Configure CORE PLL HSDIVIDERS. More... | |
void | SOC_rcmPerApllConfig (SOC_RcmPllFoutFreqId outFreqId, SOC_RcmPllHsDivOutConfig *hsDivCfg) |
Configure PER PLL. More... | |
void | SOC_rcmsetR5SysClock (uint32_t cr5FreqHz, uint32_t sysClkFreqHz) |
Set R5F and Sysclk frequency (Root clock configuration) More... | |
void | SOC_rcmsetTraceClock (uint32_t traceFreqHz) |
Set Trace clock frequency. More... | |
void | SOC_rcmsetClkoutClock (uint32_t clkout0FreqHz, uint32_t clkout1FreqHz) |
Set CLKOUT clock frequency. More... | |
int32_t | SOC_rcmSetPeripheralClock (SOC_RcmPeripheralId periphId, SOC_RcmPeripheralClockSource clkSource, uint32_t freqHz) |
Set module clock (IP clock configuration) More... | |
SOC_RcmResetCause | SOC_rcmGetResetCause (SOC_Rcmr5fssNum r5fssNum) |
Get R5FSS reset cause. More... | |
int32_t | SOC_rcmEnablePeripheralClock (SOC_RcmPeripheralId periphId, uint32_t enable) |
Enable/disable module clock (IP clock configuration) More... | |
int32_t | SOC_rcmSetR5Clock (uint32_t r5FreqHz, uint32_t sysClkFreqHz) |
Set R5 and SycClk frequency. More... | |
uint32_t | SOC_rcmGetR5Clock (void) |
Get R5 frequency. More... | |
void | SOC_rcmR5ConfigLockStep (uint32_t cpuId) |
Configure R5 in lock step mode. More... | |
void | SOC_rcmR5ConfigDualCore (uint32_t cpuId) |
Configure R5 in dual core mode. More... | |
void | SOC_rcmR5SS0TriggerReset (void) |
Trigger R5 core reset. More... | |
void | SOC_rcmCoreR5FUnhalt (uint32_t cpuId) |
Unhalt R5 cores. More... | |
void | SOC_rcmStartMemInitTCMA (uint32_t cpuId) |
Start memory initialization for R5 TCMA. More... | |
void | SOC_rcmWaitMemInitTCMA (uint32_t cpuId) |
Wait memory initialization to complete for R5 TCMA. More... | |
void | SOC_rcmStartMemInitTCMB (uint32_t cpuId) |
Start memory initialization for R5 TCMB. More... | |
void | SOC_rcmWaitMemInitTCMB (uint32_t cpuId) |
Wait memory initialization to complete for R5 TCMB. More... | |
void | SOC_rcmMemInitMailboxMemory (void) |
Wait memory initialization to complete for Mailbox memory. More... | |
void | SOC_rcmMemInitL2Memory (void) |
Wait memory initialization to complete for L2 Bank2 and Bank3 memory. More... | |
void | SOC_rcmR5SS0PowerOnReset (void) |
Reset R5SS0 Core. More... | |
void | SOC_rcmR5SS1TriggerReset (void) |
Trigger R5SS1 core reset. More... | |
void | SOC_rcmR5SS1PowerOnReset (void) |
Reset R5SS1 Core. More... | |
Macros | |
#define | SOC_RCM_FREQ_MHZ2HZ(x) ((x) * 1000 * 1000) |
#define | SOC_RCM_FREQ_HZ2MHZ(x) ((x) / (1000 * 1000)) |
#define | RCM_PLL_HSDIV_OUTPUT_ENABLE_0 (1U << 0U) |
#define | RCM_PLL_HSDIV_OUTPUT_ENABLE_1 (1U << 1U) |
#define | RCM_PLL_HSDIV_OUTPUT_ENABLE_2 (1U << 2U) |
#define | RCM_PLL_HSDIV_OUTPUT_ENABLE_3 (1U << 3U) |
#define | RCM_PLL_HSDIV_OUTPUT_ENABLE_ALL |
#define | RCM_PLL_HSDIV_OUTPUT_IDX0 (0) |
#define | RCM_PLL_HSDIV_OUTPUT_IDX1 (1) |
#define | RCM_PLL_HSDIV_OUTPUT_IDX2 (2) |
#define | RCM_PLL_HSDIV_OUTPUT_IDX3 (3) |
#define | RCM_PLL_HSDIV_OUTPUT_COUNT (RCM_PLL_HSDIV_OUTPUT_IDX3 + 1) |
#define SOC_RCM_FREQ_MHZ2HZ | ( | x | ) | ((x) * 1000 * 1000) |
#define SOC_RCM_FREQ_HZ2MHZ | ( | x | ) | ((x) / (1000 * 1000)) |
#define RCM_PLL_HSDIV_OUTPUT_ENABLE_0 (1U << 0U) |
#define RCM_PLL_HSDIV_OUTPUT_ENABLE_1 (1U << 1U) |
#define RCM_PLL_HSDIV_OUTPUT_ENABLE_2 (1U << 2U) |
#define RCM_PLL_HSDIV_OUTPUT_ENABLE_3 (1U << 3U) |
#define RCM_PLL_HSDIV_OUTPUT_ENABLE_ALL |
#define RCM_PLL_HSDIV_OUTPUT_IDX0 (0) |
#define RCM_PLL_HSDIV_OUTPUT_IDX1 (1) |
#define RCM_PLL_HSDIV_OUTPUT_IDX2 (2) |
#define RCM_PLL_HSDIV_OUTPUT_IDX3 (3) |
#define RCM_PLL_HSDIV_OUTPUT_COUNT (RCM_PLL_HSDIV_OUTPUT_IDX3 + 1) |
enum SOC_RcmResetCause |
Reset Causes.
This enumeration captures all the possible Reset Causes
enum SOC_Rcmr5fssNum |
enum SOC_RcmPeripheralId |
Peripheral Ids.
This enumeration captures all the Peripherals
Peripheral clock sources.
This enumeration clock sources of all the modules
enum SOC_RcmPllFoutFreqId |
enum SOC_RcmXtalFreqId |
enum SOC_RcmPllId |
enum SOC_RcmPllHSDIVOutId |
void SOC_rcmCoreApllConfig | ( | SOC_RcmPllFoutFreqId | outFreqId, |
SOC_RcmPllHsDivOutConfig * | hsDivCfg | ||
) |
Configure CORE PLL.
outFreqId | [in] PLL output frequency ID. Enumberation: SOC_RcmPllFoutFreqId |
*hsDivCfg | [in] HSDIVIDER configuration |
void SOC_rcmCoreApllRelockPreRequisite | ( | void | ) |
Pre-requisite sequence to Re-configure CORE PLL.
void SOC_rcmCoreApllHSDivConfig | ( | SOC_RcmPllFoutFreqId | outFreqId, |
SOC_RcmPllHsDivOutConfig * | hsDivCfg | ||
) |
Configure CORE PLL HSDIVIDERS.
outFreqId | [in] PLL output frequency ID. Enumberation: SOC_RcmPllFoutFreqId |
*hsDivCfg | [in] HSDIVIDER configuration |
void SOC_rcmPerApllConfig | ( | SOC_RcmPllFoutFreqId | outFreqId, |
SOC_RcmPllHsDivOutConfig * | hsDivCfg | ||
) |
Configure PER PLL.
outFreqId | [in] PLL output frequency ID. Enumberation: SOC_RcmPllFoutFreqId |
*hsDivCfg | [in] HSDIVIDER configuration |
void SOC_rcmsetR5SysClock | ( | uint32_t | cr5FreqHz, |
uint32_t | sysClkFreqHz | ||
) |
Set R5F and Sysclk frequency (Root clock configuration)
cr5FreqHz | [in] R5F frequency |
sysClkFreqHz | [in] SYSCLK frequency |
void SOC_rcmsetTraceClock | ( | uint32_t | traceFreqHz | ) |
Set Trace clock frequency.
traceFreqHz | [in] Trace frequency |
void SOC_rcmsetClkoutClock | ( | uint32_t | clkout0FreqHz, |
uint32_t | clkout1FreqHz | ||
) |
Set CLKOUT clock frequency.
clkout0FreqHz | [in] CLKOUT0 frequency |
clkout1FreqHz | [in] CLKOUT1 frequency |
int32_t SOC_rcmSetPeripheralClock | ( | SOC_RcmPeripheralId | periphId, |
SOC_RcmPeripheralClockSource | clkSource, | ||
uint32_t | freqHz | ||
) |
Set module clock (IP clock configuration)
This API programs the Clock Source Selection and Clock divider values for a specified peripheral Id.
periphId | [in] Peripheral ID |
clkSource | [in] Clock source |
freqHz | [in] Frequency |
SOC_RcmResetCause SOC_rcmGetResetCause | ( | SOC_Rcmr5fssNum | r5fssNum | ) |
Get R5FSS reset cause.
This API returns the reset cause for R5 core. It also clears the Reset cause.
r5fssNum | [in] R5FSS0 or R5FSS1 |
int32_t SOC_rcmEnablePeripheralClock | ( | SOC_RcmPeripheralId | periphId, |
uint32_t | enable | ||
) |
Enable/disable module clock (IP clock configuration)
This API programs the IP clock gates for a specified peripheral Id.
periphId | [in] Peripheral ID |
enable | [in] ungate (1)/gate clock (0) |
int32_t SOC_rcmSetR5Clock | ( | uint32_t | r5FreqHz, |
uint32_t | sysClkFreqHz | ||
) |
Set R5 and SycClk frequency.
r5FreqHz | [in] R5 frequency, in Hz |
sysClkFreqHz | [in] SysClk frequency, in Hz |
uint32_t SOC_rcmGetR5Clock | ( | void | ) |
Get R5 frequency.
void SOC_rcmR5ConfigLockStep | ( | uint32_t | cpuId | ) |
Configure R5 in lock step mode.
void SOC_rcmR5ConfigDualCore | ( | uint32_t | cpuId | ) |
Configure R5 in dual core mode.
void SOC_rcmR5SS0TriggerReset | ( | void | ) |
Trigger R5 core reset.
void SOC_rcmCoreR5FUnhalt | ( | uint32_t | cpuId | ) |
Unhalt R5 cores.
void SOC_rcmStartMemInitTCMA | ( | uint32_t | cpuId | ) |
Start memory initialization for R5 TCMA.
void SOC_rcmWaitMemInitTCMA | ( | uint32_t | cpuId | ) |
Wait memory initialization to complete for R5 TCMA.
void SOC_rcmStartMemInitTCMB | ( | uint32_t | cpuId | ) |
Start memory initialization for R5 TCMB.
void SOC_rcmWaitMemInitTCMB | ( | uint32_t | cpuId | ) |
Wait memory initialization to complete for R5 TCMB.
void SOC_rcmMemInitMailboxMemory | ( | void | ) |
Wait memory initialization to complete for Mailbox memory.
void SOC_rcmMemInitL2Memory | ( | void | ) |
Wait memory initialization to complete for L2 Bank2 and Bank3 memory.
void SOC_rcmR5SS0PowerOnReset | ( | void | ) |
Reset R5SS0 Core.
void SOC_rcmR5SS1TriggerReset | ( | void | ) |
Trigger R5SS1 core reset.
void SOC_rcmR5SS1PowerOnReset | ( | void | ) |
Reset R5SS1 Core.