boards: Add MAX32655FTHR board
Added MAX32655FTHR boards. For more information about this board please check https://www.analog.com/MAX32655FTHR Co-authored-by: Maureen Helm <maureen.helm@analog.com> Signed-off-by: Sadik Ozer <sadik.ozer@analog.com>
This commit is contained in:
parent
ff89fc98ea
commit
7204e24aa1
10 changed files with 364 additions and 0 deletions
7
boards/adi/max32655fthr/Kconfig.max32655fthr
Normal file
7
boards/adi/max32655fthr/Kconfig.max32655fthr
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# MAX32655FTHR boards configuration
|
||||||
|
|
||||||
|
# Copyright (c) 2023-2024 Analog Devices, Inc.
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
config BOARD_MAX32655FTHR
|
||||||
|
select SOC_MAX32655_M4 if BOARD_MAX32655FTHR_MAX32655_M4
|
7
boards/adi/max32655fthr/board.cmake
Normal file
7
boards/adi/max32655fthr/board.cmake
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# 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]")
|
||||||
|
|
||||||
|
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
|
8
boards/adi/max32655fthr/board.yml
Normal file
8
boards/adi/max32655fthr/board.yml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
# Copyright (c) 2023-2024 Analog Devices, Inc.
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
board:
|
||||||
|
name: max32655fthr
|
||||||
|
vendor: adi
|
||||||
|
socs:
|
||||||
|
- name: max32655
|
BIN
boards/adi/max32655fthr/doc/img/max32655fthr_img1.jpg
Normal file
BIN
boards/adi/max32655fthr/doc/img/max32655fthr_img1.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 94 KiB |
BIN
boards/adi/max32655fthr/doc/img/max32655fthr_img2.jpg
Normal file
BIN
boards/adi/max32655fthr/doc/img/max32655fthr_img2.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 94 KiB |
BIN
boards/adi/max32655fthr/doc/img/max32655fthr_img3.jpg
Normal file
BIN
boards/adi/max32655fthr/doc/img/max32655fthr_img3.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 93 KiB |
193
boards/adi/max32655fthr/doc/index.rst
Normal file
193
boards/adi/max32655fthr/doc/index.rst
Normal file
|
@ -0,0 +1,193 @@
|
||||||
|
.. _max32655_fthr:
|
||||||
|
|
||||||
|
MAX32655FTHR
|
||||||
|
############
|
||||||
|
|
||||||
|
Overview
|
||||||
|
********
|
||||||
|
The MAX32655FTHR is a rapid development platform to help engineers quickly implement
|
||||||
|
ultra low-power wireless solutions using MAX32655 Arm© Cortex®-M4F and Bluetooth® 5.2 Low Energy (LE).
|
||||||
|
The board also includes the MAX20303 PMIC for battery and power management.
|
||||||
|
The form factor is a small 0.9in x 2.6in dual-row header footprint that is compatible
|
||||||
|
with Adafruit Feather Wing peripheral expansion boards. The board includes a variety of peripherals,
|
||||||
|
such as a digital microphone, lowpower stereo audio CODEC, 128MB QSPI Flash, micro SD card connector,
|
||||||
|
RGB indicator LED, and pushbutton.
|
||||||
|
The MAX32655FTHR provides a power-optimized flexible platform for quick proof-of-concepts and
|
||||||
|
early software development to enhance time to market. Go to
|
||||||
|
https://www.analog.com/MAX32655FTHR to get started developing with this board.
|
||||||
|
|
||||||
|
|
||||||
|
The Zephyr port is running on the MAX32655 MCU.
|
||||||
|
|
||||||
|
.. image:: img/max32655fthr_img1.jpg
|
||||||
|
:align: center
|
||||||
|
:alt: MAX32655FTHR Front
|
||||||
|
|
||||||
|
.. image:: img/max32655fthr_img2.jpg
|
||||||
|
:align: center
|
||||||
|
:alt: MAX32655FTHR Front Modules
|
||||||
|
|
||||||
|
.. image:: img/max32655fthr_img3.jpg
|
||||||
|
:align: center
|
||||||
|
:alt: MAX32655FTHR 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 MAX32655FTHR:
|
||||||
|
|
||||||
|
- Audio Stereo Codec Interface
|
||||||
|
- Digital Microphone
|
||||||
|
- PMIC and Battery Charger
|
||||||
|
- A 128Mb QSPI flash
|
||||||
|
- Micro SDCard Interface
|
||||||
|
- RGB LEDs
|
||||||
|
- Push Buttons
|
||||||
|
|
||||||
|
Supported Features
|
||||||
|
==================
|
||||||
|
|
||||||
|
Below are the interfaces supported by Zephyr on MAX32655FTHR.
|
||||||
|
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
| 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 |
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
|
||||||
|
Push Buttons
|
||||||
|
************
|
||||||
|
There are six pushbuttons on the MAX32655FTHR board
|
||||||
|
|
||||||
|
SW1
|
||||||
|
===
|
||||||
|
PMIC Power Button, when the board is powered on state, pressing
|
||||||
|
this button for 12 seconds performs a hard powerdown.
|
||||||
|
When the board is in a powered-off state, pressing this button powers on the board.
|
||||||
|
This button can also be read by MAX32655 firmware, PMIC_PFN2 signal connected to Port 0.13
|
||||||
|
is a buffered input of the button status. When the button is pressed, this signal goes to a logic-low
|
||||||
|
state.
|
||||||
|
|
||||||
|
SW2
|
||||||
|
===
|
||||||
|
User-programmable function button connected to
|
||||||
|
MAX32655 Port 0.2 through a debouncer IC.
|
||||||
|
|
||||||
|
SW3
|
||||||
|
===
|
||||||
|
User-programmable function button connected to
|
||||||
|
MAX32655 Port 0.3 through a debouncer IC.
|
||||||
|
|
||||||
|
SW4
|
||||||
|
===
|
||||||
|
Wake-up button connected to MAX32655 Port 3.1.
|
||||||
|
|
||||||
|
SW5
|
||||||
|
===
|
||||||
|
Resets the MAX32655 through RSTN input of the MAX32655.
|
||||||
|
|
||||||
|
SW6
|
||||||
|
===
|
||||||
|
DAPLink adapter button. Keep this button
|
||||||
|
pressed while applying power to the board to
|
||||||
|
put the MAX32625 DAPLink adapter on board
|
||||||
|
to MAINTENANCE mode for DAPLink firmware
|
||||||
|
updates.
|
||||||
|
|
||||||
|
|
||||||
|
LEDs
|
||||||
|
****
|
||||||
|
There are three RGB LEDs on the MAX32655FTHR board
|
||||||
|
|
||||||
|
LED1 (D1)
|
||||||
|
=========
|
||||||
|
Connected to the MAX32655FTHR GPIO ports.
|
||||||
|
This LED can be controlled by user firmware.
|
||||||
|
Port 0.18: Red color
|
||||||
|
Port 0.19: Green color
|
||||||
|
Port 0.26: Blue color
|
||||||
|
|
||||||
|
LED2 (D2)
|
||||||
|
=========
|
||||||
|
Connected to MAX20303 PMIC LEDx outputs.
|
||||||
|
These LEDs can be controlled through I2C commands.
|
||||||
|
They also can be configured as charge
|
||||||
|
status indicators by issuing I2C commands.
|
||||||
|
|
||||||
|
LED3 (D3)
|
||||||
|
=========
|
||||||
|
DAPLink adapter MAX32625 status LED.
|
||||||
|
Controlled by the DAPLink adapter and cannot be
|
||||||
|
used as a user LED.
|
||||||
|
|
||||||
|
Programming and Debugging
|
||||||
|
*************************
|
||||||
|
|
||||||
|
Flashing
|
||||||
|
========
|
||||||
|
|
||||||
|
The MAX32625 microcontroller on the board is flashed with DAPLink firmware at the factory.
|
||||||
|
It allows debugging and flashing the MAX32655 Arm Core over USB.
|
||||||
|
|
||||||
|
Once the USB cable 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
|
||||||
|
**********
|
||||||
|
|
||||||
|
- `MAX32655FTHR web page`_
|
||||||
|
|
||||||
|
.. _MAX32655FTHR web page:
|
||||||
|
https://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/max32655fthr.html
|
123
boards/adi/max32655fthr/max32655fthr_max32655_m4.dts
Normal file
123
boards/adi/max32655fthr/max32655fthr_max32655_m4.dts
Normal file
|
@ -0,0 +1,123 @@
|
||||||
|
/*
|
||||||
|
* 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 MAX32655FTHR";
|
||||||
|
compatible = "adi,max32655fthr";
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
zephyr,console = &uart0;
|
||||||
|
zephyr,shell-uart = &uart0;
|
||||||
|
zephyr,sram = &sram2;
|
||||||
|
zephyr,flash = &flash0;
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
led1: led_1 {
|
||||||
|
gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
|
||||||
|
label = "Red LED";
|
||||||
|
};
|
||||||
|
led2: led_2 {
|
||||||
|
gpios = <&gpio0 19 GPIO_ACTIVE_LOW>;
|
||||||
|
label = "Blue LED";
|
||||||
|
};
|
||||||
|
led3: led_3 {
|
||||||
|
gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
|
||||||
|
label = "Green LED";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
buttons {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
pb1: pb1 {
|
||||||
|
gpios = <&gpio0 2 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
|
||||||
|
label = "SW2";
|
||||||
|
};
|
||||||
|
pb2: pb2 {
|
||||||
|
gpios = <&gpio0 3 (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;
|
||||||
|
led2 = &led3;
|
||||||
|
sw0 = &pb1;
|
||||||
|
sw1 = &pb2;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Used for accessing other pins */
|
||||||
|
feather_header: feather_connector {
|
||||||
|
compatible = "adafruit-feather-header";
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
gpio-map-mask = <0xffffffff 0xffffffc0>;
|
||||||
|
gpio-map-pass-thru = <0 0x3f>;
|
||||||
|
gpio-map = <12 0 &gpio0 31 0>, /* SDA */
|
||||||
|
<13 0 &gpio0 30 0>, /* SCL */
|
||||||
|
<14 0 &gpio1 9 0>, /* GPIO */
|
||||||
|
<15 0 &gpio1 8 0>, /* GPIO */
|
||||||
|
<16 0 &gpio0 20 0>, /* GPIO */
|
||||||
|
<17 0 &gpio0 24 0>, /* GPIO */
|
||||||
|
<18 0 &gpio0 25 0>, /* GPIO */
|
||||||
|
<19 0 &gpio1 7 0>, /* GPIO */
|
||||||
|
<20 0 &gpio1 6 0>, /* GPIO */
|
||||||
|
/* 11 not connected */
|
||||||
|
<10 0 &gpio2 7 0>, /* TX */
|
||||||
|
<9 0 &gpio2 6 0>, /* RX */
|
||||||
|
<8 0 &gpio0 22 0>, /* MISO */
|
||||||
|
<7 0 &gpio0 21 0>, /* MOSI */
|
||||||
|
<6 0 &gpio0 23 0>, /* SCK */
|
||||||
|
<5 0 &gpio2 5 0>, /* AIN5 */
|
||||||
|
<4 0 &gpio2 4 0>, /* AIN4 */
|
||||||
|
<3 0 &gpio2 3 0>, /* AIN3 */
|
||||||
|
<2 0 &gpio2 2 0>, /* AIN2 */
|
||||||
|
<1 0 &gpio2 1 0>, /* AIN1 */
|
||||||
|
<0 0 &gpio2 0 0>; /* AIN0 */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&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";
|
||||||
|
};
|
13
boards/adi/max32655fthr/max32655fthr_max32655_m4.yaml
Normal file
13
boards/adi/max32655fthr/max32655fthr_max32655_m4.yaml
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
identifier: max32655fthr/max32655/m4
|
||||||
|
name: max32655fthr m4
|
||||||
|
type: mcu
|
||||||
|
arch: arm
|
||||||
|
toolchain:
|
||||||
|
- zephyr
|
||||||
|
- gnuarmemb
|
||||||
|
- xtools
|
||||||
|
supported:
|
||||||
|
- gpio
|
||||||
|
- serial
|
||||||
|
ram: 128
|
||||||
|
flash: 512
|
13
boards/adi/max32655fthr/max32655fthr_max32655_m4_defconfig
Normal file
13
boards/adi/max32655fthr/max32655fthr_max32655_m4_defconfig
Normal 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
|
Loading…
Add table
Add a link
Reference in a new issue