Software APIs
dt_clkmgr.c File Reference

Device Tables (DT) for IP clkmgr and top englishbreakfast. More...

#include "dt/dt_clkmgr.h"

Go to the source code of this file.

Data Structures

struct  dt_desc_clkmgr
 Description of instances. More...
 
struct  dt_desc_clkmgr.ext
 

Macros

#define TRY_GET_DT(dt, default)
 Return a pointer to the dt_clkmgr_desc_t structure of the requested dt if it's a valid index.
 

Typedefs

typedef struct dt_desc_clkmgr dt_desc_clkmgr_t
 Description of instances.
 

Functions

dt_clkmgr_t dt_clkmgr_from_instance_id (dt_instance_id_t inst_id)
 Get the clkmgr instance from an instance ID.
 
dt_instance_id_t dt_clkmgr_instance_id (dt_clkmgr_t dt)
 Get the instance ID of an instance.
 
uint32_t dt_clkmgr_reg_block (dt_clkmgr_t dt, dt_clkmgr_reg_block_t reg_block)
 Get the register base address of an instance.
 
dt_clock_t dt_clkmgr_clock (dt_clkmgr_t dt, dt_clkmgr_clock_t clk)
 Get the clock signal connected to a clock port of an instance.
 
dt_reset_t dt_clkmgr_reset (dt_clkmgr_t dt, dt_clkmgr_reset_t rst)
 Get the reset signal connected to a reset port of an instance.
 
size_t dt_clkmgr_gateable_clock_count (dt_clkmgr_t dt)
 Get the number of software gateable clocks.
 
dt_instance_id_t dt_clkmgr_gateable_clock (dt_clkmgr_t dt, size_t idx)
 Get the instance ID of a gateable clock.
 
size_t dt_clkmgr_hintable_clock_count (dt_clkmgr_t dt)
 Get the number of software hintable clocks.
 
dt_instance_id_t dt_clkmgr_hintable_clock (dt_clkmgr_t dt, size_t idx)
 Get the instance ID of a hintable clock.
 

Detailed Description

Device Tables (DT) for IP clkmgr and top englishbreakfast.

Definition in file dt_clkmgr.c.


Data Structure Documentation

◆ dt_desc_clkmgr

struct dt_desc_clkmgr

Description of instances.

Definition at line 19 of file dt_clkmgr.c.

Data Fields
uint32_t base_addr[kDtClkmgrRegBlockCount] Base address of each register block.
dt_clock_t clock[kDtClkmgrClockCount] Clock signal connected to each clock port.
struct dt_desc_clkmgr ext Extension.
struct dt_desc_clkmgr ext Extension.
struct dt_desc_clkmgr.ext ext Extension.
top_darjeeling_alert_id_t first_alert Alert ID of the first Alert of this instance.

This value is undefined if the block is not connected to the Alert Handler.

top_earlgrey_alert_id_t first_alert Alert ID of the first Alert of this instance.

This value is undefined if the block is not connected to the Alert Handler.

dt_instance_id_t inst_id Instance ID.
dt_reset_t reset[kDtClkmgrResetCount] Reset signal connected to each reset port.

◆ dt_desc_clkmgr.ext

struct dt_desc_clkmgr.ext

Definition at line 24 of file dt_clkmgr.c.

Data Fields
dt_instance_id_t hint_clks[1] List of hintable clocks, in the order of the register fields.
dt_instance_id_t hint_clks[4] List of hintable clocks, in the order of the register fields.
dt_instance_id_t hint_clks[4] List of hintable clocks, in the order of the register fields.
dt_instance_id_t sw_clks[2] List of gateable clocks, in the order of the register fields.
dt_instance_id_t sw_clks[4] List of gateable clocks, in the order of the register fields.
dt_instance_id_t sw_clks[4] List of gateable clocks, in the order of the register fields.

Macro Definition Documentation

◆ TRY_GET_DT

#define TRY_GET_DT ( dt,
default )
Value:
({ if ((dt) < (dt_clkmgr_t)0 || (dt) >= kDtClkmgrCount) return (default); &clkmgr_desc[dt]; })

Return a pointer to the dt_clkmgr_desc_t structure of the requested dt if it's a valid index.

Otherwise, this macro will return (i.e. exit the function) with the provided default value.

Definition at line 80 of file dt_clkmgr.c.

Function Documentation

◆ dt_clkmgr_clock()

Get the clock signal connected to a clock port of an instance.

Parameters
dtInstance of clkmgr.
clkClock port.
Returns
Clock signal.

Definition at line 104 of file dt_clkmgr.c.

◆ dt_clkmgr_from_instance_id()

dt_clkmgr_t dt_clkmgr_from_instance_id ( dt_instance_id_t inst_id)

Get the clkmgr instance from an instance ID.

For example, dt_uart_from_instance_id(kDtInstanceIdUart3) == kDtUart3.

Parameters
inst_idInstance ID.
Returns
A clkmgr instance.

Note: This function only makes sense if the instance ID has device type clkmgr, otherwise the returned value is unspecified.

Definition at line 82 of file dt_clkmgr.c.

◆ dt_clkmgr_gateable_clock()

dt_instance_id_t dt_clkmgr_gateable_clock ( dt_clkmgr_t dt,
size_t idx )

Get the instance ID of a gateable clock.

The clocks are ordered as they appear in the registers.

Parameters
dtInstance of clkmgr.
idxIndex of the gateable clock, between 0 and dt_clkmgr_sw_clock_count(dt)-1.
Returns
Instance ID of the device whose clock is gateable.

Definition at line 126 of file dt_clkmgr.c.

◆ dt_clkmgr_gateable_clock_count()

size_t dt_clkmgr_gateable_clock_count ( dt_clkmgr_t dt)

Get the number of software gateable clocks.

Parameters
dtInstance of clkmgr.
Returns
Number of gateable clocks.

Definition at line 122 of file dt_clkmgr.c.

◆ dt_clkmgr_hintable_clock()

dt_instance_id_t dt_clkmgr_hintable_clock ( dt_clkmgr_t dt,
size_t idx )

Get the instance ID of a hintable clock.

The clocks sources are ordered as they appear in the registers.

Parameters
dtInstance of clkmgr.
idxIndex of the hintable clock, between 0 and dt_clkmgr_hint_clock_count(dt)-1.
Returns
Instance ID of the device whose clock is hintable.

Definition at line 134 of file dt_clkmgr.c.

◆ dt_clkmgr_hintable_clock_count()

size_t dt_clkmgr_hintable_clock_count ( dt_clkmgr_t dt)

Get the number of software hintable clocks.

Parameters
dtInstance of clkmgr.
Returns
Number of hintable clocks.

Definition at line 130 of file dt_clkmgr.c.

◆ dt_clkmgr_instance_id()

dt_instance_id_t dt_clkmgr_instance_id ( dt_clkmgr_t dt)

Get the instance ID of an instance.

Parameters
dtInstance of clkmgr.
Returns
The instance ID of that instance.

Definition at line 89 of file dt_clkmgr.c.

◆ dt_clkmgr_reg_block()

Get the register base address of an instance.

Parameters
dtInstance of clkmgr.
reg_blockThe register block requested.
Returns
The register base address of the requested block.

Definition at line 94 of file dt_clkmgr.c.

◆ dt_clkmgr_reset()

Get the reset signal connected to a reset port of an instance.

Parameters
dtInstance of clkmgr.
rstReset port.
Returns
Reset signal.

Definition at line 111 of file dt_clkmgr.c.