# HW Info driver configuration options

# Copyright (c) 2019 Alexander Wachter
# SPDX-License-Identifier: Apache-2.0

menuconfig HWINFO
	bool "Hardware Information driver"
	help
	  Enable hwinfo driver.

if HWINFO

module = HWINFO
module-str = HWINFO
source "subsys/logging/Kconfig.template.log_config"

config HWINFO_SHELL
	bool "HWINFO Shell"
	default y
	depends on SHELL
	help
	  Enable hwinfo Shell for testing.

config HWINFO_STM32
	bool "STM32 hwinfo"
	default y
	depends on SOC_FAMILY_STM32
	help
	  Enable STM32 hwinfo driver.

config HWINFO_NRF
	bool "NRF device ID"
	default y
	depends on SOC_FAMILY_NRF
	depends on NRF_SOC_SECURE_SUPPORTED
	help
	  Enable Nordic NRF hwinfo driver.

config HWINFO_MCUX_RCM
	bool "NXP kinetis reset cause"
	default y
	depends on HAS_MCUX_RCM
	help
	  Enable NXP kinetis mcux RCM hwinfo driver.

config HWINFO_MCUX_SIM
	bool "NXP kinetis SIM device ID"
	default y
	depends on HAS_MCUX_SIM
	help
	  Enable NXP kinetis mcux SIM hwinfo driver.

config HWINFO_MCUX_SRC
	bool "NXP SRC reset cause"
	default y
	depends on HAS_MCUX_SRC
	help
	  Enable NXP i.MX mcux SRC hwinfo driver.

config HWINFO_MCUX_SRC_V2
	bool "NXP SRC reset cause (multicore devices)"
	default y
	depends on HAS_MCUX_SRC_V2
	help
	  Enable version 2 multicore NXP i.MX mcux SRC hwinfo driver.

config HWINFO_MCUX_SYSCON
	bool "NXP LPC device ID"
	default y
	depends on DT_HAS_NXP_LPC_UID_ENABLED
	help
	  Enable NXP LPC mcux hwinfo driver.

config HWINFO_IMXRT
	bool "NXP i.mx RT device ID"
	default y
	depends on SOC_SERIES_IMX_RT
	help
	  Enable NXP i.mx RT hwinfo driver.

config HWINFO_RPI_PICO
	bool "Raspberry Pi Pico hwinfo driver"
	default y
	depends on SOC_SERIES_RP2XXX
	select PICOSDK_USE_FLASH
	help
	  Enable Raspberry Pi Pico hwinfo driver.

config HWINFO_SAM_RSTC
	bool "Atmel SAM reset cause"
	default y
	depends on SOC_SERIES_SAM4S || SOC_SERIES_SAME70 || \
		   SOC_SERIES_SAMV71
	help
	  Enable Atmel SAM reset cause hwinfo driver.

config HWINFO_SAM
	bool "Atmel SAM device ID"
	default y
	depends on SOC_FAMILY_SAM && !SOC_SERIES_SAM4L
	help
	  Enable Atmel SAM device ID hwinfo driver.

config HWINFO_SAM4L
	bool "Atmel SAM4L device ID"
	default y
	depends on SOC_SERIES_SAM4L
	help
	  Enable Atmel SAM4L hwinfo driver.

config HWINFO_SAM0
	bool "Atmel SAM0 device ID"
	default y
	depends on SOC_FAMILY_SAM0
	help
	  Enable Atmel SAM0 hwinfo driver.

config HWINFO_ESP32
	bool "ESP32 device ID"
	default y
	depends on SOC_ESP32 || SOC_ESP32C3
	help
	  Enable ESP32 hwinfo driver.

config HWINFO_LITEX
	bool "LiteX device ID"
	default y
	depends on SOC_RISCV32_LITEX_VEXRISCV
	help
	  Enable LiteX hwinfo driver

config HWINFO_PSOC6
	bool "Cypress PSoC-6 unique device ID"
	default y
	depends on SOC_FAMILY_PSOC6
	help
	  Enable Cypress PSoC-6 hwinfo driver.

config HWINFO_GECKO
	bool "GECKO hwinfo"
	default y
	depends on SOC_FAMILY_EXX32 && !SOC_SERIES_EFR32MG21  && !SOC_SERIES_EFR32BG22
	select SOC_GECKO_RMU
	help
	  Enable Silabs GECKO hwinfo driver.

config HWINFO_ANDES
	bool "Andes system ID"
	default y
	depends on SOC_SERIES_RISCV_ANDES_V5
	help
	  Enable Andes hwinfo driver

endif
