Skip to content

Commit 6ce55b9

Browse files
Yasin Ustunerkartben
authored andcommitted
boards: adi: Add MAX32650FTHR board
This commit adds MAX32650FTHR board basic port. Signed-off-by: Yasin Ustuner <Yasin.Ustuner@analog.com> Signed-off-by: Burak Babaoglu <Burak.Babaoglu@analog.com>
1 parent 75fb7e4 commit 6ce55b9

File tree

8 files changed

+260
-0
lines changed

8 files changed

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

boards/adi/max32650fthr/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/max32650fthr/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: max32650fthr
6+
full_name: MAX32650FTHR
7+
vendor: adi
8+
socs:
9+
- name: max32650
Binary file not shown.

boards/adi/max32650fthr/doc/index.rst

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
.. zephyr:board:: max32650fthr
2+
3+
Overview
4+
********
5+
The MAX32650FTHR evaluation kit provides a platform for evaluating the capabilities
6+
of the MAX32650 ultra-low-power memory-scalable microcontroller designed specifically
7+
for high-performance, battery-powered applications.
8+
9+
The Zephyr port is running on the MAX32650 MCU.
10+
11+
.. image:: img/max32650fthr.webp
12+
:align: center
13+
:alt: MAX32650 FTHR 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 MAX32650FTHR:
61+
62+
- Battery Connector and Charging Circuit
63+
- Micro-SD Card Interface
64+
- USB 2.0 Full-Speed Device Interface
65+
- MAX11261 6-Channel, 24-Bit, 16ksps, ADC
66+
- Adafruit® Feather Board Compatible
67+
68+
Supported Features
69+
==================
70+
71+
The ``max32650fthr`` board supports the following interfaces:
72+
73+
+-----------+------------+-------------------------------------+
74+
| Interface | Controller | Driver/Component |
75+
+===========+============+=====================================+
76+
| NVIC | on-chip | nested vector interrupt controller |
77+
+-----------+------------+-------------------------------------+
78+
| SYSTICK | on-chip | systick |
79+
+-----------+------------+-------------------------------------+
80+
| CLOCK | on-chip | clock and reset control |
81+
+-----------+------------+-------------------------------------+
82+
| GPIO | on-chip | gpio |
83+
+-----------+------------+-------------------------------------+
84+
| UART | on-chip | serial |
85+
+-----------+------------+-------------------------------------+
86+
87+
Programming and Debugging
88+
*************************
89+
90+
Flashing
91+
========
92+
The MAX32650 MCU can be flashed by connecting an external debug probe to the
93+
SWD port. SWD debug can be accessed through the Cortex 10-pin connector, J5.
94+
Logic levels are fixed to VDDIO (1.8V).
95+
96+
Once the debug probe is connected to your host computer, then you can simply run the
97+
``west flash`` command to write a firmware image into flash.
98+
99+
.. note::
100+
101+
This board uses OpenOCD as the default debug interface. You can also use
102+
a Segger J-Link with Segger's native tooling by overriding the runner,
103+
appending ``--runner jlink`` to your ``west`` command(s). The J-Link should
104+
be connected to the standard 2*5 pin debug connector (J5) using an
105+
appropriate adapter board and cable
106+
107+
Debugging
108+
=========
109+
Please refer to the `Flashing`_ section and run the ``west debug`` command
110+
instead of ``west flash``.
111+
112+
References
113+
**********
114+
115+
- `MAX32650FTHR web page`_
116+
117+
.. _MAX32650FTHR web page:
118+
https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/max32650fthr.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 MAX32650FTHR";
16+
compatible = "adi,max32650fthr";
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 = <&gpio1 14 GPIO_ACTIVE_HIGH>;
30+
label = "Red LED";
31+
};
32+
33+
led2: led_2 {
34+
gpios = <&gpio1 18 GPIO_ACTIVE_HIGH>;
35+
label = "Green LED";
36+
};
37+
};
38+
39+
buttons {
40+
compatible = "gpio-keys";
41+
42+
pb1: pb1 {
43+
gpios = <&gpio1 19 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
44+
label = "SW2";
45+
zephyr,code = <INPUT_KEY_0>;
46+
};
47+
48+
pb2: pb2 {
49+
gpios = <&gpio1 21 (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: max32650fthr
2+
name: max32650fthr
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

0 commit comments

Comments
 (0)