xWRL6432 MMWAVE-L-SDK  05.04.00.01
soc_rcm.h File Reference

Go to the source code of this file.

Macros

#define SOC_RCM_FREQ_HZ2MHZ(hz)   ((hz)/(1000000U))
 
#define SOC_RCM_FREQ_MHZ2HZ(mhz)   ((mhz)*(1000000U))
 
#define SOC_RCM_MEMINIT_APPSS_RAM1A_INIT   (1U << 0U)
 
#define SOC_RCM_MEMINIT_APPSS_RAM2A_INIT   (1U << 1U)
 
#define SOC_RCM_MEMINIT_APPSS_RAM3A_INIT   (1U << 2U)
 
#define SOC_RCM_MEMINIT_APPSS_ALL_INIT
 
#define SOC_RCM_MEMINIT_APPSS_SHRAM0_INIT   (0x1U)
 
#define SOC_RCM_MEMINIT_APPSS_SHRAM1_INIT   (0x1U << 1U)
 
#define SOC_RCM_MEMINIT_HWA_SHRAM_INIT   (0x1U << 2U)
 
#define SOC_RCM_MEMINIT_FECSS_SHRAM_INIT   (0x1U << 3U)
 
#define SOC_RCM_MEMINIT_TPCCA_INIT   (0x1U << 8U)
 
#define SOC_RCM_MEMINIT_TPCCB_INIT   (0x1U << 9U)
 
#define SOC_RCM_EFUSEROM_VER_2   ((uint8_t)(0x02U))
 ROM version 2 devices. More...
 

Enumerations

enum  SOC_rcmM4ClockSrc { SOC_rcmM4ClockSrc_OSC_CLK = 0x000, SOC_rcmM4ClockSrc_SLOW_CLK = 0x111, SOC_rcmM4ClockSrc_MDLL_CLK = 0x222, SOC_rcmM4ClockSrc_FAST_CLK = 0x333 }
 
enum  SOC_RcmResetCause {
  SOC_RcmResetCause_POWER_CAUSE_CLEAR = 0x0U, SOC_RcmResetCause_POWER_ON_RESET = 0x1U, SOC_RcmResetCause_WARM_RESET = 0x2U, SOC_RcmResetCause_STC_RESET = 0x4U,
  SOC_RcmResetCause_CPU_ONLY_RESET = 0x10U, SOC_RcmResetCause_CORE_RESET = 0x20U, SOC_RcmResetCause_MAX_VALUE = 0xFFFFFFFFu
}
 Reset Causes. More...
 
enum  SOC_RcmPeripheralId {
  SOC_RcmPeripheralId_APPSS_MCAN, SOC_RcmPeripheralId_APPSS_LIN, SOC_RcmPeripheralId_APPSS_QSPI, SOC_RcmPeripheralId_APPSS_RTI,
  SOC_RcmPeripheralId_APPSS_WDT, SOC_RcmPeripheralId_APPSS_MCSPIA, SOC_RcmPeripheralId_APPSS_MCSPIB, SOC_RcmPeripheralId_APPSS_I2C,
  SOC_RcmPeripheralId_APPSS_UART0, SOC_RcmPeripheralId_APPSS_UART1, SOC_RcmPeripheralId_APPSS_ESM, SOC_RcmPeripheralId_APPSS_EDMA,
  SOC_RcmPeripheralId_APPSS_CRC, SOC_RcmPeripheralId_APPSS_PWM, SOC_RcmPeripheralId_APPSS_GIO, SOC_RcmPeripheralId_HWASS,
  SOC_RcmPeripheralId_MAX_VALUE = 0xFFFFFFFFu
}
 Peripheral IDs. More...
 
