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