dts/bindings: sensors: remove '-magn' extension from lis2mdl name
The LIS2MDL is not a combo device, but pure magnotemeter.
Hence, '-magn' extension is not adding information and can
be removed from dts compatible name as well as binding filename.
Instead specify '-i2c' or '-spi' to distinguish between the names.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
diff --git a/boards/shields/x_nucleo_iks01a2/x_nucleo_iks01a2.overlay b/boards/shields/x_nucleo_iks01a2/x_nucleo_iks01a2.overlay
index 2e5ef30..2db3124 100644
--- a/boards/shields/x_nucleo_iks01a2/x_nucleo_iks01a2.overlay
+++ b/boards/shields/x_nucleo_iks01a2/x_nucleo_iks01a2.overlay
@@ -27,7 +27,7 @@
};
lsm303agr-magn@1e {
- compatible = "st,lis2mdl-magn","st,lsm303agr-magn";
+ compatible = "st,lis2mdl","st,lsm303agr-magn";
reg = <0x1e>;
label = "LSM303AGR-MAGN";
irq-gpios = <&arduino_header 3 0>; /* A3 */
diff --git a/boards/shields/x_nucleo_iks01a3/x_nucleo_iks01a3.overlay b/boards/shields/x_nucleo_iks01a3/x_nucleo_iks01a3.overlay
index 553c86a..eebb6fa 100644
--- a/boards/shields/x_nucleo_iks01a3/x_nucleo_iks01a3.overlay
+++ b/boards/shields/x_nucleo_iks01a3/x_nucleo_iks01a3.overlay
@@ -27,7 +27,7 @@
};
lis2mdl@1e {
- compatible = "st,lis2mdl-magn";
+ compatible = "st,lis2mdl";
reg = <0x1e>;
label = "LIS2MDL";
};
diff --git a/drivers/sensor/lis2mdl/lis2mdl.c b/drivers/sensor/lis2mdl/lis2mdl.c
index b7aa589..ee81f90 100644
--- a/drivers/sensor/lis2mdl/lis2mdl.c
+++ b/drivers/sensor/lis2mdl/lis2mdl.c
@@ -310,12 +310,12 @@
}
static const struct lis2mdl_device_config lis2mdl_dev_config = {
- .master_dev_name = DT_INST_0_ST_LIS2MDL_MAGN_BUS_NAME,
+ .master_dev_name = DT_INST_0_ST_LIS2MDL_BUS_NAME,
#ifdef CONFIG_LIS2MDL_TRIGGER
- .gpio_name = DT_INST_0_ST_LIS2MDL_MAGN_IRQ_GPIOS_CONTROLLER,
- .gpio_pin = DT_INST_0_ST_LIS2MDL_MAGN_IRQ_GPIOS_PIN,
+ .gpio_name = DT_INST_0_ST_LIS2MDL_IRQ_GPIOS_CONTROLLER,
+ .gpio_pin = DT_INST_0_ST_LIS2MDL_IRQ_GPIOS_PIN,
#endif /* CONFIG_LIS2MDL_TRIGGER */
- .i2c_addr_config = DT_INST_0_ST_LIS2MDL_MAGN_BASE_ADDRESS,
+ .i2c_addr_config = DT_INST_0_ST_LIS2MDL_BASE_ADDRESS,
};
static int lis2mdl_init(struct device *dev)
@@ -374,6 +374,6 @@
return 0;
}
-DEVICE_AND_API_INIT(lis2mdl, DT_INST_0_ST_LIS2MDL_MAGN_LABEL, lis2mdl_init,
+DEVICE_AND_API_INIT(lis2mdl, DT_INST_0_ST_LIS2MDL_LABEL, lis2mdl_init,
&lis2mdl_device_data, &lis2mdl_dev_config, POST_KERNEL,
CONFIG_SENSOR_INIT_PRIORITY, &lis2mdl_driver_api);
diff --git a/dts/bindings/sensor/st,lis2mdl-magn.yaml b/dts/bindings/sensor/st,lis2mdl-i2c.yaml
similarity index 71%
rename from dts/bindings/sensor/st,lis2mdl-magn.yaml
rename to dts/bindings/sensor/st,lis2mdl-i2c.yaml
index 68b1da8..5dea34d 100644
--- a/dts/bindings/sensor/st,lis2mdl-magn.yaml
+++ b/dts/bindings/sensor/st,lis2mdl-i2c.yaml
@@ -1,12 +1,13 @@
# Copyright (c) 2018 STMicroelectronics
# SPDX-License-Identifier: Apache-2.0
-title: STMicroelectronics MEMS sensors LIS2MDL
+title: STMicroelectronics MEMS sensors LIS2MDL I2C
description: >
This binding gives a base representation of LIS2MDL magnetometer
+ accessed through I2C bus
-compatible: "st,lis2mdl-magn"
+compatible: "st,lis2mdl"
include: i2c-device.yaml
diff --git a/dts/bindings/sensor/st,lis2mdl-spi.yaml b/dts/bindings/sensor/st,lis2mdl-spi.yaml
new file mode 100644
index 0000000..d58cb2f
--- /dev/null
+++ b/dts/bindings/sensor/st,lis2mdl-spi.yaml
@@ -0,0 +1,17 @@
+# Copyright (c) 2019 STMicroelectronics
+# SPDX-License-Identifier: Apache-2.0
+
+title: STMicroelectronics MEMS sensors LIS2MDL SPI
+
+description: >
+ This binding gives a base representation of LIS2MDL magnetometer
+ accessed through SPI bus
+
+compatible: "st,lis2mdl"
+
+include: spi-device.yaml
+
+properties:
+ irq-gpios:
+ type: phandle-array
+ required: false
diff --git a/samples/shields/x_nucleo_iks01a2/src/main.c b/samples/shields/x_nucleo_iks01a2/src/main.c
index 72098aa..2b02802 100644
--- a/samples/shields/x_nucleo_iks01a2/src/main.c
+++ b/samples/shields/x_nucleo_iks01a2/src/main.c
@@ -20,7 +20,7 @@
struct device *lps22hb = device_get_binding(DT_INST_0_ST_LPS22HB_PRESS_LABEL);
struct device *lsm6dsl = device_get_binding(DT_INST_0_ST_LSM6DSL_LABEL);
struct device *lsm303agr_a = device_get_binding(DT_INST_0_ST_LIS2DH_LABEL);
- struct device *lsm303agr_m = device_get_binding(DT_INST_0_ST_LIS2MDL_MAGN_LABEL);
+ struct device *lsm303agr_m = device_get_binding(DT_INST_0_ST_LIS2MDL_LABEL);
if (hts221 == NULL) {
printf("Could not get HTS221 device\n");
diff --git a/samples/shields/x_nucleo_iks01a3/standard/src/main.c b/samples/shields/x_nucleo_iks01a3/standard/src/main.c
index b157dd0..430a942 100644
--- a/samples/shields/x_nucleo_iks01a3/standard/src/main.c
+++ b/samples/shields/x_nucleo_iks01a3/standard/src/main.c
@@ -215,7 +215,7 @@
struct device *hts221 = device_get_binding(DT_INST_0_ST_HTS221_LABEL);
struct device *lps22hh = device_get_binding(DT_INST_0_ST_LPS22HH_LABEL);
struct device *stts751 = device_get_binding(DT_INST_0_ST_STTS751_LABEL);
- struct device *lis2mdl = device_get_binding(DT_INST_0_ST_LIS2MDL_MAGN_LABEL);
+ struct device *lis2mdl = device_get_binding(DT_INST_0_ST_LIS2MDL_LABEL);
struct device *lis2dw12 = device_get_binding(DT_INST_0_ST_LIS2DW12_LABEL);
struct device *lsm6dso = device_get_binding(DT_INST_0_ST_LSM6DSO_LABEL);
int cnt = 1;
diff --git a/tests/drivers/build_all/dts_fixup.h b/tests/drivers/build_all/dts_fixup.h
index 780bbab..87de8f1 100644
--- a/tests/drivers/build_all/dts_fixup.h
+++ b/tests/drivers/build_all/dts_fixup.h
@@ -181,12 +181,12 @@
#define DT_ST_LIS2DS12_BUS_I2C 1
#endif
-#ifndef DT_INST_0_ST_LIS2MDL_MAGN_LABEL
-#define DT_INST_0_ST_LIS2MDL_MAGN_LABEL ""
-#define DT_INST_0_ST_LIS2MDL_MAGN_BUS_NAME ""
-#define DT_INST_0_ST_LIS2MDL_MAGN_BASE_ADDRESS 0x19
-#define DT_INST_0_ST_LIS2MDL_MAGN_IRQ_GPIOS_CONTROLLER ""
-#define DT_INST_0_ST_LIS2MDL_MAGN_IRQ_GPIOS_PIN 0
+#ifndef DT_INST_0_ST_LIS2MDL_LABEL
+#define DT_INST_0_ST_LIS2MDL_LABEL ""
+#define DT_INST_0_ST_LIS2MDL_BUS_NAME ""
+#define DT_INST_0_ST_LIS2MDL_BASE_ADDRESS 0x19
+#define DT_INST_0_ST_LIS2MDL_IRQ_GPIOS_CONTROLLER ""
+#define DT_INST_0_ST_LIS2MDL_IRQ_GPIOS_PIN 0
#endif
#ifndef DT_INST_0_ST_LIS2DW12_LABEL