64 #include <inc/hw_aon_wuc.h>
65 #include <inc/hw_types.h>
66 #include <inc/hw_memmap.h>
67 #include <inc/hw_ddi.h>
68 #include <inc/hw_ddi_0_osc.h>
87 #define OSCClockSourceSet NOROM_OSCClockSourceSet
88 #define OSCClockSourceGet NOROM_OSCClockSourceGet
89 #define OSCHF_GetStartupTime NOROM_OSCHF_GetStartupTime
90 #define OSCHF_TurnOnXosc NOROM_OSCHF_TurnOnXosc
91 #define OSCHF_AttemptToSwitchToXosc NOROM_OSCHF_AttemptToSwitchToXosc
92 #define OSCHF_SwitchToRcOscTurnOffXosc NOROM_OSCHF_SwitchToRcOscTurnOffXosc
93 #define OSCHF_DebugGetCrystalAmplitude NOROM_OSCHF_DebugGetCrystalAmplitude
94 #define OSCHF_DebugGetExpectedAverageCrystalAmplitude NOROM_OSCHF_DebugGetExpectedAverageCrystalAmplitude
95 #define OSC_HPOSCRelativeFrequencyOffsetGet NOROM_OSC_HPOSCRelativeFrequencyOffsetGet
96 #define OSC_HPOSCRelativeFrequencyOffsetToRFCoreFormatConvert NOROM_OSC_HPOSCRelativeFrequencyOffsetToRFCoreFormatConvert
104 #define LOW_POWER_XOSC 1
105 #define HIGH_POWER_XOSC 0
112 #define OSC_SRC_CLK_HF 0x00000001
113 #define OSC_SRC_CLK_MF 0x00000002
114 #define OSC_SRC_CLK_LF 0x00000004
116 #define OSC_RCOSC_HF 0x00000000
117 #define OSC_XOSC_HF 0x00000001
118 #define OSC_RCOSC_LF 0x00000002
119 #define OSC_XOSC_LF 0x00000003
121 #define SCLK_HF_RCOSC_HF 0
122 #define SCLK_HF_XOSC_HF 1
124 #define SCLK_MF_RCOSC_HF 0
125 #define SCLK_MF_XOSC_HF 1
127 #define SCLK_LF_FROM_RCOSC_HF 0
128 #define SCLK_LF_FROM_XOSC_HF 1
129 #define SCLK_LF_FROM_RCOSC_LF 2
130 #define SCLK_LF_FROM_XOSC_LF 3
535 #if !defined(DRIVERLIB_NOROM) && !defined(DOXYGEN)
537 #ifdef ROM_OSCClockSourceSet
538 #undef OSCClockSourceSet
539 #define OSCClockSourceSet ROM_OSCClockSourceSet
541 #ifdef ROM_OSCClockSourceGet
542 #undef OSCClockSourceGet
543 #define OSCClockSourceGet ROM_OSCClockSourceGet
545 #ifdef ROM_OSCHF_GetStartupTime
546 #undef OSCHF_GetStartupTime
547 #define OSCHF_GetStartupTime ROM_OSCHF_GetStartupTime
549 #ifdef ROM_OSCHF_TurnOnXosc
550 #undef OSCHF_TurnOnXosc
551 #define OSCHF_TurnOnXosc ROM_OSCHF_TurnOnXosc
553 #ifdef ROM_OSCHF_AttemptToSwitchToXosc
554 #undef OSCHF_AttemptToSwitchToXosc
555 #define OSCHF_AttemptToSwitchToXosc ROM_OSCHF_AttemptToSwitchToXosc
557 #ifdef ROM_OSCHF_SwitchToRcOscTurnOffXosc
558 #undef OSCHF_SwitchToRcOscTurnOffXosc
559 #define OSCHF_SwitchToRcOscTurnOffXosc ROM_OSCHF_SwitchToRcOscTurnOffXosc
561 #ifdef ROM_OSCHF_DebugGetCrystalAmplitude
562 #undef OSCHF_DebugGetCrystalAmplitude
563 #define OSCHF_DebugGetCrystalAmplitude ROM_OSCHF_DebugGetCrystalAmplitude
565 #ifdef ROM_OSCHF_DebugGetExpectedAverageCrystalAmplitude
566 #undef OSCHF_DebugGetExpectedAverageCrystalAmplitude
567 #define OSCHF_DebugGetExpectedAverageCrystalAmplitude ROM_OSCHF_DebugGetExpectedAverageCrystalAmplitude
569 #ifdef ROM_OSC_HPOSCRelativeFrequencyOffsetGet
570 #undef OSC_HPOSCRelativeFrequencyOffsetGet
571 #define OSC_HPOSCRelativeFrequencyOffsetGet ROM_OSC_HPOSCRelativeFrequencyOffsetGet
573 #ifdef ROM_OSC_HPOSCRelativeFrequencyOffsetToRFCoreFormatConvert
574 #undef OSC_HPOSCRelativeFrequencyOffsetToRFCoreFormatConvert
575 #define OSC_HPOSCRelativeFrequencyOffsetToRFCoreFormatConvert ROM_OSC_HPOSCRelativeFrequencyOffsetToRFCoreFormatConvert
void DDI16BitWrite(uint32_t ui32Base, uint32_t ui32Reg, uint32_t ui32Mask, uint32_t ui32WrData)
Write a single bit using a 16-bit maskable write.
static void OSCHfSourceSwitch(void)
Switch the high frequency clock.
#define HapiHFSourceSafeSwitch()
static void OSCClockLossEventEnable(void)
Enables OSC clock loss event detection.
uint32_t OSCHF_DebugGetCrystalAmplitude(void)
Get crystal amplitude (assuming crystal is running).
uint32_t OSCHF_DebugGetExpectedAverageCrystalAmplitude(void)
Get the expected average crystal amplitude.
uint32_t OSCClockSourceGet(uint32_t ui32SrcClk)
Get the source clock settings.
void DDI16BitfieldWrite(uint32_t ui32Base, uint32_t ui32Reg, uint32_t ui32Mask, uint32_t ui32Shift, uint16_t ui32Data)
Write a bitfield via the DDI using 16-bit maskable write.
uint32_t OSCHF_GetStartupTime(uint32_t timeUntilWakeupInMs)
Returns maximum startup time (in microseconds) of XOSC_HF.
bool OSCHF_AttemptToSwitchToXosc(void)
Switch to XOSC_HF if XOSC_HF is ready.
static bool OSCHfSourceReady(void)
Check if the HF clock source is ready to be switched.
static void OSCClockLossEventDisable(void)
Disables OSC clock loss event detection.
uint16_t DDI16BitfieldRead(uint32_t ui32Base, uint32_t ui32Reg, uint32_t ui32Mask, uint32_t ui32Shift)
Read a bitfield via the DDI using 16-bit read.
static void OSCXHfPowerModeSet(uint32_t ui32Mode)
Set Power Mode for High Frequency XTAL Oscillator.
int32_t OSC_HPOSCRelativeFrequencyOffsetGet(int32_t tempDegC)
Calculate the temperature dependent relative frequency offset of HPOSC.
void OSCHF_SwitchToRcOscTurnOffXosc(void)
Switch to RCOSC_HF and turn off XOSC_HF.
static void OSCInterfaceEnable(void)
Deprecated: Empty function - original functionality is removed.
void OSCClockSourceSet(uint32_t ui32SrcClk, uint32_t ui32Osc)
Configure the oscillator input to the a source clock.
void OSCHF_TurnOnXosc(void)
Turns on XOSC_HF (but without switching to XOSC_HF).
static void OSCInterfaceDisable(void)
Deprecated: Empty function - original functionality is removed.
int16_t OSC_HPOSCRelativeFrequencyOffsetToRFCoreFormatConvert(int32_t HPOSC_RelFreqOffset)
Converts the relative frequency offset of HPOSC to the RF Core parameter format.