[PATCH v3 0/3] nfc: st-nci: Fairphone 5 NFC bring-up (ST21NFCD)
From: Kristian Brox
Date: Thu Aug 20 2026 - 16:56:36 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.
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 <isyourbrainfoss@xxxxxxxxx>
---
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 <isyourbrainfoss@xxxxxxxxx>