TT-System-Firmware APIs 19.15.99
Tenstorrent Firmware
Loading...
Searching...
No Matches
flash_mux.c File Reference
#include <errno.h>
#include <zephyr/device.h>
#include <zephyr/devicetree.h>
#include <zephyr/drivers/flash.h>
#include <zephyr/logging/log.h>
#include <zephyr/sys/util.h>
Include dependency graph for flash_mux.c:

Data Structures

struct  flash_mux_config
struct  flash_mux_data

Macros

#define DT_DRV_COMPAT   tenstorrent_flash_mux
#define FLASH_MUX_CANDIDATE(node_id, prop, idx)
#define FLASH_MUX_DEFINE(inst)

Functions

 LOG_MODULE_REGISTER (flash_mux, CONFIG_FLASH_LOG_LEVEL)
static const struct deviceflash_mux_active (const struct device *dev)
static int flash_mux_read (const struct device *dev, off_t offset, void *data, size_t len)
static int flash_mux_write (const struct device *dev, off_t offset, const void *data, size_t len)
static int flash_mux_erase (const struct device *dev, off_t offset, size_t len)
static const struct flash_parametersflash_mux_get_parameters (const struct device *dev)
static int flash_mux_get_size (const struct device *dev, uint64_t *size)
static int flash_mux_init (const struct device *dev)
static DEVICE_API (flash, flash_mux_api)

Macro Definition Documentation

◆ DT_DRV_COMPAT

#define DT_DRV_COMPAT   tenstorrent_flash_mux

◆ FLASH_MUX_CANDIDATE

#define FLASH_MUX_CANDIDATE ( node_id,
prop,
idx )
Value:
DEVICE_DT_GET(DT_PHANDLE_BY_IDX(node_id, prop, idx)),
#define DEVICE_DT_GET(node_id)
#define DT_PHANDLE_BY_IDX(node_id, prop, idx)

◆ FLASH_MUX_DEFINE

#define FLASH_MUX_DEFINE ( inst)
Value:
static const struct device *const flash_mux_candidates_##inst[] = { \
DT_INST_FOREACH_PROP_ELEM(inst, flash_devices, FLASH_MUX_CANDIDATE)}; \
static const struct flash_mux_config flash_mux_config_##inst = { \
.candidates = flash_mux_candidates_##inst, \
.num_candidates = ARRAY_SIZE(flash_mux_candidates_##inst), \
}; \
static struct flash_mux_data flash_mux_data_##inst; \
DEVICE_DT_INST_DEFINE(inst, flash_mux_init, NULL, &flash_mux_data_##inst, \
&flash_mux_config_##inst, POST_KERNEL, \
CONFIG_FLASH_TT_MUX_INIT_PRIORITY, &flash_mux_api);
#define NULL
Definition avs.c:45
#define FLASH_MUX_CANDIDATE(node_id, prop, idx)
Definition flash_mux.c:127
static int flash_mux_init(const struct device *dev)
Definition flash_mux.c:90
#define ARRAY_SIZE(array)
Definition flash_mux.c:19
size_t num_candidates
Definition flash_mux.c:21

Function Documentation

◆ DEVICE_API()

DEVICE_API ( flash ,
flash_mux_api  )
static

◆ flash_mux_active()

const struct device * flash_mux_active ( const struct device * dev)
static

◆ flash_mux_erase()

int flash_mux_erase ( const struct device * dev,
off_t offset,
size_t len )
static

◆ flash_mux_get_parameters()

const struct flash_parameters * flash_mux_get_parameters ( const struct device * dev)
static

◆ flash_mux_get_size()

int flash_mux_get_size ( const struct device * dev,
uint64_t * size )
static

◆ flash_mux_init()

int flash_mux_init ( const struct device * dev)
static

◆ flash_mux_read()

int flash_mux_read ( const struct device * dev,
off_t offset,
void * data,
size_t len )
static

◆ flash_mux_write()

int flash_mux_write ( const struct device * dev,
off_t offset,
const void * data,
size_t len )
static

◆ LOG_MODULE_REGISTER()

LOG_MODULE_REGISTER ( flash_mux ,
CONFIG_FLASH_LOG_LEVEL  )