boards: arm: add npcm400 evb board
Add initial support for npcm400 evaluation board Signed-off-by: Tyrone Ting <kfting@nuvoton.com> Signed-off-by: James Chiang <cpchiang1@nuvoton.com> Signed-off-by: Joseph Liu <kwliu@nuvoton.com>
This commit is contained in:
parent
3fb70c677a
commit
2f19327ccb
9 changed files with 186 additions and 0 deletions
6
boards/nuvoton/npcm400_evb/Kconfig.defconfig
Normal file
6
boards/nuvoton/npcm400_evb/Kconfig.defconfig
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# Copyright (c) 2024 Nuvoton Technology Corporation.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
config SYS_CLOCK_TICKS_PER_SEC
|
||||||
|
default 1000
|
5
boards/nuvoton/npcm400_evb/Kconfig.npcm400_evb
Normal file
5
boards/nuvoton/npcm400_evb/Kconfig.npcm400_evb
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# Copyright (c) 2024 Nuvoton Technology Corporation.
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
config BOARD_NPCM400_EVB
|
||||||
|
select SOC_NPCM400
|
8
boards/nuvoton/npcm400_evb/board.cmake
Normal file
8
boards/nuvoton/npcm400_evb/board.cmake
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
# Copyright (c) 2024 Nuvoton Technology Corporation.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
board_runner_args(jlink "--device=npcm400" "--speed=4000")
|
||||||
|
board_runner_args(jlink "--file=./build/zephyr/${CONFIG_KERNEL_BIN_NAME}.npcm.bin")
|
||||||
|
board_runner_args(jlink "--reset-after-load")
|
||||||
|
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
|
5
boards/nuvoton/npcm400_evb/board.yml
Normal file
5
boards/nuvoton/npcm400_evb/board.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
board:
|
||||||
|
name: npcm400_evb
|
||||||
|
vendor: nuvoton
|
||||||
|
socs:
|
||||||
|
- name: npcm400
|
108
boards/nuvoton/npcm400_evb/doc/index.rst
Normal file
108
boards/nuvoton/npcm400_evb/doc/index.rst
Normal file
|
@ -0,0 +1,108 @@
|
||||||
|
.. _npcm400_evb:
|
||||||
|
|
||||||
|
Nuvoton NPCM400_EVB
|
||||||
|
####################
|
||||||
|
|
||||||
|
Overview
|
||||||
|
********
|
||||||
|
|
||||||
|
The NPCM400_EVB kit is a development platform to evaluate the
|
||||||
|
Nuvoton NPCM4 series microcontrollers. This board needs to be mated with
|
||||||
|
part number NPCM400 Satellite Management Controller (SMC).
|
||||||
|
|
||||||
|
.. image:: npcm400_evb.webp
|
||||||
|
:align: center
|
||||||
|
:alt: NPCM400 Evaluation Board
|
||||||
|
|
||||||
|
Hardware
|
||||||
|
********
|
||||||
|
|
||||||
|
- ARM Cortex-M4F Processor
|
||||||
|
- Core clock up to 100 MHz
|
||||||
|
- 1MB Integrated Flash
|
||||||
|
- 32KB cache for XIP and Data
|
||||||
|
- 768 KB RAM and 64 KB boot ROM
|
||||||
|
- ADC & GPIO headers
|
||||||
|
- UART0 and UART1
|
||||||
|
- I2C/I3C
|
||||||
|
- RMII
|
||||||
|
- USB2.0 Device
|
||||||
|
- USB1.1 Host
|
||||||
|
- Secure Boot is supported
|
||||||
|
|
||||||
|
Supported Features
|
||||||
|
==================
|
||||||
|
|
||||||
|
The following features are supported:
|
||||||
|
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
| Interface | Controller | Driver/Component |
|
||||||
|
+===========+============+=====================================+
|
||||||
|
| NVIC | on-chip | nested vector interrupt controller |
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
| ADC | on-chip | adc controller |
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
| CLOCK | on-chip | reset and clock control |
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
| GPIO | on-chip | gpio |
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
| I2C | on-chip | i2c port/controller |
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
| I3C | on-chip | i3c port/controller |
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
| PINMUX | on-chip | pinmux |
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
| UART | on-chip | serial port-polling; |
|
||||||
|
| | | serial port-interrupt |
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
| WDT | on-chip | watchdog |
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
|
||||||
|
The default configuration can be found in the defconfig file:
|
||||||
|
:zephyr_file:`boards/nuvoton/npcm400_evb/npcm400_evb_defconfig`
|
||||||
|
|
||||||
|
Connections and IOs
|
||||||
|
===================
|
||||||
|
|
||||||
|
Nuvoton to provide the schematic for this board.
|
||||||
|
|
||||||
|
Serial Port
|
||||||
|
===========
|
||||||
|
|
||||||
|
UART0 is configured for serial logs. The default serial setup is 115200 8N1.
|
||||||
|
|
||||||
|
Programming and Debugging
|
||||||
|
*************************
|
||||||
|
|
||||||
|
This board comes with a Cortex ETM port which facilitates tracing and debugging
|
||||||
|
using a single physical connection. In addition, it comes with sockets for
|
||||||
|
JTAG-only sessions.
|
||||||
|
|
||||||
|
Flashing
|
||||||
|
========
|
||||||
|
|
||||||
|
If the correct headers are installed, this board supports J-TAG.
|
||||||
|
|
||||||
|
To flash with J-TAG, install the drivers for your programmer, for example:
|
||||||
|
SEGGER J-link's drivers are at https://www.segger.com/downloads/jlink/
|
||||||
|
|
||||||
|
Here is an example for the :ref:`hello_world` application.
|
||||||
|
|
||||||
|
.. zephyr-app-commands::
|
||||||
|
:zephyr-app: samples/hello_world
|
||||||
|
:board: npcm400_evb
|
||||||
|
:goals: flash
|
||||||
|
|
||||||
|
Open a serial terminal, and you should see the following message in the terminal:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
Hello World! npcm400_evb/npcm400
|
||||||
|
|
||||||
|
Debugging
|
||||||
|
=========
|
||||||
|
|
||||||
|
Use JTAG/SWD with a J-Link
|
||||||
|
|
||||||
|
References
|
||||||
|
**********
|
BIN
boards/nuvoton/npcm400_evb/doc/npcm400_evb.webp
Normal file
BIN
boards/nuvoton/npcm400_evb/doc/npcm400_evb.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 75 KiB |
22
boards/nuvoton/npcm400_evb/npcm400_evb.dts
Normal file
22
boards/nuvoton/npcm400_evb/npcm400_evb.dts
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2024 Nuvoton Technology Corporation.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
|
||||||
|
#include <nuvoton/npcm400.dtsi>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Nuvoton NPCM400 evaluation board";
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
zephyr,sram = &sram0;
|
||||||
|
zephyr,flash = &flash0;
|
||||||
|
};
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
16
boards/nuvoton/npcm400_evb/npcm400_evb.yaml
Normal file
16
boards/nuvoton/npcm400_evb/npcm400_evb.yaml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
#
|
||||||
|
# Copyright (c) 2024 Nuvoton Technology Corporation.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
|
||||||
|
identifier: npcm400_evb
|
||||||
|
name: Nuvoton NPCM400 EVB
|
||||||
|
type: mcu
|
||||||
|
arch: arm
|
||||||
|
toolchain:
|
||||||
|
- zephyr
|
||||||
|
- gnuarmemb
|
||||||
|
ram: 768
|
||||||
|
flash: 1024
|
||||||
|
vendor: nuvoton
|
16
boards/nuvoton/npcm400_evb/npcm400_evb_defconfig
Normal file
16
boards/nuvoton/npcm400_evb/npcm400_evb_defconfig
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
# Copyright (c) 2024 Nuvoton Technology Corporation.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
CONFIG_SRAM_VECTOR_TABLE=y
|
||||||
|
|
||||||
|
# General Kernel Options
|
||||||
|
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=96000000
|
||||||
|
CONFIG_XIP=y
|
||||||
|
|
||||||
|
# UART Driver
|
||||||
|
CONFIG_SERIAL=n
|
||||||
|
|
||||||
|
# Console Driver
|
||||||
|
CONFIG_CONSOLE=n
|
||||||
|
CONFIG_UART_CONSOLE=n
|
Loading…
Add table
Add a link
Reference in a new issue