# 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

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

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

config HWINFO_NRF
	bool "NRF device ID"
	default y
	depends on (SOC_SERIES_NRF52X || SOC_SERIES_NRF51X)
	help
	  Enable Nordic NRF hwinfo driver.

config HWINFO_MCUX_SIM
	bool "NXP kinetis device ID"
	default y
	depends on HAS_MCUX_SIM
	help
	  Enable NXP kinetis 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_SAM
	bool "Atmel SAM device ID"
	default y
	depends on SOC_FAMILY_SAM
	help
	  Enable Atmel SAM 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
	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
endif
