boards: Add MAX32655EVKit board

Added MAX32655EVKit boards.
For more information about this board please check
https://www.analog.com/

Co-authored-by: Kevin Townsend <kevin.townsend@analog.com>
Co-authored-by: Maureen Helm <maureen.helm@analog.com>
Co-authored-by: Okan Sahin <okan.sahin@analog.com>
Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
This commit is contained in:
Sadik Ozer 2023-10-13 18:53:03 +03:00 committed by Alberto Escolar
commit 7bb48a7d45
9 changed files with 316 additions and 0 deletions

View file

@ -0,0 +1,7 @@
# MAX32655EVKIT boards configuration
# Copyright (c) 2023-2024 Analog Devices, Inc.
# SPDX-License-Identifier: Apache-2.0
config BOARD_MAX32655EVKIT
select SOC_MAX32655_M4 if BOARD_MAX32655EVKIT_MAX32655_M4

View file

@ -0,0 +1,9 @@
# Copyright (c) 2023-2024 Analog Devices, Inc.
# SPDX-License-Identifier: Apache-2.0
board_runner_args(openocd --cmd-pre-init "source [find interface/cmsis-dap.cfg]")
board_runner_args(openocd --cmd-pre-init "source [find target/max32655.cfg]")
board_runner_args(jlink "--device=MAX32655" "--reset-after-load")
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

View file

@ -0,0 +1,8 @@
# Copyright (c) 2023-2024 Analog Devices, Inc.
# SPDX-License-Identifier: Apache-2.0
board:
name: max32655evkit
vendor: adi
socs:
- name: max32655

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

View file

@ -0,0 +1,177 @@
.. _max32655_evkit:
MAX32655EVKIT
#############
Overview
********
The MAX32655 evaluation kit (EV kit) provides a platform for evaluation capabilities
of the MAX32655 microcontroller, which is an advanced system-on-chip (SoC).
It features an Arm® Cortex®-M4F CPU for efficient computation of complex functions and
algorithms, integrated power management (SIMO), and the newest generation
Bluetooth® 5.0 Low Energy (Bluetooth LE), long-range radio for wearable and hearable device applications.
The Zephyr port is running on the MAX32655 MCU.
.. image:: img/max32655evkit_img1.jpg
:align: center
:alt: MAX32655 EVKIT Front
.. image:: img/max32655evkit_img2.jpg
:align: center
:alt: MAX32655 Back
Hardware
********
- MAX32655 MCU:
- Ultra-Low-Power Wireless Microcontroller
- Internal 100MHz Oscillator
- Flexible Low-Power Modes with 7.3728MHz System Clock Option
- 512KB Flash and 128KB SRAM (Optional ECC on One 32KB SRAM Bank)
- 16KB Instruction Cache
- Bluetooth 5.2 LE Radio
- Dedicated, Ultra-Low-Power, 32-Bit RISC-V Coprocessor to Offload Timing-Critical Bluetooth Processing
- Fully Open-Source Bluetooth 5.2 Stack Available
- Supports AoA, AoD, LE Audio, and Mesh
- High-Throughput (2Mbps) Mode
- Long-Range (125kbps and 500kbps) Modes
- Rx Sensitivity: -97.5dBm; Tx Power: +4.5dBm
- Single-Ended Antenna Connection (50Ω)
- Power Management Maximizes Battery Life
- 2.0V to 3.6V Supply Voltage Range
- Integrated SIMO Power Regulator
- Dynamic Voltage Scaling (DVS)
- 23.8μA/MHz Active Current at 3.0V
- 4.4μA at 3.0V Retention Current for 32KB
- Selectable SRAM Retention + RTC in Low-Power Modes
- Multiple Peripherals for System Control
- Up to Two High-Speed SPI Master/Slave
- Up to Three High-Speed I2C Master/Slave (3.4Mbps)
- Up to Four UART, One I2S Master/Slave
- Up to 8-Input, 10-Bit Sigma-Delta ADC 7.8ksps
- Up to Four Micro-Power Comparators
- Timers: Up to Two Four 32-Bit, Two LP, TwoWatchdog Timers
- 1-Wire® Master
- Up to Four Pulse Train (PWM) Engines
- RTC with Wake-Up Timer
- Up to 52 GPIOs
- Security and Integrity
- Available Secure Boot
- TRNG Seed Generator
- AES 128/192/256 Hardware Acceleration Engine
- External devices connected to the MAX32655 EVKIT:
- Color TFT Display
- Audio Stereo Codec Interface
- Digital Microphone
- A 128Mb QSPI flash
Supported Features
==================
Below are the interfaces supported by Zephyr on MAX32655EVKIT.
+-----------+------------+-------------------------------------+
| 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 |
+-----------+------------+-------------------------------------+
Connections and IOs
===================
+-----------+---------------+-----------------------------------------------------------------------+
| Name | Signal | Usage |
+===========+===============+=======================================================================+
| JP1 | VREGI | Connect/Disconnect VREGIO power |
+-----------+---------------+-----------------------------------------------------------------------+
| JP2 | P0_24 | Enable/Disable LED1 |
+-----------+---------------+-----------------------------------------------------------------------+
| JP3 | P0_25 | Enable/Disable LED2 |
+-----------+---------------+-----------------------------------------------------------------------+
| JP4 | P2_6/ P2_7 | Connect/Disconnect the USB to serial UART to GPIO P2_6 (LPUART_RX) |
+-----------+---------------+-----------------------------------------------------------------------+
| JP5 | P2_7/ P0_1 | Connect/Disconnect the USB to serial UART to GPIO P2_7 (LPUART_TX) |
+-----------+---------------+-----------------------------------------------------------------------+
| JP6 | P0_2 | Connect/Disconnect the USB to serial UART to GPIO P0_2 (UART0_CTS) |
+-----------+---------------+-----------------------------------------------------------------------+
| JP7 | P0_3 | Connect/Disconnect he USB to serial UART to GPIO P0_3 (UART0_RTS) |
+-----------+---------------+-----------------------------------------------------------------------+
| JP8 | VREGI | Select VDDIO_EN power source (3V3 or coin cell) |
+-----------+---------------+-----------------------------------------------------------------------+
| JP9 | VDDIOH_EN | Select VDDIOH_EN power source 3V3/VREGI |
+-----------+---------------+-----------------------------------------------------------------------+
| JP10 | VDDIOH | Connect/Disconnect VDDIOH power |
+-----------+---------------+-----------------------------------------------------------------------+
| JP11 | VDDIO_EN | Select VDDIO_EN power source 1V8/VREGO_A |
+-----------+---------------+-----------------------------------------------------------------------+
| JP12 | VDDIO | Connect/Disconnect VDDIO power |
+-----------+---------------+-----------------------------------------------------------------------+
| JP13 | VDDA_EN | Select VDDA_EN power source 1V8/VREGO_A |
+-----------+---------------+-----------------------------------------------------------------------+
| JP14 | VDDA | Connect/Disconnect VDDA power |
+-----------+---------------+-----------------------------------------------------------------------+
| JP15 | VCOREA_EN | Select VCOREA_EN power source 1V1/VREGO_C |
+-----------+---------------+-----------------------------------------------------------------------+
| JP16 | VCOREA | Connect/Disconnect VCOREA power |
+-----------+---------------+-----------------------------------------------------------------------+
| JP17 | VCOREB_EN | Select VCOREB_EN power source 1V1/VREGO_B |
+-----------+---------------+-----------------------------------------------------------------------+
| JP18 | VCOREB | Connect/Disconnect VCOREB power |
+-----------+---------------+-----------------------------------------------------------------------+
| JP19 | BLE_LDO | Connect/Disconnect BLE_LDO power |
+-----------+---------------+-----------------------------------------------------------------------+
| JP20 | VREF | Select VREF power source VDDIO/VDDIOH |
+-----------+---------------+-----------------------------------------------------------------------+
| JP21 | I2C0_PU | Select I2C0_PU power source VDDIO/VDDIOH |
+-----------+---------------+-----------------------------------------------------------------------+
| JP22 | I2C1_PU | Select I2C1_PU power source VDDIO/VDDIOH |
+-----------+---------------+-----------------------------------------------------------------------+
| JP23 | BOARD RESET | Connect/Disconnect RV JTAG NRESET from the BOARD RESET circuitry |
+-----------+---------------+-----------------------------------------------------------------------+
Programming and Debugging
*************************
Flashing
========
The MAX32655 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, JH3.
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 (JW3) 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
**********
- `MAX32655EVKIT web page`_
.. _MAX32655EVKIT web page:
https://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/max32655evkit.html#eb-overview

