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

(a649ec5)

SPI_HOST 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_spi_host
 A handle to spi_host. More...
 

Typedefs

typedef struct dif_spi_host dif_spi_host_t
 A handle to spi_host. More...
 
typedef enum dif_spi_host_alert dif_spi_host_alert_t
 A spi_host alert type.
 
typedef enum dif_spi_host_irq dif_spi_host_irq_t
 A spi_host interrupt request type.
 
typedef uint32_t dif_spi_host_irq_state_snapshot_t
 A snapshot of the state of the interrupts for this IP. More...
 
typedef uint32_t dif_spi_host_irq_enable_snapshot_t
 A snapshot of the enablement state of the interrupts for this IP. More...
 

Enumerations

enum  dif_spi_host_alert { kDifSpiHostAlertFatalFault = 0 }
 A spi_host alert type. More...
 
enum  dif_spi_host_irq {
  kDifSpiHostIrqError = 0,
  kDifSpiHostIrqSpiEvent = 1
}
 A spi_host interrupt request type. More...
 

Functions

OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_init (mmio_region_t base_addr, dif_spi_host_t *spi_host)
 Creates a new handle for a(n) spi_host peripheral. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_alert_force (const dif_spi_host_t *spi_host, dif_spi_host_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_spi_host_irq_get_type (const dif_spi_host_t *spi_host, dif_spi_host_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_spi_host_irq_get_state (const dif_spi_host_t *spi_host, dif_spi_host_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_spi_host_irq_is_pending (const dif_spi_host_t *spi_host, dif_spi_host_irq_t irq, bool *is_pending)
 Returns whether a particular interrupt is currently pending. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_irq_acknowledge_state (const dif_spi_host_t *spi_host, dif_spi_host_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_spi_host_irq_acknowledge_all (const dif_spi_host_t *spi_host)
 Acknowledges all interrupts, indicating to the hardware that all interrupts have been successfully serviced. More...
 
OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_irq_acknowledge (const dif_spi_host_t *spi_host, dif_spi_host_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_spi_host_irq_force (const dif_spi_host_t *spi_host, dif_spi_host_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_spi_host_irq_get_enabled (const dif_spi_host_t *spi_host, dif_spi_host_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_spi_host_irq_set_enabled (const dif_spi_host_t *spi_host, dif_spi_host_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_spi_host_irq_disable_all (const dif_spi_host_t *spi_host, dif_spi_host_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_spi_host_irq_restore_all (const dif_spi_host_t *spi_host, const dif_spi_host_irq_enable_snapshot_t *snapshot)
 Restores interrupts from the given (enable) snapshot. More...
 

Detailed Description

SPI_HOST Device Interface Functions

Definition in file dif_spi_host_autogen.h.


Data Structure Documentation

◆ dif_spi_host

struct dif_spi_host

A handle to spi_host.

This type should be treated as opaque by users.

Definition at line 33 of file dif_spi_host_autogen.h.

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

Typedef Documentation

◆ dif_spi_host_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_spi_host_irq_disable_all() and dif_spi_host_irq_restore_all() functions.

Definition at line 190 of file dif_spi_host_autogen.h.

◆ dif_spi_host_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_spi_host_irq_get_state() and dif_spi_host_irq_acknowledge_state() functions.

Definition at line 96 of file dif_spi_host_autogen.h.

◆ dif_spi_host_t

typedef struct dif_spi_host dif_spi_host_t

A handle to spi_host.

This type should be treated as opaque by users.

Enumeration Type Documentation

◆ dif_spi_host_alert

A spi_host alert type.

Enumerator
kDifSpiHostAlertFatalFault 

This fatal alert is triggered when a fatal TL-UL bus integrity fault is detected.

Definition at line 56 of file dif_spi_host_autogen.h.

◆ dif_spi_host_irq

A spi_host interrupt request type.

Enumerator
kDifSpiHostIrqError 

Error-related interrupts, see !!ERROR_ENABLE register for more information.

kDifSpiHostIrqSpiEvent 

Event-related interrupts, see !!EVENT_ENABLE register for more information.

Definition at line 79 of file dif_spi_host_autogen.h.

Function Documentation

◆ dif_spi_host_alert_force()

OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_alert_force ( const dif_spi_host_t spi_host,
dif_spi_host_alert_t  alert 
)

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

Parameters
spi_hostA spi_host handle.
alertThe alert to force.
Returns
The result of the operation.

Definition at line 28 of file dif_spi_host_autogen.c.

◆ dif_spi_host_init()

OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_init ( mmio_region_t  base_addr,
dif_spi_host_t spi_host 
)

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

This function does not actuate the hardware.

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

Definition at line 17 of file dif_spi_host_autogen.c.

◆ dif_spi_host_irq_acknowledge()

OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_irq_acknowledge ( const dif_spi_host_t spi_host,
dif_spi_host_irq_t  irq 
)

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

Parameters
spi_hostA spi_host handle.
irqAn interrupt request.
Returns
The result of the operation.

Definition at line 151 of file dif_spi_host_autogen.c.

◆ dif_spi_host_irq_acknowledge_all()

OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_irq_acknowledge_all ( const dif_spi_host_t spi_host)

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

Parameters
spi_hostA spi_host handle.
Returns
The result of the operation.

Definition at line 138 of file dif_spi_host_autogen.c.

◆ dif_spi_host_irq_acknowledge_state()

OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_irq_acknowledge_state ( const dif_spi_host_t spi_host,
dif_spi_host_irq_state_snapshot_t  snapshot 
)

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

Parameters
spi_hostA spi_host handle.
snapshotInterrupt state snapshot.
Returns
The result of the operation.

Definition at line 103 of file dif_spi_host_autogen.c.

◆ dif_spi_host_irq_disable_all()

OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_irq_disable_all ( const dif_spi_host_t spi_host,
dif_spi_host_irq_enable_snapshot_t snapshot 
)

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

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

Definition at line 238 of file dif_spi_host_autogen.c.

◆ dif_spi_host_irq_force()

OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_irq_force ( const dif_spi_host_t spi_host,
dif_spi_host_irq_t  irq,
const bool  val 
)

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

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

Definition at line 172 of file dif_spi_host_autogen.c.

◆ dif_spi_host_irq_get_enabled()

OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_irq_get_enabled ( const dif_spi_host_t spi_host,
dif_spi_host_irq_t  irq,
dif_toggle_t state 
)

Checks whether a particular interrupt is currently enabled or disabled.

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

Definition at line 191 of file dif_spi_host_autogen.c.

◆ dif_spi_host_irq_get_state()

OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_irq_get_state ( const dif_spi_host_t spi_host,
dif_spi_host_irq_state_snapshot_t snapshot 
)

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

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

Definition at line 89 of file dif_spi_host_autogen.c.

◆ dif_spi_host_irq_get_type()

OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_irq_get_type ( const dif_spi_host_t spi_host,
dif_spi_host_irq_t  irq,
dif_irq_type_t type 
)

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

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

Definition at line 76 of file dif_spi_host_autogen.c.

◆ dif_spi_host_irq_is_pending()

OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_irq_is_pending ( const dif_spi_host_t spi_host,
dif_spi_host_irq_t  irq,
bool *  is_pending 
)

Returns whether a particular interrupt is currently pending.

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

Definition at line 117 of file dif_spi_host_autogen.c.

◆ dif_spi_host_irq_restore_all()

OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_irq_restore_all ( const dif_spi_host_t spi_host,
const dif_spi_host_irq_enable_snapshot_t snapshot 
)

Restores interrupts from the given (enable) snapshot.

Parameters
spi_hostA spi_host handle.
snapshotA snapshot to restore from.
Returns
The result of the operation.

Definition at line 259 of file dif_spi_host_autogen.c.

◆ dif_spi_host_irq_set_enabled()

OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_irq_set_enabled ( const dif_spi_host_t spi_host,
dif_spi_host_irq_t  irq,
dif_toggle_t  state 
)

Sets whether a particular interrupt is currently enabled or disabled.

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

Definition at line 213 of file dif_spi_host_autogen.c.