soc: npcx*: Port to HWMv2

Ports the npcx* SoC configuration to hardware model version 2

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
This commit is contained in:
Jamie McCrae
2024-02-02 09:13:35 +00:00
parent e7baf09ede
commit 5500f3ef21
70 changed files with 176 additions and 247 deletions

View File

@@ -1,10 +0,0 @@
# SPDX-License-Identifier: Apache-2.0
#
# Nuvoton PFM M487 board configuration
#
# Copyright (c) 2020 Linumiz
# Author: Saravanan Sekar <saravanan@linumiz.com>
config BOARD_NUVOTON_PFM_M487
bool "NUVOTON PFM MP487 Development Board"
depends on SOC_M487

View File

@@ -1,13 +0,0 @@
# SPDX-License-Identifier: Apache-2.0
#
# Nuvoton PFM M487 board configuration
#
# Copyright (c) 2020 Linumiz
# Author: Saravanan Sekar <saravanan@linumiz.com>
if BOARD_NUVOTON_PFM_M487
config BOARD
default "nuvoton_pfm_m487"
endif # BOARD_NUVOTON_PFM_M487

View File

@@ -1,6 +0,0 @@
# SPDX-License-Identifier: Apache-2.0
board_runner_args(nulink "-f")
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
include(${ZEPHYR_BASE}/boards/common/nulink.board.cmake)

View File

@@ -6,9 +6,6 @@
if BOARD_NUMAKER_PFM_M467
config BOARD
default "numaker_pfm_m467"
if NETWORKING
config NET_L2_ETHERNET

View File

@@ -7,3 +7,7 @@
config BOARD_NUMAKER_PFM_M467
bool
select SOC_M467
config BOARD_NUMAKER_PFM_M487
bool
select SOC_M487

View File

@@ -1,9 +1,15 @@
# SPDX-License-Identifier: Apache-2.0
board_runner_args(nulink "-f")
board_runner_args(pyocd "--target=m467hjhae")
if(CONFIG_BOARD_NUMAKER_PFM_M467)
board_runner_args(pyocd "--target=m467hjhae")
endif()
board_runner_args(nulink "-f")
include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
include(${ZEPHYR_BASE}/boards/common/nulink.board.cmake)
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
include(${ZEPHYR_BASE}/boards/common/canopen.board.cmake)
include(${ZEPHYR_BASE}/boards/common/nulink.board.cmake)
if(CONFIG_BOARD_NUMAKER_PFM_M467)
include(${ZEPHYR_BASE}/boards/common/canopen.board.cmake)
include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake)
endif()

View File

@@ -2,4 +2,5 @@ board:
name: numaker_pfm
vendor: Nuvoton
socs:
- name: m467
- name: m467
- name: m487

View File

@@ -74,7 +74,7 @@ run a serial host program to connect with your board. For example:
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: nuvoton_pfm_m487
:board: numaker_pfm/m487
:goals: flash
Debugging
@@ -84,7 +84,7 @@ Here is an example for the :ref:`hello_world` application.
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: nuvoton_pfm_m487
:board: numaker_pfm/m487
:goals: debug
Step through the application in your debugger.

View File

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 57 KiB

View File

@@ -1,7 +1,7 @@
# Copyright (c) 2023 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
identifier: numaker_pfm_m467
identifier: numaker_pfm/m467
name: NUVOTON NUMAKER-PFM-M467 Kit
type: mcu
arch: arm

View File

@@ -11,11 +11,11 @@ CONFIG_CLOCK_CONTROL_NUMAKER_SCC=y
CONFIG_ARM_MPU=y
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=200000000
# enable uart driver
# Enable UART driver
CONFIG_SERIAL=y
CONFIG_UART_INTERRUPT_DRIVEN=y
# console
# Console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y

View File

