Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
ba9655c
[nrf fromtree] scripts: zephyr_module: Add variable with module path
nordicjm Aug 12, 2025
d8a80b8
[nrf fromtree] boards: arm: add support for MPS4 Corstone-320
wearyzen May 27, 2025
afd1274
[nrf fromtree] pinctrl: add support for mps4
wearyzen May 27, 2025
688421b
[nrf fromtree] boards: mps4: Add initial support for corstone315
reach2shaunak Jun 16, 2025
502f9bb
[nrf fromtree] modules: ethos_u: arm: update for MPS4
wearyzen May 27, 2025
ce3aa5f
[nrf fromtree] samples: mbox: Add support for ESP32C6
LucasTambor Jul 8, 2025
88bf9a5
[nrf fromtree] kconfig: Use $(...) instead of ${...} for getting vari…
nordicjm Aug 12, 2025
5e30273
[nrf fromtree] scripts/kconfig/cmake: Generate/use env file for zephy…
nordicjm Aug 27, 2025
cb8dbe3
[nrf fromtree] scripts: requirements: update pinned dependencies
kartben Jun 3, 2025
72f15c6
[nrf fromtree] scripts: ci: add vermin (min python version check)
kartben Jun 3, 2025
24720c5
[nrf fromtree] tests: cmake: actually test SBOM files generation
kartben Jun 16, 2025
24332ee
[nrf fromtree] doc: ci: Zephyr now requires Python 3.12 or higher
kartben Jun 12, 2025
15bb060
[nrf fromtree] scripts: west: spdx: extract copyright info
kartben Jun 11, 2025
8d250aa
[nrf fromtree] scripts: check_compliance: Fix traceback in junitparser
decsny Jun 27, 2025
1360fb9
[nrf fromtree] Revert "doc: ci: Zephyr now requires Python 3.12 or hi…
kartben Jul 3, 2025
87f8ef1
[nrf fromtree] scripts: requirements-base: pin patool to >=2.0.0
MirkoCovizzi Jul 1, 2025
f5296e6
[nrf fromtree] scripts: west_commands: canopen: replace progress by tqdm
kartben Jul 2, 2025
9c4016a
[nrf fromtree] scripts: tests: apply ruff linting to test_domains.py
kartben Jul 2, 2025
50364be
[nrf fromtree] scripts: requirements: remove dependency to mock package
kartben Jul 2, 2025
7c958d8
[nrf fromtree] scripts: requirements: drop tomli dependency
kartben Jul 2, 2025
0b4cec7
[nrf fromtree] scripts: requirements: Add back tomli
tpambor Jul 20, 2025
aa762b8
[nrf fromtree] scripts: requirements: Remove mock
tpambor Jul 20, 2025
ac119bf
[nrf fromtree] scripts: requirements: remove lxml dependency
kartben Jul 2, 2025
6a154b7
[nrf fromtree] scripts: requirements-action: Require PyGithub >= 2.7.0
stephanosio Sep 9, 2025
836559f
[nrf fromtree] scripts: ci: check_compliance: no need for lxml anymore
kartben Jul 2, 2025
0063ff9
[nrf fromlist] scripts: requirements: Add python-dotenv
nordicjm Sep 10, 2025
1802bd6
[nrf fromlist] kconfig: Load Kconfig env file better
nordicjm Sep 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ MaintainersFormat.txt
ModulesMaintainers.txt
Nits.txt
Pylint.txt
PythonCompat.txt
Ruff.txt
SphinxLint.txt
SysbuildKconfig.txt
Expand Down
4 changes: 2 additions & 2 deletions Kconfig.zephyr
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

source "Kconfig.constants"

osource "${APPLICATION_SOURCE_DIR}/VERSION"
osource "$(APPLICATION_SOURCE_DIR)/VERSION"

# Include Kconfig.defconfig files first so that they can override defaults and
# other symbol/choice properties by adding extra symbol/choice definitions.
Expand Down Expand Up @@ -967,7 +967,7 @@ config BUILD_OUTPUT_STRIP_PATHS
bool "Strip absolute paths from binaries"
default y
help
If the compiler supports it, strip the ${ZEPHYR_BASE} prefix from the
If the compiler supports it, strip the $(ZEPHYR_BASE) prefix from the
__FILE__ macro used in __ASSERT*, in the
.noinit."/home/joe/zephyr/fu/bar.c" section names and in any
application code.
Expand Down
23 changes: 23 additions & 0 deletions boards/arm/mps4/Kconfig.defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Copyright 2025 Arm Limited and/or its affiliates <[email protected]>
# SPDX-License-Identifier: Apache-2.0

