-
Notifications
You must be signed in to change notification settings - Fork 7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This commit adds MAX32650FTHR board basic port. Signed-off-by: Yasin Ustuner <[email protected]> Signed-off-by: Burak Babaoglu <[email protected]>
- Loading branch information
Showing
8 changed files
with
260 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
# MAX32650FTHR board configuration | ||
|
||
# Copyright (c) 2025 Analog Devices, Inc. | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
config BOARD_MAX32650FTHR | ||
select SOC_MAX32650 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Copyright (c) 2025 Analog Devices, Inc. | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
board_runner_args(jlink "--device=MAX32650" "--reset-after-load") | ||
|
||
include(${ZEPHYR_BASE}/boards/common/openocd-adi-max32.boards.cmake) | ||
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake) | ||
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# Copyright (c) 2025 Analog Devices, Inc. | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
board: | ||
name: max32650fthr | ||
full_name: MAX32650FTHR | ||
vendor: adi | ||
socs: | ||
- name: max32650 |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
.. zephyr:board:: max32650fthr | ||
Overview | ||
******** | ||
The MAX32650FTHR evaluation kit provides a platform for evaluating the capabilities | ||
of the MAX32650 ultra-low-power memory-scalable microcontroller designed specifically | ||
for high-performance, battery-powered applications. | ||
|
||
The Zephyr port is running on the MAX32650 MCU. | ||
|
||
.. image:: img/max32650fthr.webp | ||
:align: center | ||
:alt: MAX32650 FTHR Front | ||
|
||
Hardware | ||
******** | ||
|
||
- MAX32650 MCU: | ||
|
||
- Ultra Efficient Microcontroller for Battery-Powered Applications | ||
|
||
- 120MHz Arm Cortex-M4 with FPU | ||
- SmartDMA Provides Background Memory Transfers with Programmable Data Processing | ||
- 120MHz High-Speed and 50MHz Low-Power Oscillators | ||
- 7.3728MHz Low Power Oscillators | ||
- 32.768kHz and RTC Clock (Requires External Crystal) | ||
- 8kHz, Always-on, Ultra-Low-Power Oscillator | ||
- 3MB Internal Flash, 1MB Internal SRAM | ||
- 104µW/MHz Executing from Cache at 1.1V | ||
- Five Low-Power Modes: Active, Sleep, Background, Deep-Sleep, and Backup | ||
- 1.8V and 3.3V I/O with No Level Translators | ||
- Programming and Debugging | ||
|
||
- Scalable Cached External Memory Interfaces | ||
|
||
- 120MB/s HyperBus/Xccela DDR Interface | ||
- SPIXF/SPIXR for External Flash/RAM Expansion | ||
- 240Mbps SDHC/eMMC/SDIO/microSD Interface | ||
|
||
- Optimal Peripheral Mix Provides Platform Scalability | ||
|
||
- 16-Channel DMA | ||
- Three SPI Master (60MHz)/Slave (48MHz) | ||
- One QuadSPI Master (60MHz)/Slave (48MHz) | ||
- Up to Three 4Mbaud UARTs with Flow Control | ||
- Two 1MHz I2C Master/Slave | ||
- I2S Slave | ||
- Four-Channel, 7.8ksps, 10-bit Delta-Sigma ADC | ||
- USB 2.0 Hi-Speed Device Interface with PHY | ||
- 16 Pulse Train Generators | ||
- Six 32-bit Timers with 8mA Hi-Drive | ||
- 1-Wire® Master | ||
|
||
- Trust Protection Unit (TPU) for IP/Data and Security | ||
|
||
- Modular Arithmetic Accelerator (MAA), True Random Number Generator (TRNG) | ||
- Secure Nonvolatile Key Storage, SHA-256, AES-128/192/256 | ||
- Memory Decryption Integrity Unit, Secure Boot ROM | ||
|
||
- External devices connected to the MAX32650FTHR: | ||
|
||
- Battery Connector and Charging Circuit | ||
- Micro-SD Card Interface | ||
- USB 2.0 Full-Speed Device Interface | ||
- MAX11261 6-Channel, 24-Bit, 16ksps, ADC | ||
- Adafruit® Feather Board Compatible | ||
|
||
Supported Features | ||
================== | ||
|
||
The ``max32650fthr`` board supports the following interfaces: | ||
|
||
+-----------+------------+-------------------------------------+ | ||
| Interface | Controller | Driver/Component | | ||
+===========+============+=====================================+ | ||
| NVIC | on-chip | nested vector interrupt controller | | ||
+-----------+------------+-------------------------------------+ | ||
| SYSTICK | on-chip | systick | | ||
+-----------+------------+-------------------------------------+ | ||
| CLOCK | on-chip | clock and reset control | | ||
+-----------+------------+-------------------------------------+ | ||
| GPIO | on-chip | gpio | | ||
+-----------+------------+-------------------------------------+ | ||
| UART | on-chip | serial | | ||
+-----------+------------+-------------------------------------+ | ||
|
||
Programming and Debugging | ||
************************* | ||
|
||
Flashing | ||
======== | ||
The MAX32650 MCU can be flashed by connecting an external debug probe to the | ||
SWD port. SWD debug can be accessed through the Cortex 10-pin connector, J5. | ||
Logic levels are fixed to VDDIO (1.8V). | ||
|
||
Once the debug probe is connected to your host computer, then you can simply run the | ||
``west flash`` command to write a firmware image into flash. | ||
|
||
.. note:: | ||
|
||
This board uses OpenOCD as the default debug interface. You can also use | ||
a Segger J-Link with Segger's native tooling by overriding the runner, | ||
appending ``--runner jlink`` to your ``west`` command(s). The J-Link should | ||
be connected to the standard 2*5 pin debug connector (J5) using an | ||
appropriate adapter board and cable | ||
|
||
Debugging | ||
========= | ||
Please refer to the `Flashing`_ section and run the ``west debug`` command | ||
instead of ``west flash``. | ||
|
||
References | ||
********** | ||
|
||
- `MAX32650FTHR web page`_ | ||
|
||
.. _MAX32650FTHR web page: | ||
https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/max32650fthr.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
/* | ||
* Copyright (c) 2025 Analog Devices, Inc. | ||
* | ||
* SPDX-License-Identifier: Apache-2.0 | ||
*/ | ||
|
||
/dts-v1/; | ||
|
||
#include <adi/max32/max32650.dtsi> | ||
#include <adi/max32/max32650-pinctrl.dtsi> | ||
#include <zephyr/dt-bindings/gpio/adi-max32-gpio.h> | ||
#include <zephyr/dt-bindings/input/input-event-codes.h> | ||
|
||
/ { | ||
model = "Analog Devices MAX32650FTHR"; | ||
compatible = "adi,max32650fthr"; | ||
|
||
chosen { | ||
zephyr,console = &uart0; | ||
zephyr,shell-uart = &uart0; | ||
zephyr,sram = &sram0; | ||
zephyr,flash = &flash0; | ||
}; | ||
|
||
leds { | ||
compatible = "gpio-leds"; | ||
|
||
led1: led_1 { | ||
gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>; | ||
label = "Red LED"; | ||
}; | ||
|
||
led2: led_2 { | ||
gpios = <&gpio1 18 GPIO_ACTIVE_HIGH>; | ||
label = "Green LED"; | ||
}; | ||
}; | ||
|
||
buttons { | ||
compatible = "gpio-keys"; | ||
|
||
pb1: pb1 { | ||
gpios = <&gpio1 19 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; | ||
label = "SW2"; | ||
zephyr,code = <INPUT_KEY_0>; | ||
}; | ||
|
||
pb2: pb2 { | ||
gpios = <&gpio1 21 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; | ||
label = "SW3"; | ||
zephyr,code = <INPUT_KEY_1>; | ||
}; | ||
}; | ||
|
||
/* These aliases are provided for compatibility with samples */ | ||
aliases { | ||
led0 = &led1; | ||
led1 = &led2; | ||
}; | ||
}; | ||
|
||
&uart0 { | ||
pinctrl-0 = <&uart0_tx_p2_12 &uart0_rx_p2_11>; | ||
pinctrl-names = "default"; | ||
current-speed = <115200>; | ||
data-bits = <8>; | ||
parity = "none"; | ||
status = "okay"; | ||
}; | ||
|
||
&clk_ipo { | ||
status = "okay"; | ||
}; | ||
|
||
&gpio0 { | ||
status = "okay"; | ||
}; | ||
|
||
&gpio1 { | ||
status = "okay"; | ||
}; | ||
|
||
&gpio2 { | ||
status = "okay"; | ||
}; | ||
|
||
&gpio3 { | ||
status = "okay"; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
identifier: max32650fthr | ||
name: max32650fthr | ||
vendor: adi | ||
type: mcu | ||
arch: arm | ||
toolchain: | ||
- zephyr | ||
- gnuarmemb | ||
supported: | ||
- gpio | ||
- serial | ||
ram: 1024 | ||
flash: 3072 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# Copyright (c) 2025 Analog Devices, Inc. | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
# Enable MPU | ||
CONFIG_ARM_MPU=y | ||
|
||
# Enable GPIO | ||
CONFIG_GPIO=y | ||
|
||
# Console | ||
CONFIG_CONSOLE=y | ||
CONFIG_UART_CONSOLE=y | ||
|
||
# Enable UART | ||
CONFIG_SERIAL=y | ||
CONFIG_UART_INTERRUPT_DRIVEN=y |