9#include <zephyr/kernel.h>
10#include <zephyr/device.h>
11#include <zephyr/drivers/i2c.h>
12#include <zephyr/drivers/gpio.h>
13#include <zephyr/sys/ring_buffer.h>
15#include <zephyr/modem/pipe.h>
19#ifndef INFUSE_MODEM_BACKEND_U_BLOX_I2C_
20#define INFUSE_MODEM_BACKEND_U_BLOX_I2C_
36 const struct i2c_dt_spec *
i2c;
42 const struct i2c_dt_spec *
i2c;
void modem_backend_ublox_i2c_use_data_ready_gpio(struct modem_backend_ublox_i2c *backend)
Transition from polling to interrupt driven mode.
struct modem_pipe * modem_backend_ublox_i2c_init(struct modem_backend_ublox_i2c *backend, const struct modem_backend_ublox_i2c_config *config)
Initialize modem backend.
void modem_backend_ublox_i2c_mon_rxr(struct modem_backend_ublox_i2c *backend, bool awake, bool pm_active)
MON-RXR message handler to track modem state.
Common u-blox modem backend state.
Common state for u-blox modem backends.
Definition common.h:23
u-blox I2C modem backend configuration
Definition u_blox_i2c.h:40
const struct gpio_dt_spec * data_ready
GPIO that will transition to active when data is ready after modem_backend_ublox_i2c_use_data_ready_g...
Definition u_blox_i2c.h:46
k_timeout_t poll_period
Period to poll for data before modem_backend_ublox_i2c_use_data_ready_gpio.
Definition u_blox_i2c.h:48
const struct i2c_dt_spec * i2c
Bus to use.
Definition u_blox_i2c.h:42
u-blox I2C modem backend state
Definition u_blox_i2c.h:32
struct modem_backend_common common
Common backend.
Definition u_blox_i2c.h:34
const struct i2c_dt_spec * i2c
Pointer to I2C configuration.
Definition u_blox_i2c.h:36