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

From: Kristian Brox

Date: Mon Oct 05 2026 - 16:52:30 EST


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.

A later poll start that times out in "failed to set local general bytes"
is still unreproduced on this phone.

Signed-off-by: Kristian Brox <isyourbrainfoss@xxxxxxxxx>
---
Link to v4:
https://lore.kernel.org/oe-linux-nfc/20260902-fp5-st21nfcd-v4-v4-0-ded2f1c501be@xxxxxxxxx/

Changes in v5:
- Map proprietary RF protocol 0x90 to MIFARE (Tim). On this phone a
Classic 1K was accepted as 0x90 and was not dropped.
- Binding carries Reviewed-by from Krzysztof Kozlowski. DTS carries
Reviewed-by from Konrad Dybcio and Abel Vesa. The patch bodies are
the v4 patches. The raw-NCI driver change is unchanged.
- Tim's reference-clock restart and leading-0x7e check were tried on
this phone and left out.

---
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

Tim auf der Landwehr (1):
nfc: st-nci: map proprietary RF protocol 0x90 to MIFARE

.../devicetree/bindings/net/nfc/st,st-nci.yaml | 49 +++++++++----
arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 34 ++++++++-
drivers/nfc/st-nci/core.c | 38 +++++++++-
drivers/nfc/st-nci/i2c.c | 82 ++++++++++++++++++++--
drivers/nfc/st-nci/ndlc.c | 27 +++++--
drivers/nfc/st-nci/ndlc.h | 5 +-
drivers/nfc/st-nci/se.c | 3 +
drivers/nfc/st-nci/spi.c | 2 +-
drivers/nfc/st-nci/st-nci.h | 2 +
9 files changed, 211 insertions(+), 31 deletions(-)
---
base-commit: cee9395acd8043be0644b25c34bfa86623f2b935
change-id: 20261005-fp5-st21nfcd-v5-1818d4776267

Best regards,
--
Kristian Brox <isyourbrainfoss@xxxxxxxxx>