 |
AM261x MCU+ SDK
10.00.01
|
|
Go to the documentation of this file.
33 #ifndef SOC_RCM_AM261X_H_
34 #define SOC_RCM_AM261X_H_
54 #define SOC_RCM_FREQ_MHZ2HZ(x) ((x) * 1000 * 1000)
55 #define SOC_RCM_FREQ_HZ2MHZ(x) ((x) / (1000 * 1000))
57 #define SOC_RCM_R5_FREQ_400MHZ (0x0U)
58 #define SOC_RCM_R5_FREQ_500MHZ (0x1U)
65 typedef enum SOC_WarmResetCause_e
120 typedef enum SOC_WarmResetSource_e
156 typedef enum SOC_RcmWarm_ResetTime123_e
231 typedef enum SOC_RcmResetCause_e
290 typedef enum SOC_Rcmr5fssNum_e
308 typedef enum SOC_RcmPeripheralId_e
426 typedef enum SOC_RcmPeripheralClockSource_e
492 typedef enum SOC_RcmPllFoutFreqId_e
518 typedef enum SOC_RcmXtalFreqId_e
526 typedef enum SOC_RcmPllId_e
544 typedef enum SOC_RcmPllHSDIVOutId_e
569 typedef struct SOC_RcmClkSrcInfo_s
575 typedef struct SOC_RcmXTALInfo_s
581 typedef struct SOC_RcmADPLLJConfig_s
592 #define RCM_PLL_HSDIV_OUTPUT_ENABLE_0 (1U << 0U)
593 #define RCM_PLL_HSDIV_OUTPUT_ENABLE_1 (1U << 1U)
594 #define RCM_PLL_HSDIV_OUTPUT_ENABLE_2 (1U << 2U)
595 #define RCM_PLL_HSDIV_OUTPUT_ENABLE_3 (1U << 3U)
596 #define RCM_PLL_HSDIV_OUTPUT_ENABLE_ALL (RCM_PLL_HSDIV_OUTPUT_ENABLE_0 | \
597 RCM_PLL_HSDIV_OUTPUT_ENABLE_1 | \
598 RCM_PLL_HSDIV_OUTPUT_ENABLE_2 | \
599 RCM_PLL_HSDIV_OUTPUT_ENABLE_3)
601 #define RCM_PLL_HSDIV_OUTPUT_IDX0 (0)
602 #define RCM_PLL_HSDIV_OUTPUT_IDX1 (1)
603 #define RCM_PLL_HSDIV_OUTPUT_IDX2 (2)
604 #define RCM_PLL_HSDIV_OUTPUT_IDX3 (3)
605 #define RCM_PLL_HSDIV_OUTPUT_COUNT (RCM_PLL_HSDIV_OUTPUT_IDX3 + 1)
607 typedef struct SOC_RcmPllHsDivOutConfig_s
SOC_Rcmr5fssNum
Definition: soc_rcm.h:291
@ RCM_PLLHSDIV_OUT_NONE
Value specifying invalid/no HSDIVIDER ID.
Definition: soc_rcm.h:565
@ SOC_RcmPeripheralId_LIN0_UART0
Value specifying LIN0_UART0.
Definition: soc_rcm.h:405
void SOC_rcmR5SS1PowerOnReset(void)
Reset R5SS1 Core.
@ RCM_PLLID_ETH
Definition: soc_rcm.h:529
@ RCM_PLLHSDIV_OUT_1
Value specifying HSDIVIDER 1.
Definition: soc_rcm.h:553
@ SOC_RcmResetCause_MMR_CPU0_VIM0_RESET
Value specifying R5 Core A Subsytem Reset.
Definition: soc_rcm.h:248
@ SOC_WARM_RESET_PAD_TIME_1024US
Delay Value specifying in time 1024us.
Definition: soc_rcm.h:205
void SOC_configureWarmResetInputFallDelay(uint16_t inpFallDelayValue)
Program output delay on warm reset Pad 3.
@ RCM_PLLID_CORE
Definition: soc_rcm.h:528
@ SOC_RcmPeripheralId_ICSSM0_CORE
Value specifying ICSSM0_CORE.
Definition: soc_rcm.h:373
@ SOC_RcmResetCause_MMR_CPU0_RESET
Value specifying R5 Core A (core only) Reset.
Definition: soc_rcm.h:256
void SOC_rcmCoreApllHSDivConfig(SOC_RcmPllFoutFreqId outFreqId, SOC_RcmPllHsDivOutConfig *hsDivCfg)
Configure CORE PLL HSDIVIDERS.
@ RCM_PLLID_PER
Definition: soc_rcm.h:530
int32_t SOC_rcmEnablePeripheralClock(SOC_RcmPeripheralId periphId, uint32_t enable)
Enable/disable module clock (IP clock configuration)
void SOC_rcmCoreR5FUnhalt(uint32_t cpuId)
Unhalt R5 cores.
uint32_t SOC_rcmCoreApllRelockPreRequisite(void)
Pre-requisite sequence to Re-configure CORE PLL.
@ SOC_WarmResetSource_TSENSE1
Value specifying Temperature Sensor 1.
Definition: soc_rcm.h:137
@ SOC_RcmPeripheralClockSource_DPLL_PER_HSDIV0_CLKOUT2
Value specifying PLL Per Clock Out 2 (160 Mhz)
Definition: soc_rcm.h:483
@ r5fss1
Value specifying Warm Reset.
Definition: soc_rcm.h:299
@ SOC_RcmPeripheralId_RTI1
Value specifying RTI1.
Definition: soc_rcm.h:333
Definition: soc_rcm.h:582
@ SOC_RcmPeripheralId_MCSPI2
Value specifying MCSPI2.
Definition: soc_rcm.h:361
SOC_RcmPeripheralClockSource
Definition: soc_rcm.h:427
uint32_t FracM
Definition: soc_rcm.h:586
@ SOC_WARM_RESET_PAD_TIME_128US
Delay Value specifying in time 128us.
Definition: soc_rcm.h:193
void SOC_rcmsetTraceClock(uint32_t traceFreqHz)
Set Trace clock frequency.
@ SOC_RcmPeripheralId_MCSPI0
Value specifying MCSPI0.
Definition: soc_rcm.h:353
void SOC_rcmStartMemInitTCMA(uint32_t cpuId)
Start memory initialization for R5 TCMA.
@ RCM_PLL_FOUT_FREQID_CLK_900MHZ
Value specifying PLL output frequency 900MHz.
Definition: soc_rcm.h:501
@ RCM_PLLHSDIV_OUT_3
Value specifying HSDIVIDER 3.
Definition: soc_rcm.h:561
@ SOC_WARM_RESET_PAD_TIME_512US
Delay Value specifying in time 512us.
Definition: soc_rcm.h:201
@ SOC_RcmPeripheralClockSource_DPLL_CORE_HSDIV0_CLKOUT3
Value specifying PLL Core Clock Out 3 (166 Mhz)
Definition: soc_rcm.h:471
uint32_t SD
Definition: soc_rcm.h:589
uint32_t M
Definition: soc_rcm.h:585
@ SOC_WARM_RESET_PAD_TIME_4US
Delay Value specifying in time 4us.
Definition: soc_rcm.h:173
void SOC_configureWarmResetInputRiseDelay(uint16_t inpRiseDelayValue)
Program input rise delay on warm reset Pad 2.
@ SOC_WARM_RESET_PAD_TIME_2048US
Delay Value specifying in time 2048us.
Definition: soc_rcm.h:209
@ SOC_RcmPeripheralClockSource_DPLL_CORE_HSDIV0_CLKOUT0
Value specifying PLL Core Clock Out 0 (500 Mhz)
Definition: soc_rcm.h:459
uint32_t Fout
Definition: soc_rcm.h:587
@ SOC_WARM_RESET_PAD_TIME_2US
Delay Value specifying in time 2us.
Definition: soc_rcm.h:169
@ SOC_WarmResetCause_MSS_WDT0
Value specifying MSS WDT0.
Definition: soc_rcm.h:74
void SOC_rcmSetR5ClockSource(uint32_t r5ClkSrc)
Set R5 clock source.
@ SOC_WarmResetCause_EXT_PAD_RESET
Value specifying External Pad Reset.
Definition: soc_rcm.h:94
@ SOC_WarmResetCause_MSS_WDT3
Value specifying MSS WDT3.
Definition: soc_rcm.h:86
void SOC_rcmEthApllConfig(SOC_RcmPllFoutFreqId outFreqId, SOC_RcmPllHsDivOutConfig *hsDivCfg)
Configure ETH PLL.
@ SOC_RcmResetCause_POWER_ON_RESET
Value specifying Power ON Reset.
Definition: soc_rcm.h:236
void SOC_rcmWaitMemInitTCMB(uint32_t cpuId)
Wait memory initialization to complete for R5 TCMB.
SOC_RcmPeripheralId
Definition: soc_rcm.h:309
@ SOC_RcmPeripheralClockSource_XTALCLK
Value specifying Crystal Clock.
Definition: soc_rcm.h:431
void SOC_rcmStartMemInitTCMB(uint32_t cpuId)
Start memory initialization for R5 TCMB.
@ SOC_WARM_RESET_PAD_TIME_8US
Delay Value specifying in time 8us.
Definition: soc_rcm.h:177
@ SOC_RcmResetCause_RST_CAUSE_UNKNOWN
Value specifying R5 Reset due to Unknown reason.
Definition: soc_rcm.h:280
void SOC_rcmsetClkoutClock(uint32_t clkout0FreqHz, uint32_t clkout1FreqHz)
Set CLKOUT clock frequency.
@ SOC_RcmPeripheralId_WDT1
Value specifying WDT1.
Definition: soc_rcm.h:349
@ SOC_WARM_RESET_PAD_TIME_32US
Delay Value specifying in time 32us.
Definition: soc_rcm.h:185
@ SOC_WarmResetCause_TOP_RCM_WARM_RESET_REQ
Value specifying Software Warm Reset.
Definition: soc_rcm.h:90
@ SOC_RcmPeripheralId_GPMC
Value specifying GPMC.
Definition: soc_rcm.h:393
@ SOC_RcmPeripheralClockSource_DPLL_PER_HSDIV0_CLKOUT0
Value specifying PLL Per Clock Out 0 (240 Mhz)
Definition: soc_rcm.h:479
void SOC_configureWarmResetOutputDelay(uint16_t opDelayValue)
Program output delay on warm reset Pad 1.
@ SOC_RcmPeripheralClockSource_SYS_CLK
Value specifying System Clock (200Mhz)
Definition: soc_rcm.h:435
@ SOC_WARM_RESET_PAD_TIME_1US
Delay Value specifying in time 1us.
Definition: soc_rcm.h:165
@ SOC_RcmPeripheralId_MCSPI1
Value specifying MCSPI1.
Definition: soc_rcm.h:357
@ SOC_WarmResetSource_TSENSE0
Value specifying Temperature Sensor 0.
Definition: soc_rcm.h:133
Definition: soc_rcm.h:608
@ SOC_RcmPeripheralId_MCSPI3
Value specifying MCSPI3.
Definition: soc_rcm.h:365
SOC_RcmPllHSDIVOutId
Definition: soc_rcm.h:545
SOC_RcmXtalFreqId
Definition: soc_rcm.h:519
int32_t SOC_rcmSetPeripheralClock(SOC_RcmPeripheralId periphId, SOC_RcmPeripheralClockSource clkSource, uint32_t freqHz)
Set module clock (IP clock configuration)
Definition: soc_rcm.h:576
SOC_RcmPllId pllId
Definition: soc_rcm.h:571
SOC_RcmResetCause SOC_rcmGetResetCause(SOC_Rcmr5fssNum r5fssNum)
Get R5FSS reset cause.
void SOC_rcmsetR5SysClock(uint32_t cr5FreqHz, uint32_t sysClkFreqHz, uint32_t cpuId)
Set R5FSS and Sysclk frequency (Root clock configuration)
@ SOC_WARM_RESET_PAD_TIME_8192US
Delay Value specifying in time 8192us.
Definition: soc_rcm.h:217
uint32_t Finp
Definition: soc_rcm.h:577
@ SOC_WARM_RESET_PAD_TIME_16384US
Delay Value specifying in time 16384us.
Definition: soc_rcm.h:221
@ SOC_WARM_RESET_PAD_TIME_500NS
Delay Value specifying in time 500ns.
Definition: soc_rcm.h:161
@ SOC_RcmPeripheralId_I2C
Value specifying I2C.
Definition: soc_rcm.h:401
@ SOC_RcmResetCause_FSM_TRIGGER_RESET
Value specifying R5 Reset due to FSM Trigger.
Definition: soc_rcm.h:272
uint32_t SOC_rcmIsR5FInLockStepMode(uint32_t r5fClusterGroupId)
Return R5SS status operating in lockstep or dual core mode.
SOC_RcmResetCause
Definition: soc_rcm.h:232
@ RCM_PLLID_WUCPUCLK
Definition: soc_rcm.h:532
void SOC_clearWarmResetCause(void)
Clear Reset Cause register.
@ SOC_RcmResetCause_DBG_CPU1_RESET
Value specifying R5 Core B Debug Reset.
Definition: soc_rcm.h:268
@ SOC_WarmResetCause_TEMP_SENSOR1_RESET
Value specifying Temperature Sensor1 Reset.
Definition: soc_rcm.h:110
void SOC_rcmMemInitMailboxMemory(void)
Wait memory initialization to complete for Mailbox memory.
@ SOC_RcmResetCause_DBG_CPU0_RESET
Value specifying R5 Core A Debug Reset.
Definition: soc_rcm.h:264
@ SOC_RcmPeripheralId_MCAN0
Value specifying MCAN0.
Definition: soc_rcm.h:313
@ RCM_PLLID_RCCLK32K
Definition: soc_rcm.h:533
@ SOC_WarmResetSource_WDOG0
Value specifying Watchdog 0.
Definition: soc_rcm.h:141
@ RCM_PLLID_RCCLK10M
Definition: soc_rcm.h:534
@ SOC_WARM_RESET_PAD_TIME_16US
Delay Value specifying in time 16us.
Definition: soc_rcm.h:181
@ RCM_XTAL_FREQID_CLK_25MHZ
Value specifying XTAL frequency 25MHZ.
Definition: soc_rcm.h:523
void SOC_rcmR5SS1TriggerReset(void)
Trigger R5SS1 core reset.
@ RCM_PLLHSDIV_OUT_0
Value specifying HSDIVIDER 0.
Definition: soc_rcm.h:549
uint32_t hsdivOutEnMask
Definition: soc_rcm.h:609
@ SOC_WarmResetCause_HSM_WDT
Value specifying HSM WDT.
Definition: soc_rcm.h:98
Definition: soc_rcm.h:570
void SOC_rcmR5ConfigLockStep(uint32_t cpuId)
Configure R5 in lock step mode.
@ SOC_RcmPeripheralId_RTI0
Value specifying RTI0.
Definition: soc_rcm.h:329
void SOC_rcmR5SS0TriggerReset(void)
Trigger R5 core reset.
bool div2flag
Definition: soc_rcm.h:578
void SOC_rcmPerApllConfig(SOC_RcmPllFoutFreqId outFreqId, SOC_RcmPllHsDivOutConfig *hsDivCfg)
Configure PER PLL.
void SOC_rcmWaitMemInitTCMA(uint32_t cpuId)
Wait memory initialization to complete for R5 TCMA.
int32_t SOC_rcmSetR5Clock(uint32_t r5FreqHz, uint32_t sysClkFreqHz, uint32_t cpuId)
Set R5SS0/R5SS1 and SysClk frequency.
@ SOC_RcmPeripheralClockSource_RCCLK32K
Value specifying RC clock (32KHz)
Definition: soc_rcm.h:451
@ SOC_WARM_RESET_PAD_TIME_64US
Delay Value specifying in time 64us.
Definition: soc_rcm.h:189
@ SOC_WarmResetCause_MSS_WDT2
Value specifying MSS WDT2.
Definition: soc_rcm.h:82
@ SOC_RcmPeripheralClockSource_EXT_REFCLK
Value specifying external reference clock.
Definition: soc_rcm.h:443
@ SOC_RcmPeripheralId_ICSSM0_UART0
Value specifying ICSSM0_UART0.
Definition: soc_rcm.h:377
@ SOC_WarmResetCause_MSS_WDT1
Value specifying MSS WDT1.
Definition: soc_rcm.h:78
@ SOC_WARM_RESET_PAD_TIME_256US
Delay Value specifying in time 256us.
Definition: soc_rcm.h:197
uint32_t Finp
Definition: soc_rcm.h:588
SOC_RcmPllId
Definition: soc_rcm.h:527
@ RCM_PLL_FOUT_FREQID_CLK_2000MHZ
Value specifying PLL output frequency 2000MHz.
Definition: soc_rcm.h:509
SOC_RcmWarm_ResetTime123
Definition: soc_rcm.h:157
@ SOC_RcmPeripheralId_LIN3_UART3
Value specifying LIN3_UART3.
Definition: soc_rcm.h:417
@ SOC_WarmResetCause_POWER_ON_RESET
Value specifying Power ON Reset.
Definition: soc_rcm.h:70
@ SOC_RcmPeripheralClockSource_WUCPUCLK
Value specifying wake up clock.
Definition: soc_rcm.h:439
@ SOC_RcmPeripheralId_RTI3
Value specifying RTI3.
Definition: soc_rcm.h:341
void SOC_rcmR5SS0PowerOnReset(void)
Reset R5SS0 Core.
@ SOC_RcmPeripheralId_LIN1_UART1
Value specifying LIN1_UART1.
Definition: soc_rcm.h:409
@ SOC_RcmPeripheralId_MCAN1
Value specifying MCAN1.
Definition: soc_rcm.h:317
void SOC_generateSwWarmReset(void)
Generate SW WARM reset.
@ SOC_WarmResetSource_WDOG1
Value specifying Watchdog 1.
Definition: soc_rcm.h:145
@ SOC_RcmPeripheralId_RTI2
Value specifying RTI2.
Definition: soc_rcm.h:337
@ RCM_PLL_FOUT_FREQID_CLK_500MHZ
Value specifying PLL output frequency 500MHz.
Definition: soc_rcm.h:497
@ SOC_WarmResetCause_TEMP_SENSOR0_RESET
Value specifying Temperature Sensor0 Reset.
Definition: soc_rcm.h:106
uint32_t N
Definition: soc_rcm.h:583
@ SOC_RcmResetCause_STC_RESET
Value specifying STC Reset.
Definition: soc_rcm.h:244
@ SOC_RcmPeripheralClockSource_DPLL_CORE_HSDIV0_CLKOUT1
Value specifying PLL Core Clock Out 1 (500 Mhz)
Definition: soc_rcm.h:463
@ SOC_RcmResetCause_WARM_RESET
Value specifying Warm Reset.
Definition: soc_rcm.h:240
@ SOC_RcmPeripheralId_MMC0
Value specifying MMC0.
Definition: soc_rcm.h:369
SOC_WarmResetSource
Definition: soc_rcm.h:121
void SOC_rcmR5ConfigDualCore(uint32_t cpuId)
Configure R5 in dual core mode.
void SOC_rcmMemInitL2Memory(void)
Wait memory initialization to complete for L2 Bank2 and Bank3 memory.
@ SOC_RcmPeripheralId_OSPI0
Value specifying OSPI0.
Definition: soc_rcm.h:321
@ SOC_RcmPeripheralClockSource_DPLL_ETH_HSDIV0_CLKOUT0
Value specifying PLL Eth Clock Out 0 (450 Mhz)
Definition: soc_rcm.h:475
@ SOC_WARM_RESET_PAD_TIME_4096US
Delay Value specifying in time 4096us.
Definition: soc_rcm.h:213
SOC_WarmResetCause
Definition: soc_rcm.h:66
@ SOC_RcmResetCause_MMR_CPU1_VIM1_RESET
Value specifying R5 Core B Subsytem Reset.
Definition: soc_rcm.h:252
@ SOC_WarmResetSource_DEBUGSS
Value specifying DebugSS.
Definition: soc_rcm.h:129
SOC_RcmPllHSDIVOutId hsDivOut
Definition: soc_rcm.h:572
@ SOC_WarmResetCause_DBG_RESET
Value specifying Debugger Reset.
Definition: soc_rcm.h:102
@ RCM_PLLID_EXTREFCLK
Definition: soc_rcm.h:535
@ RCM_PLL_FOUT_FREQID_CLK_960MHZ
Value specifying PLL output frequency 960MHz.
Definition: soc_rcm.h:505
SOC_WarmResetCause SOC_getWarmResetCause(void)
Returns cause of WARM reset.
@ SOC_RcmPeripheralId_LIN2_UART2
Value specifying LIN2_UART2.
Definition: soc_rcm.h:413
SOC_RcmPllFoutFreqId
Definition: soc_rcm.h:493
@ RCM_PLLID_XTALCLK
Definition: soc_rcm.h:531
@ SOC_RcmPeripheralId_ICSSM1_CORE
Value specifying ICSSM1_CORE.
Definition: soc_rcm.h:381
uint32_t M2
Definition: soc_rcm.h:584
@ r5fss0
Value specifying Power ON Reset.
Definition: soc_rcm.h:295
@ SOC_RcmResetCause_MMR_CPU1_RESET
Value specifying R5 Core B (core only) Reset.
Definition: soc_rcm.h:260
@ RCM_PLLHSDIV_OUT_2
Value specifying HSDIVIDER 2.
Definition: soc_rcm.h:557
@ SOC_RcmPeripheralId_WDT0
Value specifying WDT0.
Definition: soc_rcm.h:345
uint32_t SOC_rcmGetR5Clock(uint32_t cpuId)
Get R5SS0/1 frequency.
@ SOC_RcmPeripheralId_CONTROLSS_PLL
Value specifying CONTROLSS_PLL.
Definition: soc_rcm.h:397
@ SOC_WarmResetSource_PAD_BYPASS
Value specifying Pad Warm Reset pin.
Definition: soc_rcm.h:125
@ SOC_RcmPeripheralId_OSPI1
Value specifying OSPI0.
Definition: soc_rcm.h:325
@ SOC_RcmPeripheralId_CPTS
Value specifying CPTS.
Definition: soc_rcm.h:389
void SOC_configureWarmResetSource(uint32_t source)
Configure WARM reset source.
@ SOC_RcmPeripheralClockSource_CTPS_GENF0
Value specifying CPTS GENF0 clock.
Definition: soc_rcm.h:455
#define RCM_PLL_HSDIV_OUTPUT_COUNT
Definition: soc_rcm.h:605
@ SOC_RcmPeripheralClockSource_DPLL_CORE_HSDIV0_CLKOUT2
Value specifying PLL Core Clock Out 2 (500 Mhz)
Definition: soc_rcm.h:467
void SOC_rcmCoreApllConfig(SOC_RcmPllFoutFreqId outFreqId, SOC_RcmPllHsDivOutConfig *hsDivCfg)
Configure CORE PLL.
@ SOC_RcmResetCause_POR_RST_CTRL0
Value specifying R5 Reset due to write to debug POR RST CTRL Reg.
Definition: soc_rcm.h:276
@ SOC_RcmPeripheralId_ICSSM1_UART0
Value specifying ICSSM1_UART0.
Definition: soc_rcm.h:385
@ SOC_RcmPeripheralClockSource_RCCLK10M
Value specifying RC clock (10MHz)
Definition: soc_rcm.h:447