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