View file

@ -0,0 +1,89 @@
/*
* Copyright (c) 2023-2024 Analog Devices, Inc.
*
* SPDX-License-Identifier: Apache-2.0
*/
/dts-v1/;
#include <adi/max32/max32655.dtsi>
#include <adi/max32/max32655-pinctrl.dtsi>
#include <zephyr/dt-bindings/gpio/adi-max32-gpio.h>
/ {
model = "Analog Devices MAX32655EVKIT";
compatible = "adi,max32655evkit";
chosen {
zephyr,console = &uart0;
zephyr,shell-uart = &uart0;
zephyr,sram = &sram2;
zephyr,flash = &flash0;
};
leds {
compatible = "gpio-leds";
led1: led_1 {
gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
label = "Red LED";
};
led2: led_2 {
gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
label = "Blue LED";
};
};
buttons {
compatible = "gpio-keys";
pb1: pb1 {
gpios = <&gpio0 18 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
label = "SW2";
};
pb2: pb2 {
gpios = <&gpio0 19 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
label = "SW3";
};
pb_wakeup: pb_wakeup {
gpios = <&gpio3 1 (GPIO_PULL_UP | GPIO_ACTIVE_LOW
| MAX32_GPIO_VSEL_VDDIOH)>;
label = "Wakeup";
};
};
/* These aliases are provided for compatibility with samples */
aliases {
led0 = &led1;
led1 = &led2;
sw0 = &pb1;
sw1 = &pb2;
};
};
&uart0 {
pinctrl-0 = <&uart0a_tx_p0_1 &uart0a_rx_p0_0>;
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";
};

View file

@ -0,0 +1,13 @@
identifier: max32655evkit/max32655/m4
name: max32655evkit m4
type: mcu
arch: arm
toolchain:
- zephyr
- gnuarmemb
- xtools
supported:
- gpio
- serial
ram: 128
flash: 512

View file

@ -0,0 +1,13 @@
# Copyright (c) 2023-2024 Analog Devices, Inc.
# SPDX-License-Identifier: Apache-2.0
# Enable GPIO
CONFIG_GPIO=y
# Console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y
# Enable UART
CONFIG_SERIAL=y
CONFIG_UART_INTERRUPT_DRIVEN=y