CC26xx Driver Library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
prcm.h File Reference
#include <stdbool.h>
#include <stdint.h>
#include <inc/hw_types.h>
#include <inc/hw_memmap.h>
#include <inc/hw_ints.h>
#include <inc/hw_prcm.h>
#include <inc/hw_nvic.h>
#include <inc/hw_aon_rtc.h>
#include <driverlib/interrupt.h>
#include <driverlib/debug.h>
#include <driverlib/cpu.h>

Go to the source code of this file.

Macros

#define PRCM_RUN_MODE   0x00000001
 
#define PRCM_SLEEP_MODE   0x00000002
 
#define PRCM_DEEP_SLEEP_MODE   0x00000004
 
#define PRCM_CLOCK_DIV_1   0x0000000
 
#define PRCM_CLOCK_DIV_2   0x0000001
 
#define PRCM_CLOCK_DIV_4   0x0000002
 
#define PRCM_CLOCK_DIV_8   0x0000003
 
#define PRCM_CLOCK_DIV_16   0x0000004
 
#define PRCM_CLOCK_DIV_32   0x0000005
 
#define PRCM_CLOCK_DIV_64   0x0000006
 
#define PRCM_CLOCK_DIV_128   0x0000007
 
#define PRCM_CLOCK_DIV_256   0x0000008
 
#define PRCM_DOMAIN_RFCORE   0x00000001
 
#define PRCM_DOMAIN_SERIAL   0x00000002
 
#define PRCM_DOMAIN_PERIPH   0x00000004
 
#define PRCM_DOMAIN_SYSBUS   0x00000008
 
#define PRCM_DOMAIN_VIMS   0x00000010
 
#define PRCM_DOMAIN_CPU   0x00000020
 
#define PRCM_DOMAIN_TIMER   0x00000040
 
#define PRCM_DOMAIN_CLKCTRL   0x00000080
 
#define PRCM_DOMAIN_MCU   0x00000100
 
#define PRCM_DOMAIN_POWER_OFF   0x00000002
 
#define PRCM_DOMAIN_POWER_ON   0x00000001
 
#define PRCM_DOMAIN_POWER_DOWN_READY   0x00000000
 
#define PRCM_WCLK_NEG_EDGE   0x00000008
 
#define PRCM_WCLK_POS_EDGE   0x00000000
 
#define PRCM_WCLK_SINGLE_PHASE   0x00000000
 
#define PRCM_WCLK_DUAL_PHASE   0x00000002
 
#define PRCM_WCLK_USER_DEF   0x00000004
 
#define I2S_SAMPLE_RATE_16K   0x00000001
 
#define I2S_SAMPLE_RATE_24K   0x00000002
 
#define I2S_SAMPLE_RATE_32K   0x00000004
 
#define I2S_SAMPLE_RATE_48K   0x00000008
 
#define PRCM_PERIPH_TIMER0   0x00000000
 
#define PRCM_PERIPH_TIMER1   0x00000001
 
#define PRCM_PERIPH_TIMER2   0x00000002
 
#define PRCM_PERIPH_TIMER3   0x00000003
 
#define PRCM_PERIPH_SSI0   0x00000100
 
#define PRCM_PERIPH_SSI1   0x00000101
 
#define PRCM_PERIPH_UART0   0x00000200
 
#define PRCM_PERIPH_UART1   0x00000201
 
#define PRCM_PERIPH_I2C0   0x00000300
 
#define PRCM_PERIPH_I2C1   0x00000301
 
#define PRCM_PERIPH_CRYPTO   0x00000400
 
#define PRCM_PERIPH_TRNG   0x00000401
 
#define PRCM_PERIPH_UDMA   0x00000408
 
#define PRCM_PERIPH_GPIO   0x00000500
 
#define PRCM_PERIPH_I2S   0x00000600
 

Functions

void PRCMInfClockConfigureSet (uint32_t ui32ClkDiv, uint32_t ui32PowerMode)
 Configure the infrastructure clock. More...
 
