Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions .github/test-spec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -583,7 +583,7 @@
- "tests/subsys/suit/**/*"

"CI-test-low-level":
- "applications/sdp/**/*"
- "applications/hpf/**/*"
- "boards/nordic/nrf54lm20apdk/**/*"
- "boards/nordic/nrf54lv10apdk/**/*"
- "drivers/gpio/**/*"
Expand All @@ -601,7 +601,7 @@
- "samples/peripheral/lpuart/**/*"
- "samples/zephyr/sensor/qdec/**/*"
- "samples/zephyr/subsys/settings/**/*"
- "snippets/sdp/**/*"
- "snippets/hpf/**/*"
- "snippets/nrf54l09-switch-uart/**/*"
- "soc/nordic/nrf54l/**/*"
- "tests/benchmarks/multicore/idle/**/*"
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ endforeach()
include(cmake/extensions.cmake)
include(cmake/version.cmake)
include(cmake/version_app.cmake)
include(cmake/sdp.cmake)
include(cmake/hpf.cmake)

zephyr_include_directories(include)

Expand Down
12 changes: 6 additions & 6 deletions CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
/applications/matter_weather_station/ @nrfconnect/ncs-matter
/applications/nrf5340_audio/ @nrfconnect/ncs-audio
/applications/nrf_desktop/ @nrfconnect/ncs-si-bluebagel
/applications/sdp/ @nrfconnect/ncs-ll-ursus
/applications/hpf/ @nrfconnect/ncs-ll-ursus
/applications/serial_lte_modem/ @nrfconnect/ncs-co-networking @nrfconnect/ncs-iot-oulu
/applications/serial_lte_modem/src/lwm2m_carrier/ @nrfconnect/ncs-carrier
/applications/connectivity_bridge/*.rst @nrfconnect/ncs-cia-doc
Expand All @@ -44,7 +44,7 @@
/applications/matter_weather_station/*.rst @nrfconnect/ncs-matter-doc
/applications/nrf5340_audio/**/*.rst @nrfconnect/ncs-audio-doc
/applications/nrf_desktop/**/*.rst @nrfconnect/ncs-si-bluebagel-doc
/applications/sdp/**/*.rst @annwoj
/applications/hpf/**/*.rst @annwoj
/applications/serial_lte_modem/**/*.rst @nrfconnect/ncs-iot-oulu-tampere-doc
/applications/serial_lte_modem/doc/CARRIER_AT_commands.rst @nrfconnect/ncs-carrier-doc

Expand Down Expand Up @@ -348,11 +348,12 @@
/include/drivers/flash/flash_ipuc.h @nrfconnect/ncs-co-drivers @nrfconnect/ncs-charon
/include/drivers/gpio/ @nrfconnect/ncs-co-drivers @nrfconnect/ncs-ll-ursus
/include/drivers/bme68x_iaq.h @nrfconnect/ncs-co-drivers @nrfconnect/ncs-cia
/include/drivers/mspi/nrfe_mspi.h @nrfconnect/ncs-co-drivers @nrfconnect/ncs-ll-ursus
/include/drivers/mspi/hpf_mspi.h @nrfconnect/ncs-co-drivers @nrfconnect/ncs-ll-ursus
/include/drivers/sensor_sim.h @nrfconnect/ncs-co-drivers @nrfconnect/ncs-cia
/include/drivers/sensor_stub.h @nrfconnect/ncs-co-drivers @nrfconnect/ncs-cia
/include/emds/ @balaklaka @nrfconnect/ncs-paladin
/include/fem_al/ @nrfconnect/ncs-dragoon
/include/hpf/ @nrfconnect/ncs-ll-ursus
/include/logging/ @nrfconnect/ncs-protocols-serialization
/include/mgmt/ @nrfconnect/ncs-pluto
/include/modem/ @nrfconnect/ncs-modem @nrfconnect/ncs-modem-tre
Expand All @@ -369,7 +370,6 @@
/include/sdfw/ @nrfconnect/ncs-aurora
/include/sdfw/sdfw_services/extmem_remote.h @nrfconnect/ncs-charon
/include/sdfw/sdfw_services/suit_service.h @nrfconnect/ncs-charon
/include/sdp/ @nrfconnect/ncs-ll-ursus
/include/shell/ @nordic-krch
/include/util/ @nrfconnect/ncs-aegir @nordic-krch
/include/tfm/ @nrfconnect/ncs-aegir
Expand Down Expand Up @@ -708,7 +708,7 @@
/scripts/ncs-docker-version.txt @nrfconnect/ncs-ci
/scripts/print_docker_image.sh @nrfconnect/ncs-ci
/scripts/print_toolchain_checksum.sh @nrfconnect/ncs-ci
/scripts/sdp/ @nrfconnect/ncs-ll-ursus
/scripts/hpf/ @nrfconnect/ncs-ll-ursus
/scripts/generate_psa_key_attributes.py @nrfconnect/ncs-aurora
/scripts/tests/ @nrfconnect/ncs-pluto @fundakol