if BOARD_MPS4_CORSTONE315_FVP || BOARD_MPS4_CORSTONE320_FVP

if SERIAL

config UART_INTERRUPT_DRIVEN
default y

endif # SERIAL

if ROMSTART_RELOCATION_ROM && (BOARD_MPS4_CORSTONE315_FVP || BOARD_MPS4_CORSTONE320_FVP)

config ROMSTART_REGION_ADDRESS
default $(dt_nodelabel_reg_addr_hex,itcm)

config ROMSTART_REGION_SIZE
default $(dt_nodelabel_reg_size_hex,itcm,0,k)

endif

endif
7 changes: 7 additions & 0 deletions boards/arm/mps4/Kconfig.mps4
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Copyright 2025 Arm Limited and/or its affiliates <[email protected]>
# SPDX-License-Identifier: Apache-2.0

config BOARD_MPS4
select SOC_SERIES_MPS4
select SOC_MPS4_CORSTONE315 if BOARD_MPS4_CORSTONE315_FVP || BOARD_MPS4_CORSTONE315_FVP_NS
select SOC_MPS4_CORSTONE320 if BOARD_MPS4_CORSTONE320_FVP || BOARD_MPS4_CORSTONE320_FVP_NS
49 changes: 49 additions & 0 deletions boards/arm/mps4/board.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Copyright 2025 Arm Limited and/or its affiliates <[email protected]>
# SPDX-License-Identifier: Apache-2.0

#
# Default emulation:
# FVP is used by default for corstone320/fvp.
#


if(CONFIG_BOARD_MPS4_CORSTONE315_FVP OR CONFIG_BOARD_MPS4_CORSTONE315_FVP_NS)
set(SUPPORTED_EMU_PLATFORMS armfvp)
set(ARMFVP_BIN_NAME FVP_Corstone_SSE-315)
elseif(CONFIG_BOARD_MPS4_CORSTONE320_FVP OR CONFIG_BOARD_MPS4_CORSTONE320_FVP_NS)
set(SUPPORTED_EMU_PLATFORMS armfvp)
set(ARMFVP_BIN_NAME FVP_Corstone_SSE-320)
endif()

if(CONFIG_BOARD_MPS4_CORSTONE315_FVP OR CONFIG_BOARD_MPS4_CORSTONE320_FVP)
set(ARMFVP_FLAGS
# default is '0x11000000' but should match cpu<i>.INITSVTOR which is 0.
-C mps4_board.subsystem.iotss3_systemcontrol.INITSVTOR_RST=0
# default is 0x8, this change is needed since we split flash into itcm
# and sram and it reduces the number of available mpu regions causing a
# few MPU tests to fail.
-C mps4_board.subsystem.cpu0.MPU_S=16
)
endif()

if(CONFIG_BUILD_WITH_TFM)
set(ARMFVP_FLAGS ${ARMFVP_FLAGS} -a ${APPLICATION_BINARY_DIR}/zephyr/tfm_merged.hex)
endif()

# FVP Parameters
# -C indicate a config option in the form of:
# instance.parameter=value
# Run the FVP with --list-params to list all options
set(ARMFVP_FLAGS ${ARMFVP_FLAGS}
-C mps4_board.uart0.out_file=-
-C mps4_board.uart0.unbuffered_output=1
-C mps4_board.uart1.out_file=-
-C mps4_board.uart1.unbuffered_output=1
-C mps4_board.uart2.out_file=-
-C mps4_board.uart2.unbuffered_output=1
-C mps4_board.visualisation.disable-visualisation=1
-C mps4_board.telnetterminal0.start_telnet=0
-C mps4_board.telnetterminal1.start_telnet=0
-C mps4_board.telnetterminal2.start_telnet=0
-C vis_hdlcd.disable_visualisation=1
)
15 changes: 15 additions & 0 deletions boards/arm/mps4/board.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
board:
name: mps4
full_name: MPS4
vendor: arm
socs:
- name: 'corstone315'
variants:
- name: 'fvp'
variants:
- name: 'ns'
- name: 'corstone320'
variants:
- name: 'fvp'
variants:
- name: 'ns'
68 changes: 68 additions & 0 deletions boards/arm/mps4/mps4-pinctrl.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
/*
* Copyright 2025 Arm Limited and/or its affiliates <[email protected]>
*
* SPDX-License-Identifier: Apache-2.0
*/

#include <zephyr/dt-bindings/pinctrl/arm-mps4-pinctrl.h>