uint32_t PRCMInfClockConfigureGet (uint32_t ui32PowerMode)
 Use this function to retreive the set infrastructure clock configuration. More...
 
__STATIC_INLINE void PRCMMcuPowerOff (void)
 Request a power off of the MCU voltage domain. More...
 
__STATIC_INLINE void PRCMMcuPowerOffCancel (void)
 Cancel a request for a power off of the MCU voltage domain. More...
 
__STATIC_INLINE void PRCMMcuUldoConfigure (uint32_t ui32Enable)
 Assert or deassert a request for the uLDO. More...
 
void PRCMClockConfigureSet (uint32_t ui32Domains, uint32_t ui32ClkDiv)
 Setup the clock division factor for a subsystem in the MCU voltage domain. More...
 
uint32_t PRCMClockConfigureGet (uint32_t ui32Domain)
 Get the clock configuration for a specific sub system in the MCU Voltage Domain. More...
 
__STATIC_INLINE void PRCMAudioClockEnable (void)
 Enable the audio clock generation. More...
 
__STATIC_INLINE void PRCMAudioClockDisable (void)
 Disable the audio clock generation. More...
 
void PRCMAudioClockConfigSet (uint32_t ui32ClkConfig, uint32_t ui32SampleRate)
 Configure the audio clock generation. More...
 
void PRCMAudioClockConfigSetOverride (uint32_t ui32ClkConfig, uint32_t ui32MstDiv, uint32_t ui32BitDiv, uint32_t ui32WordDiv)
 Configure the audio clock generation with manual setting of clock divider. More...
 
__STATIC_INLINE void PRCMLoadSet (void)
 Use this function to synchronize the load settings. More...
 
__STATIC_INLINE bool PRCMLoadGet (void)
 Check if any of the load sensitive register has been updated. More...
 
__STATIC_INLINE void PRCMDomainEnable (uint32_t ui32Domains)
 Enable clock domains in the MCU voltage domain. More...
 
__STATIC_INLINE void PRCMDomainDisable (uint32_t ui32Domains)
 Disable clock domains in the MCU voltage domain. More...
 
void PRCMPowerDomainOn (uint32_t ui32Domains)
 Turn power on in power domains in the MCU domain. More...
 
void PRCMPowerDomainOff (uint32_t ui32Domains)
 Turn off a specific power domain. More...
 
__STATIC_INLINE void PRCMRfPowerDownWhenIdle (void)
 Configure RF core to power down when idle. More...
 
void PRCMPeripheralRunEnable (uint32_t ui32Peripheral)
 Enables a peripheral in Run mode. More...
 
void PRCMPeripheralRunDisable (uint32_t ui32Peripheral)
 Disables a peripheral in Run mode. More...
 
void PRCMPeripheralSleepEnable (uint32_t ui32Peripheral)
 Enables a peripheral in sleep mode. More...
 
void PRCMPeripheralSleepDisable (uint32_t ui32Peripheral)
 Disables a peripheral in sleep mode. More...
 
void PRCMPeripheralDeepSleepEnable (uint32_t ui32Peripheral)
 Enables a peripheral in deep-sleep mode. More...
 
void PRCMPeripheralDeepSleepDisable (uint32_t ui32Peripheral)
 Disables a peripheral in deep-sleep mode. More...
 
uint32_t PRCMPowerDomainStatus (uint32_t ui32Domains)
 Get the status for a specific power domain. More...
 
__STATIC_INLINE bool PRCMRfReady (void)
 Return the access status of the RF Core. More...
 
__STATIC_INLINE bool PRCMWdtResetStatus (void)
 Read reset status for WatchDog Timer. More...
 
__STATIC_INLINE void PRCMSleep (void)
 Put the processor into sleep mode. More...
 
void PRCMDeepSleep (void)
 Put the processor into deep-sleep mode. More...
 
void PRCMRetentionEnable (uint32_t ui32PowerDomain)
 Enable retention on specific power domains. More...
 
void PRCMRetentionDisable (uint32_t ui32PowerDomain)
 Disable retention on power domains. More...