CC23x0r2DriverLibrary
[lrfd.h] Low-Power Radio
Collaboration diagram for [lrfd.h] Low-Power Radio:

Macros

#define LRFD_NUM_CLK_DEP   (2U)
 
#define LRFD_CLK_DEP_POWER   (0U)
 LRFD Clock dependency set to be used by the Power driver. More...
 
#define LRFD_CLK_DEP_RCL   (1U)
 LRFD Clock dependency set to be used by the RCL. More...
 

Functions

void LRFDSetClockDependency (uint16_t mask, uint8_t dependencySetId)
 Set clock dependency on a set of modules in LRFD. More...
 
void LRFDReleaseClockDependency (uint16_t mask, uint8_t dependencySetId)
 Release clock dependency on a set of modules in LRFD. More...
 
void LRFDApplyClockDependencies (void)
 Apply the currently set clock dependencies. More...
 

Detailed Description

Macro Definition Documentation

§ LRFD_NUM_CLK_DEP

#define LRFD_NUM_CLK_DEP   (2U)

§ LRFD_CLK_DEP_POWER

#define LRFD_CLK_DEP_POWER   (0U)

LRFD Clock dependency set to be used by the Power driver.

§ LRFD_CLK_DEP_RCL

#define LRFD_CLK_DEP_RCL   (1U)

LRFD Clock dependency set to be used by the RCL.

Function Documentation

§ LRFDSetClockDependency()

void LRFDSetClockDependency ( uint16_t  mask,
uint8_t  dependencySetId 
)

Set clock dependency on a set of modules in LRFD.

Warning
This API uses internal state, and is not thread safe.

This API supports multiple clock dependency sets. For any given LRFD module, it will be clocked if any of the dependency sets has a dependency for that LRFD module. If any dependency set has a dependency on at least one LRFD module, the LRFD module itself will be clocked, otherwise it will not be clocked.

Parameters
maskbitmask defining the set of LRFD modules to set clock dependency on.
  • See LRFDDBELL_O_CLKCTL
dependencySetIdID for the clock dependency set to use.
See also
LRFDReleaseClockDependency()
Returns
None

References LRFD_NUM_CLK_DEP, LRFDApplyClockDependencies(), and lrfdClockDependencySets.

§ LRFDReleaseClockDependency()

void LRFDReleaseClockDependency ( uint16_t  mask,
uint8_t  dependencySetId 
)

Release clock dependency on a set of modules in LRFD.

Warning
This API uses internal state, and is not thread safe.

This API supports multiple clock dependency sets. See description of LRFDSetClockDependency()

Parameters
maskbitmask defining the set of LRFD modules to release clock dependency from.
  • See LRFDDBELL_O_CLKCTL
dependencySetIdID for the clock dependency set to use.
See also
LRFDSetClockDependency()
Returns
None

References LRFD_NUM_CLK_DEP, LRFDApplyClockDependencies(), and lrfdClockDependencySets.

§ LRFDApplyClockDependencies()

void LRFDApplyClockDependencies ( void  )

Apply the currently set clock dependencies.

Warning
This API uses internal state, and is not thread safe.
Note
The dependencies automatically being applied when setting and releasing dependencies using LRFDSetClockDependency() and LRFDReleaseClockDependency(). This API is mainly intended for when the enabled clocks gets out of sync with the current dependencies. For example, after the device wakes up from standby.

This will update the LRFD clock control based on the currently set clock dependencies. If there is a clock dependency on any module in LRFD, the LRFD module itself will be clocked, otherwise it will not be clocked.

Returns
None

References CLKCTLDisableLrfdClock(), CLKCTLEnableLrfdClock(), LRFD_NUM_CLK_DEP, and lrfdClockDependencySets.

Referenced by LRFDReleaseClockDependency(), and LRFDSetClockDependency().