&pinctrl {
/omit-if-no-ref/ uart3_default: uart3_default {
group1 {
pinmux = <UART3_TXD_EXP>;
};

group2 {
pinmux = <UART3_RXD_EXP>;
input-enable;
};
};

/omit-if-no-ref/ uart4_default: uart4_default {
group1 {
pinmux = <UART4_TXD_EXP>;
};

group2 {
pinmux = <UART4_RXD_EXP>;
input-enable;
};
};

/omit-if-no-ref/ spi3_default: spi3_default {
group1 {
pinmux = <SPI3_SS_EXP>, <SPI3_MOSI_EXP>,
<SPI3_SCK_EXP>;
};

group2 {
pinmux = <SPI3_MISO_EXP>;
input-enable;
};
};

/omit-if-no-ref/ spi4_default: spi4_default {
group1 {
pinmux = <SPI4_SS_EXP>, <SPI4_MOSI_EXP>, <SPI4_SCK_EXP>;
};

group2 {
pinmux = <SPI4_MISO_EXP>;
input-enable;
};
};

/omit-if-no-ref/ sbcon2_default: sbcon2_default {
group1 {
pinmux = <SBCON2_SDA_EXP>, <SBCON2_SCL_EXP>;
input-enable;
};
};

/omit-if-no-ref/ sbcon3_default: sbcon3_default {
group1 {
pinmux = <SBCON3_SDA_EXP>, <SBCON3_SCL_EXP>;
input-enable;
};
};
};
121 changes: 121 additions & 0 deletions boards/arm/mps4/mps4_common.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
/*
* Copyright 2025 Arm Limited and/or its affiliates <[email protected]>
*
* SPDX-License-Identifier: Apache-2.0
*/

/* /dts-v1/; */

#include <arm/armv8.1-m.dtsi>
#include <zephyr/dt-bindings/i2c/i2c.h>
#include <zephyr/dt-bindings/input/input-event-codes.h>
#include <zephyr/dt-bindings/memory-attr/memory-attr-arm.h>
#include <mem.h>

/ {
aliases {
led0 = &led_0;
led1 = &led_1;
sw0 = &user_button_0;
sw1 = &user_button_1;
};

leds {
compatible = "gpio-leds";

led_0: led_0 {
gpios = <&gpio_led0 0>;
label = "USERLED0";
};

led_1: led_1 {
gpios = <&gpio_led0 1>;
label = "USERLED1";
};

led_2: led_2 {
gpios = <&gpio_led0 2>;
label = "USERLED2";
};

led_3: led_3 {
gpios = <&gpio_led0 3>;
label = "USERLED3";
};

led_4: led_4 {
gpios = <&gpio_led0 4>;
label = "USERLED4";
};

led_5: led_5 {
gpios = <&gpio_led0 5>;
label = "USERLED5";
};

led_6: led_6 {
gpios = <&gpio_led0 6>;
label = "USERLED6";
};

led_7: led_7 {
gpios = <&gpio_led0 7>;
label = "USERLED7";
};

led_8: led_8 {
gpios = <&gpio_led0 8>;
label = "PB1LED";
};

led_9: led_9 {
gpios = <&gpio_led0 9>;
label = "PB2LED";
};
};

gpio_keys {
compatible = "gpio-keys";

user_button_0: button_0 {
label = "USERPB0";
gpios = <&gpio_button 0>;
zephyr,code = <INPUT_KEY_0>;
};

user_button_1: button_1 {
label = "USERPB1";
gpios = <&gpio_button 1>;
zephyr,code = <INPUT_KEY_1>;
};
};

null_ptr_detect: null_ptr_detect@0 {
compatible = "zephyr,memory-region";
/* 0 - CONFIG_CORTEX_M_NULL_POINTER_EXCEPTION_PAGE_SIZE> */
reg = <0x0 0x400>;
zephyr,memory-region = "NULL_PTR_DETECT";
zephyr,memory-attr = <( DT_MEM_ARM(ATTR_MPU_FLASH) )>;
};

/* DDR4 - 2G, alternates non-secure/secure every 256M */
ddr4: memory@60000000 {
device_type = "memory";
compatible = "zephyr,memory-region";
reg = <0x60000000 DT_SIZE_M(256)
0x70000000 DT_SIZE_M(256)
0x80000000 DT_SIZE_M(256)
0x90000000 DT_SIZE_M(256)
0xa0000000 DT_SIZE_M(256)
0xb0000000 DT_SIZE_M(256)
0xc0000000 DT_SIZE_M(256)
0xd0000000 DT_SIZE_M(256)>;
zephyr,memory-region = "DDR4";
};
};

&nvic {
arm,num-irq-priority-bits = <3>;
};

#include "mps4-pinctrl.dtsi"
Loading
Loading