[PATCH net-next 0/2] nfc: s3fwrn5: support the S3NRN4V variant

Jorijn van der Graaf <[email protected]> Fri, 3 Jul 2026 22:25:59 +0200
Newsgroups dev.linux.lists.oe-linux-nfc,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.netdev
Message-ID <[email protected]>
This adds support for the Samsung S3NRN4V, an S3FWRN5-family NFC
controller found e.g. on the Fairphone 6 (SM7635), to the s3fwrn5
driver.

The S3NRN4V differs from the already-supported parts in three ways: it
ships with working firmware behind a bootloader protocol the driver
does not implement (so firmware download is skipped), it loads its RF
registers through a different proprietary command (DUAL_OPTION), and it
gates its reference clock through a CLK_REQ line that the driver must
service for the chip to be able to generate the 13.56 MHz poll carrier.

Patch 1 adds the compatible and the clk-req-gpios property to the
binding; patch 2 implements the variant in the driver.

Tested on a Fairphone 6 running a mainline kernel: reader mode polls
and reads ISO 14443-4 tags reliably, both from a fresh boot and across
driver reloads. Existing S3FWRN5/S3FWRN82 setups are unaffected.

Jorijn van der Graaf (2):
  dt-bindings: net: nfc: samsung,s3fwrn5: add S3NRN4V and clk-req-gpios
  nfc: s3fwrn5: support the S3NRN4V variant

 .../bindings/net/nfc/samsung,s3fwrn5.yaml     |  23 +++-
 drivers/nfc/s3fwrn5/core.c                    |  40 +++++-
 drivers/nfc/s3fwrn5/i2c.c                     | 114 ++++++++++++++++--
 drivers/nfc/s3fwrn5/nci.c                     | 111 ++++++++++++++++-
 drivers/nfc/s3fwrn5/nci.h                     |  32 ++++-
 drivers/nfc/s3fwrn5/s3fwrn5.h                 |  14 ++-
 drivers/nfc/s3fwrn5/uart.c                    |   2 +-
 7 files changed, 321 insertions(+), 15 deletions(-)

base-commit: 805185b7c7a1069e407b6f7b3bc98e44d415f484
-- 
2.55.0