| # Analog Devices MAX32xxx MCU family |
| |
| # Copyright (c) 2023-2025 Analog Devices, Inc. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| config SOC_FAMILY_MAX32 |
| select CLOCK_CONTROL |
| select BUILD_OUTPUT_HEX |
| select SOC_EARLY_INIT_HOOK |
| select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE |
| |
| config SOC_FAMILY_MAX32_M33 |
| select ARM |
| select CPU_CORTEX_M_HAS_SYSTICK |
| select CPU_HAS_ARM_MPU |
| select CPU_HAS_CUSTOM_FIXED_SOC_MPU_REGIONS |
| select CPU_HAS_FPU |
| select CLOCK_CONTROL |
| select CPU_CORTEX_M33 |
| select ARM_TRUSTZONE_M |
| select CPU_HAS_ARM_SAU |
| select ARMV8_M_DSP |
| select HAS_PM |
| |
| config SOC_FAMILY_MAX32_M4 |
| select ARM |
| select CPU_CORTEX_M4 |
| select CPU_CORTEX_M_HAS_SYSTICK |
| select CPU_HAS_ARM_MPU |
| select CPU_HAS_FPU |
| select HAS_PM |
| |
| config SOC_MAX32655_M4 |
| select MAX32_HAS_SECONDARY_RV32 |
| |
| config SOC_MAX32680_M4 |
| select MAX32_HAS_SECONDARY_RV32 |
| |
| config SOC_MAX32690_M4 |
| select MAX32_HAS_SECONDARY_RV32 |
| |
| config SOC_MAX78000_M4 |
| select MAX32_HAS_SECONDARY_RV32 |
| |
| config SOC_MAX78002_M4 |
| select MAX32_HAS_SECONDARY_RV32 |
| |
| if SOC_FAMILY_MAX32 |
| |
| config MAX32_ON_ENTER_CPU_IDLE_HOOK |
| bool "CPU idle hook enable" |
| default y if !PM |
| 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. |
| |
| config MAX32_HAS_SECONDARY_RV32 |
| bool |
| |
| config MAX32_SECONDARY_RV32 |
| bool "Secondary RISC-V core enable" |
| depends on MAX32_HAS_SECONDARY_RV32 |
| |
| config MAX32_STANDBY_DELAY |
| int "Prevent standby on boot for given ms" |
| depends on PM |
| default 1000 |
| help |
| Prevents the system from entering standby mode for a give number of ms. |
| This is intended to prevent debug lockout when using power management. |
| |
| DT_CHOSEN_Z_CODE_RV32_PARTITION := zephyr,code-rv32-partition |
| |
| config MAX32_SECONDARY_RV32_BOOT_ADDRESS |
| hex "Secondary RISC-V core boot address" |
| default $(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_CODE_RV32_PARTITION)) |
| depends on MAX32_SECONDARY_RV32 |
| |
| config BUILD_WITH_TFM |
| default y if TRUSTED_EXECUTION_NONSECURE |
| help |
| Auto set WITH_TFM for a Non-Secure version of the board, |
| |
| endif # SOC_FAMILY_MAX32 |