blob: a46e0860305ca1c46e1175845e901eec9df31219 [file] [log] [blame]
/* ST Microelectronics STMEMS hal i/f
*
* Copyright (c) 2021 STMicroelectronics
*
* SPDX-License-Identifier: Apache-2.0
*
* zephyrproject-rtos/modules/hal/st/sensor/stmemsc/
*/
#ifndef ZEPHYR_DRIVERS_SENSOR_STMEMSC_STMEMSC_H_
#define ZEPHYR_DRIVERS_SENSOR_STMEMSC_STMEMSC_H_
#include <drivers/i2c.h>
#include <drivers/spi.h>
#ifdef CONFIG_I2C
struct stmemsc_cfg_i2c {
const struct device *bus;
uint16_t i2c_slv_addr;
};
int stmemsc_i2c_read(const struct stmemsc_cfg_i2c *stmemsc,
uint8_t reg_addr, uint8_t *value, uint8_t len);
int stmemsc_i2c_write(const struct stmemsc_cfg_i2c *stmemsc,
uint8_t reg_addr, uint8_t *value, uint8_t len);
#endif
#ifdef CONFIG_SPI
struct stmemsc_cfg_spi {
const struct device *bus;
struct spi_config spi_cfg;
};
int stmemsc_spi_read(const struct stmemsc_cfg_spi *stmemsc,
uint8_t reg_addr, uint8_t *value, uint8_t len);
int stmemsc_spi_write(const struct stmemsc_cfg_spi *stmemsc,
uint8_t reg_addr, uint8_t *value, uint8_t len);
#endif
#endif /* ZEPHYR_DRIVERS_SENSOR_STMEMSC_STMEMSC_H_ */