For more details and example usage, see SOC
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... | |
const char * | SOC_getCoreName (uint16_t coreId) |
Convert a core ID to a user readable name. More... | |
uint32_t | SOC_getCoreId (const char *coreName) |
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_setEpwmTbClk (uint32_t epwmInstance, uint32_t enable) |
Enable or disable ePWM time base clock from Control MMR. 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_unlockAllMMR (void) |
Unlocks all the control MMRs. More... | |
int32_t | SOC_moduleGetClockFrequency (uint32_t moduleId, uint32_t clkId, uint64_t *clkRate) |
Get module clock frequency. More... | |
void | SOC_setDevStat (uint32_t bootMode) |
Change boot mode by setting devstat register. More... | |
void | SOC_triggerMcuLpmWakeup (void) |
Generates the MCU IPC interrupt to DM R5 to wakeup the main domain from MCU only LPM mode. 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... | |
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... | |
void | SOC_setFSSCtrlFlashBootSize (void) |
Update the boot block size for FSS subsystem. More... | |
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) |
#define SOC_DOMAIN_ID_MAIN (0U) |
#define SOC_DOMAIN_ID_MCU (1U) |
#define SOC_DOMAIN_ID_WKUP (2U) |
#define SOC_PSC_DOMAIN_ID_MCU (1U) |
#define SOC_PSC_SYNCRESETDISABLE (0x0U) |
#define SOC_PSC_SYNCRESET (0x1U) |
#define SOC_PSC_DISABLE (0x2U) |
#define SOC_PSC_ENABLE (0x3U) |
#define SOC_PSC_DOMAIN_OFF (0x0U) |
#define SOC_PSC_DOMAIN_ON (0x1U) |
#define SOC_BOOTMODE_MMCSD (0X36C3) |
Switch value for SD card boot mode.
int32_t SOC_moduleClockEnable | ( | uint32_t | moduleId, |
uint32_t | enable | ||
) |
Enable clock to specified module.
moduleId | [in] see tisci_devices for list of device ID's |
enable | [in] 1: enable clock to the module, 0: disable clock to the module |
int32_t SOC_moduleSetClockFrequency | ( | uint32_t | moduleId, |
uint32_t | clkId, | ||
uint64_t | clkRate | ||
) |
Set module clock to specified frequency.
moduleId | [in] see tisci_devices for list of module ID's |
clkId | [in] see tisci_clocks for list of clocks associated with the specified module ID |
clkRate | [in] Frequency to set in Hz |
const char* SOC_getCoreName | ( | uint16_t | coreId | ) |
Convert a core ID to a user readable name.
coreId | [in] see CSL_CoreID |
uint32_t SOC_getCoreId | ( | const char * | coreName | ) |
Convert a core ID to a user readable name.
coreName | [in] core Name |
uint64_t SOC_getSelfCpuClk | ( | void | ) |
Get the clock frequency in Hz of the CPU on which the driver is running.
void SOC_setEpwmTbClk | ( | uint32_t | epwmInstance, |
uint32_t | enable | ||
) |
Enable or disable ePWM time base clock from Control MMR.
epwmInstance | [in] ePWM instance number [0 - (CSL_EPWM_PER_CNT-1)] |
enable | [in] TRUE to enable and FALSE to disable |
void SOC_controlModuleLockMMR | ( | uint32_t | domainId, |
uint32_t | partition | ||
) |
Lock control module partition to prevent writes into control MMRs.
domainId | [in] See SOC_DomainId_t |
partition | [in] Partition number to unlock |
void SOC_controlModuleUnlockMMR | ( | uint32_t | domainId, |
uint32_t | partition | ||
) |
Unlock control module partition to allow writes into control MMRs.
domainId | [in] See SOC_DomainId_t |
partition | [in] Partition number to unlock |
void SOC_unlockAllMMR | ( | void | ) |
Unlocks all the control MMRs.
int32_t SOC_moduleGetClockFrequency | ( | uint32_t | moduleId, |
uint32_t | clkId, | ||
uint64_t * | clkRate | ||
) |
Get module clock frequency.
moduleId | [in] see tisci_devices for list of module ID's |
clkId | [in] see tisci_clocks for list of clocks associated with the specified module ID |
clkRate | [out] Frequency of the clock |
void SOC_setDevStat | ( | uint32_t | bootMode | ) |
Change boot mode by setting devstat register.
bootMode | [IN] Boot mode switch value |
void SOC_triggerMcuLpmWakeup | ( | void | ) |
Generates the MCU IPC interrupt to DM R5 to wakeup the main domain from MCU only LPM mode.
void SOC_generateSwWarmResetMainDomain | ( | void | ) |
Generate SW Warm Reset Main Domain.
void SOC_generateSwPORResetMainDomain | ( | void | ) |
Generate SW POR Reset Main Domain.
uint32_t SOC_getWarmResetCauseMainDomain | ( | void | ) |
Get the reset reason source for Main Domain.
void SOC_generateSwWarmResetMcuDomain | ( | void | ) |
Generate SW WARM Reset Mcu Domain.
void SOC_generateSwWarmResetMainDomainFromMcuDomain | ( | void | ) |
Generate SW WARM Reset Main Domain from Mcu Domain.
void SOC_generateSwPORResetMainDomainFromMcuDomain | ( | void | ) |
Generate SW POR Reset Main Domain from Mcu Domain.
uint32_t SOC_getWarmResetCauseMcuDomain | ( | void | ) |
Get the reset reason source for Mcu Domain.
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.
resetCause | [IN] Reset reason value to clear. |
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.
main2McuIsolation | [IN] Flag to enable isolation of mcu domain from main domain Setting this flag restricts the access of MCU resources by main domain |
mcu2MainIsolation | [IN] Flag to enable isolation of MCU domain from DM Setting this flag restricts the access of MCU resources by DM |
mcu2dmIsolation | [IN] Flag to enable isolation of DM from mcu domain Setting this flag restricts the access of DM resources by MCU domain |
debugIsolationEnable | [IN] Enable debug isolation. Setting this would restrict JTAG access to MCU domain |
void SOC_setMCUResetIsolationDone | ( | uint32_t | value | ) |
Set MCU reset isolation done flag.
value | [IN] : 0 - Allow main domain reset to propogate : 1 - Do not allow main domain reset to propogate |
void SOC_waitMainDomainReset | ( | void | ) |
Wait for main domain reset to complete.
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.
instNum | [IN] : PSC Instance. See SOC_PSCDomainId_t |
domainNum | [IN] : Power domain number |
moduleNum | [IN] : Module number |
domainState | [OUT] : Domain state (1 : ON, 0 : OFF) |
moduleState | [OUT] : Module State. See SOC_PSCModuleState_t |
int32_t SOC_setPSCState | ( | uint32_t | instNum, |
uint32_t | domainNum, | ||
uint32_t | moduleNum, | ||
uint32_t | pscState | ||
) |
Set PSC (Power Sleep Controller) state.
instNum | [IN] : PSC Instance. See SOC_PSCDomainId_t |
domainNum | [IN] : Power domain number |
moduleNum | [IN] : Module number |
pscState | [IN] : PSC module state. See SOC_PSCModuleState_t |
void SOC_setFSSCtrlFlashBootSize | ( | void | ) |
Update the boot block size for FSS subsystem.
Selects the size of the boot block to be used for the OSPI flash interface. Default value is 1'b0 - S0_BOOT_SIZE_64MB for the MMR register. Set 1'b1 - S0_BOOT_SIZE_128MB to update the value.