11#ifndef ZEPHYR_DRIVERS_MFD_SC18IS604_H_
12#define ZEPHYR_DRIVERS_MFD_SC18IS604_H_
18#include <zephyr/kernel.h>
19#include <zephyr/drivers/gpio.h>
20#include <zephyr/drivers/spi.h>
28#define MFD_SC18IS604_SPI_HZ_MIN 100000
29#define MFD_SC18IS604_SPI_HZ_MAX 1200000
31#define MFD_SC18IS604_SPI_DELAY_USEC 8
32#define MFD_SC18IS604_RESET_SETUP_USEC 1
33#define MFD_SC18IS604_RESET_TIME_USEC 500
36#define MFD_SC18IS604_CMD_MAX_TOUT_USEC 200
39#define MFD_SC18IS604_VERSION_CHIP "SC18IS604"
41 "Chip name too long");
52struct mfd_sc18is604_config {
54 const struct spi_dt_spec spi;
56 const struct gpio_dt_spec interrupt;
58 const struct gpio_dt_spec reset;
70struct mfd_sc18is604_data {
72 const struct device *dev;
76 struct gpio_callback interrupt_cb;
78 struct k_sem interrupt_signal;
80 sys_slist_t child_callbacks;
81#ifdef CONFIG_MFD_SC18IS604_ASYNC
83 struct k_work_q work_queue;
85 k_thread_stack_t *work_queue_stack;
#define MFD_SC18IS604_VERSION_CHIP
Definition mfd_sc18is604.h:39
MFD Interface for an SC18IM604 bridge.
#define SC18IS604_VERSION_STRING_SIZE
Definition sc18is604.h:42