Software APIs
Data Structures | Typedefs | Enumerations | Functions
dif_entropy_src_autogen.h File Reference

(a649ec5)

ENTROPY_SRC Device Interface Functions More...

#include <stdbool.h>
#include <stdint.h>
#include "sw/device/lib/base/macros.h"
#include "sw/device/lib/base/mmio.h"
#include "sw/device/lib/dif/dif_base.h"

Go to the source code of this file.

Data Structures

struct  dif_entropy_src
 A handle to entropy_src. More...
 

Typedefs

typedef struct dif_entropy_src dif_entropy_src_t
 A handle to entropy_src. More...
 
typedef enum dif_entropy_src_alert dif_entropy_src_alert_t
 A entropy_src alert type.
 
typedef enum dif_entropy_src_irq dif_entropy_src_irq_t
 A entropy_src interrupt request type.
 
typedef uint32_t dif_entropy_src_irq_state_snapshot_t
 A snapshot of the state of the interrupts for this IP. More...
 
typedef uint32_t dif_entropy_src_irq_enable_snapshot_t
 A snapshot of the enablement state of the interrupts for this IP. More...
 

Enumerations

enum  dif_entropy_src_alert {
  kDifEntropySrcAlertRecovAlert = 0,
  kDifEntropySrcAlertFatalAlert = 1
}
 A entropy_src alert type. More...
 
enum  dif_entropy_src_irq {
  kDifEntropySrcIrqEsEntropyValid = 0,
  kDifEntropySrcIrqEsHealthTestFailed = 1,
  kDifEntropySrcIrqEsObserveFifoReady = 2,
  kDifEntropySrcIrqEsFatalErr = 3
}
 A entropy_src interrupt request type. More...
 

Functions

OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_init (mmio_region_t base_addr, dif_entropy_src_t *entropy_src)
 Creates a new handle for a(n) entropy_src peripheral. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_alert_force (const dif_entropy_src_t *entropy_src, dif_entropy_src_alert_t alert)
 Forces a particular alert, causing it to be escalated as if the hardware had raised it. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_irq_get_type (const dif_entropy_src_t *entropy_src, dif_entropy_src_irq_t irq, dif_irq_type_t *type)
 Returns the type of a given interrupt (i.e., event or status) for this IP. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_irq_get_state (const dif_entropy_src_t *entropy_src, dif_entropy_src_irq_state_snapshot_t *snapshot)
 Returns the state of all interrupts (i.e., pending or not) for this IP. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_irq_is_pending (const dif_entropy_src_t *entropy_src, dif_entropy_src_irq_t irq, bool *is_pending)
 Returns whether a particular interrupt is currently pending. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_irq_acknowledge_state (const dif_entropy_src_t *entropy_src, dif_entropy_src_irq_state_snapshot_t snapshot)
 Acknowledges all interrupts that were pending at the time of the state snapshot. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_irq_acknowledge_all (const dif_entropy_src_t *entropy_src)
 Acknowledges all interrupts, indicating to the hardware that all interrupts have been successfully serviced. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_irq_acknowledge (const dif_entropy_src_t *entropy_src, dif_entropy_src_irq_t irq)
 Acknowledges a particular interrupt, indicating to the hardware that it has been successfully serviced. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_irq_force (const dif_entropy_src_t *entropy_src, dif_entropy_src_irq_t irq, const bool val)
 Forces a particular interrupt, causing it to be serviced as if hardware had asserted it. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_irq_get_enabled (const dif_entropy_src_t *entropy_src, dif_entropy_src_irq_t irq, dif_toggle_t *state)
 Checks whether a particular interrupt is currently enabled or disabled. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_irq_set_enabled (const dif_entropy_src_t *entropy_src, dif_entropy_src_irq_t irq, dif_toggle_t state)
 Sets whether a particular interrupt is currently enabled or disabled. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_irq_disable_all (const dif_entropy_src_t *entropy_src, dif_entropy_src_irq_enable_snapshot_t *snapshot)
 Disables all interrupts, optionally snapshotting all enable states for later restoration. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_irq_restore_all (const dif_entropy_src_t *entropy_src, const dif_entropy_src_irq_enable_snapshot_t *snapshot)
 Restores interrupts from the given (enable) snapshot. More...
 

Detailed Description