Expand All @@ -725,7 +725,7 @@

# Snippets
/snippets/ci-shell/ @nrfconnect/ncs-protocols-serialization
/snippets/sdp/ @nrfconnect/ncs-ll-ursus
/snippets/hpf/ @nrfconnect/ncs-ll-ursus
/snippets/hw-flow-control/ @nrfconnect/ncs-low-level-test @miha-nordic
/snippets/matter-diagnostic-logs/ @nrfconnect/ncs-matter
/snippets/matter-debug/ @nrfconnect/ncs-matter
Expand Down
6 changes: 3 additions & 3 deletions applications/sdp/Kconfig → applications/hpf/Kconfig
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
config SDP_DEVELOPER_MODE
bool "SDP developer mode"
config HPF_DEVELOPER_MODE
bool "HPF developer mode"
help
SDP developer mode.
High Performance Framework developer mode.
If enabled, changes in HRT files will be included in build.
Otherwise, if there is a change in HRT that produces a different ASM file than
the provided one, build error is reported.
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@
cmake_minimum_required(VERSION 3.20.0)

find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(sdp_gpio)
project(hpf_gpio)

sdp_assembly_install(app "${CMAKE_SOURCE_DIR}/src/hrt/hrt.c")
hpf_assembly_install(app "${CMAKE_SOURCE_DIR}/src/hrt/hrt.c")

target_sources(app PRIVATE src/main.c)

target_sources_ifdef(CONFIG_SDP_GPIO_BACKEND_ICMSG app PRIVATE src/backend/backend_icmsg.c)
target_sources_ifdef(CONFIG_SDP_GPIO_BACKEND_ICBMSG app PRIVATE src/backend/backend_icmsg.c)
target_sources_ifdef(CONFIG_SDP_GPIO_BACKEND_MBOX app PRIVATE src/backend/backend_mbox.c)
target_sources_ifdef(CONFIG_HPF_GPIO_BACKEND_ICMSG app PRIVATE src/backend/backend_icmsg.c)
target_sources_ifdef(CONFIG_HPF_GPIO_BACKEND_ICBMSG app PRIVATE src/backend/backend_icmsg.c)
target_sources_ifdef(CONFIG_HPF_GPIO_BACKEND_MBOX app PRIVATE src/backend/backend_mbox.c)
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
choice SDP_GPIO_BACKEND
choice HPF_GPIO_BACKEND
prompt "Backend"
default SDP_GPIO_BACKEND_ICMSG
default HPF_GPIO_BACKEND_ICMSG

config SDP_GPIO_BACKEND_MBOX
config HPF_GPIO_BACKEND_MBOX
bool "mbox"

config SDP_GPIO_BACKEND_ICMSG
config HPF_GPIO_BACKEND_ICMSG
bool "icmsg"
select IPC_SERVICE

config SDP_GPIO_BACKEND_ICBMSG
config HPF_GPIO_BACKEND_ICBMSG
bool "icbmsg"
select IPC_SERVICE

Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
.. _sdp_gpio:
.. _hpf_gpio:

SDP GPIO
########
High-Performance Framework GPIO
###############################

.. contents::
:local:
:depth: 2

This application demonstrates how to create SDP on FLPR in Zephyr threadless mode by implementing a subset of Zephyr GPIO API.
This application demonstrates how to create a software peripheral on FLPR in High-Performance Framework (HPF) by implementing a subset of Zephyr's GPIO API.
It is intended for use with Zephyr's :zephyr:code-sample:`blinky` sample.

You can use the following IPC backends:

* mbox (:kconfig:option:`SB_CONFIG_SDP_GPIO_BACKEND_MBOX`)
* icmsg (:kconfig:option:`SB_CONFIG_SDP_GPIO_BACKEND_ICMSG`)
* icbmsg (:kconfig:option:`SB_CONFIG_SDP_GPIO_BACKEND_ICBMSG`)
* mbox (:kconfig:option:`SB_CONFIG_HPF_GPIO_BACKEND_MBOX`)
* icmsg (:kconfig:option:`SB_CONFIG_HPF_GPIO_BACKEND_ICMSG`)
* icbmsg (:kconfig:option:`SB_CONFIG_HPF_GPIO_BACKEND_ICBMSG`)

Requirements
************
Expand All @@ -33,7 +34,7 @@ For example, to build with icmsg backend, run the following commands:

.. code-block:: console

