SPI_DEVICE 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_device |
A handle to spi_device. More... | |
Typedefs | |
typedef struct dif_spi_device | dif_spi_device_t |
A handle to spi_device. More... | |
typedef enum dif_spi_device_alert | dif_spi_device_alert_t |
A spi_device alert type. | |
typedef enum dif_spi_device_irq | dif_spi_device_irq_t |
A spi_device interrupt request type. | |
typedef uint32_t | dif_spi_device_irq_state_snapshot_t |
A snapshot of the state of the interrupts for this IP. More... | |
typedef uint32_t | dif_spi_device_irq_enable_snapshot_t |
A snapshot of the enablement state of the interrupts for this IP. More... | |
Enumerations | |
enum | dif_spi_device_alert { kDifSpiDeviceAlertFatalFault = 0 } |
A spi_device alert type. More... | |
enum | dif_spi_device_irq { kDifSpiDeviceIrqUploadCmdfifoNotEmpty = 0, kDifSpiDeviceIrqUploadPayloadNotEmpty = 1, kDifSpiDeviceIrqUploadPayloadOverflow = 2, kDifSpiDeviceIrqReadbufWatermark = 3, kDifSpiDeviceIrqReadbufFlip = 4, kDifSpiDeviceIrqTpmHeaderNotEmpty = 5, kDifSpiDeviceIrqTpmRdfifoCmdEnd = 6, kDifSpiDeviceIrqTpmRdfifoDrop = 7 } |
A spi_device interrupt request type. More... | |
Functions | |
OT_WARN_UNUSED_RESULT dif_result_t | dif_spi_device_init (mmio_region_t base_addr, dif_spi_device_t *spi_device) |
Creates a new handle for a(n) spi_device peripheral. More... | |
OT_WARN_UNUSED_RESULT dif_result_t | dif_spi_device_alert_force (const dif_spi_device_t *spi_device, dif_spi_device_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_device_irq_get_type (const dif_spi_device_t *spi_device, dif_spi_device_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_device_irq_get_state (const dif_spi_device_t *spi_device, dif_spi_device_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_device_irq_is_pending (const dif_spi_device_t *spi_device, dif_spi_device_irq_t irq, bool *is_pending) |
Returns whether a particular interrupt is currently pending. More... | |
OT_WARN_UNUSED_RESULT dif_result_t | dif_spi_device_irq_acknowledge_state (const dif_spi_device_t *spi_device, dif_spi_device_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_device_irq_acknowledge_all (const dif_spi_device_t *spi_device) |
Acknowledges all interrupts, indicating to the hardware that all interrupts have been successfully serviced. More... | |
OT_WARN_UNUSED_RESULT dif_result_t | dif_spi_device_irq_acknowledge (const dif_spi_device_t *spi_device, dif_spi_device_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_device_irq_force (const dif_spi_device_t *spi_device, dif_spi_device_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_device_irq_get_enabled (const dif_spi_device_t *spi_device, dif_spi_device_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_device_irq_set_enabled (const dif_spi_device_t *spi_device, dif_spi_device_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_device_irq_disable_all (const dif_spi_device_t *spi_device, dif_spi_device_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_device_irq_restore_all (const dif_spi_device_t *spi_device, const dif_spi_device_irq_enable_snapshot_t *snapshot) |
Restores interrupts from the given (enable) snapshot. More... | |
SPI_DEVICE Device Interface Functions
Definition in file dif_spi_device_autogen.h.
struct dif_spi_device |
A handle to spi_device.
This type should be treated as opaque by users.
Definition at line 33 of file dif_spi_device_autogen.h.
Data Fields | ||
---|---|---|
mmio_region_t | base_addr | The base address for the spi_device hardware registers. |
typedef uint32_t dif_spi_device_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_device_irq_disable_all()
and dif_spi_device_irq_restore_all()
functions.
Definition at line 224 of file dif_spi_device_autogen.h.
typedef uint32_t dif_spi_device_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_device_irq_get_state()
and dif_spi_device_irq_acknowledge_state()
functions.
Definition at line 128 of file dif_spi_device_autogen.h.
typedef struct dif_spi_device dif_spi_device_t |
A handle to spi_device.
This type should be treated as opaque by users.
enum dif_spi_device_alert |
A spi_device alert type.
Enumerator | |
---|---|
kDifSpiDeviceAlertFatalFault | This fatal alert is triggered when a fatal TL-UL bus integrity fault is detected. |
Definition at line 56 of file dif_spi_device_autogen.h.
enum dif_spi_device_irq |
A spi_device interrupt request type.
Definition at line 79 of file dif_spi_device_autogen.h.
OT_WARN_UNUSED_RESULT dif_result_t dif_spi_device_alert_force | ( | const dif_spi_device_t * | spi_device, |
dif_spi_device_alert_t | alert | ||
) |
Forces a particular alert, causing it to be escalated as if the hardware had raised it.
spi_device | A spi_device handle. |
alert | The alert to force. |
Definition at line 28 of file dif_spi_device_autogen.c.
OT_WARN_UNUSED_RESULT dif_result_t dif_spi_device_init | ( | mmio_region_t | base_addr, |
dif_spi_device_t * | spi_device | ||
) |
Creates a new handle for a(n) spi_device peripheral.
This function does not actuate the hardware.
base_addr | The MMIO base address of the spi_device peripheral. | |
[out] | spi_device | Out param for the initialized handle. |
Definition at line 17 of file dif_spi_device_autogen.c.
OT_WARN_UNUSED_RESULT dif_result_t dif_spi_device_irq_acknowledge | ( | const dif_spi_device_t * | spi_device, |
dif_spi_device_irq_t | irq | ||
) |
Acknowledges a particular interrupt, indicating to the hardware that it has been successfully serviced.
spi_device | A spi_device handle. |
irq | An interrupt request. |
Definition at line 171 of file dif_spi_device_autogen.c.
OT_WARN_UNUSED_RESULT dif_result_t dif_spi_device_irq_acknowledge_all | ( | const dif_spi_device_t * | spi_device | ) |
Acknowledges all interrupts, indicating to the hardware that all interrupts have been successfully serviced.
spi_device | A spi_device handle. |
Definition at line 157 of file dif_spi_device_autogen.c.
OT_WARN_UNUSED_RESULT dif_result_t dif_spi_device_irq_acknowledge_state | ( | const dif_spi_device_t * | spi_device, |
dif_spi_device_irq_state_snapshot_t | snapshot | ||
) |
Acknowledges all interrupts that were pending at the time of the state snapshot.
spi_device | A spi_device handle. |
snapshot | Interrupt state snapshot. |
Definition at line 122 of file dif_spi_device_autogen.c.
OT_WARN_UNUSED_RESULT dif_result_t dif_spi_device_irq_disable_all | ( | const dif_spi_device_t * | spi_device, |
dif_spi_device_irq_enable_snapshot_t * | snapshot | ||
) |
Disables all interrupts, optionally snapshotting all enable states for later restoration.
spi_device | A spi_device handle. | |
[out] | snapshot | Out-param for the snapshot; may be NULL . |
Definition at line 260 of file dif_spi_device_autogen.c.
OT_WARN_UNUSED_RESULT dif_result_t dif_spi_device_irq_force | ( | const dif_spi_device_t * | spi_device, |
dif_spi_device_irq_t | irq, | ||
const bool | val | ||
) |
Forces a particular interrupt, causing it to be serviced as if hardware had asserted it.
spi_device | A spi_device handle. |
irq | An interrupt request. |
val | Value to be set. |
Definition at line 192 of file dif_spi_device_autogen.c.
OT_WARN_UNUSED_RESULT dif_result_t dif_spi_device_irq_get_enabled | ( | const dif_spi_device_t * | spi_device, |
dif_spi_device_irq_t | irq, | ||
dif_toggle_t * | state | ||
) |
Checks whether a particular interrupt is currently enabled or disabled.
spi_device | A spi_device handle. | |
irq | An interrupt request. | |
[out] | state | Out-param toggle state of the interrupt. |
Definition at line 213 of file dif_spi_device_autogen.c.
OT_WARN_UNUSED_RESULT dif_result_t dif_spi_device_irq_get_state | ( | const dif_spi_device_t * | spi_device, |
dif_spi_device_irq_state_snapshot_t * | snapshot | ||
) |
Returns the state of all interrupts (i.e., pending or not) for this IP.
spi_device | A spi_device handle. | |
[out] | snapshot | Out-param for interrupt state snapshot. |
Definition at line 108 of file dif_spi_device_autogen.c.
OT_WARN_UNUSED_RESULT dif_result_t dif_spi_device_irq_get_type | ( | const dif_spi_device_t * | spi_device, |
dif_spi_device_irq_t | irq, | ||
dif_irq_type_t * | type | ||
) |
Returns the type of a given interrupt (i.e., event or status) for this IP.
spi_device | A spi_device handle. | |
irq | An interrupt request. | |
[out] | type | Out-param for the interrupt type. |
Definition at line 94 of file dif_spi_device_autogen.c.
OT_WARN_UNUSED_RESULT dif_result_t dif_spi_device_irq_is_pending | ( | const dif_spi_device_t * | spi_device, |
dif_spi_device_irq_t | irq, | ||
bool * | is_pending | ||
) |
Returns whether a particular interrupt is currently pending.
spi_device | A spi_device handle. | |
irq | An interrupt request. | |
[out] | is_pending | Out-param for whether the interrupt is pending. |
Definition at line 136 of file dif_spi_device_autogen.c.
OT_WARN_UNUSED_RESULT dif_result_t dif_spi_device_irq_restore_all | ( | const dif_spi_device_t * | spi_device, |
const dif_spi_device_irq_enable_snapshot_t * | snapshot | ||
) |
Restores interrupts from the given (enable) snapshot.
spi_device | A spi_device handle. |
snapshot | A snapshot to restore from. |
Definition at line 281 of file dif_spi_device_autogen.c.
OT_WARN_UNUSED_RESULT dif_result_t dif_spi_device_irq_set_enabled | ( | const dif_spi_device_t * | spi_device, |
dif_spi_device_irq_t | irq, | ||
dif_toggle_t | state | ||
) |
Sets whether a particular interrupt is currently enabled or disabled.
spi_device | A spi_device handle. |
irq | An interrupt request. |
state | The new toggle state for the interrupt. |
Definition at line 235 of file dif_spi_device_autogen.c.