From 6336d0c80838458eaa279436f353b77e05933049 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Stasiak?= Date: Thu, 9 Apr 2026 15:35:30 +0200 Subject: [PATCH 1/2] [nrf fromlist] drivers: hwinfo: nrf: Enable driver for nRF92 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added support for hwinfo_nrf driver for nRF92 series. Upstream PR #: 107038 Signed-off-by: MichaƂ Stasiak --- drivers/hwinfo/Kconfig.nrf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/hwinfo/Kconfig.nrf b/drivers/hwinfo/Kconfig.nrf index bae67e0a81d3..10ccb0f45747 100644 --- a/drivers/hwinfo/Kconfig.nrf +++ b/drivers/hwinfo/Kconfig.nrf @@ -5,7 +5,7 @@ config HWINFO_NRF bool "NRF device ID" default y depends on SOC_FAMILY_NORDIC_NRF - depends on SOC_SERIES_NRF54H || NRF_SOC_SECURE_SUPPORTED + depends on SOC_SERIES_NRF54H || SOC_SERIES_NRF92 || NRF_SOC_SECURE_SUPPORTED select HWINFO_HAS_DRIVER help Enable Nordic NRF hwinfo driver. From 87b14b64620656591a7da1652b872c03d8dde7a3 Mon Sep 17 00:00:00 2001 From: Nikodem Kastelik Date: Tue, 21 Apr 2026 16:21:53 +0200 Subject: [PATCH 2/2] [nrf fromlist] drivers: hwinfo: nrf: align to NFC-only FICR registers Some devices do not have DEVICEID or BLE-related registers in FICR. Use NFCID instead in such cases, if available. Upstream PR #: 107038 Signed-off-by: Nikodem Kastelik --- drivers/hwinfo/hwinfo_nrf.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/hwinfo/hwinfo_nrf.c b/drivers/hwinfo/hwinfo_nrf.c index d7b7b077546b..df4b8e34bffa 100644 --- a/drivers/hwinfo/hwinfo_nrf.c +++ b/drivers/hwinfo/hwinfo_nrf.c @@ -52,6 +52,13 @@ ssize_t z_impl_hwinfo_get_device_id(uint8_t *buffer, size_t length) */ buf[1] |= (nrf_ficr_er_get(NRF_FICR, 0) & 0xFF) << 16; buf[1] |= (nrf_ficr_ir_get(NRF_FICR, 0) & 0xFF) << 24; +#elif NRF_FICR_HAS_NFC_TAGHEADER_ARRAY + /* DEVICEID is not accessible, use NFCID instead. + * Assume that it is always accessible from the non-secure image. + * Skip TAGHEADER[0] as it always contain Manufacturer ID. + */ + buf[0] = nrf_ficr_nfc_tagheader_get(NRF_FICR, 1); + buf[1] = nrf_ficr_nfc_tagheader_get(NRF_FICR, 2); #else #error "No suitable source for hwinfo device_id generation" #endif