For more details and example usage, see SOC
Functions | |
| static int32_t | I2C_lld_isBaseAddrValid (uint32_t baseAddr) | 
| API to validate I2C base address.  More... | |
| static int32_t | MCSPI_lld_isBaseAddrValid (uint32_t baseAddr) | 
| API to validate MCSPI base address.  More... | |
| static int32_t | UART_IsBaseAddrValid (uint32_t baseAddr) | 
| API to validate UART base address.  More... | |
| static int32_t | MMCSD_lld_isBaseAddrValid (uint32_t ctrlBaseAddr, uint32_t ssBaseAddr) | 
| API to validate MMCSD base addresses.  More... | |
| 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... | |
| 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_allowEpwmTzReg (uint32_t epwmInstance, uint32_t enable) | 
| Enable or disable writes to the EPWM tripZone registers.  More... | |
| uint64_t | SOC_virtToPhy (void *virtAddr) | 
| SOC Virtual (CPU) to Physical address translation function.  More... | |
| void * | SOC_phyToVirt (uint64_t phyAddr) | 
| Physical to Virtual (CPU) address translation function.  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... | |
| uint32_t | SOC_isR5FDualCoreMode (CSL_ArmR5CPUInfo *cpuInfo) | 
| Return R5SS supporting single or dual core 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 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_waitForFwlUnlock (void) | 
| Wait for Firewall unlock from SBL. The function polls for a Software defined Magic number at the PSRAM location (Software defined)  More... | |
| int32_t | SOC_isHsDevice (void) | 
| Check the device is HS or not.  More... | |
| uint32_t | SOC_getFlashDataBaseAddr (void) | 
| This function gets the SOC mapped data base address of the flash.  More... | |
Macros | |
| #define | SOC_BOOTMODE_MMCSD (0X36C3) | 
| Switch value for SD card boot mode.  More... | |
| #define | SOC_FWL_OPEN_MAGIC_NUM (0XFEDCBA98u) | 
| Software defined MAGIC number to indicate SRAM firewall open by SBL.  More... | |
| #define | MCU_MCSPI0_CFG_BASE_AFTER_ADDR_TRANSLATE (CSL_MCU_MCSPI0_CFG_BASE + 0x80000000) | 
| #define | MCU_MCSPI1_CFG_BASE_AFTER_ADDR_TRANSLATE (CSL_MCU_MCSPI1_CFG_BASE + 0x80000000) | 
| #define | MCU_UART0_BASE_AFTER_ADDR_TRANSLATE (CSL_MCU_UART0_BASE + 0x80000000) | 
| #define | MCU_UART1_BASE_AFTER_ADDR_TRANSLATE (CSL_MCU_UART1_BASE + 0x80000000) | 
| #define | MCU_I2C0_CFG_BASE_AFTER_ADDR_TRANSLATE (CSL_MCU_I2C0_CFG_BASE + 0x80000000) | 
| #define | MCU_I2C1_CFG_BASE_AFTER_ADDR_TRANSLATE (CSL_MCU_I2C1_CFG_BASE + 0x80000000) | 
| #define | IS_OSPI_BASE_ADDR_VALID(baseAddr) (baseAddr == CSL_FSS0_OSPI0_CTRL_BASE) | 
| Macro to check if the OSPI base address is valid.  More... | |
| #define | IS_OSPI_DATA_BASE_ADDR_VALID(baseAddr) (baseAddr == CSL_FSS0_DAT_REG1_BASE) | 
| Macro to check if the OSPI base address is valid.  More... | |
SOC Domain ID | |
| #define | SOC_DOMAIN_ID_MAIN (0U) | 
| #define | SOC_DOMAIN_ID_MCU (1U) | 
| #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_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_FWL_OPEN_MAGIC_NUM (0XFEDCBA98u) | 
Software defined MAGIC number to indicate SRAM firewall open by SBL.
| #define MCU_MCSPI0_CFG_BASE_AFTER_ADDR_TRANSLATE (CSL_MCU_MCSPI0_CFG_BASE + 0x80000000) | 
| #define MCU_MCSPI1_CFG_BASE_AFTER_ADDR_TRANSLATE (CSL_MCU_MCSPI1_CFG_BASE + 0x80000000) | 
| #define MCU_UART0_BASE_AFTER_ADDR_TRANSLATE (CSL_MCU_UART0_BASE + 0x80000000) | 
| #define MCU_UART1_BASE_AFTER_ADDR_TRANSLATE (CSL_MCU_UART1_BASE + 0x80000000) | 
| #define MCU_I2C0_CFG_BASE_AFTER_ADDR_TRANSLATE (CSL_MCU_I2C0_CFG_BASE + 0x80000000) | 
| #define MCU_I2C1_CFG_BASE_AFTER_ADDR_TRANSLATE (CSL_MCU_I2C1_CFG_BASE + 0x80000000) | 
| #define IS_OSPI_BASE_ADDR_VALID | ( | baseAddr | ) | (baseAddr == CSL_FSS0_OSPI0_CTRL_BASE) | 
Macro to check if the OSPI base address is valid.
| #define IS_OSPI_DATA_BASE_ADDR_VALID | ( | baseAddr | ) | (baseAddr == CSL_FSS0_DAT_REG1_BASE) | 
Macro to check if the OSPI base address is valid.
      
  | 
  inlinestatic | 
API to validate I2C base address.
      
  | 
  inlinestatic | 
API to validate MCSPI base address.
      
  | 
  inlinestatic | 
API to validate UART base address.
      
  | 
  inlinestatic | 
API to validate MMCSD base addresses.
| 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 | 
| 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 | 
| const char* SOC_getCoreName | ( | uint16_t | coreId | ) | 
Convert a core ID to a user readable name.
| coreId | [in] see CSL_CoreID | 
| uint64_t SOC_getSelfCpuClk | ( | void | ) | 
Get the clock frequency in Hz of the CPU on which the driver is running.
| 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_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_allowEpwmTzReg | ( | uint32_t | epwmInstance, | 
| uint32_t | enable | ||
| ) | 
Enable or disable writes to the EPWM tripZone registers.
| epwmInstance | [in] ePWM instance number [0 - (CSL_EPWM_PER_CNT-1)] | 
| enable | [in] TRUE to enable and FALSE to disable | 
| uint64_t SOC_virtToPhy | ( | void * | virtAddr | ) | 
SOC Virtual (CPU) to Physical address translation function.
| virtAddr | [IN] Virtual/CPU address | 
| void* SOC_phyToVirt | ( | uint64_t | phyAddr | ) | 
Physical to Virtual (CPU) address translation function.
| phyAddr | [IN] Physical address | 
| void SOC_unlockAllMMR | ( | void | ) | 
Unlocks all the control MMRs.
| void SOC_setDevStat | ( | uint32_t | bootMode | ) | 
Change boot mode by setting devstat register.
| bootMode | [IN] Boot mode switch value | 
| uint32_t SOC_isR5FDualCoreMode | ( | CSL_ArmR5CPUInfo * | cpuInfo | ) | 
Return R5SS supporting single or dual core mode.
| cpuInfo | [in] Pointer to the CSL_ArmR5CPUInfo struct. | 
| 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 | 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 main domain from mcu domain Setting this flag restricts the access of MCU resources by main 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_waitForFwlUnlock | ( | void | ) | 
Wait for Firewall unlock from SBL. The function polls for a Software defined Magic number at the PSRAM location (Software defined)
| int32_t SOC_isHsDevice | ( | void | ) | 
Check the device is HS or not.
| uint32_t SOC_getFlashDataBaseAddr | ( | void | ) | 
This function gets the SOC mapped data base address of the flash.