Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions boards/adi/max32672evkit/Kconfig.max32672evkit
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# MAX32672EVKIT boards configuration

# Copyright (c) 2024 Analog Devices, Inc.
# SPDX-License-Identifier: Apache-2.0

config BOARD_MAX32672EVKIT
select SOC_MAX32672
9 changes: 9 additions & 0 deletions boards/adi/max32672evkit/board.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright (c) 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/max32672.cfg]")
board_runner_args(jlink "--device=MAX32672" "--reset-after-load")

include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
8 changes: 8 additions & 0 deletions boards/adi/max32672evkit/board.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Copyright (c) 2024 Analog Devices, Inc.
# SPDX-License-Identifier: Apache-2.0

board:
name: max32672evkit
vendor: adi
socs:
- name: max32672
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
341 changes: 341 additions & 0 deletions boards/adi/max32672evkit/doc/index.rst

Large diffs are not rendered by default.

73 changes: 73 additions & 0 deletions boards/adi/max32672evkit/max32672evkit.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
/*
* Copyright (c) 2024 Analog Devices, Inc.
*
* SPDX-License-Identifier: Apache-2.0
*/

/dts-v1/;

#include <adi/max32/max32672.dtsi>
#include <adi/max32/max32672-pinctrl.dtsi>
#include <zephyr/dt-bindings/gpio/adi-max32-gpio.h>
#include <zephyr/dt-bindings/input/input-event-codes.h>

/ {
model = "Analog Devices MAX32672EVKIT";
compatible = "adi,max32672evkit";

chosen {
zephyr,console = &uart0;
zephyr,shell-uart = &uart0;
zephyr,sram = &sram3;
zephyr,flash = &flash0;
};

leds {
compatible = "gpio-leds";
led1: led_1 {
gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
label = "Red LED";
};
led2: led_2 {
gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
label = "Green LED";
};
};

buttons {
compatible = "gpio-keys";
pb1: pb1 {
gpios = <&gpio0 18 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
label = "SW3";
zephyr,code = <INPUT_KEY_0>;
};
};

/* These aliases are provided for compatibility with samples */
aliases {
led0 = &led1;
led1 = &led2;
sw0 = &pb1;
};
};

&uart0 {
pinctrl-0 = <&uart0a_tx_p0_9 &uart0a_rx_p0_8>;
pinctrl-names = "default";
current-speed = <115200>;
data-bits = <8>;
parity = "none";
status = "okay";
};

&clk_ipo {
status = "okay";
};

&gpio0 {
status = "okay";
};

&gpio1 {
status = "okay";
};
13 changes: 13 additions & 0 deletions boards/adi/max32672evkit/max32672evkit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
identifier: max32672evkit
name: max32672evkit
type: mcu
arch: arm
toolchain:
- zephyr
- gnuarmemb
- xtools
supported:
- gpio
- serial
ram: 200
flash: 1024
13 changes: 13 additions & 0 deletions boards/adi/max32672evkit/max32672evkit_defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Copyright (c) 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
7 changes: 7 additions & 0 deletions boards/adi/max32672fthr/Kconfig.max32672fthr
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# MAX32672FTHR boards configuration

# Copyright (c) 2024 Analog Devices, Inc.
# SPDX-License-Identifier: Apache-2.0

config BOARD_MAX32672FTHR
select SOC_MAX32672
7 changes: 7 additions & 0 deletions boards/adi/max32672fthr/board.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Copyright (c) 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/max32672.cfg]")

include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
8 changes: 8 additions & 0 deletions boards/adi/max32672fthr/board.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Copyright (c) 2024 Analog Devices, Inc.
# SPDX-License-Identifier: Apache-2.0

board:
name: max32672fthr
vendor: adi
socs:
- name: max32672
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
206 changes: 206 additions & 0 deletions boards/adi/max32672fthr/doc/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,206 @@
.. _max32672_fthr:

MAX32672FTHR
############

Overview
********
The MAX32672FTHR is a rapid development platform that helps engineers quickly implement complex
sensor solutions using the MAX32672 Arm® Cortex®-M4. The board also includes the MAX8819 PMIC for
battery and power management. The form factor is a small, 0.9in by 2.6in, dual row header footprint
that is compatible with Adafruit® FeatherWing peripheral expansion boards. The board includes
an OLED display, a RGB indicator LED, and a user pushbutton. The MAX32672FTHR provides
a power-optimized flexible platform for quick proof-ofconcepts and early software development
to enhance time to market.

The Zephyr port is running on the MAX32672 MCU.

.. image:: img/max32672fthr_img1.webp
:align: center
:alt: MAX32672FTHR Front

.. image:: img/max32672fthr_img2.webp
:align: center
:alt: MAX32672FTHR Back

Hardware
********

- MAX32672 MCU:

- High-Efficiency Microcontroller for Low-Power High-Reliability Devices

- Arm Cortex-M4 Processor with FPU up to 100MHz
- 1MB Dual-Bank Flash with Error Correction
- 200KB SRAM (160KB with ECC Enabled), Optionally Preserved in Lowest Power Modes
- EEPROM Emulation on Flash
- 16KB Unified Cache with ECC
- Resource Protection Unit (RPU) and MemoryProtection Unit (MPU)
- Dual- or Single-Supply Operation, 1.7V to 3.6V
- Wide Operating Temperature: -40°C to +105°C