@@ -6,7 +6,7 @@
/dts-v1/;
#include <nuvoton/m48x.dtsi>
#include "nuvoton_pfm_m487-pinctrl.dtsi"
#include "numaker_pfm_m487-pinctrl.dtsi"
#include <zephyr/dt-bindings/input/input-event-codes.h>
/ {

View File

@@ -1,4 +1,4 @@
identifier: nuvoton_pfm_m487
identifier: numaker_pfm/m487
name: NUVOTON-PFM-M487
type: mcu
arch: arm

View File

@@ -1,9 +1,5 @@
# SPDX-License-Identifier: Apache-2.0
CONFIG_SOC_SERIES_M48X=y
CONFIG_SOC_M487=y
CONFIG_BOARD_NUVOTON_PFM_M487=y
# Enable MPU
CONFIG_ARM_MPU=y
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=192000000
@@ -12,9 +8,9 @@ CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=192000000
CONFIG_GPIO=y
CONFIG_PINCTRL=y
# enable uart driver
# Enable UART driver
CONFIG_SERIAL=y
# console
# Console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y

View File

@@ -3,13 +3,7 @@
# Copyright (c) 2020 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
config SOC_FAMILY_NPCX
bool
if SOC_FAMILY_NPCX
config SOC_FAMILY
string
default "nuvoton_npcx"
menuconfig NPCX_HEADER
bool "The output binary with NPCX binary header"
@@ -183,9 +177,6 @@ config NPCX_HEADER_FLASH_SIZE
endif # NPCX_HEADER
# Select SoC Part No. and configuration options
source "soc/soc_legacy/arm/nuvoton_npcx/*/Kconfig.soc"
config NPCX_PM_TRACE
bool "Trace System Power Management in NPCX family"
depends on PM
@@ -193,3 +184,6 @@ config NPCX_PM_TRACE
Internal config to enable runtime power management traces.
endif # SOC_FAMILY_NPCX
# Select SoC Part No. and configuration options
rsource "*/Kconfig"

View File

@@ -3,4 +3,4 @@
# Copyright (c) 2020 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
source "soc/soc_legacy/arm/nuvoton_npcx/*/Kconfig.defconfig.series"
rsource "*/Kconfig.defconfig"

View File

@@ -3,9 +3,10 @@
# Copyright (c) 2020 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
if SOC_NPCX7M6FB
config SOC_FAMILY_NPCX
bool
config SOC
default "npcx7m6fb"
config SOC_FAMILY
default "nuvoton_npcx" if SOC_FAMILY_NPCX
endif # SOC_NPCX7M6FB
rsource "*/Kconfig.soc"

View File

@@ -19,8 +19,9 @@ endif()
if (DEFINED CONFIG_NPCX_IMAGE_OUTPUT_BIN)
set(NPCX_BIN_NAME ${CONFIG_KERNEL_BIN_NAME}.npcx.bin)
string(TOUPPER "${SOC_NAME}" soc_name_upper)
set_property(GLOBAL APPEND PROPERTY extra_post_build_commands
COMMAND ${PYTHON_EXECUTABLE} ${SOC_DIR}/${ARCH}/${SOC_FAMILY}/common/ecst/ecst.py
COMMAND ${PYTHON_EXECUTABLE} ${SOC_${soc_name_upper}_DIR}/common/ecst/ecst.py
-i ${KERNEL_BIN_NAME}
-o ${NPCX_BIN_NAME}
${NPCX_HEADER_HCRC} ${NPCX_HEADER_FCRC}

View File

@@ -1,6 +1,9 @@
# SPDX-License-Identifier: Apache-2.0
zephyr_include_directories(${ZEPHYR_BASE}/drivers)
zephyr_include_directories(
.
${ZEPHYR_BASE}/drivers
)
zephyr_sources(
soc.c

View File

@@ -1,16 +1,12 @@
# Nuvoton Cortex-M4 Embedded Controller NPCX4 series
# Nuvoton NPCX4 EC series
# Copyright (c) 2023 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_NPCX4
bool "Nuvoton NPCX4 Series"
select ARM
select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT
select CPU_HAS_FPU
select CPU_HAS_ARM_MPU
select SOC_FAMILY_NPCX
select HAS_PM
help
Enable support for Nuvoton NPCX4 series

View File

@@ -5,9 +5,6 @@
if SOC_SERIES_NPCX4
config SOC_SERIES
default "npcx4"
config NUM_IRQS
default 128
@@ -18,6 +15,4 @@ config ESPI_TAF_NPCX
default y
depends on ESPI_SAF
source "soc/soc_legacy/arm/nuvoton_npcx/npcx4/Kconfig.defconfig.npcx4*"
endif # SOC_SERIES_NPCX4

View File

@@ -0,0 +1,29 @@
# Nuvoton NPCX4 EC series
# Copyright (c) 2023 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_NPCX4
bool
select SOC_FAMILY_NPCX
help
Enable support for Nuvoton NPCX4 series
config SOC_NPCX4M3F
bool
select SOC_SERIES_NPCX4
help
NPCX4M3F
config SOC_NPCX4M8F
bool
select SOC_SERIES_NPCX4
help
NPCX4M8F
config SOC_SERIES
default "npcx4" if SOC_SERIES_NPCX4
config SOC
default "npcx4m3f" if SOC_NPCX4M3F
default "npcx4m8f" if SOC_NPCX4M8F

View File

@@ -1,6 +1,9 @@
# SPDX-License-Identifier: Apache-2.0
zephyr_include_directories(${ZEPHYR_BASE}/drivers)
zephyr_include_directories(
.
${ZEPHYR_BASE}/drivers
)
zephyr_sources(
soc.c

View File

@@ -4,14 +4,10 @@
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_NPCX7
bool "Nuvoton NPCX7 Series"
select ARM
select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT
select CPU_HAS_FPU
select CPU_HAS_ARM_MPU
select SOC_FAMILY_NPCX
select CPU_HAS_CUSTOM_FIXED_SOC_MPU_REGIONS
select HAS_PM
help
Enable support for Nuvoton NPCX7 series

View File

@@ -5,15 +5,10 @@
if SOC_SERIES_NPCX7
config SOC_SERIES
default "npcx7"
config NUM_IRQS
default 64
config CORTEX_M_SYSTICK
default !NPCX_ITIM_TIMER
source "soc/soc_legacy/arm/nuvoton_npcx/npcx7/Kconfig.defconfig.npcx7*"
endif # SOC_SERIES_NPCX7

View File

@@ -0,0 +1,36 @@
# Nuvoton Cortex-M4 Embedded Controller NPCX7 series
# Copyright (c) 2020 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_NPCX7
bool
select SOC_FAMILY_NPCX
help
Enable support for Nuvoton NPCX7 series
config SOC_NPCX7M6FB
bool
select SOC_SERIES_NPCX7
help
NPCX7M6FB
config SOC_NPCX7M6FC
bool
select SOC_SERIES_NPCX7
help
NPCX7M6FC
config SOC_NPCX7M7FC
bool
select SOC_SERIES_NPCX7
help
NPCX7M7FC
config SOC_SERIES
default "npcx7" if SOC_SERIES_NPCX7
config SOC
default "npcx7m6fb" if SOC_NPCX7M6FB
default "npcx7m6fc" if SOC_NPCX7M6FC
default "npcx7m7fc" if SOC_NPCX7M7FC

View File

@@ -1,5 +1,8 @@
# SPDX-License-Identifier: Apache-2.0
zephyr_include_directories(${ZEPHYR_BASE}/drivers)
zephyr_include_directories(
.
${ZEPHYR_BASE}/drivers
)
set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/arm/cortex_m/scripts/linker.ld CACHE INTERNAL "")

View File

@@ -4,7 +4,6 @@
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_NPCX9
bool "Nuvoton NPCX9 Series"
select ARM
select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT
@@ -12,5 +11,3 @@ config SOC_SERIES_NPCX9
select CPU_HAS_ARM_MPU
select SOC_FAMILY_NPCX
select HAS_PM
help
Enable support for Nuvoton NPCX9 series

View File

@@ -5,15 +5,10 @@
if SOC_SERIES_NPCX9
config SOC_SERIES
default "npcx9"
config NUM_IRQS
default 64
config CORTEX_M_SYSTICK
default !NPCX_ITIM_TIMER
source "soc/soc_legacy/arm/nuvoton_npcx/npcx9/Kconfig.defconfig.npcx9*"
endif # SOC_SERIES_NPCX9

View File

@@ -0,0 +1,43 @@
# Nuvoton Cortex-M4 Embedded Controller NPCX9 series
# Copyright (c) 2021 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_NPCX9
bool
select SOC_FAMILY_NPCX
help
Enable support for Nuvoton NPCX9 series
config SOC_NPCX9M3F
bool
select SOC_SERIES_NPCX9
help
NPCX9M3F
config SOC_NPCX9M6F
bool
select SOC_SERIES_NPCX9
help
NPCX9M6F
config SOC_NPCX9M7F
bool
select SOC_SERIES_NPCX9
help
NPCX9M7F
config SOC_NPCX9MFP
bool
select SOC_SERIES_NPCX9
help
NPCX9MFP
config SOC_SERIES
default "npcx9" if SOC_SERIES_NPCX9
config SOC
default "npcx9m3f" if SOC_NPCX9M3F
default "npcx9m6f" if SOC_NPCX9M6F
default "npcx9m7f" if SOC_NPCX9M7F
default "npcx9mfp" if SOC_NPCX9MFP

18
soc/nuvoton/npcx/soc.yml Normal file
View File

@@ -0,0 +1,18 @@
family:
- name: npcx
series:
- name: npcx4
socs:
- name: npcx4m3f
- name: npcx4m8f
- name: npcx7
socs:
- name: npcx7m6fb
- name: npcx7m6fc
- name: npcx7m7fc
- name: npcx9
socs:
- name: npcx9m3f
- name: npcx9m6f
- name: npcx9m7f
- name: npcx9mfp

View File

@@ -1,6 +0,0 @@
# Nuvoton Cortex-M4 Embedded Controller
# Copyright (c) 2020 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
source "soc/soc_legacy/arm/nuvoton_npcx/*/Kconfig.series"

View File

@@ -1,11 +0,0 @@
# Nuvoton Cortex-M4 Embedded Controller
# Copyright (c) 2023 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
if SOC_NPCX4M3F
config SOC
default "npcx4m3f"
endif # SOC_NPCX4M3F

View File

@@ -1,11 +0,0 @@
# Nuvoton Cortex-M4 Embedded Controller
# Copyright (c) 2023 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
if SOC_NPCX4M8F
config SOC
default "npcx4m8f"
endif # SOC_NPCX4M8F

View File

@@ -1,16 +0,0 @@
# Nuvoton NPCX4 EC series
# Copyright (c) 2023 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
choice
prompt "NPCX4 Selection"
depends on SOC_SERIES_NPCX4
config SOC_NPCX4M3F
bool "NPCX4M3F"
config SOC_NPCX4M8F
bool "NPCX4M8F"
endchoice

View File

@@ -1,11 +0,0 @@
# Nuvoton Cortex-M4 Embedded Controller
# Copyright (c) 2021 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
if SOC_NPCX7M6FC
config SOC
default "npcx7m6fc"
endif # SOC_NPCX7M6FC

View File

@@ -1,11 +0,0 @@
# Nuvoton Cortex-M4 Embedded Controller
# Copyright (c) 2021 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
if SOC_NPCX7M7FC
config SOC
default "npcx7m7fc"
endif # SOC_NPCX7M7FC

View File

@@ -1,19 +0,0 @@
# Nuvoton NPCX7 EC series
# Copyright (c) 2020 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
choice
prompt "NPCX7 Selection"
depends on SOC_SERIES_NPCX7
config SOC_NPCX7M6FB
bool "NPCX7M6FB"
config SOC_NPCX7M6FC
bool "NPCX7M6FC"
config SOC_NPCX7M7FC
bool "NPCX7M7FC"
endchoice

View File

@@ -1,11 +0,0 @@
# Nuvoton Cortex-M4 Embedded Controller
# Copyright (c) 2021 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
if SOC_NPCX9M3F
config SOC
default "npcx9m3f"
endif # SOC_NPCX9M3F

View File

@@ -1,11 +0,0 @@
# Nuvoton Cortex-M4 Embedded Controller
# Copyright (c) 2021 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
if SOC_NPCX9M6F
config SOC
default "npcx9m6f"
endif # SOC_NPCX9M6F

View File

@@ -1,11 +0,0 @@
# Nuvoton Cortex-M4 Embedded Controller
# Copyright (c) 2022 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
if SOC_NPCX9M7F
config SOC
default "npcx9m7f"
endif # SOC_NPCX9M7F

View File

@@ -1,11 +0,0 @@
# Nuvoton Cortex-M4 Embedded Controller
# Copyright (c) 2023 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
if SOC_NPCX9MFP
config SOC
default "npcx9mfp"
endif # SOC_NPCX9MFP

View File

@@ -1,22 +0,0 @@
# Nuvoton NPCX9 EC series
# Copyright (c) 2021 Nuvoton Technology Corporation.
# SPDX-License-Identifier: Apache-2.0
choice
prompt "NPCX9 Selection"
depends on SOC_SERIES_NPCX9
config SOC_NPCX9M3F
bool "NPCX9M3F"
config SOC_NPCX9M6F
bool "NPCX9M6F"
config SOC_NPCX9M7F
bool "NPCX9M7F"
config SOC_NPCX9MFP
bool "NPCX9MFP"
endchoice