Software APIs
dt_aes.c File Reference

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

#include "hw/top/dt/dt_aes.h"

Go to the source code of this file.

Data Structures

struct  dt_desc_aes
 Description of instances. More...
 

Macros

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

Typedefs

typedef struct dt_desc_aes dt_desc_aes_t
 Description of instances.
 

Functions

dt_aes_t dt_aes_from_instance_id (dt_instance_id_t inst_id)
 Get the aes instance from an instance ID.
 
dt_instance_id_t dt_aes_instance_id (dt_aes_t dt)
 Get the instance ID of an instance.
 
uint32_t dt_aes_reg_block (dt_aes_t dt, dt_aes_reg_block_t reg_block)
 Get the register base address of an instance.
 
uint32_t dt_aes_memory_base (dt_aes_t dt, dt_aes_memory_t mem)
 Get the base address of a memory.
 
uint32_t dt_aes_memory_size (dt_aes_t dt, dt_aes_memory_t mem)
 Get the size of a memory.
 
dt_clock_t dt_aes_clock (dt_aes_t dt, dt_aes_clock_t clk)
 Get the clock signal connected to a clock port of an instance.
 
dt_reset_t dt_aes_reset (dt_aes_t dt, dt_aes_reset_t rst)
 Get the reset signal connected to a reset port of an instance.
 

Detailed Description

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

Definition in file dt_aes.c.


Data Structure Documentation

◆ dt_desc_aes

struct dt_desc_aes

Description of instances.

Definition at line 19 of file dt_aes.c.

Data Fields
dt_clock_t clock[kDtAesClockCount] Clock signal connected to each clock port.
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.
uint32_t mem_addr[kDtAesMemoryCount] Base address of each memory.
uint32_t mem_size[kDtAesMemoryCount] Size in bytes of each memory.
uint32_t reg_addr[kDtAesRegBlockCount] Base address of each register block.
dt_reset_t reset[kDtAesResetCount] Reset signal connected to each reset port.

Macro Definition Documentation

◆ TRY_GET_DT

#define TRY_GET_DT ( dt,
default )
Value:
({ if ((dt) < (dt_aes_t)0 || (dt) >= kDtAesCount) return (default); &aes_desc[dt]; })

Return a pointer to the dt_aes_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 57 of file dt_aes.c.

Function Documentation

◆ dt_aes_clock()

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

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

Definition at line 95 of file dt_aes.c.

◆ dt_aes_from_instance_id()

dt_aes_t dt_aes_from_instance_id ( dt_instance_id_t inst_id)

Get the aes instance from an instance ID.

For example, dt_uart_from_instance_id(kDtInstanceIdUart3) == kDtUart3.

Parameters
inst_idInstance ID.
Returns
A aes instance.

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

Definition at line 59 of file dt_aes.c.

◆ dt_aes_instance_id()

dt_instance_id_t dt_aes_instance_id ( dt_aes_t dt)

Get the instance ID of an instance.

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

Definition at line 66 of file dt_aes.c.

◆ dt_aes_memory_base()

uint32_t dt_aes_memory_base ( dt_aes_t dt,
dt_aes_memory_t mem )

Get the base address of a memory.

Parameters
dtInstance of aes.
memThe memory requested.
Returns
The base address of the requested memory.

Definition at line 78 of file dt_aes.c.

◆ dt_aes_memory_size()

uint32_t dt_aes_memory_size ( dt_aes_t dt,
dt_aes_memory_t mem )

Get the size of a memory.

Parameters
dtInstance of aes.
memThe memory requested.
Returns
The size of the requested memory.

Definition at line 85 of file dt_aes.c.

◆ dt_aes_reg_block()

uint32_t dt_aes_reg_block ( dt_aes_t dt,
dt_aes_reg_block_t reg_block )

Get the register base address of an instance.

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

Definition at line 71 of file dt_aes.c.

◆ dt_aes_reset()

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

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

Definition at line 102 of file dt_aes.c.