ENTROPY_SRC Device Interface Functions

Definition in file dif_entropy_src_autogen.h.


Data Structure Documentation

◆ dif_entropy_src

struct dif_entropy_src

A handle to entropy_src.

This type should be treated as opaque by users.

Definition at line 33 of file dif_entropy_src_autogen.h.

Data Fields
mmio_region_t base_addr The base address for the entropy_src hardware registers.

Typedef Documentation

◆ dif_entropy_src_irq_enable_snapshot_t

A snapshot of the enablement state of the interrupts for this IP.

This is an opaque type, to be used with the dif_entropy_src_irq_disable_all() and dif_entropy_src_irq_restore_all() functions.

Definition at line 212 of file dif_entropy_src_autogen.h.

◆ dif_entropy_src_irq_state_snapshot_t

A snapshot of the state of the interrupts for this IP.

This is an opaque type, to be used with the dif_entropy_src_irq_get_state() and dif_entropy_src_irq_acknowledge_state() functions.

Definition at line 115 of file dif_entropy_src_autogen.h.

◆ dif_entropy_src_t

A handle to entropy_src.

This type should be treated as opaque by users.

Enumeration Type Documentation

◆ dif_entropy_src_alert

A entropy_src alert type.

Enumerator
kDifEntropySrcAlertRecovAlert 

This alert is triggered upon the alert health test threshold criteria not met.

kDifEntropySrcAlertFatalAlert 

This alert triggers for any condition detected in the !!ERR_CODE register, which includes FIFO errors, COUNTER errors, FSM state errors, and also when integrity failures are detected on the TL-UL bus.

Definition at line 56 of file dif_entropy_src_autogen.h.

◆ dif_entropy_src_irq

A entropy_src interrupt request type.

Enumerator
kDifEntropySrcIrqEsEntropyValid 

Asserted when entropy source bits are available for firmware for consumption via !!ENTROPY_DATA register.

kDifEntropySrcIrqEsHealthTestFailed 

Asserted whenever the main state machine is in the alert state, e.g., due to health tests failing and reaching the threshold value configured in !!ALERT_THRESHOLD.

kDifEntropySrcIrqEsObserveFifoReady 

Asserted when the observe FIFO has filled to the configured threshold level (see !!OBSERVE_FIFO_THRESH).

kDifEntropySrcIrqEsFatalErr 

Asserted when an fatal error condition is met, e.g., upon FIFO errors, or if an illegal state machine state is reached.

Definition at line 85 of file dif_entropy_src_autogen.h.

Function Documentation

◆ dif_entropy_src_alert_force()

OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_alert_force ( const dif_entropy_src_t entropy_src,
dif_entropy_src_alert_t  alert 
)

Forces a particular alert, causing it to be escalated as if the hardware had raised it.

Parameters
entropy_srcA entropy_src handle.
alertThe alert to force.
Returns
The result of the operation.

Definition at line 28 of file dif_entropy_src_autogen.c.

◆ dif_entropy_src_init()

OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_init ( mmio_region_t  base_addr,
dif_entropy_src_t entropy_src 
)

Creates a new handle for a(n) entropy_src peripheral.

This function does not actuate the hardware.

Parameters
base_addrThe MMIO base address of the entropy_src peripheral.
[out]entropy_srcOut param for the initialized handle.
Returns
The result of the operation.

Definition at line 17 of file dif_entropy_src_autogen.c.

◆ dif_entropy_src_irq_acknowledge()

OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_irq_acknowledge ( const dif_entropy_src_t entropy_src,
dif_entropy_src_irq_t  irq 
)

Acknowledges a particular interrupt, indicating to the hardware that it has been successfully serviced.

Parameters
entropy_srcA entropy_src handle.
irqAn interrupt request.
Returns
The result of the operation.

Definition at line 164 of file dif_entropy_src_autogen.c.

◆ dif_entropy_src_irq_acknowledge_all()

OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_irq_acknowledge_all ( const dif_entropy_src_t entropy_src)

Acknowledges all interrupts, indicating to the hardware that all interrupts have been successfully serviced.

Parameters
entropy_srcA entropy_src handle.
Returns
The result of the operation.

Definition at line 150 of file dif_entropy_src_autogen.c.

◆ dif_entropy_src_irq_acknowledge_state()

OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_irq_acknowledge_state ( const dif_entropy_src_t entropy_src,
dif_entropy_src_irq_state_snapshot_t  snapshot 
)

Acknowledges all interrupts that were pending at the time of the state snapshot.

Parameters
entropy_srcA entropy_src handle.
snapshotInterrupt state snapshot.
Returns
The result of the operation.

Definition at line 115 of file dif_entropy_src_autogen.c.

◆ dif_entropy_src_irq_disable_all()

OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_irq_disable_all ( const dif_entropy_src_t entropy_src,
dif_entropy_src_irq_enable_snapshot_t snapshot 
)

Disables all interrupts, optionally snapshotting all enable states for later restoration.

Parameters
entropy_srcA entropy_src handle.
[out]snapshotOut-param for the snapshot; may be NULL.
Returns
The result of the operation.

Definition at line 253 of file dif_entropy_src_autogen.c.

◆ dif_entropy_src_irq_force()

OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_irq_force ( const dif_entropy_src_t entropy_src,
dif_entropy_src_irq_t  irq,
const bool  val 
)

Forces a particular interrupt, causing it to be serviced as if hardware had asserted it.

Parameters
entropy_srcA entropy_src handle.
irqAn interrupt request.
valValue to be set.
Returns
The result of the operation.

Definition at line 185 of file dif_entropy_src_autogen.c.

◆ dif_entropy_src_irq_get_enabled()

OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_irq_get_enabled ( const dif_entropy_src_t entropy_src,
dif_entropy_src_irq_t  irq,
dif_toggle_t state 
)

Checks whether a particular interrupt is currently enabled or disabled.

Parameters
entropy_srcA entropy_src handle.
irqAn interrupt request.
[out]stateOut-param toggle state of the interrupt.
Returns
The result of the operation.

Definition at line 206 of file dif_entropy_src_autogen.c.

◆ dif_entropy_src_irq_get_state()

OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_irq_get_state ( const dif_entropy_src_t entropy_src,
dif_entropy_src_irq_state_snapshot_t snapshot 
)

Returns the state of all interrupts (i.e., pending or not) for this IP.

Parameters
entropy_srcA entropy_src handle.
[out]snapshotOut-param for interrupt state snapshot.
Returns
The result of the operation.

Definition at line 101 of file dif_entropy_src_autogen.c.

◆ dif_entropy_src_irq_get_type()

OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_irq_get_type ( const dif_entropy_src_t entropy_src,
dif_entropy_src_irq_t  irq,
dif_irq_type_t type 
)

Returns the type of a given interrupt (i.e., event or status) for this IP.

Parameters
entropy_srcA entropy_src handle.
irqAn interrupt request.
[out]typeOut-param for the interrupt type.
Returns
The result of the operation.

Definition at line 87 of file dif_entropy_src_autogen.c.

◆ dif_entropy_src_irq_is_pending()

OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_irq_is_pending ( const dif_entropy_src_t entropy_src,
dif_entropy_src_irq_t  irq,
bool *  is_pending 
)

Returns whether a particular interrupt is currently pending.

Parameters
entropy_srcA entropy_src handle.
irqAn interrupt request.
[out]is_pendingOut-param for whether the interrupt is pending.
Returns
The result of the operation.

Definition at line 129 of file dif_entropy_src_autogen.c.

◆ dif_entropy_src_irq_restore_all()

OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_irq_restore_all ( const dif_entropy_src_t entropy_src,
const dif_entropy_src_irq_enable_snapshot_t snapshot 
)

Restores interrupts from the given (enable) snapshot.

Parameters
entropy_srcA entropy_src handle.
snapshotA snapshot to restore from.
Returns
The result of the operation.

Definition at line 274 of file dif_entropy_src_autogen.c.

◆ dif_entropy_src_irq_set_enabled()

OT_WARN_UNUSED_RESULT dif_result_t dif_entropy_src_irq_set_enabled ( const dif_entropy_src_t entropy_src,
dif_entropy_src_irq_t  irq,
dif_toggle_t  state 
)

Sets whether a particular interrupt is currently enabled or disabled.

Parameters
entropy_srcA entropy_src handle.
irqAn interrupt request.
stateThe new toggle state for the interrupt.
Returns
The result of the operation.

Definition at line 228 of file dif_entropy_src_autogen.c.