Zephyr API Documentation  3.0.0
A Scalable Open Source RTOS
3.0.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
spi_emul.h
Go to the documentation of this file.
1/*
2 * Copyright 2020 Google LLC
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_DRIVERS_SPI_SPI_EMUL_H_
8#define ZEPHYR_INCLUDE_DRIVERS_SPI_SPI_EMUL_H_
9
16#include <zephyr/types.h>
17#include <device.h>
18#include <drivers/emul.h>
19
27#ifdef __cplusplus
28extern "C" {
29#endif
30
31struct spi_msg;
32struct spi_emul_api;
33
35struct spi_emul {
37
39 const struct emul *parent;
40
41 /* API provided for this device */
42 const struct spi_emul_api *api;
43
44 /* SPI chip-slect of the emulated device */
46};
47
64typedef int (*spi_emul_io_t)(struct spi_emul *emul,
65 const struct spi_config *config,
66 const struct spi_buf_set *tx_bufs,
67 const struct spi_buf_set *rx_bufs);
68
77int spi_emul_register(const struct device *dev, const char *name,
78 struct spi_emul *emul);
79
83};
84
92
93#ifdef __cplusplus
94}
95#endif
96
101#endif /* ZEPHYR_INCLUDE_DRIVERS_SPI_SPI_EMUL_H_ */
int(* spi_emul_io_t)(struct spi_emul *emul, const struct spi_config *config, const struct spi_buf_set *tx_bufs, const struct spi_buf_set *rx_bufs)
Definition: spi_emul.h:64
int spi_emul_register(const struct device *dev, const char *name, struct spi_emul *emul)
uint32_t spi_emul_get_config(const struct device *dev)
struct _snode sys_snode_t
Definition: slist.h:33
__UINT32_TYPE__ uint32_t
Definition: stdint.h:60
__UINT16_TYPE__ uint16_t
Definition: stdint.h:59
Runtime device structure (in ROM) per driver instance.
Definition: device.h:450
Definition: emul.h:52
SPI buffer array structure.
Definition: spi.h:440
SPI controller configuration structure.
Definition: spi.h:303
Definition: spi_emul.h:81
spi_emul_io_t io
Definition: spi_emul.h:82
Definition: spi_emul.h:35
sys_snode_t node
Definition: spi_emul.h:36
uint16_t chipsel
Definition: spi_emul.h:45
const struct spi_emul_api * api
Definition: spi_emul.h:42
const struct emul * parent
Definition: spi_emul.h:39