[PATCH v3 1/2] dt-bindings: iio: magnetometer: add MEMSIC MMC5983MA
From: Vladislav Kulikov
Date: Mon May 11 2026 - 15:12:28 EST
Add a Devicetree binding for the MEMSIC MMC5983MA 3-axis
magnetometer.
MMC5983MA is not register-compatible with the existing MEMSIC
magnetometer drivers. It has a different register map, 18-bit output
data format, and I2C/SPI transport support.
Reviewed-by: David Lechner <dlechner@xxxxxxxxxxxx>
Acked-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
Signed-off-by: Vladislav Kulikov <vlad.kulikov.c@xxxxxxxxx>
---
.../iio/magnetometer/memsic,mmc5983.yaml | 63 +++++++++++++++++++
MAINTAINERS | 6 ++
2 files changed, 69 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/magnetometer/memsic,mmc5983.yaml
diff --git a/Documentation/devicetree/bindings/iio/magnetometer/memsic,mmc5983.yaml b/Documentation/devicetree/bindings/iio/magnetometer/memsic,mmc5983.yaml
new file mode 100644
index 000000000000..4a4df6bb70fe
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/magnetometer/memsic,mmc5983.yaml
@@ -0,0 +1,63 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/magnetometer/memsic,mmc5983.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MEMSIC MMC5983MA 3-axis magnetic sensor
+
+maintainers:
+ - Vladislav Kulikov <vlad.kulikov.c@xxxxxxxxx>
+
+properties:
+ compatible:
+ const: memsic,mmc5983
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ vdd-supply:
+ description: Regulator that provides power to the sensor
+
+ vddio-supply:
+ description: Regulator that provides power to the digital interface and INT pin
+
+required:
+ - compatible
+ - reg
+ - vdd-supply
+
+allOf:
+ - $ref: /schemas/spi/spi-peripheral-props.yaml#
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ magnetometer@30 {
+ compatible = "memsic,mmc5983";
+ reg = <0x30>;
+ vdd-supply = <&vdd_3v3_reg>;
+ vddio-supply = <&vdd_3v3_reg>;
+ };
+ };
+ - |
+ spi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ magnetometer@0 {
+ compatible = "memsic,mmc5983";
+ reg = <0>;
+ spi-max-frequency = <10000000>;
+ vdd-supply = <&vdd_3v3_reg>;
+ vddio-supply = <&vdd_3v3_reg>;
+ };
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index 882214b0e7db..952fbf3020a4 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -17170,6 +17170,12 @@ F: drivers/mtd/
F: include/linux/mtd/
F: include/uapi/mtd/
+MEMSIC MMC5983 MAGNETOMETER DRIVER
+M: Vladislav Kulikov <vlad.kulikov.c@xxxxxxxxx>
+L: linux-iio@xxxxxxxxxxxxxxx
+S: Maintained
+F: Documentation/devicetree/bindings/iio/magnetometer/memsic,mmc5983.yaml
+
MEN A21 WATCHDOG DRIVER
M: Johannes Thumshirn <morbidrsa@xxxxxxxxx>
L: linux-watchdog@xxxxxxxxxxxxxxx
--
2.43.0