soc: Add the MAX32657 SoC

MAX32657 is Cortex-M33 based Analog Devices MCU.
It supports ARM TrustZone security model.
There will be two boards of this MCU Secure and Non-Secure

This commit defines Secure version of peripherals.

Basic feature of MAX32657 device:
- Core is Cortex-M33
- 50MHz IPO clock
- There are 54 interrupt vectors
- 1MB flash & 256 SRAM
- MAX32657 has:
   - 1 x UART
   - 1 x I2C/I3C
   - 1 x SPI
   - 6 x TIMER
   - 1 x RTC
   - 1 x WDT
   - 1 x TRNG

Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
This commit is contained in:
Sadik Ozer 2024-04-02 10:24:06 +03:00 committed by Benjamin Cabé
commit f9ce25fd05
7 changed files with 322 additions and 0 deletions

View file

@ -9,6 +9,17 @@ config SOC_FAMILY_MAX32
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_FPU
select CLOCK_CONTROL
select CPU_CORTEX_M33
select ARM_TRUSTZONE_M
select CPU_HAS_ARM_SAU
select ARMV8_M_DSP
config SOC_FAMILY_MAX32_M4
select ARM
select CPU_CORTEX_M4

View file

@ -0,0 +1,14 @@
# Analog Devices MAX32657 MCU
# Copyright (c) 2024-2025 Analog Devices, Inc.
# SPDX-License-Identifier: Apache-2.0
if SOC_MAX32657
config SYS_CLOCK_HW_CYCLES_PER_SEC
default $(dt_node_int_prop_int,/clocks/clk_ipo,clock-frequency)
config NUM_IRQS
default 54
endif # SOC_MAX32657

View file

@ -6,6 +6,10 @@
config SOC_FAMILY_MAX32
bool
config SOC_FAMILY_MAX32_M33
bool
select SOC_FAMILY_MAX32
config SOC_FAMILY_MAX32_M4
bool
select SOC_FAMILY_MAX32
@ -25,6 +29,10 @@ config SOC_MAX32655_M4
select SOC_MAX32655
select SOC_FAMILY_MAX32_M4
config SOC_MAX32657
bool
select SOC_FAMILY_MAX32_M33
config SOC_MAX32660
bool
select SOC_FAMILY_MAX32_M4
@ -88,6 +96,7 @@ config SOC_MAX78002_M4
config SOC
default "max32650" if SOC_MAX32650
default "max32655" if SOC_MAX32655
default "max32657" if SOC_MAX32657
default "max32660" if SOC_MAX32660
default "max32662" if SOC_MAX32662
default "max32666" if SOC_MAX32666

View file

@ -8,6 +8,7 @@ family:
- name: max32655
cpuclusters:
- name: m4
- name: max32657
- name: max32660
- name: max32662
- name: max32666