boards: nuvoton: add support for numaker m55m1
Add new development board numaker_gai_m55m1 for m55m1x series. Signed-off-by: cyliang tw <cyliang@nuvoton.com>
This commit is contained in:
committed by
Fabio Baltieri
parent
d5317f5d42
commit
df32725c46
@@ -0,0 +1,8 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
# Nuvoton NuMaker NUGESTUREAI M55M1 board configuration
|
||||
#
|
||||
# Copyright (c) 2026 Nuvoton Technology Corporation.
|
||||
|
||||
config BOARD_NUMAKER_GAI_M55M1
|
||||
select SOC_M55M1XXX
|
||||
6
boards/nuvoton/numaker_gai_m55m1/board.cmake
Normal file
6
boards/nuvoton/numaker_gai_m55m1/board.cmake
Normal file
@@ -0,0 +1,6 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
board_runner_args(pyocd "--target=m55m1h2ljae")
|
||||
|
||||
include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
|
||||
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
|
||||
6
boards/nuvoton/numaker_gai_m55m1/board.yml
Normal file
6
boards/nuvoton/numaker_gai_m55m1/board.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
board:
|
||||
name: numaker_gai_m55m1
|
||||
full_name: NUMAKER NUGESTUREAI M55M1
|
||||
vendor: nuvoton
|
||||
socs:
|
||||
- name: m55m1xxx
|
||||
BIN
boards/nuvoton/numaker_gai_m55m1/doc/gai_m55m1.webp
Normal file
BIN
boards/nuvoton/numaker_gai_m55m1/doc/gai_m55m1.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 54 KiB |
88
boards/nuvoton/numaker_gai_m55m1/doc/index.rst
Normal file
88
boards/nuvoton/numaker_gai_m55m1/doc/index.rst
Normal file
@@ -0,0 +1,88 @@
|
||||
.. zephyr:board:: numaker_gai_m55m1
|
||||
|
||||
Overview
|
||||
********
|
||||
|
||||
The NuMaker M55M1 is an Internet of Things (IoT) application focused platform
|
||||
specially developed by Nuvoton. The NuGestureAI-M55M1 is based on the NuMicro® M55M1
|
||||
series MCU with ARM® -Cortex®-M55 core.
|
||||
|
||||
Features
|
||||
========
|
||||
- 32-bit Arm Cortex®-M55 M55M1H2LJAE MCU
|
||||
- Core clock up to 220 MHz
|
||||
- 2 MB embedded Dual Bank Flash and 1344 KB SRAM
|
||||
- 128 KB DTCM and 64 KB ITCM
|
||||
- USB 2.0 Full-Speed OTG / Device
|
||||
- USB 1.1 Host
|
||||
- One push-button is for reset
|
||||
- Two LEDs: one is for power indication and the other is for user-defined
|
||||
- One SWD connector
|
||||
|
||||
More information about the board can be found at the `NuMaker M55M1 User Manual`_.
|
||||
|
||||
Supported Features
|
||||
==================
|
||||
|
||||
.. zephyr:board-supported-hw::
|
||||
|
||||
The on-board 12-MHz crystal allows the device to run at its maximum operating speed of 220 MHz.
|
||||
|
||||
More details about the supported peripherals are available in `M55M1 TRM`_
|
||||
|
||||
Building and Flashing
|
||||
*********************
|
||||
|
||||
.. zephyr:board-supported-runners::
|
||||
|
||||
Flashing
|
||||
========
|
||||
|
||||
Here is an example for the :zephyr:code-sample:`hello_world` application.
|
||||
|
||||
On board debugger Nu-link2 can emulate UART0 as a virtual COM port over usb,
|
||||
To enable this, set ISW1 DIP switch 1-3 (TXD RXD VOM) to ON.
|
||||
Connect the NuMaker-M55M1 to your host computer using the USB port, then
|
||||
run a serial host program to connect with your board. For example:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ minicom -D /dev/ttyACM0
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/hello_world
|
||||
:board: numaker_gai_m55m1
|
||||
:goals: flash
|
||||
|
||||
Debugging
|
||||
=========
|
||||
|
||||
Here is an example for the :zephyr:code-sample:`hello_world` application.
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:zephyr-app: samples/hello_world
|
||||
:board: numaker_gai_m55m1
|
||||
:goals: debug
|
||||
|
||||
Step through the application in your debugger.
|
||||
|
||||
VS Code Support
|
||||
===============
|
||||
|
||||
Here is to go through VS Code instead of command line.
|
||||
|
||||
Please install Nuvoton NuMicro Cortex-M Pack and follow getting start guide of this pack.
|
||||
This pack is a complete development toolkit for Nuvoton’s NuMicro Cortex-M microcontrollers
|
||||
in Visual Studio Code.
|
||||
URL of this pack is
|
||||
https://marketplace.visualstudio.com/items?itemName=Nuvoton.nuvoton-numicro-cortex-m-pack
|
||||
|
||||
References
|
||||
**********
|
||||
|
||||
.. target-notes::
|
||||
|
||||
.. _NuMaker M55M1 User Manual:
|
||||
https://www.nuvoton.com/products/microcontrollers/arm-cortex-m55-mcus/m55m1-series/
|
||||
.. _M55M1 TRM:
|
||||
https://www.nuvoton.com/products/microcontrollers/arm-cortex-m55-mcus/m55m1-series/
|
||||
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Copyright (c) 2026 Nuvoton Technology Corporation.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include "pinctrl/m55m1h2l-pinctrl.h"
|
||||
|
||||
&pinctrl {
|
||||
uart5_default: uart5_default {
|
||||
group0 {
|
||||
pinmux = <PB4MFP_UART5_RXD>,
|
||||
<PB5MFP_UART5_TXD>;
|
||||
};
|
||||
};
|
||||
|
||||
uart2_default: uart2_default {
|
||||
group0 {
|
||||
pinmux = <PB0MFP_UART2_RXD>,
|
||||
<PB1MFP_UART2_TXD>;
|
||||
};
|
||||
};
|
||||
};
|
||||
104
boards/nuvoton/numaker_gai_m55m1/numaker_gai_m55m1.dts
Normal file
104
boards/nuvoton/numaker_gai_m55m1/numaker_gai_m55m1.dts
Normal file
@@ -0,0 +1,104 @@
|
||||
/*
|
||||
* Copyright (c) 2026 Nuvoton Technology Corporation.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <nuvoton/m55m1h2l.dtsi>
|
||||
#include "numaker_gai_m55m1-pinctrl.dtsi"
|
||||
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
||||
|
||||
/ {
|
||||
model = "Nuvoton NuMaker GestureAI M55M1 board";
|
||||
compatible = "nuvoton,numaker-m55m1";
|
||||
|
||||
aliases {
|
||||
led0 = &yellow_led;
|
||||
sw0 = &btn0;
|
||||
};
|
||||
|
||||
chosen {
|
||||
zephyr,console = &uart5;
|
||||
zephyr,shell-uart = &uart5;
|
||||
zephyr,sram = &sram0;
|
||||
zephyr,dtcm = &dtcm;
|
||||
zephyr,itcm = &itcm;
|
||||
zephyr,flash = &flash0;
|
||||
zephyr,code-partition = &slot0_partition;
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
yellow_led: led_0 {
|
||||
gpios = <&gpioa 7 GPIO_ACTIVE_LOW>;
|
||||
label = "User LD0";
|
||||
};
|
||||
};
|
||||
|
||||
gpio_keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
btn0: btn0 {
|
||||
label = "BTN0";
|
||||
gpios = <&gpioa 4 GPIO_ACTIVE_LOW>;
|
||||
zephyr,code = <INPUT_KEY_0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&scc {
|
||||
lxt = "disable";
|
||||
hxt = "enable";
|
||||
};
|
||||
|
||||
&gpioa {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&flash0 {
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
boot_partition: partition@0 {
|
||||
label = "mcuboot";
|
||||
reg = <0x0 0xfe00>;
|
||||
};
|
||||
|
||||
slot0_partition: partition@fe00 {
|
||||
label = "image-0";
|
||||
reg = <0xfe00 0xf4000>;
|
||||
};
|
||||
|
||||
slot1_partition: partition@103e00 {
|
||||
label = "image-1";
|
||||
reg = <0x103e00 0xf4000>;
|
||||
};
|
||||
|
||||
storage_partition: partition@1f7e00 {
|
||||
label = "storage";
|
||||
reg = <0x1f7e00 0x8200>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&sram0 {
|
||||
reg = <0x20100000 DT_SIZE_K(1344)>;
|
||||
};
|
||||
|
||||
&uart5 {
|
||||
current-speed = <115200>;
|
||||
pinctrl-0 = <&uart5_default>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* On enabled, husbd phy is required HXT. */
|
||||
zephyr_udc0: &hsusbd {
|
||||
/* Needn't pinctrl for pins being dedicated */
|
||||
status = "okay";
|
||||
};
|
||||
16
boards/nuvoton/numaker_gai_m55m1/numaker_gai_m55m1.yaml
Normal file
16
boards/nuvoton/numaker_gai_m55m1/numaker_gai_m55m1.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
# Copyright (c) 2026 Nuvoton Technology Corporation.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
identifier: numaker_gai_m55m1
|
||||
name: NUVOTON NUMAKER-GAI-M55M1 Kit
|
||||
type: mcu
|
||||
arch: arm
|
||||
toolchain:
|
||||
- zephyr
|
||||
- gnuarmemb
|
||||
ram: 1536
|
||||
flash: 2048
|
||||
supported:
|
||||
- gpio
|
||||
- usb
|
||||
vendor: nuvoton
|
||||
15
boards/nuvoton/numaker_gai_m55m1/numaker_gai_m55m1_defconfig
Normal file
15
boards/nuvoton/numaker_gai_m55m1/numaker_gai_m55m1_defconfig
Normal file
@@ -0,0 +1,15 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
CONFIG_GPIO=y
|
||||
|
||||
# Enable system clock controller driver
|
||||
CONFIG_CLOCK_CONTROL=y
|
||||
CONFIG_CLOCK_CONTROL_NUMAKER_SCC=y
|
||||
|
||||
# Enable UART driver
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_UART_INTERRUPT_DRIVEN=y
|
||||
|
||||
# Console
|
||||
CONFIG_CONSOLE=y
|
||||
CONFIG_UART_CONSOLE=y
|
||||
2
boards/nuvoton/numaker_gai_m55m1/support/openocd.cfg
Normal file
2
boards/nuvoton/numaker_gai_m55m1/support/openocd.cfg
Normal file
@@ -0,0 +1,2 @@
|
||||
source [find interface/nulink.cfg]
|
||||
source [find target/numicro.cfg]
|
||||
Reference in New Issue
Block a user