west build -b nrf54l15dk/nrf54l15/cpuapp -- -DSB_CONFIG_PARTITION_MANAGER=n -DSB_CONFIG_SDP=y -DSB_CONFIG_SDP_GPIO=y -DSB_CONFIG_SDP_GPIO_BACKEND_ICMSG=y -DEXTRA_DTC_OVERLAY_FILE="./boards/nrf54l15dk_nrf54l15_cpuapp_egpio.overlay"
west build -b nrf54l15dk/nrf54l15/cpuapp -- -DSB_CONFIG_PARTITION_MANAGER=n -DSB_CONFIG_HPF=y -DSB_CONFIG_HPF_GPIO=y -DSB_CONFIG_HPF_GPIO_BACKEND_ICMSG=y -DEXTRA_DTC_OVERLAY_FILE="./boards/nrf54l15dk_nrf54l15_cpuapp_hpf_gpio.overlay"
west flash

Upon successful execution, **LED0** will start flashing.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
sample:
name: SDP GPIO application
description: SDP GPIO application
name: HPF GPIO application
description: HPF GPIO application
common:
integration_platforms:
- nrf54l15dk/nrf54l15/cpuflpr
tests:
applications.sdp.gpio.mbox:
applications.hpf.gpio.mbox:
build_only: true
sysbuild: true
platform_allow: nrf54l15dk/nrf54l15/cpuflpr
Expand All @@ -14,9 +14,9 @@ tests:
- sysbuild
- gpio
required_snippets:
- sdp-gpio-mbox
- hpf-gpio-mbox

applications.sdp.gpio.icmsg:
applications.hpf.gpio.icmsg:
build_only: true
sysbuild: true
platform_allow: nrf54l15dk/nrf54l15/cpuflpr
Expand All @@ -25,9 +25,9 @@ tests:
- sysbuild
- gpio
required_snippets:
- sdp-gpio-icmsg
- hpf-gpio-icmsg

applications.sdp.gpio.icbmsg:
applications.hpf.gpio.icbmsg:
sysbuild: true
build_only: true
platform_allow: nrf54l15dk/nrf54l15/cpuflpr
Expand All @@ -36,4 +36,4 @@ tests:
- sysbuild
- gpio
required_snippets:
- sdp-gpio-icbmsg
- hpf-gpio-icbmsg
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
#ifndef _BACKEND_H__
#define _BACKEND_H__

#include <drivers/gpio/nrfe_gpio.h>
#include <drivers/gpio/hpf_gpio.h>

#if !defined(CONFIG_SDP_GPIO_BACKEND_ICMSG) && \
!defined(CONFIG_SDP_GPIO_BACKEND_MBOX) && \
!defined(CONFIG_SDP_GPIO_BACKEND_ICBMSG)
#if !defined(CONFIG_HPF_GPIO_BACKEND_ICMSG) && \
!defined(CONFIG_HPF_GPIO_BACKEND_MBOX) && \
!defined(CONFIG_HPF_GPIO_BACKEND_ICBMSG)
#error "Define communication backend type"
#endif

Expand All @@ -20,7 +20,7 @@
*
* @param packet New packet.
*/
typedef void (*backend_callback_t)(nrfe_gpio_data_packet_t *packet);
typedef void (*backend_callback_t)(hpf_gpio_data_packet_t *packet);

/**
* @brief Initialize backend.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ static void ep_recv(const void *data, size_t len, void *priv)
(void)len;
(void)priv;

cbck((nrfe_gpio_data_packet_t *)data);
cbck((hpf_gpio_data_packet_t *)data);
}

static struct ipc_ept_cfg ep_cfg = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ static void mbox_callback(const struct device *instance, uint32_t channel, void
return;
}

nrfe_gpio_mbox_data_t *rx_data = (nrfe_gpio_mbox_data_t *)user_data;
hpf_gpio_mbox_data_t *rx_data = (hpf_gpio_mbox_data_t *)user_data;

/* Try and get lock for the shared data structure */
if (!atomic_cas(&rx_data->lock.locked, DATA_LOCK_STATE_WITH_DATA, DATA_LOCK_STATE_BUSY)) {
Expand All @@ -40,7 +40,7 @@ static void mbox_callback(const struct device *instance, uint32_t channel, void
return;
}

nrfe_gpio_data_packet_t *packet = (nrfe_gpio_data_packet_t *)&rx_data->data;
hpf_gpio_data_packet_t *packet = (hpf_gpio_data_packet_t *)&rx_data->data;

cbck(packet);

Expand Down Expand Up @@ -80,8 +80,8 @@ int backend_init(backend_callback_t callback)
int ret = 0;
cbck = callback;

static nrfe_gpio_mbox_data_t *rx_data =
(nrfe_gpio_mbox_data_t *)((uint8_t *)(DT_REG_ADDR(DT_NODELABEL(sram_rx))));
static hpf_gpio_mbox_data_t *rx_data =
(hpf_gpio_mbox_data_t *)((uint8_t *)(DT_REG_ADDR(DT_NODELABEL(sram_rx))));

ret = mbox_init((void *)rx_data);
if (ret < 0) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#include <zephyr/kernel.h>
#include <zephyr/drivers/gpio.h>
#include <zephyr/dt-bindings/gpio/nordic-nrf-gpio.h>
#include <drivers/gpio/nrfe_gpio.h>
#include <drivers/gpio/hpf_gpio.h>
#include <hal/nrf_vpr_csr.h>
#include <hal/nrf_vpr_csr_vio.h>
#include <haly/nrfy_gpio.h>
Expand All @@ -36,7 +36,7 @@ static nrf_gpio_pin_pull_t get_pull(gpio_flags_t flags)
return NRF_GPIO_PIN_NOPULL;
}

