TT-System-Firmware APIs 19.10.99
Tenstorrent Firmware
Loading...
Searching...
No Matches
reset_tt_bh.c File Reference
#include <stdbool.h>
#include <stdint.h>
#include <zephyr/device.h>
#include <zephyr/drivers/reset.h>
#include <zephyr/kernel.h>
#include <zephyr/sys/sys_io.h>
Include dependency graph for reset_tt_bh.c:

Data Structures

struct  tt_bh_reset_config
struct  tt_bh_reset_data

Macros

#define DT_DRV_COMPAT   tenstorrent_bh_reset
#define TT_BH_RESET_MASK_FROM_NRESETS(_n)
#define TT_BH_RESET_MASK(_n)
#define TT_BH_NUM_RESET_SPECIFIERS(_n)
#define TT_BH_RESET_MASK_DEFINE(_n)
#define TT_BH_RESET_DEFINE(_n)

Functions

static bool tt_bh_reset_is_valid_id (const struct device *dev, uint32_t id)
static int tt_bh_reset_status (const struct device *dev, uint32_t id, uint8_t *status)
static int tt_bh_reset_line_assert (const struct device *dev, uint32_t id)
static int tt_bh_reset_line_deassert (const struct device *dev, uint32_t id)
static int tt_bh_reset_line_toggle (const struct device *dev, uint32_t id)
static int tt_bh_reset_init (const struct device *dev)
 DT_INST_FOREACH_STATUS_OKAY (TT_BH_RESET_DEFINE)

Variables

static const struct reset_driver_api tt_bh_reset_api

Macro Definition Documentation

◆ DT_DRV_COMPAT

#define DT_DRV_COMPAT   tenstorrent_bh_reset

◆ TT_BH_NUM_RESET_SPECIFIERS

#define TT_BH_NUM_RESET_SPECIFIERS ( _n)
Value:
(!!DT_INST_PROP_OR(_n, nresets, 0) + !!DT_INST_PROP_OR(_n, reset_mask, 0))
#define DT_INST_PROP_OR(inst, prop, default_value)

◆ TT_BH_RESET_DEFINE

#define TT_BH_RESET_DEFINE ( _n)
Value:
"Maximally 1 of nresets or reset-mask may be specified"); \
\
static struct tt_bh_reset_data tt_bh_reset_data_##_n; \
static const struct tt_bh_reset_config tt_bh_reset_config_##_n = { \
.base = DT_INST_REG_ADDR(_n), \
.reset_mask = TT_BH_RESET_MASK_DEFINE(_n), \
}; \
\
BUILD_ASSERT(TT_BH_RESET_MASK_DEFINE(_n) != 0, "reset mask should never be zero"); \
\
DEVICE_DT_INST_DEFINE(_n, tt_bh_reset_init, NULL, &tt_bh_reset_data_##_n, \
&tt_bh_reset_config_##_n, PRE_KERNEL_1, CONFIG_RESET_INIT_PRIORITY, \
#define NULL
Definition avs.c:45
#define DT_INST_REG_ADDR(inst)
BUILD_ASSERT(sizeof(union request)<=(sizeof(uint32_t) *REQUEST_MSG_LEN))
static const struct reset_driver_api tt_bh_reset_api
Definition reset_tt_bh.c:118
#define TT_BH_NUM_RESET_SPECIFIERS(_n)
Definition reset_tt_bh.c:127
#define TT_BH_RESET_MASK_DEFINE(_n)
Definition reset_tt_bh.c:130
static int tt_bh_reset_init(const struct device *dev)
Definition reset_tt_bh.c:111
Definition reset_tt_bh.c:18
Definition reset_tt_bh.c:23

◆ TT_BH_RESET_MASK

#define TT_BH_RESET_MASK ( _n)
Value:
DT_INST_PROP_OR(_n, reset_mask, 0)

◆ TT_BH_RESET_MASK_DEFINE

#define TT_BH_RESET_MASK_DEFINE ( _n)
Value:
#define TT_BH_RESET_MASK(_n)
Definition reset_tt_bh.c:126
#define TT_BH_RESET_MASK_FROM_NRESETS(_n)
Definition reset_tt_bh.c:125

◆ TT_BH_RESET_MASK_FROM_NRESETS

#define TT_BH_RESET_MASK_FROM_NRESETS ( _n)
Value:
((uint32_t)BIT64_MASK(DT_INST_PROP_OR(_n, nresets, 0)))
#define BIT64_MASK(n)
__UINT32_TYPE__ uint32_t

Function Documentation

◆ DT_INST_FOREACH_STATUS_OKAY()

DT_INST_FOREACH_STATUS_OKAY ( TT_BH_RESET_DEFINE )

◆ tt_bh_reset_init()

int tt_bh_reset_init ( const struct device * dev)
static

◆ tt_bh_reset_is_valid_id()

bool tt_bh_reset_is_valid_id ( const struct device * dev,
uint32_t id )
inlinestatic

◆ tt_bh_reset_line_assert()

int tt_bh_reset_line_assert ( const struct device * dev,
uint32_t id )
static

◆ tt_bh_reset_line_deassert()

int tt_bh_reset_line_deassert ( const struct device * dev,
uint32_t id )
static

◆ tt_bh_reset_line_toggle()

int tt_bh_reset_line_toggle ( const struct device * dev,
uint32_t id )
static

◆ tt_bh_reset_status()

int tt_bh_reset_status ( const struct device * dev,
uint32_t id,
uint8_t * status )
static

Variable Documentation

◆ tt_bh_reset_api

const struct reset_driver_api tt_bh_reset_api
static
Initial value:
= {
.status = tt_bh_reset_status,
.line_assert = tt_bh_reset_line_assert,
.line_deassert = tt_bh_reset_line_deassert,
.line_toggle = tt_bh_reset_line_toggle,
}
static int tt_bh_reset_line_deassert(const struct device *dev, uint32_t id)
Definition reset_tt_bh.c:71
static int tt_bh_reset_line_assert(const struct device *dev, uint32_t id)
Definition reset_tt_bh.c:52
static int tt_bh_reset_line_toggle(const struct device *dev, uint32_t id)
Definition reset_tt_bh.c:90
static int tt_bh_reset_status(const struct device *dev, uint32_t id, uint8_t *status)
Definition reset_tt_bh.c:38