diff --git a/dts/arm/nordic/nrf54h20_cpuapp.dtsi b/dts/arm/nordic/nrf54h20_cpuapp.dtsi index c56df42ddd5..15eac9c5d19 100644 --- a/dts/arm/nordic/nrf54h20_cpuapp.dtsi +++ b/dts/arm/nordic/nrf54h20_cpuapp.dtsi @@ -59,3 +59,7 @@ wdt011: &cpuapp_wdt011 {}; &grtc { interrupts = <109 NRF_DEFAULT_IRQ_PRIORITY>; }; + +&nfct { + compatible = "nordic,nrf-nfct-v2"; +}; diff --git a/dts/bindings/net/wireless/nordic,nrf-nfct-v2.yaml b/dts/bindings/net/wireless/nordic,nrf-nfct-v2.yaml new file mode 100644 index 00000000000..e6b34aff3ec --- /dev/null +++ b/dts/bindings/net/wireless/nordic,nrf-nfct-v2.yaml @@ -0,0 +1,18 @@ +# Copyright (c) 2025 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +description: Nordic nRF family NFCT (Near Field Communication Tag) + +compatible: "nordic,nrf-nfct-v2" + +include: nordic,nrf-nfct.yaml + +properties: + nfct-pins-as-gpios: + type: boolean + description: | + When enabled this property will configure pins dedicated to NFCT + peripheral as regular GPIOs. This property must be applied in cpuapp + if NFCT pins are intended to be used as regular GPIOs by any core. + + NFC pins in nRF54H series: P2.10 and P2.11 diff --git a/soc/nordic/nrf54h/soc.c b/soc/nordic/nrf54h/soc.c index 43c84e1b9a7..6dc8100e00c 100644 --- a/soc/nordic/nrf54h/soc.c +++ b/soc/nordic/nrf54h/soc.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -151,6 +152,11 @@ static int nordicsemi_nrf54h_init(void) nrf_spu_periph_perm_dmasec_set(spu, nrf_address_slave_get(ccm030_addr), true); #endif + if (DT_NODE_HAS_STATUS(DT_NODELABEL(nfct), disabled) && + DT_PROP_OR(DT_NODELABEL(nfct), nfct_pins_as_gpios, 0)) { + nrf_nfct_pad_config_enable_set(NRF_NFCT, false); + } + return 0; }