[PATCH v2 1/3] dt-bindings: eeprom: Add ST M24LR control interface

From: Abd-Alrhman Masalkhi
Date: Sun Jun 01 2025 - 11:31:01 EST


Add support for the control interface of STMicroelectronics M24LR
RFID/NFC EEPROM chips.

Signed-off-by: Abd-Alrhman Masalkhi <abd.masalkhi@xxxxxxxxx>
---
.../devicetree/bindings/eeprom/st,m24lr.yaml | 72 +++++++++++++++++++
1 file changed, 72 insertions(+)
create mode 100644 Documentation/devicetree/bindings/eeprom/st,m24lr.yaml

diff --git a/Documentation/devicetree/bindings/eeprom/st,m24lr.yaml b/Documentation/devicetree/bindings/eeprom/st,m24lr.yaml
new file mode 100644
index 000000000000..6d72325865d6
--- /dev/null
+++ b/Documentation/devicetree/bindings/eeprom/st,m24lr.yaml
@@ -0,0 +1,72 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/eeprom/st,m24lr.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: STMicroelectronics M24LR Series NFC/RFID EEPROM Control Interface
+
+maintainers:
+ - Abd-Alrhman Masalkhi <abd.masalkhi@xxxxxxxxx>
+
+description: |
+ STMicroelectronics M24LR series are dual-interface (RF + I2C)
+ EEPROM chips. These devices support I2C-based access to both
+ memory and a system area that controls authentication and configuration.
+ They expose two I2C addresses: one for EEPROM memory and one for the
+ system control area (e.g., UID, password management).
+
+allOf:
+ - $ref: ../i2c/i2c-mux.yaml#
+
+properties:
+ compatible:
+ enum:
+ - st,m24lr04e-r
+ - st,m24lr16e-r
+ - st,m24lr64e-r
+
+ reg:
+ maxItems: 1
+
+ pagesize:
+ enum: [1, 4, 8, 16, 32, 64, 128, 256]
+ default: 1
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: >
+ Maximum number of bytes that can be written in one I2C transaction.
+ the default is 1.
+
+required:
+ - compatible
+ - reg
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ i2cmux@57 {
+ compatible = "st,m24lr04e-r";
+ reg = <0x57>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ i2c@0 {
+ reg = <0x0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ eeprom@53 {
+ compatible = "atmel,24c04";
+ reg = <0x53>;
+ address-width = <16>;
+ pagesize = <4>;
+ };
+ };
+ };
+ };
+...
--
2.43.0