- Flexible Clocking Schemes

- Internal High-Speed 100MHz Oscillator
- Internal Low-Power 7.3728MHz and Ultra-Low-Power 80kHz Oscillators
- 16MHz–32MHz Oscillator, 32.768kHz Oscillator(External Crystal Required)
- External Clock Input for CPU, LPUART, LPTMR

- Power Management Maximizes Uptime for Battery Applications

- 59.8μA/MHz ACTIVE at 0.9V up to 12MHz(CoreMark®)
- 56.6μA/MHz ACTIVE at 1.1V up to 100MHz(While(1))
- 3.09μA Full Memory Retention Power in BACKUPMode at VDD = 1.8V
- 350nA Ultra-Low-Power RTC at
- Wake from LPUART or LPTMR

- Optimal Peripheral Mix Provides Platform Scalability

- Up to 42 General-Purpose I/O Pins
- Up to Three SPI Master/Slave (up to 50Mbps)
- Up to Three 4-Wire UART
- Up to Three I2C Master/Slave 3.4Mbps High Speed
- Up to Four 32-Bit Timers (TMR)
- Up to Two Low-Power 32-Bit Timers (LPTMR)
- One I2S Master/Slave for Digital Audio Interface
- 12-Channel, 12-Bit, 1Msps SAR ADC with On-DieTemperature Sensor

- Security and Integrity

- Optional ECDSA-Based Cryptographic SecureBootloader in ROM
- Secure Cryptographic Accelerator for Elliptic Curve
- AES-128/192/256 Hardware Acceleration Engine

- Benefits and Features of MAX32672FTHR:

- MAX8819 PMIC with Integrated Charger
- On-Board DAPLink Debug and Programming Interface for Arm Cortex-M4
- Breadboard-Compatible Headers
- Micro USB Connector
- RGB Indicator LED
- User Pushbutton
- OLED Display
- SWD Debugger
- Virtual UART Console

Supported Features
==================

Below interfaces are supported by Zephyr on MAX32672FTHR.

+-----------+------------+-------------------------------------+
| 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
===================

J9 Pinout
**********

+---------+----------+-------------------------------------------------------------------------------------------------+
| Pin | Name | Description |
+=========+==========+=================================================================================================+
| 1 | RST | Master Reset Signal |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 2 | 3V3 | 3.3V Output. Typically used to provide 3.3V to peripherals connected to the expansion headers. |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 3 | 1V8 | 1.8V Output. Typically used to provide 1.8V to peripherals connected to the expansion headers. |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 4 | GND | Ground |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 5 | P0_11 | GPIO or Analog Input (AIN3 channel). |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 6 | P0_12 | GPIO or Analog Input (AIN4 channel). |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 7 | P0_13 | GPIO or Analog Input (AIN5 channel). |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 8 | P0_22 | GPIO or ADC_TRIG signal. |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 9 | P0_27 | GPIO or QERR signal. |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 10 | P0_26 | GPIO or QDIR signal. |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 11 | P0_16 | GPIO or SPI1 clock signal. |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 12 | P0_15 | GPIO or SPI1 MOSI signal. |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 13 | P0_14 | GPIO or SPI1 MISO signal. |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 14 | P0_28 | GPIO or UART1 Rx signal. |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 15 | P0_29 | GPIO or UART1 Tx signal. |
+---------+----------+-------------------------------------------------------------------------------------------------+
| 16 | GND | Ground |
+---------+----------+-------------------------------------------------------------------------------------------------+


J7 Pinout
**********

+---------+----------+-----------------------------------------------------------------------------------------------------------+
| Pin | Name | Description |
+=========+==========+===========================================================================================================+
| 1 | SYS | SYS Switched Connection to the Battery. This is the primary system power supply and automatically |
| | | switches between the battery voltage and the USB supply when available. |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| 2 | PWR | In battery-powered mode, turns off the PMIC if shorted to ground. |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| 3 | VBUS | USB VBUS Signal. This can be used as a 5V supply when connected to USB. This pin can also be |
| | | used as an input to power the board. |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| 4 | P0_5 | GPIO or HFX_CLK_OUT signal. |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| 5 | P0_6 | GPIO or QEA signal. |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| 6 | P0_7 | GPIO or QEB signal. |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| 7 | P0_23 | GPIO or QEI signal. |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| 8 | P0_17 | GPIO or SPI1 slave select signal. |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| 9 | P0_24 | GPIO or QES signal. |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| 10 | P0_25 | GPIO or QMATCH signal. |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| 11 | P0_18 | GPIO or I2C2 SCL signal. |
+---------+----------+-----------------------------------------------------------------------------------------------------------+
| 12 | P0_19 | GPIO or I2C2 SDA signal. |
+---------+----------+-----------------------------------------------------------------------------------------------------------+

Programming and Debugging
*************************

Flashing
========

The MAX32625 microcontroller on the board is flashed with DAPLink firmware at the factory.
It allows debugging and flashing the MAX32672 Arm Core over USB.

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.

Debugging
=========

Please refer to the `Flashing`_ section and run the ``west debug`` command
instead of ``west flash``.

References
**********

- `MAX32672FTHR web page`_

.. _MAX32672FTHR web page:
https://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/max32672fthr.html
Loading