# Analog Devices MAX32xxx MCU family

# Copyright (c) 2023-2024 Analog Devices, Inc.
# SPDX-License-Identifier: Apache-2.0

config SOC_FAMILY_MAX32
	select ARM
	select CPU_HAS_ARM_MPU
	select CPU_HAS_FPU
	select CPU_CORTEX_M_HAS_SYSTICK
	select CLOCK_CONTROL
	select BUILD_OUTPUT_HEX
	select SOC_EARLY_INIT_HOOK
	select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE

config SOC_MAX32655
	select CPU_CORTEX_M4

config SOC_MAX32662
	select CPU_CORTEX_M4

config SOC_MAX32666
	select CPU_CORTEX_M4

config SOC_MAX32670
	select CPU_CORTEX_M4

config SOC_MAX32672
	select CPU_CORTEX_M4

config SOC_MAX32675
	select CPU_CORTEX_M4

config SOC_MAX32680
	select CPU_CORTEX_M4

config SOC_MAX32690
	select CPU_CORTEX_M4

config SOC_MAX78002_M4
	select CPU_CORTEX_M4

if SOC_FAMILY_MAX32

config MAX32_ON_ENTER_CPU_IDLE_HOOK
	bool "CPU idle hook enable"
	default y
	imply ARM_ON_ENTER_CPU_IDLE_HOOK
	help
	  Enables a hook (z_arm_on_enter_cpu_idle()) that is called when
	  the CPU is made idle (by k_cpu_idle() or k_cpu_atomic_idle()).
	  If needed, this hook can be used to prevent the CPU from actually
	  entering sleep by skipping the WFE/WFI instruction.

endif # SOC_FAMILY_MAX32
