12#ifndef ZEPHYR_INCLUDE_NVMEM_H_
13#define ZEPHYR_INCLUDE_NVMEM_H_
95#define NVMEM_CELL_INIT(node_id) \
97 .dev = DEVICE_DT_GET(DT_MTD_FROM_NVMEM_CELL(node_id)), \
98 .offset = DT_REG_ADDR(node_id), \
99 .size = DT_REG_SIZE(node_id), \
100 .read_only = DT_PROP(node_id, read_only), \
154#define NVMEM_CELL_GET_BY_NAME(node_id, name) NVMEM_CELL_INIT(DT_NVMEM_CELL_BY_NAME(node_id, name))
168#define NVMEM_CELL_INST_GET_BY_NAME(inst, name) NVMEM_CELL_GET_BY_NAME(DT_DRV_INST(inst), name)
188#define NVMEM_CELL_GET_BY_NAME_OR(node_id, name, default_value) \
189 COND_CODE_1(DT_PROP_HAS_NAME(node_id, nvmem_cells, name), \
190 (NVMEM_CELL_GET_BY_NAME(node_id, name)), \
207#define NVMEM_CELL_INST_GET_BY_NAME_OR(inst, name, default_value) \
208 NVMEM_CELL_GET_BY_NAME_OR(DT_DRV_INST(inst), name, default_value)
260#define NVMEM_CELL_GET_BY_IDX(node_id, idx) NVMEM_CELL_INIT(DT_NVMEM_CELL_BY_IDX(node_id, idx))
273#define NVMEM_CELL_INST_GET_BY_IDX(inst, idx) NVMEM_CELL_GET_BY_IDX(DT_DRV_INST(inst), idx)
292#define NVMEM_CELL_GET_BY_IDX_OR(node_id, idx, default_value) \
293 COND_CODE_1(DT_PROP_HAS_IDX(node_id, nvmem_cells, idx), \
294 (NVMEM_CELL_GET_BY_IDX(node_id, idx)), \
310#define NVMEM_CELL_INST_GET_BY_IDX_OR(inst, idx, default_value) \
311 NVMEM_CELL_GET_BY_IDX_OR(DT_DRV_INST(inst), idx, default_value)
376 return cell->read_only;
irp nz macro MOVR cc s mov cc s endm endr irp aw macro LDR aa off
Definition asm-macro-32-bit-gnu.h:17
Public NVMEM devicetree header file.
bool device_is_ready(const struct device *dev)
Verify that a device is ready for use.
int nvmem_cell_read(const struct nvmem_cell *cell, void *data, off_t off, size_t len)
Read data from an NVMEM cell.
static bool nvmem_cell_is_ready(const struct nvmem_cell *cell)
Check if an NVMEM cell is ready.
Definition nvmem.h:362
static bool nvmem_cell_is_read_only(const struct nvmem_cell *cell)
Check if an NVMEM cell is read-only.
Definition nvmem.h:374
int nvmem_cell_write(const struct nvmem_cell *cell, const void *data, off_t off, size_t len)
Write data to an NVMEM cell.
#define NULL
Definition iar_missing_defs.h:20
__INTPTR_TYPE__ off_t
Definition types.h:36
Runtime device structure (in ROM) per driver instance.
Definition device.h:513
void * data
Address of the device instance private data.
Definition device.h:523
Non-Volatile Memory cell representation.
Definition nvmem.h:36