Skip to content

Commit cda8e7b

Browse files
Burakbabaokartben
authored andcommitted
boards: adi: Add MAX32650EVKIT board
This commit adds MAX32650EVKIT board basic port. Signed-off-by: Burak Babaoglu <Burak.Babaoglu@analog.com> Signed-off-by: Yasin Ustuner <Yasin.Ustuner@analog.com>
1 parent 1db033d commit cda8e7b

File tree

9 files changed

+264
-1
lines changed

9 files changed

+264
-1
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# MAX32650EVKIT boards configuration
2+
3+
# Copyright (c) 2025 Analog Devices, Inc.
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
config BOARD_MAX32650EVKIT
7+
select SOC_MAX32650

boards/adi/max32650evkit/board.cmake

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Copyright (c) 2025 Analog Devices, Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
board_runner_args(jlink "--device=MAX32650" "--reset-after-load")
5+
6+
include(${ZEPHYR_BASE}/boards/common/openocd-adi-max32.boards.cmake)
7+
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
8+
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

boards/adi/max32650evkit/board.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Copyright (c) 2025 Analog Devices, Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
board:
5+
name: max32650evkit
6+
full_name: MAX32650EVKIT
7+
vendor: adi
8+
socs:
9+
- name: max32650
Binary file not shown.
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
.. zephyr:board:: max32650evkit
2+
3+
Overview
4+
********
5+
The MAX32650 evaluation kit (EV kit) provides a platform for evaluating the
6+
capabilities of the MAX32650 ultra-low power memory-scalable microcontroller
7+
designed specifically for high performance battery powered applications.
8+
9+
The Zephyr port is running on the MAX32650 MCU.
10+
11+
.. image:: img/max32650evkit.webp
12+
:align: center
13+
:alt: MAX32650 EVKIT Front
14+
15+
Hardware
16+
********
17+
18+
- MAX32650 MCU:
19+
20+
- Ultra Efficient Microcontroller for Battery-Powered Applications
21+
22+
- 120MHz Arm Cortex-M4 with FPU
23+
- SmartDMA Provides Background Memory Transfers with Programmable Data Processing
24+
- 120MHz High-Speed and 50MHz Low-Power Oscillators
25+
- 7.3728MHz Low Power Oscillators
26+
- 32.768kHz and RTC Clock (Requires External Crystal)
27+
- 8kHz, Always-on, Ultra-Low-Power Oscillator
28+
- 3MB Internal Flash, 1MB Internal SRAM
29+
- 104µW/MHz Executing from Cache at 1.1V
30+
- Five Low-Power Modes: Active, Sleep, Background, Deep-Sleep, and Backup
31+
- 1.8V and 3.3V I/O with No Level Translators
32+
- Programming and Debugging
33+
34+
- Scalable Cached External Memory Interfaces
35+
36+
- 120MB/s HyperBus/Xccela DDR Interface
37+
- SPIXF/SPIXR for External Flash/RAM Expansion
38+
- 240Mbps SDHC/eMMC/SDIO/microSD Interface
39+
40+
- Optimal Peripheral Mix Provides Platform Scalability
41+
42+
- 16-Channel DMA
43+
- Three SPI Master (60MHz)/Slave (48MHz)
44+
- One QuadSPI Master (60MHz)/Slave (48MHz)
45+
- Up to Three 4Mbaud UARTs with Flow Control
46+
- Two 1MHz I2C Master/Slave
47+
- I2S Slave
48+
- Four-Channel, 7.8ksps, 10-bit Delta-Sigma ADC
49+
- USB 2.0 Hi-Speed Device Interface with PHY
50+
- 16 Pulse Train Generators
51+
- Six 32-bit Timers with 8mA Hi-Drive
52+
- 1-Wire® Master
53+
54+
- Trust Protection Unit (TPU) for IP/Data and Security
55+
56+
- Modular Arithmetic Accelerator (MAA), True Random Number Generator (TRNG)
57+
- Secure Nonvolatile Key Storage, SHA-256, AES-128/192/256
58+
- Memory Decryption Integrity Unit, Secure Boot ROM
59+
60+
- External devices connected to the MAX32650EVKIT:
61+
62+
- 3.5in 320 x 240 Color TFT Display
63+
- 64MB HyperRAM
64+
- 64MB XIP Flash
65+
- 1MB XIP RAM
66+
- USB 2.0 Micro B
67+
- Two General-Purpose LEDs and Two GeneralPurpose Pushbutton Switches
68+
69+
Supported Features
70+
==================
71+
72+
The ``max32650evkit`` board supports the following interfaces:
73+
74+
+-----------+------------+-------------------------------------+
75+
| Interface | Controller | Driver/Component |
76+
+===========+============+=====================================+
77+
| NVIC | on-chip | nested vector interrupt controller |
78+
+-----------+------------+-------------------------------------+
79+
| SYSTICK | on-chip | systick |
80+
+-----------+------------+-------------------------------------+
81+
| CLOCK | on-chip | clock and reset control |
82+
+-----------+------------+-------------------------------------+
83+
| GPIO | on-chip | gpio |
84+
+-----------+------------+-------------------------------------+
85+
| UART | on-chip | serial |
86+
+-----------+------------+-------------------------------------+
87+
88+
Programming and Debugging
89+
*************************
90+
91+
Flashing
92+
========
93+
The MAX32650 MCU can be flashed by connecting an external debug probe to the
94+
SWD port. SWD debug can be accessed through the Cortex 10-pin connector, J3.
95+
Logic levels are fixed to VDDIO (1.8V).
96+
97+
Once the debug probe is connected to your host computer, then you can simply run the
98+
``west flash`` command to write a firmware image into flash.
99+
100+
.. note::
101+
102+
This board uses OpenOCD as the default debug interface. You can also use
103+
a Segger J-Link with Segger's native tooling by overriding the runner,
104+
appending ``--runner jlink`` to your ``west`` command(s). The J-Link should
105+
be connected to the standard 2*5 pin debug connector (J3) using an
106+
appropriate adapter board and cable
107+
108+
Debugging
109+
=========
110+
Please refer to the `Flashing`_ section and run the ``west debug`` command
111+
instead of ``west flash``.
112+
113+
References
114+
**********
115+
116+
- `MAX32650EVKIT web page`_
117+
118+
.. _MAX32650EVKIT web page:
119+
https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/max32650-evkit.html
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
/*
2+
* Copyright (c) 2025 Analog Devices, Inc.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/dts-v1/;
8+
9+
#include <adi/max32/max32650.dtsi>
10+
#include <adi/max32/max32650-pinctrl.dtsi>
11+
#include <zephyr/dt-bindings/gpio/adi-max32-gpio.h>
12+
#include <zephyr/dt-bindings/input/input-event-codes.h>
13+
14+
/ {
15+
model = "Analog Devices MAX32650EVKIT";
16+
compatible = "adi,max32650evkit";
17+
18+
chosen {
19+
zephyr,console = &uart0;
20+
zephyr,shell-uart = &uart0;
21+
zephyr,sram = &sram0;
22+
zephyr,flash = &flash0;
23+
};
24+
25+
leds {
26+
compatible = "gpio-leds";
27+
28+
led1: led_1 {
29+
gpios = <&gpio2 25 GPIO_ACTIVE_HIGH>;
30+
label = "Red LED";
31+
};
32+
33+
led2: led_2 {
34+
gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
35+
label = "Green LED";
36+
};
37+
};
38+
39+
buttons {
40+
compatible = "gpio-keys";
41+
42+
pb1: pb1 {
43+
gpios = <&gpio2 28 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
44+
label = "SW2";
45+
zephyr,code = <INPUT_KEY_0>;
46+
};
47+
48+
pb2: pb2 {
49+
gpios = <&gpio2 30 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
50+
label = "SW3";
51+
zephyr,code = <INPUT_KEY_1>;
52+
};
53+
};
54+
55+
/* These aliases are provided for compatibility with samples */
56+
aliases {
57+
led0 = &led1;
58+
led1 = &led2;
59+
};
60+
};
61+
62+
&uart0 {
63+
pinctrl-0 = <&uart0_tx_p2_12 &uart0_rx_p2_11>;
64+
pinctrl-names = "default";
65+
current-speed = <115200>;
66+
data-bits = <8>;
67+
parity = "none";
68+
status = "okay";
69+
};
70+
71+
&clk_ipo {
72+
status = "okay";
73+
};
74+
75+
&gpio0 {
76+
status = "okay";
77+
};
78+
79+
&gpio1 {
80+
status = "okay";
81+
};
82+
83+
&gpio2 {
84+
status = "okay";
85+
};
86+
87+
&gpio3 {
88+
status = "okay";
89+
};
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
identifier: max32650evkit
2+
name: max32650evkit
3+
vendor: adi
4+
type: mcu
5+
arch: arm
6+
toolchain:
7+
- zephyr
8+
- gnuarmemb
9+
supported:
10+
- gpio
11+
- serial
12+
ram: 1024
13+
flash: 3072
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Copyright (c) 2025 Analog Devices, Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
# Enable MPU
5+
CONFIG_ARM_MPU=y
6+
7+
# Enable GPIO
8+
CONFIG_GPIO=y
9+
10+
# Console
11+
CONFIG_CONSOLE=y
12+
CONFIG_UART_CONSOLE=y
13+
14+
# Enable UART
15+
CONFIG_SERIAL=y
16+
CONFIG_UART_INTERRUPT_DRIVEN=y

boards/common/openocd-adi-max32.boards.cmake

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
# Default cmsis-dap, it will be overwritten below if requires
77
set(MAX32_INTERFACE_CFG "cmsis-dap.cfg")
88

9-
if(CONFIG_SOC_MAX32655_M4)
9+
if(CONFIG_SOC_MAX32650)
10+
set(MAX32_TARGET_CFG "max32650.cfg")
11+
elseif(CONFIG_SOC_MAX32655_M4)
1012
set(MAX32_TARGET_CFG "max32655.cfg")
1113
elseif(CONFIG_SOC_MAX32662)
1214
set(MAX32_TARGET_CFG "max32662.cfg")

0 commit comments

Comments
 (0)