Software APIs
dif_spi_host_autogen.h File Reference

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"
#include "hw/top/dt/spi_host.h"

Go to the source code of this file.

Data Structures

struct  dif_spi_host
 A handle to spi_host. More...
 

Macros

#define kDifSpiHostIrqError   kDtSpiHostIrqError
 A spi_host interrupt request type.
 
#define kDifSpiHostIrqSpiEvent   kDtSpiHostIrqSpiEvent
 Event-related interrupts, see !
 

Typedefs

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

Enumerations

enum  dif_spi_host_alert { kDifSpiHostAlertFatalFault = 0 }
 A spi_host alert 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.
 
OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_init_from_dt (dt_spi_host_t dt, dif_spi_host_t *spi_host)
 Creates a new handle for a(n) spi_host peripheral.
 
OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_get_dt (const dif_spi_host_t *spi_host, dt_spi_host_t *dt)
 Get the DT handle from this DIF.
 
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.
 
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, dif_irq_type_t *type)
 Returns the type of a given interrupt (i.e., event or status) for this IP.
 
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.
 
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, bool *is_pending)
 Returns whether a particular interrupt is currently pending.
 
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.
 
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.
 
OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_irq_acknowledge (const dif_spi_host_t *spi_host, dif_spi_host_irq_t)
 Acknowledges a particular interrupt, indicating to the hardware that it has been successfully serviced.
 
OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_irq_force (const dif_spi_host_t *spi_host, dif_spi_host_irq_t, const bool val)
 Forces a particular interrupt, causing it to be serviced as if hardware had asserted it.
 
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, dif_toggle_t *state)
 Checks whether a particular interrupt is currently enabled or disabled.
 
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, dif_toggle_t state)
 Sets whether a particular interrupt is currently enabled or disabled.
 
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.
 
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.
 

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 37 of file dif_spi_host_autogen.h.

Data Fields
mmio_region_t base_addr The base address for the spi_host hardware registers.
dt_spi_host_t dt The instance, set to kDtSpiHostCount if not initialized through dif_spi_host_init_from_dt.

Macro Definition Documentation

◆ kDifSpiHostIrqError

#define kDifSpiHostIrqError   kDtSpiHostIrqError

A spi_host interrupt request type.

DEPRECATED Use dt_spi_host_irq_t instead. This enumeration exists solely for the transition to dt-based interrupt numbers and will be removed in the future.

The following are defines to keep the types consistent with DT. Error-related interrupts, see !!ERROR_ENABLE register for more information.

Definition at line 134 of file dif_spi_host_autogen.h.

◆ kDifSpiHostIrqSpiEvent

#define kDifSpiHostIrqSpiEvent   kDtSpiHostIrqSpiEvent

Event-related interrupts, see !

!EVENT_ENABLE register for more information.

Definition at line 138 of file dif_spi_host_autogen.h.

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 248 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 146 of file dif_spi_host_autogen.h.

◆ dif_spi_host_irq_t

typedef dt_spi_host_irq_t dif_spi_host_irq_t

Definition at line 120 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 98 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 62 of file dif_spi_host_autogen.c.

◆ dif_spi_host_get_dt()

OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_get_dt ( const dif_spi_host_t * spi_host,
dt_spi_host_t * dt )

Get the DT handle from this DIF.

If this DIF was initialized by dif_spi_host_init_from_dt(dt, ..) then this function will return dt. Otherwise it will return an error.

Parameters
spi_hostA spi_host handle.
[out]dtDT handle.
Returns
kDifBadArg if the DIF has no DT information, kDifOk otherwise.

Definition at line 52 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.

DEPRECATED This function exists solely for the transition to dt-based DIFs and will be removed in the future.

Definition at line 25 of file dif_spi_host_autogen.c.

◆ dif_spi_host_init_from_dt()

OT_WARN_UNUSED_RESULT dif_result_t dif_spi_host_init_from_dt ( dt_spi_host_t dt,
dif_spi_host_t * spi_host )

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

This function does not actuate the hardware.

Parameters
dtThe devicetable description of the device.
[out]spi_hostOut param for the initialized handle.
Returns
The result of the operation.

Definition at line 39 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 213 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 194 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 152 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 321 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 238 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 263 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 135 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 116 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 169 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 348 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 290 of file dif_spi_host_autogen.c.