static int gpio_nrfe_pin_configure(uint8_t port, uint16_t pin, uint32_t flags)
static int gpio_hpf_pin_configure(uint8_t port, uint16_t pin, uint32_t flags)
{
if (port != 2) {
return -EINVAL;
Expand Down Expand Up @@ -105,28 +105,28 @@ static int gpio_nrfe_pin_configure(uint8_t port, uint16_t pin, uint32_t flags)
return 0;
}

void process_packet(nrfe_gpio_data_packet_t *packet)
void process_packet(hpf_gpio_data_packet_t *packet)
{
if (packet->port != 2) {
return;
}

switch (packet->opcode) {
case NRFE_GPIO_PIN_CONFIGURE: {
gpio_nrfe_pin_configure(packet->port, packet->pin, packet->flags);
case HPF_GPIO_PIN_CONFIGURE: {
gpio_hpf_pin_configure(packet->port, packet->pin, packet->flags);
break;
}
case NRFE_GPIO_PIN_CLEAR: {
case HPF_GPIO_PIN_CLEAR: {
irq_arg = packet->pin;
nrf_vpr_clic_int_pending_set(NRF_VPRCLIC, VEVIF_IRQN(HRT_VEVIF_IDX_GPIO_CLEAR));
break;
}
case NRFE_GPIO_PIN_SET: {
case HPF_GPIO_PIN_SET: {
irq_arg = packet->pin;
nrf_vpr_clic_int_pending_set(NRF_VPRCLIC, VEVIF_IRQN(HRT_VEVIF_IDX_GPIO_SET));
break;
}
case NRFE_GPIO_PIN_TOGGLE: {
case HPF_GPIO_PIN_TOGGLE: {
irq_arg = packet->pin;
nrf_vpr_clic_int_pending_set(NRF_VPRCLIC, VEVIF_IRQN(HRT_VEVIF_IDX_GPIO_TOGGLE));
break;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
cmake_minimum_required(VERSION 3.20.0)

find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(sdp_mspi)
project(hpf_mspi)

sdp_assembly_install(app "${CMAKE_SOURCE_DIR}/src/hrt/hrt.c")
hpf_assembly_install(app "${CMAKE_SOURCE_DIR}/src/hrt/hrt.c")

target_sources(app PRIVATE src/main.c)
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
config SDP_MSPI_MAX_RESPONSE_SIZE
config HPF_MSPI_MAX_RESPONSE_SIZE
int "Max size of response that can be sent to APP core. In bytes."
default 524

config SDP_MSPI_IPC_NO_COPY
config HPF_MSPI_IPC_NO_COPY
bool "IPC no copy mode"
default y
depends on SOC_NRF54L15
Expand All @@ -11,10 +11,10 @@ config SDP_MSPI_IPC_NO_COPY
this requires both cores to be able to access each others memory spaces.
If n Data is passed through IPC by copy.

config SDP_MSPI_FAULT_TIMER
bool "SDP application fault timer"
config HPF_MSPI_FAULT_TIMER
bool "HPF application fault timer"
help
Enable SDP application fault timer.
Enable HPF application fault timer.
Timer is used to detect application faults. If the timer expires,
the application is considered to be in a fault state.

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
sample:
name: SDP mSPI application
description: SDP mSPI application
name: HPF mSPI application
description: HPF mSPI application
common:
integration_platforms:
- nrf54l15dk/nrf54l15/cpuflpr
tests:
applications.sdp.mspi:
applications.hpf.mspi:
build_only: true
sysbuild: true
platform_allow: nrf54l15dk/nrf54l15/cpuflpr
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

#include <stdint.h>
#include <stdbool.h>
#include <drivers/mspi/nrfe_mspi.h>
#include <drivers/mspi/hpf_mspi.h>
#include <zephyr/drivers/mspi.h>

#define VPRCSR_NORDIC_OUT_HIGH 1
Expand Down
Loading
Loading