boards: Add MAX32662EVKIT board
Add MAX32662EVKIT board files For more information about this board please check https://www.analog.com/ Co-authored-by: Maureen Helm <maureen.helm@analog.com> Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
This commit is contained in:
parent
7323757e36
commit
fa0d08c70a
8 changed files with 343 additions and 0 deletions
7
boards/adi/max32662evkit/Kconfig.max32662evkit
Normal file
7
boards/adi/max32662evkit/Kconfig.max32662evkit
Normal file
|
@ -0,0 +1,7 @@
|
|||
# MAX32662EVKIT boards configuration
|
||||
|
||||
# Copyright (c) 2024 Analog Devices, Inc.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
config BOARD_MAX32662EVKIT
|
||||
select SOC_MAX32662
|
9
boards/adi/max32662evkit/board.cmake
Normal file
9
boards/adi/max32662evkit/board.cmake
Normal file
|
@ -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/max32662.cfg]")
|
||||
board_runner_args(jlink "--device=MAX32662" "--reset-after-load")
|
||||
|
||||
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
|
||||
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
|
8
boards/adi/max32662evkit/board.yml
Normal file
8
boards/adi/max32662evkit/board.yml
Normal file
|
@ -0,0 +1,8 @@
|
|||
# Copyright (c) 2024 Analog Devices, Inc.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
board:
|
||||
name: max32662evkit
|
||||
vendor: adi
|
||||
socs:
|
||||
- name: max32662
|
BIN
boards/adi/max32662evkit/doc/img/max32662evkit.webp
Normal file
BIN
boards/adi/max32662evkit/doc/img/max32662evkit.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 43 KiB |
227
boards/adi/max32662evkit/doc/index.rst
Normal file
227
boards/adi/max32662evkit/doc/index.rst
Normal file
|
@ -0,0 +1,227 @@
|
|||
.. _max32662_evkit:
|
||||
|
||||
MAX32662EVKIT
|
||||
#############
|
||||
|
||||
Overview
|
||||
********
|
||||
The MAX32662 evaluation kit (EV kit) provides a platform for evaluating
|
||||
the capabilities of the MAX32662 microcontroller, which is a cost-effective,
|
||||
ultra-low power, highly integrated 32-bit microcontroller designed
|
||||
for battery-powered edge devices.
|
||||
|
||||
The Zephyr port is running on the MAX32662 MCU.
|
||||
|
||||
.. image:: img/max32662evkit.webp
|
||||
:align: center
|
||||
:alt: MAX32662EVKIT
|
||||
|
||||
Hardware
|
||||
********
|
||||
|
||||
- MAX32662 MCU:
|
||||
|
||||
- High-Efficiency Microcontroller for Low-Power High-Reliability Devices
|
||||
|
||||
- 256KB Flash
|
||||
- 80KB SRAM, Optionally Preserved in LowestPower BACKUP Mode
|
||||
- 16KB Unified Cache
|
||||
- Memory Protection 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
|
||||
- Internal Low-Power 7.3728MHz
|
||||
- Ultra-Low-Power 80kHz
|
||||
- 16MHz–32MHz (External Crystal Required)
|
||||
- 32.768kHz (External Crystal Required)
|
||||
- External Clock Inputs for CPU and Low-PowerTimer
|
||||
|
||||
- Power Management Maximizes Uptime for Battery Applications
|
||||
|
||||
- 50μA/MHz at 0.9V up to 12MHz (CoreMark®) inACTIVE Mode
|
||||
- 44μA/MHz at 1.1V up to 100MHz (While(1)) inACTIVE Mode
|
||||
- 2.15μA Full Memory Retention Current in BACKUPMode at VDDIO = 1.8V
|
||||
- 2.4μA Full Memory Retention Current in BACKUPMode at VDDIO = 3.3V
|
||||
- 350nA Ultra-Low-Power RTC
|
||||
- Wakeup from Low-Power Timer
|
||||
|
||||
- Optimal Peripheral Mix Provides Platform Scalability
|
||||
|
||||
- Up to 21 General-Purpose I/O Pins
|
||||
- 4-Channel, 12-Bit, 1Msps ADC
|
||||
- Two SPI Controller/Target
|
||||
- One I2S Controller/Target
|
||||
- Two 4-Wire UART
|
||||
- Two I2C Controller/Target
|
||||
- One CAN 2.0B Controller
|
||||
- 4-Channel Standard DMA Controller
|
||||
- Three 32-Bit Timers
|
||||
- One 32-Bit Low-Power Timer
|
||||
- One Watchdog Timer
|
||||
- CMOS-Level 32.768kHz Calibration Output
|
||||
- AES-128/192/256 Hardware Accelerator
|
||||
|
||||
- Benefits and Features of MAX32662EVKIT:
|
||||
|
||||
- 3-Pin Terminal Block for CAN Bus 2.0B
|
||||
- 128 x 128 (1.45in) Color TFT Display with SPI Interface
|
||||
- Selectable On-Board High-Precision Voltage Reference
|
||||
- USB 2.0 Micro-B to Serial UART
|
||||
- All GPIOs Signals Accessed through 0.1in Headers
|
||||
- Four Analog Inputs Accessed through 0.1in Header
|
||||
- SWD 10-Pin Header
|
||||
- Board Power Provided by USB Port
|
||||
- On-Board LDO Regulators
|
||||
- Individual Power Measurement on All IC Rails through Jumpers
|
||||
- One General-Purpose LED
|
||||
- One General-Purpose Pushbutton Switch
|
||||
|
||||
Supported Features
|
||||
==================
|
||||
|
||||
Below interfaces are supported by Zephyr on MAX32662EVKIT.
|
||||
|
||||
+-----------+------------+-------------------------------------+
|
||||
| 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 | Name | Settings | Description |
|
||||
+===========+===============+===============+==================================================================================================+
|
||||
| JP1 | VREF EN | | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------------------+ |
|
||||
| | | | 1-2 | | | Connects the external voltage reference to the VREF pin; must be enabled in the software. | |
|
||||
| | | | | | | See the External Voltage Reference (VREF) section for additional information. | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------------------+ |
|
||||
| | | | Open | | | Disconnects the external voltage reference. | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------------------+ |
|
||||
| | | | |
|
||||
+-----------+---------------+---------------+--------------------------------------------------------------------------------------------------+
|
||||
| JP2 | I2C1_SCL_PU | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | 1-2 | | | Connects the pull-up to I2C1A_SCL (P0.6); sourced by V_AUX. | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | Open | | | Disconnects the pull-up from I2C1A_SCL (P0.6); sourced by V_AUX. | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | |
|
||||
+-----------+---------------+---------------+--------------------------------------------------------------------------------------------------+
|
||||
| JP3 | N/A | N/A | Does not exist. |
|
||||
+-----------+---------------+---------------+--------------------------------------------------------------------------------------------------+
|
||||
| JP4 | I2C1_SDA_PU | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | 1-2 | | | Connects the pull-up to I2C1A_SDA (P0.9); sourced by V_AUX. | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | Oepn | | | Disconnects the pull-up from I2C1A_SDA (P0.9); sourced by V_AUX. | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | |
|
||||
+-----------+---------------+---------------+--------------------------------------------------------------------------------------------------+
|
||||
| JP5 | LED0 EN | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | 1-2 | | | Enables LED0. | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | Open | | | Disables LED0. | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | |
|
||||
+-----------+---------------+---------------+--------------------------------------------------------------------------------------------------+
|
||||
| JP6 | CTS0A EN | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | 1-2 | | | Connects the USB-to-serial bridge to UART0A_CTS (P0.20). | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | Open | | | Disconnects the USB-to-serial bridge from UART0A_CTS (P0.20). | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | |
|
||||
+-----------+---------------+---------------+--------------------------------------------------------------------------------------------------+
|
||||
| JP7 | RX0A EN | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | 1-2 | | | Connects the USB-to-serial bridge to UART0A_RX (P0.11). | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | Open | | | Disconnects the USB-to-serial bridge from UART0A_RX (P0.11). | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | |
|
||||
+-----------+---------------+---------------+--------------------------------------------------------------------------------------------------+
|
||||
| JP8 | TX0A EN | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | 1-2 | | | Connects the USB-to-serial bridge to UART0A_TX (P0.10). | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | Open | | | Disconnects the USB-to-serial bridge from UART0A_TX (P0.10). | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | |
|
||||
+-----------+---------------+---------------+--------------------------------------------------------------------------------------------------+
|
||||
| JP9 | RTS0A EN | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | 1-2 | | | Connects the USB-to-serial bridge to UART0A_RTS (P0.19). | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | Open | | | Disconnects the USB-to-serial bridge from UART0A_RTS (P0.19). | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | |
|
||||
+-----------+---------------+---------------+--------------------------------------------------------------------------------------------------+
|
||||
| JP10 | VCORE EN | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | 1-2 | | | Connects 1V1 to VCORE. | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | Open | | | Disconnects 1V1 from VCORE. | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | |
|
||||
+-----------+---------------+---------------+--------------------------------------------------------------------------------------------------+
|
||||
| JP11 | VDDIO/VDDASEL | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | 2-1 | | | Connects 1V8 to V_AUX, VDDIO EN (JP12), and VDDA EN (JP13) jumpers. | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | 2-3 | | | Connects 3V3 to V_AUX, VDDIO EN (JP12), and VDDA EN (JP13) jumpers. | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | |
|
||||
+-----------+---------------+---------------+--------------------------------------------------------------------------------------------------+
|
||||
| JP12 | VDDIO EN | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | 1-2 | | | Connects the JP11 selected voltage to VDDIO. | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | Open | | | Disconnects the voltage from VDDIO. | |
|
||||
| | | +-----------+ | +-------------------------------------------------------------------------------+ |
|
||||
| | | | |
|
||||
+-----------+---------------+---------------+--------------------------------------------------------------------------------------------------+
|
||||
|
||||
|
||||
Programming and Debugging
|
||||
*************************
|
||||
|
||||
Flashing
|
||||
========
|
||||
|
||||
An Arm® debug access port (DAP) provides an external interface for debugging during application
|
||||
development. The DAP is a standard Arm CoreSight® serial wire debug port, uses a two-pin serial
|
||||
interface (SWDCLK and SWDIO), and is accessed through 10-pin header (J3). Logic levels are set
|
||||
to V_AUX (1V8 or 3V3), which is determined by the shunt placement on JP11. In addition,
|
||||
the UART1A port can also be accessed through J3.
|
||||
|
||||
|
||||
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
|
||||
**********
|
||||
|
||||
- `MAX32662EVKIT web page`_
|
||||
|
||||
.. _MAX32662EVKIT web page:
|
||||
https://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/max32662evkit.html
|
65
boards/adi/max32662evkit/max32662evkit.dts
Normal file
65
boards/adi/max32662evkit/max32662evkit.dts
Normal file
|
@ -0,0 +1,65 @@
|
|||
/*
|
||||
* Copyright (c) 2024 Analog Devices, Inc.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <adi/max32/max32662.dtsi>
|
||||
#include <adi/max32/max32662-pinctrl.dtsi>
|
||||
#include <zephyr/dt-bindings/gpio/adi-max32-gpio.h>
|
||||
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
||||
|
||||
/ {
|
||||
model = "Analog Devices MAX32662EVKIT";
|
||||
compatible = "adi,max32662evkit";
|
||||
|
||||
chosen {
|
||||
zephyr,console = &uart0;
|
||||
zephyr,shell-uart = &uart0;
|
||||
zephyr,sram = &sram2;
|
||||
zephyr,flash = &flash0;
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
led1: led_1 {
|
||||
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
|
||||
label = "Red LED";
|
||||
};
|
||||
};
|
||||
|
||||
buttons {
|
||||
compatible = "gpio-keys";
|
||||
pb1: pb1 {
|
||||
gpios = <&gpio0 6 (GPIO_PULL_UP | GPIO_ACTIVE_LOW
|
||||
| MAX32_GPIO_VSEL_VDDIOH)>;
|
||||
label = "SW3";
|
||||
zephyr,code = <INPUT_KEY_0>;
|
||||
};
|
||||
};
|
||||
|
||||
/* These aliases are provided for compatibility with samples */
|
||||
aliases {
|
||||
led0 = &led1;
|
||||
sw0 = &pb1;
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-0 = <&uart0a_tx_p0_10 &uart0a_rx_p0_11>;
|
||||
pinctrl-names = "default";
|
||||
current-speed = <115200>;
|
||||
data-bits = <8>;
|
||||
parity = "none";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&clk_ipo {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio0 {
|
||||
status = "okay";
|
||||
};
|
14
boards/adi/max32662evkit/max32662evkit.yaml
Normal file
14
boards/adi/max32662evkit/max32662evkit.yaml
Normal file
|
@ -0,0 +1,14 @@
|
|||
identifier: max32662evkit
|
||||
name: max32662evkit
|
||||
vendor: adi
|
||||
type: mcu
|
||||
arch: arm
|
||||
toolchain:
|
||||
- zephyr
|
||||
- gnuarmemb
|
||||
- xtools
|
||||
supported:
|
||||
- gpio
|
||||
- serial
|
||||
ram: 80
|
||||
flash: 256
|
13
boards/adi/max32662evkit/max32662evkit_defconfig
Normal file
13
boards/adi/max32662evkit/max32662evkit_defconfig
Normal file
|
@ -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
|
Loading…
Add table
Add a link
Reference in a new issue