AM62x MCU+ SDK  09.02.01
soc.h File Reference

Go to the source code of this file.

Macros

#define SOC_BOOTMODE_MMCSD   (0X36C3)
 Switch value for SD card boot mode. More...
 
SOC Domain ID

#define SOC_DOMAIN_ID_MAIN   (0U)
 
#define SOC_DOMAIN_ID_MCU   (1U)
 
#define SOC_DOMAIN_ID_WKUP   (2U)
 
#define SOC_PSC_DOMAIN_ID_MAIN   (0U)
 
#define SOC_PSC_DOMAIN_ID_MCU   (1U)
 
SOC PSC Module State

#define SOC_PSC_SYNCRESETDISABLE   (0x0U)
 
#define SOC_PSC_SYNCRESET   (0x1U)
 
#define SOC_PSC_DISABLE   (0x2U)
 
#define SOC_PSC_ENABLE   (0x3U)
 
SOC PSC Domain State

#define SOC_PSC_DOMAIN_OFF   (0x0U)
 
#define SOC_PSC_DOMAIN_ON   (0x1U)
 

Functions

int32_t SOC_moduleClockEnable (uint32_t moduleId, uint32_t enable)
 Enable clock to specified module. More...
 
int32_t SOC_moduleSetClockFrequency (uint32_t moduleId, uint32_t clkId, uint64_t clkRate)
 Set module clock to specified frequency. More...
 
int32_t SOC_moduleGetClockFrequency (uint32_t moduleId, uint32_t clkId, uint64_t *clkRate)
 Get module clock frequency. More...
 
const char * SOC_getCoreName (uint16_t coreId)
 Convert a core ID to a user readable name. More...
 
uint64_t SOC_getSelfCpuClk (void)
 Get the clock frequency in Hz of the CPU on which the driver is running. More...
 
void SOC_controlModuleLockMMR (uint32_t domainId, uint32_t partition)
 Lock control module partition to prevent writes into control MMRs. More...
 
void SOC_controlModuleUnlockMMR (uint32_t domainId, uint32_t partition)
 Unlock control module partition to allow writes into control MMRs. More...
 
void SOC_setEpwmTbClk (uint32_t epwmInstance, uint32_t enable)
 Enable or disable ePWM time base clock from Control MMR. More...
 
void SOC_unlockAllMMR (void)
 Unlocks all the control MMRs. More...
 
void SOC_setDevStat (uint32_t bootMode)
 Change boot mode by setting devstat register. More...
 
void SOC_generateSwWarmResetMainDomain (void)
 Generate SW Warm Reset Main Domain. More...
 
void SOC_generateSwPORResetMainDomain (void)
 Generate SW POR Reset Main Domain. More...
 
uint32_t SOC_getWarmResetCauseMainDomain (void)
 Get the reset reason source for Main Domain. More...
 
void SOC_generateSwWarmResetMcuDomain (void)
 Generate SW WARM Reset Mcu Domain. More...
 
void SOC_generateSwWarmResetMainDomainFromMcuDomain (void)
 Generate SW WARM Reset Main Domain from Mcu Domain. More...
 
void SOC_generateSwPORResetMainDomainFromMcuDomain (void)
 Generate SW POR Reset Main Domain from Mcu Domain. More...
 
uint32_t SOC_getWarmResetCauseMcuDomain (void)
 Get the reset reason source for Mcu Domain. More...
 
void SOC_clearResetCauseMainMcuDomain (uint32_t resetCause)
 Clears reason for Warm and Main/Mcu Domain Power On Resets. CTRLMMR_RST_SRC is just a mirror of CTRLMMR_MCU_RST_SRC register. It is read only. So we need to write 1 to CTRLMMR_MCU_RST_SRC to clear the reset reason. More...
 
void SOC_triggerMcuLpmWakeup ()
 Generates the MCU IPC interrupt to DM R5 to wakeup the main domain from MCU only LPM mode. More...
 
int32_t SOC_enableResetIsolation (uint32_t main2McuIsolation, uint32_t mcu2MainIsolation, uint32_t mcu2dmIsolation, uint32_t debugIsolationEnable)
 Enable reset isolation of MCU domain for safety applications. More...
 
void SOC_setMCUResetIsolationDone (uint32_t value)
 Set MCU reset isolation done flag. More...
 
void SOC_waitMainDomainReset (void)
 Wait for main domain reset to complete. More...
 
int32_t SOC_getPSCState (uint32_t instNum, uint32_t domainNum, uint32_t moduleNum, uint32_t *domainState, uint32_t *moduleState)
 Get PSC (Power Sleep Controller) state. More...
 
int32_t SOC_setPSCState (uint32_t instNum, uint32_t domainNum, uint32_t moduleNum, uint32_t pscState)
 Set PSC (Power Sleep Controller) state. More...