Thread (8 messages) flat view 8 messages, 4 authors, 4h ago
HOTtoday

Revision v3 of 3 in this series.

Revisions (3)
  1. v1 [diff vs current]
  2. v2 [diff vs current]
  3. v3 current

[PATCH v3 0/3] nfc: st-nci: Fairphone 5 NFC bring-up (ST21NFCD)

From: Kristian Brox <hidden>
Date: 2026-08-20 20:56:15
Also in: linux-arm-msm, linux-devicetree, lkml, oe-linux-nfc

This adds NFC on the Fairphone 5 (qcm6490). The board uses an ST21NFCD
on I2C. That part speaks raw NCI; the current st-nci driver always
wraps NDLC, so using st,st21nfcb-i2c leaves the adapter unusable.

The series adds a st,st21nfcd compatible for the raw-NCI path and the
Fairphone 5 DT node. Boards that already use st21nfcb / st21nfcc keep
the NDLC path.

Patches are against linux-nfc/for-next (v7.2-rc7). Hardware test was on
a Fairphone 5 running postmarketOS, with these changes as modules on a
7.1.2 sc7280 kernel:

- nfctool: Powered: Yes
- initiator poll / neard: NTAG 215, NDEF URI read OK

ese-present and uicc-present follow the public schematic (NFC_SWP1/SWP2:
SWP_SE to SIM1, SWP_UICC to SIM2). SE/HCE is not tested.

CLK_REQ (GPIO 39) is omitted, as on Fairphone 6 NFC. VBAT and VDD_TX sit
on VPH_PWR and are not modelled. VCC_UICC_IN (L4C) is not modelled;
UICC SWP is untested.

To/Cc from scripts/get_maintainer.pl via b4 prep --auto-to-cc on this tree.

Changes in v3:
- Binding: new compatible is a different ST part (not a driver-sharing note)
- Binding: drop NDLC/raw-NCI description on compatible
- Binding example uses interrupts-extended
- DTS: one nfc_default pinctrl group, pins sorted, no output-high
- No In-Reply-To; To/Cc from get_maintainer.pl on linux-nfc/for-next

Changes in v2:
- Compatible is st,st21nfcd (no -i2c suffix)
- Sent without PGP/MIME
- DTS: interrupts-extended and pinctrl for IRQ/reset
- DTS: ese-present / uicc-present (schematic)
- DTS: SYS_CLK from LN_BB_CLK2, VPS_IO from L18B
- Binding: optional clocks and vdd-io-supply
- Driver: optional clk / vdd-io enable

Signed-off-by: Kristian Brox <redacted>
---
Kristian Brox (3):
      dt-bindings: net: nfc: add st,st21nfcd
      nfc: st-nci: add raw NCI path for ST21NFCD
      arm64: dts: qcom: qcm6490-fairphone-fp5: add ST21NFCD NFC

 .../devicetree/bindings/net/nfc/st,st-nci.yaml     | 31 ++++++++
 arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 34 ++++++++-
 drivers/nfc/st-nci/core.c                          |  5 ++
 drivers/nfc/st-nci/i2c.c                           | 87 +++++++++++++++++++---
 drivers/nfc/st-nci/ndlc.c                          | 23 ++++--
 drivers/nfc/st-nci/ndlc.h                          |  2 +
 drivers/nfc/st-nci/se.c                            |  3 +
 7 files changed, 166 insertions(+), 19 deletions(-)
---
base-commit: 9f69d05b5a85c417c73fa2d5c7a2d507ac81cf4b
change-id: 20260820-fp5-st21nfcd-v3-bde6c248beed

Best regards,
--  
Kristian Brox [off-list ref]

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help