-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
applications: sdp: mspi: Initial implementation
Added initial mspi implementation with hard real time task running on interrupts. Signed-off-by: Michal Frankiewicz <[email protected]> Signed-off-by: Magdalena Pastula <[email protected]>
- Loading branch information
1 parent
9598724
commit 27f6f37
Showing
12 changed files
with
761 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# | ||
# Copyright (c) 2024 Nordic Semiconductor ASA | ||
# | ||
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause | ||
# | ||
|
||
cmake_minimum_required(VERSION 3.20.0) | ||
|
||
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) | ||
project(sdp_mspi) | ||
|
||
sdp_assembly_generate("${CMAKE_SOURCE_DIR}/src/hrt/hrt.c") | ||
sdp_assembly_check("${CMAKE_SOURCE_DIR}/src/hrt/hrt.c") | ||
sdp_assembly_prepare_install("${CMAKE_SOURCE_DIR}/src/hrt/hrt.c") | ||
|
||
target_sources(app PRIVATE src/main.c) | ||
target_sources(app PRIVATE src/hrt/hrt.c) | ||
|
||
add_dependencies(app asm_check) |
46 changes: 46 additions & 0 deletions
46
applications/sdp/mspi/boards/nrf54l15dk_nrf54l15_cpuflpr.conf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
# Single-threaded | ||
CONFIG_MULTITHREADING=n | ||
CONFIG_KERNEL_MEM_POOL=n | ||
CONFIG_LOG=n | ||
|
||
# Drivers and peripherals | ||
CONFIG_I2C=n | ||
CONFIG_WATCHDOG=n | ||
CONFIG_GPIO=n | ||
CONFIG_PINCTRL=n | ||
CONFIG_SPI=n | ||
CONFIG_SERIAL=n | ||
CONFIG_FLASH=n | ||
|
||
# Power management | ||
CONFIG_PM=n | ||
|
||
# Interrupts | ||
CONFIG_DYNAMIC_INTERRUPTS=n | ||
CONFIG_IRQ_OFFLOAD=n | ||
CONFIG_GEN_SW_ISR_TABLE=n | ||
|
||
# Memory protection | ||
CONFIG_THREAD_STACK_INFO=n | ||
CONFIG_THREAD_CUSTOM_DATA=n | ||
CONFIG_FPU=n | ||
|
||
# Boot | ||
CONFIG_BOOT_BANNER=n | ||
CONFIG_NCS_BOOT_BANNER=n | ||
|
||
# Console | ||
CONFIG_CONSOLE=n | ||
CONFIG_UART_CONSOLE=n | ||
CONFIG_STDOUT_CONSOLE=n | ||
CONFIG_PRINTK=n | ||
CONFIG_EARLY_CONSOLE=n | ||
|
||
# Build | ||
CONFIG_SIZE_OPTIMIZATIONS=y | ||
|
||
# No timer support in the kernel | ||
CONFIG_SYS_CLOCK_EXISTS=n | ||
|
||
CONFIG_OUTPUT_DISASSEMBLY=y | ||
CONFIG_COMMON_LIBC_MALLOC=n |
52 changes: 52 additions & 0 deletions
52
applications/sdp/mspi/boards/nrf54l15dk_nrf54l15_cpuflpr.overlay
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
/* | ||
* Copyright (c) 2024 Nordic Semiconductor ASA | ||
* | ||
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause | ||
*/ | ||
|
||
// &cpuflpr_vevif_rx { | ||
// status = "okay"; | ||
// interrupts = <16 NRF_DEFAULT_IRQ_PRIORITY>; | ||
// nordic,tasks = <1>; | ||
// nordic,tasks-mask = <0x00010000>; | ||
// }; | ||
|
||
// &cpuflpr_vevif_tx { | ||
// status = "okay"; | ||
// }; | ||
|
||
&gpio0 { | ||
status = "disabled"; | ||
}; | ||
|
||
&gpio1 { | ||
status = "disabled"; | ||
}; | ||
|
||
&gpio2 { | ||
status = "disabled"; | ||
}; | ||
|
||
&gpiote20 { | ||
status = "disabled"; | ||
}; | ||
|
||
&gpiote30 { | ||
status = "disabled"; | ||
}; | ||
|
||
&grtc { | ||
status = "disabled"; | ||
}; | ||
|
||
&uart20 { | ||
status = "disabled"; | ||
}; | ||
|
||
&uart30 { | ||
status = "disabled"; | ||
}; | ||
|
||
&pwm20 { | ||
status = "disabled"; | ||
}; |
46 changes: 46 additions & 0 deletions
46
applications/sdp/mspi/boards/nrf54l15dk_nrf54l15_cpuflpr_icmsg.overlay
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
/* | ||
* Copyright (c) 2024 Nordic Semiconductor ASA | ||
* | ||
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause | ||
*/ | ||
|
||
/ { | ||
soc { | ||
reserved-memory { | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
|
||
sram_tx: memory@2003c000 { | ||
reg = <0x2003c000 0x0800>; | ||
}; | ||
|
||
sram_rx: memory@2003c800 { | ||
reg = <0x2003c800 0x0800>; | ||
}; | ||
}; | ||
}; | ||
|
||
ipc { | ||
ipc0: ipc0 { | ||
compatible = "zephyr,ipc-icmsg"; | ||
tx-region = <&sram_tx>; | ||
rx-region = <&sram_rx>; | ||
mboxes = <&cpuflpr_vevif_rx 16>, <&cpuflpr_vevif_tx 20>; | ||
mbox-names = "rx", "tx"; | ||
status = "okay"; | ||
}; | ||
}; | ||
}; | ||
|
||
&cpuflpr_rram { | ||
reg = <0x17a000 DT_SIZE_K(12)>; | ||
}; | ||
|
||
&cpuflpr_code_partition { | ||
reg = <0x0 DT_SIZE_K(12)>; | ||
}; | ||
|
||
&cpuflpr_sram { | ||
reg = <0x2003d000 DT_SIZE_K(12)>; | ||
ranges = <0x0 0x2003d000 0x3000>; | ||
}; |
41 changes: 41 additions & 0 deletions
41
applications/sdp/mspi/boards/nrf54l15dk_nrf54l15_cpuflpr_mbox.overlay
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
/* | ||
* Copyright (c) 2024 Nordic Semiconductor ASA | ||
* | ||
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause | ||
*/ | ||
|
||
/ { | ||
soc { | ||
reserved-memory { | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
|
||
sram_tx: memory@2003c000 { | ||
reg = <0x2003c000 0x0800>; | ||
}; | ||
|
||
sram_rx: memory@2003c800 { | ||
reg = <0x2003c800 0x0800>; | ||
}; | ||
}; | ||
}; | ||
|
||
mbox_consumer: mbox_consumer { | ||
compatible = "vnd,mbox-consumer"; | ||
mboxes = <&cpuflpr_vevif_rx 16>, <&cpuflpr_vevif_tx 20>; | ||
mbox-names = "rx", "tx"; | ||
}; | ||
}; | ||
|
||
&cpuflpr_rram { | ||
reg = <0x17a000 DT_SIZE_K(12)>; | ||
}; | ||
|
||
&cpuflpr_code_partition { | ||
reg = <0x0 DT_SIZE_K(12)>; | ||
}; | ||
|
||
&cpuflpr_sram { | ||
reg = <0x2003d000 DT_SIZE_K(12)>; | ||
ranges = <0x0 0x2003d000 0x3000>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
CONFIG_MBOX=y |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
sample: | ||
name: SDP mSPI application | ||
description: SDP mSPI application | ||
common: | ||
integration_platforms: | ||
- nrf54l15dk/nrf54l15/cpuflpr | ||
tests: | ||
applications.sdp.mspi.icmsg: | ||
build_only: true | ||
sysbuild: true | ||
platform_allow: nrf54l15dk/nrf54l15/cpuflpr | ||
tags: ci_build sysbuild mspi | ||
extra_configs: | ||
- CONFIG_IPC_SERVICE=y | ||
- CONFIG_IPC_SERVICE_BACKEND_ICMSG=y |
Oops, something went wrong.