modules/hal_st: Align sensor drivers to stmemsc HAL i/f v2.02
Align all sensor drivers that are using stmemsc (STdC) HAL i/f to new APIs of stmemsc v2.02. Please note that now a new function callback, mdelay(), must be provided in case the stmemsc HAL requires to wait for a certain amount of milliseconds before or after some special operations. Requires https://github.com/zephyrproject-rtos/hal_st/pull/13 (merged as 5948f7b3304f1628a45ee928cd607619a7f53bbb) Signed-off-by: Armando Visconti <armando.visconti@st.com>
This commit is contained in:
parent
b4331836de
commit
15389ea902
32 changed files with 74 additions and 9 deletions
|
@ -240,6 +240,8 @@ int hts221_init(const struct device *dev)
|
||||||
(stmdev_read_ptr) stmemsc_spi_read, \
|
(stmdev_read_ptr) stmemsc_spi_read, \
|
||||||
.write_reg = \
|
.write_reg = \
|
||||||
(stmdev_write_ptr) stmemsc_spi_write, \
|
(stmdev_write_ptr) stmemsc_spi_write, \
|
||||||
|
.mdelay = \
|
||||||
|
(stmdev_mdelay_ptr) stmemsc_mdelay, \
|
||||||
.handle = \
|
.handle = \
|
||||||
(void *)&hts221_config_##inst.stmemsc_cfg, \
|
(void *)&hts221_config_##inst.stmemsc_cfg, \
|
||||||
}, \
|
}, \
|
||||||
|
@ -263,6 +265,8 @@ int hts221_init(const struct device *dev)
|
||||||
(stmdev_read_ptr) stmemsc_i2c_read, \
|
(stmdev_read_ptr) stmemsc_i2c_read, \
|
||||||
.write_reg = \
|
.write_reg = \
|
||||||
(stmdev_write_ptr) stmemsc_i2c_write, \
|
(stmdev_write_ptr) stmemsc_i2c_write, \
|
||||||
|
.mdelay = \
|
||||||
|
(stmdev_mdelay_ptr) stmemsc_mdelay, \
|
||||||
.handle = \
|
.handle = \
|
||||||
(void *)&hts221_config_##inst.stmemsc_cfg, \
|
(void *)&hts221_config_##inst.stmemsc_cfg, \
|
||||||
}, \
|
}, \
|
||||||
|
|
|
@ -3,3 +3,5 @@
|
||||||
zephyr_library()
|
zephyr_library()
|
||||||
|
|
||||||
zephyr_library_sources(i3g4250d.c i3g4250d_spi.c)
|
zephyr_library_sources(i3g4250d.c i3g4250d_spi.c)
|
||||||
|
|
||||||
|
zephyr_library_include_directories(../stmemsc)
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
#include <zephyr/drivers/gpio.h>
|
#include <zephyr/drivers/gpio.h>
|
||||||
#include <zephyr/drivers/sensor.h>
|
#include <zephyr/drivers/sensor.h>
|
||||||
#include <zephyr/sys/util.h>
|
#include <zephyr/sys/util.h>
|
||||||
|
#include <stmemsc.h>
|
||||||
#include "i3g4250d_reg.h"
|
#include "i3g4250d_reg.h"
|
||||||
|
|
||||||
struct i3g4250d_device_config {
|
struct i3g4250d_device_config {
|
||||||
|
|
|
@ -85,6 +85,7 @@ static int i3g4250d_spi_write(const struct device *dev, uint8_t reg,
|
||||||
stmdev_ctx_t i3g4250d_spi_ctx = {
|
stmdev_ctx_t i3g4250d_spi_ctx = {
|
||||||
.read_reg = (stmdev_read_ptr) i3g4250d_spi_read,
|
.read_reg = (stmdev_read_ptr) i3g4250d_spi_read,
|
||||||
.write_reg = (stmdev_write_ptr) i3g4250d_spi_write,
|
.write_reg = (stmdev_write_ptr) i3g4250d_spi_write,
|
||||||
|
.mdelay = (stmdev_mdelay_ptr) stmemsc_mdelay,
|
||||||
};
|
};
|
||||||
|
|
||||||
int i3g4250d_spi_init(const struct device *dev)
|
int i3g4250d_spi_init(const struct device *dev)
|
||||||
|
|
|
@ -10,3 +10,5 @@ zephyr_library_sources(iis2dh.c)
|
||||||
zephyr_library_sources(iis2dh_i2c.c)
|
zephyr_library_sources(iis2dh_i2c.c)
|
||||||
zephyr_library_sources(iis2dh_spi.c)
|
zephyr_library_sources(iis2dh_spi.c)
|
||||||
zephyr_library_sources_ifdef(CONFIG_IIS2DH_TRIGGER iis2dh_trigger.c)
|
zephyr_library_sources_ifdef(CONFIG_IIS2DH_TRIGGER iis2dh_trigger.c)
|
||||||
|
|
||||||
|
zephyr_library_include_directories(../stmemsc)
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
#include <zephyr/sys/util.h>
|
#include <zephyr/sys/util.h>
|
||||||
#include <zephyr/drivers/sensor.h>
|
#include <zephyr/drivers/sensor.h>
|
||||||
#include <zephyr/kernel.h>
|
#include <zephyr/kernel.h>
|
||||||
|
#include <stmemsc.h>
|
||||||
#include "iis2dh_reg.h"
|
#include "iis2dh_reg.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -38,6 +38,7 @@ static int iis2dh_i2c_write(const struct device *dev, uint8_t reg_addr, uint8_t
|
||||||
stmdev_ctx_t iis2dh_i2c_ctx = {
|
stmdev_ctx_t iis2dh_i2c_ctx = {
|
||||||
.read_reg = (stmdev_read_ptr) iis2dh_i2c_read,
|
.read_reg = (stmdev_read_ptr) iis2dh_i2c_read,
|
||||||
.write_reg = (stmdev_write_ptr) iis2dh_i2c_write,
|
.write_reg = (stmdev_write_ptr) iis2dh_i2c_write,
|
||||||
|
.mdelay = (stmdev_mdelay_ptr) stmemsc_mdelay,
|
||||||
};
|
};
|
||||||
|
|
||||||
int iis2dh_i2c_init(const struct device *dev)
|
int iis2dh_i2c_init(const struct device *dev)
|
||||||
|
|
|
@ -85,6 +85,7 @@ static int iis2dh_spi_write(const struct device *dev, uint8_t reg, uint8_t *data
|
||||||
stmdev_ctx_t iis2dh_spi_ctx = {
|
stmdev_ctx_t iis2dh_spi_ctx = {
|
||||||
.read_reg = (stmdev_read_ptr) iis2dh_spi_read,
|
.read_reg = (stmdev_read_ptr) iis2dh_spi_read,
|
||||||
.write_reg = (stmdev_write_ptr) iis2dh_spi_write,
|
.write_reg = (stmdev_write_ptr) iis2dh_spi_write,
|
||||||
|
.mdelay = (stmdev_mdelay_ptr) stmemsc_mdelay,
|
||||||
};
|
};
|
||||||
|
|
||||||
int iis2dh_spi_init(const struct device *dev)
|
int iis2dh_spi_init(const struct device *dev)
|
||||||
|
|
|
@ -459,6 +459,8 @@ static int iis2dlpc_init(const struct device *dev)
|
||||||
(stmdev_read_ptr) stmemsc_spi_read, \
|
(stmdev_read_ptr) stmemsc_spi_read, \
|
||||||
.write_reg = \
|
.write_reg = \
|
||||||
(stmdev_write_ptr) stmemsc_spi_write, \
|
(stmdev_write_ptr) stmemsc_spi_write, \
|
||||||
|
.mdelay = \
|
||||||
|
(stmdev_mdelay_ptr) stmemsc_mdelay, \
|
||||||
.handle = \
|
.handle = \
|
||||||
(void *)&iis2dlpc_config_##inst.stmemsc_cfg, \
|
(void *)&iis2dlpc_config_##inst.stmemsc_cfg, \
|
||||||
}, \
|
}, \
|
||||||
|
@ -485,6 +487,8 @@ static int iis2dlpc_init(const struct device *dev)
|
||||||
(stmdev_read_ptr) stmemsc_i2c_read, \
|
(stmdev_read_ptr) stmemsc_i2c_read, \
|
||||||
.write_reg = \
|
.write_reg = \
|
||||||
(stmdev_write_ptr) stmemsc_i2c_write, \
|
(stmdev_write_ptr) stmemsc_i2c_write, \
|
||||||
|
.mdelay = \
|
||||||
|
(stmdev_mdelay_ptr) stmemsc_mdelay, \
|
||||||
.handle = \
|
.handle = \
|
||||||
(void *)&iis2dlpc_config_##inst.stmemsc_cfg, \
|
(void *)&iis2dlpc_config_##inst.stmemsc_cfg, \
|
||||||
}, \
|
}, \
|
||||||
|
|
|
@ -663,6 +663,8 @@ static int iis2iclx_init(const struct device *dev)
|
||||||
(stmdev_read_ptr) stmemsc_spi_read, \
|
(stmdev_read_ptr) stmemsc_spi_read, \
|
||||||
.write_reg = \
|
.write_reg = \
|
||||||
(stmdev_write_ptr) stmemsc_spi_write, \
|
(stmdev_write_ptr) stmemsc_spi_write, \
|
||||||
|
.mdelay = \
|
||||||
|
(stmdev_mdelay_ptr) stmemsc_mdelay, \
|
||||||
.handle = \
|
.handle = \
|
||||||
(void *)&iis2iclx_config_##inst.stmemsc_cfg, \
|
(void *)&iis2iclx_config_##inst.stmemsc_cfg, \
|
||||||
}, \
|
}, \
|
||||||
|
@ -688,6 +690,8 @@ static int iis2iclx_init(const struct device *dev)
|
||||||
(stmdev_read_ptr) stmemsc_i2c_read, \
|
(stmdev_read_ptr) stmemsc_i2c_read, \
|
||||||
.write_reg = \
|
.write_reg = \
|
||||||
(stmdev_write_ptr) stmemsc_i2c_write, \
|
(stmdev_write_ptr) stmemsc_i2c_write, \
|
||||||
|
.mdelay = \
|
||||||
|
(stmdev_mdelay_ptr) stmemsc_mdelay, \
|
||||||
.handle = \
|
.handle = \
|
||||||
(void *)&iis2iclx_config_##inst.stmemsc_cfg, \
|
(void *)&iis2iclx_config_##inst.stmemsc_cfg, \
|
||||||
}, \
|
}, \
|
||||||
|
|
|
@ -9,3 +9,5 @@ zephyr_library_sources(iis2mdc.c)
|
||||||
zephyr_library_sources(iis2mdc_i2c.c)
|
zephyr_library_sources(iis2mdc_i2c.c)
|
||||||
zephyr_library_sources(iis2mdc_spi.c)
|
zephyr_library_sources(iis2mdc_spi.c)
|
||||||
zephyr_library_sources_ifdef(CONFIG_IIS2MDC_TRIGGER iis2mdc_trigger.c)
|
zephyr_library_sources_ifdef(CONFIG_IIS2MDC_TRIGGER iis2mdc_trigger.c)
|
||||||
|
|
||||||
|
zephyr_library_include_directories(../stmemsc)
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
#include <zephyr/drivers/sensor.h>
|
#include <zephyr/drivers/sensor.h>
|
||||||
#include <zephyr/kernel.h>
|
#include <zephyr/kernel.h>
|
||||||
#include <zephyr/sys/util.h>
|
#include <zephyr/sys/util.h>
|
||||||
|
#include <stmemsc.h>
|
||||||
#include "iis2mdc_reg.h"
|
#include "iis2mdc_reg.h"
|
||||||
|
|
||||||
#if DT_ANY_INST_ON_BUS_STATUS_OKAY(spi)
|
#if DT_ANY_INST_ON_BUS_STATUS_OKAY(spi)
|
||||||
|
|
|
@ -47,6 +47,7 @@ int iis2mdc_i2c_init(const struct device *dev)
|
||||||
|
|
||||||
data->ctx_i2c.read_reg = (stmdev_read_ptr) iis2mdc_i2c_read;
|
data->ctx_i2c.read_reg = (stmdev_read_ptr) iis2mdc_i2c_read;
|
||||||
data->ctx_i2c.write_reg = (stmdev_write_ptr) iis2mdc_i2c_write;
|
data->ctx_i2c.write_reg = (stmdev_write_ptr) iis2mdc_i2c_write;
|
||||||
|
data->ctx_i2c.mdelay = (stmdev_mdelay_ptr) stmemsc_mdelay;
|
||||||
|
|
||||||
data->ctx = &data->ctx_i2c;
|
data->ctx = &data->ctx_i2c;
|
||||||
data->ctx->handle = (void *)dev;
|
data->ctx->handle = (void *)dev;
|
||||||
|
|
|
@ -102,6 +102,7 @@ int iis2mdc_spi_init(const struct device *dev)
|
||||||
|
|
||||||
data->ctx_spi.read_reg = (stmdev_read_ptr) iis2mdc_spi_read;
|
data->ctx_spi.read_reg = (stmdev_read_ptr) iis2mdc_spi_read;
|
||||||
data->ctx_spi.write_reg = (stmdev_write_ptr) iis2mdc_spi_write;
|
data->ctx_spi.write_reg = (stmdev_write_ptr) iis2mdc_spi_write;
|
||||||
|
data->ctx_spi.mdelay = (stmdev_mdelay_ptr) stmemsc_mdelay;
|
||||||
|
|
||||||
data->ctx = &data->ctx_spi;
|
data->ctx = &data->ctx_spi;
|
||||||
data->ctx->handle = (void *)dev;
|
data->ctx->handle = (void *)dev;
|
||||||
|
|
|
@ -9,3 +9,5 @@ zephyr_library()
|
||||||
zephyr_library_sources(iis3dhhc.c)
|
zephyr_library_sources(iis3dhhc.c)
|
||||||
zephyr_library_sources(iis3dhhc_spi.c)
|
zephyr_library_sources(iis3dhhc_spi.c)
|
||||||
zephyr_library_sources_ifdef(CONFIG_IIS3DHHC_TRIGGER iis3dhhc_trigger.c)
|
zephyr_library_sources_ifdef(CONFIG_IIS3DHHC_TRIGGER iis3dhhc_trigger.c)
|
||||||
|
|
||||||
|
zephyr_library_include_directories(../stmemsc)
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
#include <zephyr/kernel.h>
|
#include <zephyr/kernel.h>
|
||||||
#include <zephyr/types.h>
|
#include <zephyr/types.h>
|
||||||
#include <zephyr/sys/util.h>
|
#include <zephyr/sys/util.h>
|
||||||
|
#include <stmemsc.h>
|
||||||
#include "iis3dhhc_reg.h"
|
#include "iis3dhhc_reg.h"
|
||||||
|
|
||||||
struct iis3dhhc_config {
|
struct iis3dhhc_config {
|
||||||
|
|
|
@ -84,6 +84,7 @@ static int iis3dhhc_spi_write(const struct device *dev, uint8_t reg, uint8_t *da
|
||||||
stmdev_ctx_t iis3dhhc_spi_ctx = {
|
stmdev_ctx_t iis3dhhc_spi_ctx = {
|
||||||
.read_reg = (stmdev_read_ptr) iis3dhhc_spi_read,
|
.read_reg = (stmdev_read_ptr) iis3dhhc_spi_read,
|
||||||
.write_reg = (stmdev_write_ptr) iis3dhhc_spi_write,
|
.write_reg = (stmdev_write_ptr) iis3dhhc_spi_write,
|
||||||
|
.mdelay = (stmdev_mdelay_ptr) stmemsc_mdelay,
|
||||||
};
|
};
|
||||||
|
|
||||||
int iis3dhhc_spi_init(const struct device *dev)
|
int iis3dhhc_spi_init(const struct device *dev)
|
||||||
|
|
|
@ -11,3 +11,5 @@ zephyr_library_sources(ism330dhcx_i2c.c)
|
||||||
zephyr_library_sources(ism330dhcx_spi.c)
|
zephyr_library_sources(ism330dhcx_spi.c)
|
||||||
zephyr_library_sources_ifdef(CONFIG_ISM330DHCX_SENSORHUB ism330dhcx_shub.c)
|
zephyr_library_sources_ifdef(CONFIG_ISM330DHCX_SENSORHUB ism330dhcx_shub.c)
|
||||||
zephyr_library_sources_ifdef(CONFIG_ISM330DHCX_TRIGGER ism330dhcx_trigger.c)
|
zephyr_library_sources_ifdef(CONFIG_ISM330DHCX_TRIGGER ism330dhcx_trigger.c)
|
||||||
|
|
||||||
|
zephyr_library_include_directories(../stmemsc)
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
#include <zephyr/drivers/i2c.h>
|
#include <zephyr/drivers/i2c.h>
|
||||||
#include <zephyr/kernel.h>
|
#include <zephyr/kernel.h>
|
||||||
#include <zephyr/sys/util.h>
|
#include <zephyr/sys/util.h>
|
||||||
|
#include <stmemsc.h>
|
||||||
#include "ism330dhcx_reg.h"
|
#include "ism330dhcx_reg.h"
|
||||||
|
|
||||||
#define ISM330DHCX_EN_BIT 0x01
|
#define ISM330DHCX_EN_BIT 0x01
|
||||||
|
|
|
@ -46,8 +46,9 @@ int ism330dhcx_i2c_init(const struct device *dev)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
};
|
};
|
||||||
|
|
||||||
data->ctx_i2c.read_reg = (stmdev_read_ptr) ism330dhcx_i2c_read,
|
data->ctx_i2c.read_reg = (stmdev_read_ptr) ism330dhcx_i2c_read;
|
||||||
data->ctx_i2c.write_reg = (stmdev_write_ptr) ism330dhcx_i2c_write,
|
data->ctx_i2c.write_reg = (stmdev_write_ptr) ism330dhcx_i2c_write;
|
||||||
|
data->ctx_i2c.mdelay = (stmdev_mdelay_ptr) stmemsc_mdelay;
|
||||||
|
|
||||||
data->ctx = &data->ctx_i2c;
|
data->ctx = &data->ctx_i2c;
|
||||||
data->ctx->handle = (void *)dev;
|
data->ctx->handle = (void *)dev;
|
||||||
|
|
|
@ -102,8 +102,9 @@ int ism330dhcx_spi_init(const struct device *dev)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
};
|
};
|
||||||
|
|
||||||
data->ctx_spi.read_reg = (stmdev_read_ptr) ism330dhcx_spi_read,
|
data->ctx_spi.read_reg = (stmdev_read_ptr) ism330dhcx_spi_read;
|
||||||
data->ctx_spi.write_reg = (stmdev_write_ptr) ism330dhcx_spi_write,
|
data->ctx_spi.write_reg = (stmdev_write_ptr) ism330dhcx_spi_write;
|
||||||
|
data->ctx_spi.mdelay = (stmdev_mdelay_ptr) stmemsc_mdelay;
|
||||||
|
|
||||||
data->ctx = &data->ctx_spi;
|
data->ctx = &data->ctx_spi;
|
||||||
data->ctx->handle = data;
|
data->ctx->handle = data;
|
||||||
|
|
|
@ -364,6 +364,8 @@ static int lis2ds12_init(const struct device *dev)
|
||||||
(stmdev_read_ptr) stmemsc_spi_read, \
|
(stmdev_read_ptr) stmemsc_spi_read, \
|
||||||
.write_reg = \
|
.write_reg = \
|
||||||
(stmdev_write_ptr) stmemsc_spi_write, \
|
(stmdev_write_ptr) stmemsc_spi_write, \
|
||||||
|
.mdelay = \
|
||||||
|
(stmdev_mdelay_ptr) stmemsc_mdelay, \
|
||||||
.handle = \
|
.handle = \
|
||||||
(void *)&lis2ds12_config_##inst.stmemsc_cfg, \
|
(void *)&lis2ds12_config_##inst.stmemsc_cfg, \
|
||||||
}, \
|
}, \
|
||||||
|
@ -390,6 +392,8 @@ static int lis2ds12_init(const struct device *dev)
|
||||||
(stmdev_read_ptr) stmemsc_i2c_read, \
|
(stmdev_read_ptr) stmemsc_i2c_read, \
|
||||||
.write_reg = \
|
.write_reg = \
|
||||||
(stmdev_write_ptr) stmemsc_i2c_write, \
|
(stmdev_write_ptr) stmemsc_i2c_write, \
|
||||||
|
.mdelay = \
|
||||||
|
(stmdev_mdelay_ptr) stmemsc_mdelay, \
|
||||||
.handle = \
|
.handle = \
|
||||||
(void *)&lis2ds12_config_##inst.stmemsc_cfg, \
|
(void *)&lis2ds12_config_##inst.stmemsc_cfg, \
|
||||||
}, \
|
}, \
|
||||||
|
|
|
@ -541,6 +541,8 @@ static int lis2dw12_init(const struct device *dev)
|
||||||
(stmdev_read_ptr) stmemsc_spi_read, \
|
(stmdev_read_ptr) stmemsc_spi_read, \
|
||||||
.write_reg = \
|
.write_reg = \
|
||||||
(stmdev_write_ptr) stmemsc_spi_write, \
|
(stmdev_write_ptr) stmemsc_spi_write, \
|
||||||
|
.mdelay = \
|
||||||
|
(stmdev_mdelay_ptr) stmemsc_mdelay, \
|
||||||
.handle = \
|
.handle = \
|
||||||
(void *)&lis2dw12_config_##inst.stmemsc_cfg, \
|
(void *)&lis2dw12_config_##inst.stmemsc_cfg, \
|
||||||
}, \
|
}, \
|
||||||
|
@ -574,6 +576,8 @@ static int lis2dw12_init(const struct device *dev)
|
||||||
(stmdev_read_ptr) stmemsc_i2c_read, \
|
(stmdev_read_ptr) stmemsc_i2c_read, \
|
||||||
.write_reg = \
|
.write_reg = \
|
||||||
(stmdev_write_ptr) stmemsc_i2c_write, \
|
(stmdev_write_ptr) stmemsc_i2c_write, \
|
||||||
|
.mdelay = \
|
||||||
|
(stmdev_mdelay_ptr) stmemsc_mdelay, \
|
||||||
.handle = \
|
.handle = \
|
||||||
(void *)&lis2dw12_config_##inst.stmemsc_cfg, \
|
(void *)&lis2dw12_config_##inst.stmemsc_cfg, \
|
||||||
}, \
|
}, \
|
||||||
|
|
|
@ -524,6 +524,8 @@ static int lis2mdl_pm_action(const struct device *dev,
|
||||||
(stmdev_read_ptr) stmemsc_spi_read, \
|
(stmdev_read_ptr) stmemsc_spi_read, \
|
||||||
.write_reg = \
|
.write_reg = \
|
||||||
(stmdev_write_ptr) stmemsc_spi_write, \
|
(stmdev_write_ptr) stmemsc_spi_write, \
|
||||||
|
.mdelay = \
|
||||||
|
(stmdev_mdelay_ptr) stmemsc_mdelay, \
|
||||||
.handle = \
|
.handle = \
|
||||||
(void *)&lis2mdl_config_##inst.stmemsc_cfg, \
|
(void *)&lis2mdl_config_##inst.stmemsc_cfg, \
|
||||||
}, \
|
}, \
|
||||||
|
@ -550,6 +552,8 @@ static int lis2mdl_pm_action(const struct device *dev,
|
||||||
(stmdev_read_ptr) stmemsc_i2c_read, \
|
(stmdev_read_ptr) stmemsc_i2c_read, \
|
||||||
.write_reg = \
|
.write_reg = \
|
||||||
(stmdev_write_ptr) stmemsc_i2c_write, \
|
(stmdev_write_ptr) stmemsc_i2c_write, \
|
||||||
|
.mdelay = \
|
||||||
|
(stmdev_mdelay_ptr) stmemsc_mdelay, \
|
||||||
.handle = \
|
.handle = \
|
||||||
(void *)&lis2mdl_config_##inst.stmemsc_cfg, \
|
(void *)&lis2mdl_config_##inst.stmemsc_cfg, \
|
||||||
}, \
|
}, \
|
||||||
|
|
|
@ -270,6 +270,8 @@ static int lps22hh_init(const struct device *dev)
|
||||||
(stmdev_read_ptr) stmemsc_spi_read, \
|
(stmdev_read_ptr) stmemsc_spi_read, \
|
||||||
.write_reg = \
|
.write_reg = \
|
||||||
(stmdev_write_ptr) stmemsc_spi_write, \
|
(stmdev_write_ptr) stmemsc_spi_write, \
|
||||||
|
.mdelay = \
|
||||||
|
(stmdev_mdelay_ptr) stmemsc_mdelay, \
|
||||||
.handle = \
|
.handle = \
|
||||||
(void *)&lps22hh_config_##inst.stmemsc_cfg, \
|
(void *)&lps22hh_config_##inst.stmemsc_cfg, \
|
||||||
}, \
|
}, \
|
||||||
|
@ -294,6 +296,8 @@ static int lps22hh_init(const struct device *dev)
|
||||||
(stmdev_read_ptr) stmemsc_i2c_read, \
|
(stmdev_read_ptr) stmemsc_i2c_read, \
|
||||||
.write_reg = \
|
.write_reg = \
|
||||||
(stmdev_write_ptr) stmemsc_i2c_write, \
|
(stmdev_write_ptr) stmemsc_i2c_write, \
|
||||||
|
.mdelay = \
|
||||||
|
(stmdev_mdelay_ptr) stmemsc_mdelay, \
|
||||||
.handle = \
|
.handle = \
|
||||||
(void *)&lps22hh_config_##inst.stmemsc_cfg, \
|
(void *)&lps22hh_config_##inst.stmemsc_cfg, \
|
||||||
}, \
|
}, \
|
||||||
|
|
|
@ -26,12 +26,12 @@ static int lps22hh_enable_int(const struct device *dev, int enable)
|
||||||
{
|
{
|
||||||
const struct lps22hh_config * const cfg = dev->config;
|
const struct lps22hh_config * const cfg = dev->config;
|
||||||
stmdev_ctx_t *ctx = (stmdev_ctx_t *)&cfg->ctx;
|
stmdev_ctx_t *ctx = (stmdev_ctx_t *)&cfg->ctx;
|
||||||
lps22hh_reg_t int_route;
|
lps22hh_pin_int_route_t int_route;
|
||||||
|
|
||||||
/* set interrupt */
|
/* set interrupt */
|
||||||
lps22hh_pin_int_route_get(ctx, &int_route.ctrl_reg3);
|
lps22hh_pin_int_route_get(ctx, &int_route);
|
||||||
int_route.ctrl_reg3.drdy = enable;
|
int_route.drdy_pres = enable;
|
||||||
return lps22hh_pin_int_route_set(ctx, &int_route.ctrl_reg3);
|
return lps22hh_pin_int_route_set(ctx, &int_route);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -928,6 +928,8 @@ static int lsm6dso_init(const struct device *dev)
|
||||||
(stmdev_read_ptr) stmemsc_spi_read, \
|
(stmdev_read_ptr) stmemsc_spi_read, \
|
||||||
.write_reg = \
|
.write_reg = \
|
||||||
(stmdev_write_ptr) stmemsc_spi_write, \
|
(stmdev_write_ptr) stmemsc_spi_write, \
|
||||||
|
.mdelay = \
|
||||||
|
(stmdev_mdelay_ptr) stmemsc_mdelay, \
|
||||||
.handle = \
|
.handle = \
|
||||||
(void *)&lsm6dso_config_##inst.stmemsc_cfg, \
|
(void *)&lsm6dso_config_##inst.stmemsc_cfg, \
|
||||||
}, \
|
}, \
|
||||||
|
@ -950,6 +952,8 @@ static int lsm6dso_init(const struct device *dev)
|
||||||
(stmdev_read_ptr) stmemsc_i2c_read, \
|
(stmdev_read_ptr) stmemsc_i2c_read, \
|
||||||
.write_reg = \
|
.write_reg = \
|
||||||
(stmdev_write_ptr) stmemsc_i2c_write, \
|
(stmdev_write_ptr) stmemsc_i2c_write, \
|
||||||
|
.mdelay = \
|
||||||
|
(stmdev_mdelay_ptr) stmemsc_mdelay, \
|
||||||
.handle = \
|
.handle = \
|
||||||
(void *)&lsm6dso_config_##inst.stmemsc_cfg, \
|
(void *)&lsm6dso_config_##inst.stmemsc_cfg, \
|
||||||
}, \
|
}, \
|
||||||
|
|
|
@ -10,10 +10,16 @@
|
||||||
#ifndef ZEPHYR_DRIVERS_SENSOR_STMEMSC_STMEMSC_H_
|
#ifndef ZEPHYR_DRIVERS_SENSOR_STMEMSC_STMEMSC_H_
|
||||||
#define ZEPHYR_DRIVERS_SENSOR_STMEMSC_STMEMSC_H_
|
#define ZEPHYR_DRIVERS_SENSOR_STMEMSC_STMEMSC_H_
|
||||||
|
|
||||||
|
#include <zephyr/kernel.h>
|
||||||
#include <zephyr/drivers/i2c.h>
|
#include <zephyr/drivers/i2c.h>
|
||||||
#include <zephyr/drivers/i3c.h>
|
#include <zephyr/drivers/i3c.h>
|
||||||
#include <zephyr/drivers/spi.h>
|
#include <zephyr/drivers/spi.h>
|
||||||
|
|
||||||
|
static inline void stmemsc_mdelay(uint32_t millisec)
|
||||||
|
{
|
||||||
|
k_msleep(millisec);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_I2C
|
#ifdef CONFIG_I2C
|
||||||
int stmemsc_i2c_read(const struct i2c_dt_spec *stmemsc,
|
int stmemsc_i2c_read(const struct i2c_dt_spec *stmemsc,
|
||||||
uint8_t reg_addr, uint8_t *value, uint8_t len);
|
uint8_t reg_addr, uint8_t *value, uint8_t len);
|
||||||
|
|
|
@ -9,3 +9,5 @@ zephyr_library()
|
||||||
zephyr_library_sources(stts751.c)
|
zephyr_library_sources(stts751.c)
|
||||||
zephyr_library_sources(stts751_i2c.c)
|
zephyr_library_sources(stts751_i2c.c)
|
||||||
zephyr_library_sources_ifdef(CONFIG_STTS751_TRIGGER stts751_trigger.c)
|
zephyr_library_sources_ifdef(CONFIG_STTS751_TRIGGER stts751_trigger.c)
|
||||||
|
|
||||||
|
zephyr_library_include_directories(../stmemsc)
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
#include <zephyr/kernel.h>
|
#include <zephyr/kernel.h>
|
||||||
#include <zephyr/types.h>
|
#include <zephyr/types.h>
|
||||||
#include <zephyr/sys/util.h>
|
#include <zephyr/sys/util.h>
|
||||||
|
#include <stmemsc.h>
|
||||||
#include "stts751_reg.h"
|
#include "stts751_reg.h"
|
||||||
|
|
||||||
struct stts751_config {
|
struct stts751_config {
|
||||||
|
|
|
@ -42,6 +42,7 @@ int stts751_i2c_init(const struct device *dev)
|
||||||
|
|
||||||
data->ctx_i2c.read_reg = (stmdev_read_ptr) stts751_i2c_read;
|
data->ctx_i2c.read_reg = (stmdev_read_ptr) stts751_i2c_read;
|
||||||
data->ctx_i2c.write_reg = (stmdev_write_ptr) stts751_i2c_write;
|
data->ctx_i2c.write_reg = (stmdev_write_ptr) stts751_i2c_write;
|
||||||
|
data->ctx_i2c.mdelay = (stmdev_mdelay_ptr) stmemsc_mdelay,
|
||||||
|
|
||||||
data->ctx = &data->ctx_i2c;
|
data->ctx = &data->ctx_i2c;
|
||||||
data->ctx->handle = (void *)dev;
|
data->ctx->handle = (void *)dev;
|
||||||
|
|
2
west.yml
2
west.yml
|
@ -124,7 +124,7 @@ manifest:
|
||||||
groups:
|
groups:
|
||||||
- hal
|
- hal
|
||||||
- name: hal_st
|
- name: hal_st
|
||||||
revision: 60b149c2df9b7766737af243d2ee5f8c6bd83804
|
revision: 5948f7b3304f1628a45ee928cd607619a7f53bbb
|
||||||
path: modules/hal/st
|
path: modules/hal/st
|
||||||
groups:
|
groups:
|
||||||
- hal
|
- hal
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue