nRF Connect SDK API 3.3.99
Loading...
Searching...
No Matches
ppi_seq_i2c_spi.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2026 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5 */
6
7#ifndef NRF_DRIVERS_PPI_SEQ_PPI_SEQ_I2C_SPI_H
8#define NRF_DRIVERS_PPI_SEQ_PPI_SEQ_I2C_SPI_H
9
20#include <string.h>
21#include <nrfx_spim.h>
22#include <nrfx_twim.h>
24#include <zephyr/device.h>
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
33 nrfx_spim_xfer_desc_t spim;
34
36 nrfx_twim_xfer_desc_t twim;
37};
38
49
50/* Forward declaration. */
51struct ppi_seq_i2c_spi;
52
60typedef void (*ppi_seq_i2c_spi_cb_t)(const struct device *dev, struct ppi_seq_i2c_spi_batch *batch,
61 bool last, void *user_data);
62
99
109int ppi_seq_i2c_spi_start(const struct device *dev, size_t period, struct ppi_seq_i2c_spi_job *job);
110
119int ppi_seq_i2c_spi_stop(const struct device *dev, bool immediate);
120
133int ppi_seq_i2c_spi_xfer(const struct device *dev, union ppi_seq_i2c_spi_xfer_desc *desc);
134
135#ifdef __cplusplus
136}
137#endif
138
143#endif /* NRF_DRIVERS_PPI_SEQ_PPI_SEQ_I2C_SPI_H */
void(* ppi_seq_i2c_spi_cb_t)(const struct device *dev, struct ppi_seq_i2c_spi_batch *batch, bool last, void *user_data)
Callback called on batch completion.
Definition ppi_seq_i2c_spi.h:60
int ppi_seq_i2c_spi_start(const struct device *dev, size_t period, struct ppi_seq_i2c_spi_job *job)
Start the I2C/SPI PPI sequencer.
int ppi_seq_i2c_spi_xfer(const struct device *dev, union ppi_seq_i2c_spi_xfer_desc *desc)
Perform a single synchronous transfer.
int ppi_seq_i2c_spi_stop(const struct device *dev, bool immediate)
Stop the I2C/SPI PPI sequencer.
uint8_t batch_cnt
Definition ppi_seq_i2c_spi.h:47
union ppi_seq_i2c_spi_xfer_desc desc
Definition ppi_seq_i2c_spi.h:44
Data passed to the callback on the batch completion.
Definition ppi_seq_i2c_spi.h:40
union ppi_seq_i2c_spi_xfer_desc desc
Definition ppi_seq_i2c_spi.h:72
ppi_seq_i2c_spi_cb_t cb
Definition ppi_seq_i2c_spi.h:94
uint8_t * rx_second_buf
Definition ppi_seq_i2c_spi.h:78
size_t repeat
Definition ppi_seq_i2c_spi.h:86
bool tx_postinc
Definition ppi_seq_i2c_spi.h:91
uint8_t * tx_second_buf
Definition ppi_seq_i2c_spi.h:75
void * user_data
Definition ppi_seq_i2c_spi.h:97
uint8_t batch_cnt
Definition ppi_seq_i2c_spi.h:83
I2C/SPI PPI Sequencer job description.
Definition ppi_seq_i2c_spi.h:70
nrfx_twim_xfer_desc_t twim
Definition ppi_seq_i2c_spi.h:36
nrfx_spim_xfer_desc_t spim
Definition ppi_seq_i2c_spi.h:33
Generic transfer descriptor.
Definition ppi_seq_i2c_spi.h:31