Commit 02bd0342 authored by Joakim Andersson's avatar Joakim Andersson Committed by Carles Cufi
Browse files

soc: nordic_nrf: Add soc_secure_read_deviceid



Add soc_secure_read_deviceid function for reading the device ID from
FICR when executing in non-secure processing environment.

Signed-off-by: default avatarJoakim Andersson <joakim.andersson@nordicsemi.no>
parent 6a14a023
Loading
Loading
Loading
Loading
+17 −1
Original line number Diff line number Diff line
@@ -30,6 +30,16 @@ static inline uint32_t soc_secure_read_xosc32mtrim(void)
}
#endif /* defined(CONFIG_SOC_HFXO_CAP_INTERNAL) */

static inline void soc_secure_read_deviceid(uint32_t deviceid[2])
{
	int err;

	err = soc_secure_mem_read(deviceid,
				 (void *)&NRF_FICR_S->INFO.DEVICEID,
				 2 * sizeof(uint32_t));
	__ASSERT(err == 0, "Secure read error (%d)", err);
}

#else /* defined(CONFIG_TRUSTED_EXECUTION_NONSECURE) */
#if defined(GPIO_PIN_CNF_MCUSEL_Msk)
static inline void soc_secure_gpio_pin_mcu_select(uint32_t pin_number,
@@ -45,4 +55,10 @@ static inline uint32_t soc_secure_read_xosc32mtrim(void)
	return NRF_FICR_S->XOSC32MTRIM;
}
#endif /* defined(CONFIG_SOC_HFXO_CAP_INTERNAL) */
#endif /* defined(CONFIG_TRUSTED_EXECUTION_NONSECURE) */

static inline void soc_secure_read_deviceid(uint32_t deviceid[2])
{
	deviceid[0] = nrf_ficr_deviceid_get(NRF_FICR, 0);
	deviceid[1] = nrf_ficr_deviceid_get(NRF_FICR, 1);
}
#endif /* defined CONFIG_TRUSTED_EXECUTION_NONSECURE */