Skip to content

Commit 02d0297

Browse files
decsny57300
authored andcommitted
[nrf fromtree] boards: nxp: Add FRDM-MCXW71
Add FRDM-MCXW71 initial board. Signed-off-by: Declan Snyder <[email protected]> (cherry picked from commit 846601f)
1 parent 6c8b703 commit 02d0297

File tree

9 files changed

+264
-0
lines changed

9 files changed

+264
-0
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Copyright 2024 NXP
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config BOARD_FRDM_MCXW71
5+
select SOC_MCXW716C
6+
select SOC_PART_NUMBER_MCXW716CMFTA

boards/nxp/frdm_mcxw71/board.cmake

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Copyright 2024 NXP
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
board_runner_args(jlink "--device=mcxw716" "--reset-after-load")
5+
6+
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

boards/nxp/frdm_mcxw71/board.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
board:
2+
name: frdm_mcxw71
3+
vendor: nxp
4+
socs:
5+
- name: mcxw716c
93.2 KB
Loading
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
.. _frdm_mcxw71:
2+
3+
NXP FRDM-MCXW71
4+
################
5+
6+
Overview
7+
********
8+
9+
The FRDM-MCXW71 is a compact and scalable development board for rapid
10+
prototyping of the MCX W71 wireless MCU. It offers easy evaluation of the MCX
11+
W71's multiprotocol wireless support for Bluetooth LE, Zigbee, Thread and
12+
Matter. The board includes an on-board MCU-Link debugger, industry standard
13+
headers for easy access to the MCU’s I/Os, an accelerometer, a light sensor and
14+
external SPI flash memory.
15+
16+
The MCX W71x family features a 96 MHz Arm® Cortex®-M33 core coupled with a
17+
multiprotocol radio subsystem supporting Matter, Thread, Zigbee and Bluetooth
18+
LE. The independent radio subsystem, with a dedicated core and memory, offloads
19+
the main CPU, preserving it for the primary application and allowing firmware
20+
updates to support future wireless standards.
21+
22+
.. image:: frdm_mcxw71.webp
23+
:align: center
24+
:alt: FRDM-MCXW71
25+
26+
Hardware
27+
********
28+
29+
- MCXW71 Arm Cortex-M33 microcontroller running up to 96 MHz
30+
- 1MB on-chip Flash memory unit
31+
- 128 KB TCM RAM
32+
- On-board MCU-Link debugger with CMSIS-DAP
33+
34+
For more information about the MCXW71 SoC and FRDM-MCXW71 board, see:
35+
36+
- `MCXW71 SoC Website`_
37+
- `FRDM-MCXW71 Website`_
38+
39+
Supported Features
40+
==================
41+
42+
The ``frdm_mcxw71`` board target in Zephyr currently supports the following features:
43+
44+
+-----------+------------+-------------------------------------+
45+
| Interface | Controller | Driver/Component |
46+
+===========+============+=====================================+
47+
| NVIC | on-chip | nested vector interrupt controller |
48+
+-----------+------------+-------------------------------------+
49+
| SYSTICK | on-chip | systick |
50+
+-----------+------------+-------------------------------------+
51+
| PINMUX | on-chip | pinctrl |
52+
+-----------+------------+-------------------------------------+
53+
| GPIO | on-chip | gpio |
54+
+-----------+------------+-------------------------------------+
55+
| LPUART | on-chip | serial port-polling; |
56+
| | | serial port-interrupt |
57+
+-----------+------------+-------------------------------------+
58+
59+
Programming and Debugging
60+
*************************
61+
62+
Build and flash applications as usual (see :ref:`build_an_application` and
63+
:ref:`application_run` for more details).
64+
65+
Configuring a Debug Probe
66+
=========================
67+
68+
A debug probe is used for both flashing and debugging the board. This board is
69+
configured by default to use the MCU-Link CMSIS-DAP Onboard Debug Probe.
70+
71+
Using J-Link
72+
------------
73+
74+
There are two options. The onboard debug circuit can be updated with Segger
75+
J-Link firmware by following the instructions in
76+
:ref:`mcu-link-jlink-onboard-debug-probe`.
77+
To be able to program the firmware, you need to put the board in ``DFU mode``
78+
by shortening the jumper JP5.
79+
The second option is to attach a :ref:`jlink-external-debug-probe` to the
80+
10-pin SWD connector (J12) of the board.
81+
For both options use the ``-r jlink`` option with west to use the jlink runner.
82+
83+
.. code-block:: console
84+
85+
west flash -r jlink
86+
87+
Configuring a Console
88+
=====================
89+
90+
Connect a USB cable from your PC to J10, and use the serial terminal of your choice
91+
(minicom, putty, etc.) with the following settings:
92+
93+
- Speed: 115200
94+
- Data: 8 bits
95+
- Parity: None
96+
- Stop bits: 1
97+
98+
Flashing
99+
========
100+
101+
Here is an example for the :zephyr:code-sample:`hello_world` application.
102+
103+
.. zephyr-app-commands::
104+
:zephyr-app: samples/hello_world
105+
:board: frdm_mcxw71/mcxw716c
106+
:goals: flash
107+
108+
Open a serial terminal, reset the board (press the RESET button), and you should
109+
see the following message in the terminal:
110+
111+
.. code-block:: console
112+
113+
*** Booting Zephyr OS build v3.7.0-xxx-xxxx ***
114+
Hello World! frdm_mcxw71/mcxw716c
115+
116+
Debugging
117+
=========
118+
119+
Here is an example for the :zephyr:code-sample:`hello_world` application.
120+
121+
.. zephyr-app-commands::
122+
:zephyr-app: samples/hello_world
123+
:board: frdm_mcxw71/mcxw716c
124+
:goals: debug
125+
126+
Open a serial terminal, step through the application in your debugger, and you
127+
should see the following message in the terminal:
128+
129+
.. code-block:: console
130+
131+
*** Booting Zephyr OS build v3.7.0-xxx-xxxx ***
132+
Hello World! frdm_mcxw71/mcxw716c
133+
134+
References
135+
**********
136+
137+
.. _MCXW71 SoC Website:
138+
https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/mcx-arm-cortex-m/mcx-w-series-microcontrollers/mcx-w71x-secure-and-ultra-low-power-mcus-for-matter-thread-zigbee-and-bluetooth-le:MCX-W71X
139+
140+
.. _FRDM-MCXW71 Website:
141+
https://www.nxp.com/design/design-center/development-boards-and-designs/general-purpose-mcus/frdm-development-board-for-mcx-w71x-wireless-mcus:FRDM-MCXW71
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/*
2+
* Copyright 2024 NXP
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
#include <nxp/mcx/MCXW716CMFTA-pinctrl.h>
7+
8+
&pinctrl {
9+
pinmux_lpuart1: pinmux_lpuart1 {
10+
group0 {
11+
pinmux = <LPUART1_RX_PTC2>, <LPUART1_TX_PTC3>;
12+
drive-strength = "low";
13+
slew-rate = "fast";
14+
};
15+
};
16+
};
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
/*
2+
* Copyright 2024 NXP
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
/dts-v1/;
7+
8+
#include <nxp/nxp_mcxw71.dtsi>
9+
#include "frdm_mcxw71-pinctrl.dtsi"
10+
11+
/ {
12+
model = "NXP FRDM-MCXW71 board";
13+
14+
aliases {
15+
led0 = &green_led;
16+
};
17+
18+
chosen {
19+
zephyr,flash = &flash;
20+
zephyr,code-partition = &code_partition;
21+
zephyr,sram = &stcm0;
22+
zephyr,console = &lpuart1;
23+
zephyr,shell-uart = &lpuart1;
24+
};
25+
26+
user_led {
27+
compatible = "gpio-leds";
28+
green_led: led {
29+
gpios = <&gpioc 1 GPIO_ACTIVE_LOW>;
30+
};
31+
};
32+
};
33+
34+
&gpioc {
35+
status = "okay";
36+
};
37+
38+
&lpuart1 {
39+
current-speed = <115200>;
40+
status = "okay";
41+
pinctrl-0 = <&pinmux_lpuart1>;
42+
pinctrl-names = "default";
43+
};
44+
45+
&flash {
46+
partitions {
47+
compatible = "fixed-partitions";
48+
#address-cells = <1>;
49+
#size-cells = <1>;
50+
51+
code_partition: partition@0 {
52+
reg = <0x0 DT_SIZE_K(896)>;
53+
label = "code";
54+
read-only;
55+
};
56+
57+
storage_partition: partition@e0000 {
58+
reg = <0xe0000 DT_SIZE_K(128)>;
59+
label = "storage";
60+
};
61+
};
62+
};
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
identifier: frdm_mcxw71
2+
name: NXP FRDM_MCXW71
3+
type: mcu
4+
arch: arm
5+
ram: 64
6+
flash: 1024
7+
toolchain:
8+
- zephyr
9+
- gnuarmemb
10+
- xtools
11+
supported:
12+
- gpio
13+
- uart
14+
- pinctrl
15+
- flash
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#
2+
# Copyright 2023 NXP
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
#
6+
7+
CONFIG_ARM_MPU=y
8+
CONFIG_TRUSTED_EXECUTION_SECURE=y
9+
CONFIG_PINCTRL=y
10+
CONFIG_SERIAL=y
11+
CONFIG_CONSOLE=y
12+
CONFIG_UART_CONSOLE=y
13+
CONFIG_GPIO=y

0 commit comments

Comments
 (0)