Browse Source
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>pull/85789/head
9 changed files with 264 additions and 1 deletions
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
# MAX32650EVKIT boards configuration |
||||
|
||||
# Copyright (c) 2025 Analog Devices, Inc. |
||||
# SPDX-License-Identifier: Apache-2.0 |
||||
|
||||
config BOARD_MAX32650EVKIT |
||||
select SOC_MAX32650 |
@ -0,0 +1,8 @@
@@ -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) |
@ -0,0 +1,9 @@
@@ -0,0 +1,9 @@
|
||||
# Copyright (c) 2025 Analog Devices, Inc. |
||||
# SPDX-License-Identifier: Apache-2.0 |
||||
|
||||
board: |
||||
name: max32650evkit |
||||
full_name: MAX32650EVKIT |
||||
vendor: adi |
||||
socs: |
||||
- name: max32650 |
After Width: | Height: | Size: 36 KiB |
@ -0,0 +1,119 @@
@@ -0,0 +1,119 @@
|
||||
.. zephyr:board:: max32650evkit |
||||
|
||||
Overview |
||||
******** |
||||
The MAX32650 evaluation kit (EV 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/max32650evkit.webp |
||||
:align: center |
||||
:alt: MAX32650 EVKIT 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 MAX32650EVKIT: |
||||
|
||||
- 3.5in 320 x 240 Color TFT Display |
||||
- 64MB HyperRAM |
||||
- 64MB XIP Flash |
||||
- 1MB XIP RAM |
||||
- USB 2.0 Micro B |
||||
- Two General-Purpose LEDs and Two GeneralPurpose Pushbutton Switches |
||||
|
||||
Supported Features |
||||
================== |
||||
|
||||
The ``max32650evkit`` 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, J3. |
||||
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 (J3) 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 |
||||
********** |
||||
|
||||
- `MAX32650EVKIT web page`_ |
||||
|
||||
.. _MAX32650EVKIT web page: |
||||
https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/max32650-evkit.html |
@ -0,0 +1,89 @@
@@ -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 MAX32650EVKIT"; |
||||
compatible = "adi,max32650evkit"; |
||||
|
||||
chosen { |
||||
zephyr,console = &uart0; |
||||
zephyr,shell-uart = &uart0; |
||||
zephyr,sram = &sram0; |
||||
zephyr,flash = &flash0; |
||||
}; |
||||
|
||||
leds { |
||||
compatible = "gpio-leds"; |
||||
|
||||
led1: led_1 { |
||||
gpios = <&gpio2 25 GPIO_ACTIVE_HIGH>; |
||||
label = "Red LED"; |
||||
}; |
||||
|
||||
led2: led_2 { |
||||
gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>; |
||||
label = "Green LED"; |
||||
}; |
||||
}; |
||||
|
||||
buttons { |
||||
compatible = "gpio-keys"; |
||||
|
||||
pb1: pb1 { |
||||
gpios = <&gpio2 28 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; |
||||
label = "SW2"; |
||||
zephyr,code = <INPUT_KEY_0>; |
||||
}; |
||||
|
||||
pb2: pb2 { |
||||
gpios = <&gpio2 30 (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"; |
||||
}; |
@ -0,0 +1,13 @@
@@ -0,0 +1,13 @@
|
||||
identifier: max32650evkit |
||||
name: max32650evkit |
||||
vendor: adi |
||||
type: mcu |
||||
arch: arm |
||||
toolchain: |
||||
- zephyr |
||||
- gnuarmemb |
||||
supported: |
||||
- gpio |
||||
- serial |
||||
ram: 1024 |
||||
flash: 3072 |
@ -0,0 +1,16 @@
@@ -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 |
Loading…
Reference in new issue