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_moduleSetClockFrequencyWithParent (uint32_t moduleId, uint32_t clkId, uint32_t clkParent, uint64_t clkRate) |
| Set module clock to specified frequency and with a specific parent. 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... | |
| uint32_t | SOC_getDevStat (void) |
| Get boot mode by reading 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... | |
| uint64_t | Soc_getPhyAddr (uint64_t virtAddr) |
| Get Physical Address from virtual address. More... | |
Macros | |
| #define | SOC_BOOTMODE_MMCSD (0X36C3) |
| Switch value for SD card boot mode. More... | |
| #define | SOC_BOOTMODE_OSPI (0x273) |
| Switch value for OSPI boot mode. More... | |
| #define | SOC_BOOTMODE_EMMC (0xCB) |
| Switch value for EMMC 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.
| #define SOC_BOOTMODE_OSPI (0x273) |
Switch value for OSPI boot mode.
| #define SOC_BOOTMODE_EMMC (0xCB) |
Switch value for EMMC 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_moduleSetClockFrequencyWithParent | ( | uint32_t | moduleId, |
| uint32_t | clkId, | ||
| uint32_t | clkParent, | ||
| uint64_t | clkRate | ||
| ) |
Set module clock to specified frequency and with a specific parent.
| 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 |
| clkParent | [in] see tisci_clocks for list of clock parents associated with the specified module ID |
| clkRate | [in] Frequency to set in Hz |
| 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 |
| uint32_t SOC_getDevStat | ( | void | ) |
Get boot mode by reading devstat register.
| 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.
| uint64_t Soc_getPhyAddr | ( | uint64_t | virtAddr | ) |
Get Physical Address from virtual address.
| virtAddr | [IN] : Virtual Address(Alias) |