enum  SOC_RcmPeripheralClockSource {
  SOC_RcmPeripheralClockSource_OSC_CLK, SOC_RcmPeripheralClockSource_SLOW_CLK, SOC_RcmPeripheralClockSource_MDLL_CLK, SOC_RcmPeripheralClockSource_FAST_CLK,
  SOC_RcmPeripheralClockSource_XREF_IN_CLK, SOC_RcmPeripheralClockSource_OSC_CLKX2, SOC_RcmPeripheralClockSource_RC_CLK_10M, SOC_RcmPeripheralClockSource_RCCLK32K,
  SOC_RcmPeripheralClockSource_MAX_VALUE = 0xFFFFFFFFu
}
 Peripheral Clock Sources. More...
 
enum  SOC_RcmM4ClockSource {
  SOC_RcmM4ClockSource_OSC_CLK, SOC_RcmM4ClockSource_SLOW_CLK, SOC_RcmM4ClockSource_MDLL_CLK, SOC_RcmM4ClockSource_FAST_CLK,
  SOC_RcmM4ClockSource_MAX_VALUE = 0xFFFFFFFFu
}
 M4 Clock Sources. More...
 
enum  SOC_RcmQspiClockFreqId { SOC_RcmQspiClockFreqId_CLK_40MHZ = 0x0, SOC_RcmQspiClockFreqId_CLK_60MHZ = 0x1, SOC_RcmQspiClockFreqId_CLK_80MHZ = 0x2, SOC_RcmQspiClockFreqId_MAX_VALUE = 0xFFFFFFFFu }
 QSPI frequency values. More...
 
enum  SOC_RcmPeripheralClockGate { SOC_RcmPeripheralClockGateEnable, SOC_RcmPeripheralClockGateDisable }
 Peripheral Clock Gate Status. More...
 

Functions

void SOC_rcmEnableADPLLClock ()
 Enable ADPLL. More...
 
int32_t SOC_rcmSetM4Clock (uint32_t m4FreqHz)
 Set M4 frequency. More...
 
int32_t SOC_rcmSetM4ClockSrc (SOC_rcmM4ClockSrc m4Src)
 Set M4 Clock Source. More...
 
uint32_t SOC_rcmGetM4Clock (void)
 Get M4 frequency. More...
 
int32_t SOC_rcmSetPeripheralClock (SOC_RcmPeripheralId periphId, SOC_RcmPeripheralClockSource clkSource, uint32_t freqHz)
 Set peripheral frequency. More...
 
uint32_t SOC_rcmGetPeripheralClock (SOC_RcmPeripheralId periphId)
 Get peripheral frequency. More...
 
SOC_RcmResetCause SOC_rcmGetResetCause (void)
 Get SOC reset cause. More...
 
int32_t SOC_rcmEnablePeripheralClock (SOC_RcmPeripheralId periphId, SOC_RcmPeripheralClockGate enable)
 Enable/Disable peripheral Clock gating. More...
 
void SOC_rcmStartInitSharedRam (uint16_t flag)
 Start memory initialization for APPSS Shared Memory RAM0, RAM1 and HWASS Shared RAM. More...
 
void SOC_rcmWaitMemInitSharedRam (uint16_t flag)
 Wait memory initialization to complete APSS Shared Memory RAM0, RAM1 and HWA Shared RAM. More...
 
void SOC_rcmStartMemInitTpcc (uint16_t flag)
 Start memory initialization for TPCCA and TPCCB. More...
 
void SOC_rcmWaitMemInitTpcc (uint16_t flag)
 Wait memory initialization to complete TPCCA and TPCCB. More...
 
uint8_t SOC_getEfuseRomVersion (void)
 Reads EFUSEROM_VER from TOP Efuse memory. More...
 
uint8_t SOC_rcmReadSynthTrimValid (void)
 Reads SYNTH_TRIM_VALID field from TOP Efuse memory. More...
 
uint8_t SOC_rcmReadAPLLCalibTrimValid (void)
 Reads APLL_CALIB_TRIM_VALID field from TOP Efuse memory. More...
 
uint8_t SOC_getEfusePgVersion (void)
 Reads PG_VER field from TOP Efuse memory. More...
 
uint8_t SOC_isDeviceAOP (void)
 Reads ANTENNA TYPE field from TOP Efuse memory. More...