From: Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com>
To: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org
Cc: arnd@arndb.de, gregkh@linuxfoundation.org, robh@kernel.org,
krzk+dt@kernel.org, conor+dt@kernel.org, abd.masalkhi@gmail.com
Subject: [PATCH v2 0/3] Add control driver for ST M24LR RFID/NFC EEPROM chips
Date: Sun, 1 Jun 2025 15:30:18 +0000 [thread overview]
Message-ID: <20250601153022.2027919-1-abd.masalkhi@gmail.com> (raw)
This patch series adds support for the control interface of STMicroelectronics
M24LR RFID/NFC EEPROM devices, such as the M24LR04E-R. The chip exposes two
I2C addresses and two distinct address spaces: one for the system parameter
sector and another for the EEPROM memory. These address spaces overlap (both
start at address 0). Due to this overlap, the chip cannot be represented by a
single Device Tree node and handled by the standard at24 driver.
While it might be possible to model the system parameter sector and EEPROM
as two separate DT nodes, each handled by the standard at24 driver, this
leads to synchronization problems. For example, if a multi-page EEPROM write
is in progress and a control command (e.g., a i2c write lock) is issued
concurrently, it can result in incomplete or inconsistent writeing.
To overcome these issues, while maintaining a clean architecture and ensuring
synchronization, the chip is managed by two drivers:
1- The first driver exposes the system parameter sector and acts as an I2C mux
(gate) for EEPROM access. Using an I2C mux solves the synchronization issue.
This patch series implements this driver.
2- The second is the standard at24 driver, which handles the EEPROM.
Tested on: M24LR04E-R using Yocto on Raspberry Pi 4
Signed-off-by: Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com>
Abd-Alrhman Masalkhi (3):
dt-bindings: eeprom: Add ST M24LR control interface
misc: add sysfs control driver for ST M24LR series RFID/NFC chips
ABI: sysfs: document control attributes for ST M24LR
.../testing/sysfs-bus-i2c-devices-m24lr_ctl | 96 +++
.../devicetree/bindings/eeprom/st,m24lr.yaml | 72 ++
drivers/misc/Kconfig | 15 +
drivers/misc/Makefile | 1 +
drivers/misc/m24lr_ctl.c | 677 ++++++++++++++++++
5 files changed, 861 insertions(+)
create mode 100644 Documentation/ABI/testing/sysfs-bus-i2c-devices-m24lr_ctl
create mode 100644 Documentation/devicetree/bindings/eeprom/st,m24lr.yaml
create mode 100644 drivers/misc/m24lr_ctl.c
--
2.43.0
next reply other threads:[~2025-06-01 15:30 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-01 15:30 Abd-Alrhman Masalkhi [this message]
2025-06-01 15:30 ` [PATCH v2 1/3] dt-bindings: eeprom: Add ST M24LR control interface Abd-Alrhman Masalkhi
2025-06-01 15:42 ` Krzysztof Kozlowski
2025-06-02 3:48 ` [PATCH v2 1/3] dt-bindings: Add Device Tree binding for " Abd-Alrhman Masalkhi
2025-06-02 6:28 ` Krzysztof Kozlowski
2025-06-02 17:23 ` Abd-Alrhman Masalkhi
2025-06-02 18:11 ` Krzysztof Kozlowski
2025-06-02 17:47 ` Abd-Alrhman Masalkhi
2025-06-01 16:33 ` [PATCH v2 1/3] dt-bindings: eeprom: Add " Rob Herring (Arm)
2025-06-03 5:40 ` Abd-Alrhman Masalkhi
2025-06-03 6:56 ` Krzysztof Kozlowski
2025-06-01 15:30 ` [PATCH v2 2/3] misc: add sysfs control driver for ST M24LR series RFID/NFC chips Abd-Alrhman Masalkhi
2025-06-01 15:30 ` [PATCH v2 3/3] ABI: sysfs: document control attributes for ST M24LR Abd-Alrhman Masalkhi
2025-06-01 15:50 ` [PATCH v2 0/3] Add control driver for ST M24LR RFID/NFC EEPROM chips Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250601153022.2027919-1-abd.masalkhi@gmail.com \
--to=abd.masalkhi@gmail.com \
--cc=arnd@arndb.de \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=krzk+dt@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®