From d747e2959f659e89a95f98a58aec040a3cf9f4d5 Mon Sep 17 00:00:00 2001 From: Magdalena Pastula Date: Tue, 8 Apr 2025 12:37:19 +0200 Subject: [PATCH 01/11] applications: sdp: rename to hpf Change names sdp, nrfe and egpio to the new ones: hpf and hpf_gpio. Signed-off-by: Magdalena Pastula --- applications/{sdp => hpf}/Kconfig | 6 +- applications/{sdp => hpf}/gpio/CMakeLists.txt | 10 +- applications/{sdp => hpf}/gpio/Kconfig | 10 +- applications/{sdp => hpf}/gpio/README.rst | 15 +- .../boards/nrf54l15dk_nrf54l15_cpuflpr.conf | 0 .../nrf54l15dk_nrf54l15_cpuflpr.overlay | 0 applications/{sdp => hpf}/gpio/prj.conf | 0 applications/{sdp => hpf}/gpio/sample.yaml | 16 +- .../{sdp => hpf}/gpio/src/backend/backend.h | 10 +- .../gpio/src/backend/backend_icmsg.c | 2 +- .../gpio/src/backend/backend_mbox.c | 8 +- .../{sdp => hpf}/gpio/src/hrt/hrt-nrf54l15.s | 0 applications/{sdp => hpf}/gpio/src/hrt/hrt.c | 0 applications/{sdp => hpf}/gpio/src/hrt/hrt.h | 0 applications/{sdp => hpf}/gpio/src/main.c | 16 +- applications/{sdp => hpf}/gpio/sysbuild.conf | 0 applications/{sdp => hpf}/mspi/CMakeLists.txt | 4 +- applications/{sdp => hpf}/mspi/Kconfig | 10 +- .../boards/nrf54l15dk_nrf54l15_cpuflpr.conf | 0 .../nrf54l15dk_nrf54l15_cpuflpr.overlay | 0 applications/{sdp => hpf}/mspi/prj.conf | 0 applications/{sdp => hpf}/mspi/sample.yaml | 6 +- .../{sdp => hpf}/mspi/src/hrt/hrt-nrf54l15.s | 0 applications/{sdp => hpf}/mspi/src/hrt/hrt.c | 0 applications/{sdp => hpf}/mspi/src/hrt/hrt.h | 2 +- applications/{sdp => hpf}/mspi/src/main.c | 148 +++++++++--------- applications/{sdp => hpf}/mspi/sysbuild.conf | 0 27 files changed, 132 insertions(+), 131 deletions(-) rename applications/{sdp => hpf}/Kconfig (66%) rename applications/{sdp => hpf}/gpio/CMakeLists.txt (54%) rename applications/{sdp => hpf}/gpio/Kconfig (52%) rename applications/{sdp => hpf}/gpio/README.rst (55%) rename applications/{sdp => hpf}/gpio/boards/nrf54l15dk_nrf54l15_cpuflpr.conf (100%) rename applications/{sdp => hpf}/gpio/boards/nrf54l15dk_nrf54l15_cpuflpr.overlay (100%) rename applications/{sdp => hpf}/gpio/prj.conf (100%) rename applications/{sdp => hpf}/gpio/sample.yaml (72%) rename applications/{sdp => hpf}/gpio/src/backend/backend.h (67%) rename applications/{sdp => hpf}/gpio/src/backend/backend_icmsg.c (96%) rename applications/{sdp => hpf}/gpio/src/backend/backend_mbox.c (90%) rename applications/{sdp => hpf}/gpio/src/hrt/hrt-nrf54l15.s (100%) rename applications/{sdp => hpf}/gpio/src/hrt/hrt.c (100%) rename applications/{sdp => hpf}/gpio/src/hrt/hrt.h (100%) rename applications/{sdp => hpf}/gpio/src/main.c (91%) rename applications/{sdp => hpf}/gpio/sysbuild.conf (100%) rename applications/{sdp => hpf}/mspi/CMakeLists.txt (75%) rename applications/{sdp => hpf}/mspi/Kconfig (75%) rename applications/{sdp => hpf}/mspi/boards/nrf54l15dk_nrf54l15_cpuflpr.conf (100%) rename applications/{sdp => hpf}/mspi/boards/nrf54l15dk_nrf54l15_cpuflpr.overlay (100%) rename applications/{sdp => hpf}/mspi/prj.conf (100%) rename applications/{sdp => hpf}/mspi/sample.yaml (71%) rename applications/{sdp => hpf}/mspi/src/hrt/hrt-nrf54l15.s (100%) rename applications/{sdp => hpf}/mspi/src/hrt/hrt.c (100%) rename applications/{sdp => hpf}/mspi/src/hrt/hrt.h (98%) rename applications/{sdp => hpf}/mspi/src/main.c (80%) rename applications/{sdp => hpf}/mspi/sysbuild.conf (100%) diff --git a/applications/sdp/Kconfig b/applications/hpf/Kconfig similarity index 66% rename from applications/sdp/Kconfig rename to applications/hpf/Kconfig index fc7356c0e27b..12147829cca7 100644 --- a/applications/sdp/Kconfig +++ b/applications/hpf/Kconfig @@ -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. diff --git a/applications/sdp/gpio/CMakeLists.txt b/applications/hpf/gpio/CMakeLists.txt similarity index 54% rename from applications/sdp/gpio/CMakeLists.txt rename to applications/hpf/gpio/CMakeLists.txt index c2d2f9fa9e80..15f959f611b8 100644 --- a/applications/sdp/gpio/CMakeLists.txt +++ b/applications/hpf/gpio/CMakeLists.txt @@ -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) diff --git a/applications/sdp/gpio/Kconfig b/applications/hpf/gpio/Kconfig similarity index 52% rename from applications/sdp/gpio/Kconfig rename to applications/hpf/gpio/Kconfig index 282797d578ab..109f8887cf4d 100644 --- a/applications/sdp/gpio/Kconfig +++ b/applications/hpf/gpio/Kconfig @@ -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 diff --git a/applications/sdp/gpio/README.rst b/applications/hpf/gpio/README.rst similarity index 55% rename from applications/sdp/gpio/README.rst rename to applications/hpf/gpio/README.rst index 0b35f2a476e3..84e1814c03fd 100644 --- a/applications/sdp/gpio/README.rst +++ b/applications/hpf/gpio/README.rst @@ -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 ************ @@ -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. diff --git a/applications/sdp/gpio/boards/nrf54l15dk_nrf54l15_cpuflpr.conf b/applications/hpf/gpio/boards/nrf54l15dk_nrf54l15_cpuflpr.conf similarity index 100% rename from applications/sdp/gpio/boards/nrf54l15dk_nrf54l15_cpuflpr.conf rename to applications/hpf/gpio/boards/nrf54l15dk_nrf54l15_cpuflpr.conf diff --git a/applications/sdp/gpio/boards/nrf54l15dk_nrf54l15_cpuflpr.overlay b/applications/hpf/gpio/boards/nrf54l15dk_nrf54l15_cpuflpr.overlay similarity index 100% rename from applications/sdp/gpio/boards/nrf54l15dk_nrf54l15_cpuflpr.overlay rename to applications/hpf/gpio/boards/nrf54l15dk_nrf54l15_cpuflpr.overlay diff --git a/applications/sdp/gpio/prj.conf b/applications/hpf/gpio/prj.conf similarity index 100% rename from applications/sdp/gpio/prj.conf rename to applications/hpf/gpio/prj.conf diff --git a/applications/sdp/gpio/sample.yaml b/applications/hpf/gpio/sample.yaml similarity index 72% rename from applications/sdp/gpio/sample.yaml rename to applications/hpf/gpio/sample.yaml index 6fecd3430975..9742a0e3b35e 100644 --- a/applications/sdp/gpio/sample.yaml +++ b/applications/hpf/gpio/sample.yaml @@ -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 @@ -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 @@ -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 @@ -36,4 +36,4 @@ tests: - sysbuild - gpio required_snippets: - - sdp-gpio-icbmsg + - hpf-gpio-icbmsg diff --git a/applications/sdp/gpio/src/backend/backend.h b/applications/hpf/gpio/src/backend/backend.h similarity index 67% rename from applications/sdp/gpio/src/backend/backend.h rename to applications/hpf/gpio/src/backend/backend.h index 379eefd0af85..f6183ed5f43a 100644 --- a/applications/sdp/gpio/src/backend/backend.h +++ b/applications/hpf/gpio/src/backend/backend.h @@ -7,11 +7,11 @@ #ifndef _BACKEND_H__ #define _BACKEND_H__ -#include +#include -#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 @@ -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. diff --git a/applications/sdp/gpio/src/backend/backend_icmsg.c b/applications/hpf/gpio/src/backend/backend_icmsg.c similarity index 96% rename from applications/sdp/gpio/src/backend/backend_icmsg.c rename to applications/hpf/gpio/src/backend/backend_icmsg.c index b23cabbee22d..ec1f9c91fe85 100644 --- a/applications/sdp/gpio/src/backend/backend_icmsg.c +++ b/applications/hpf/gpio/src/backend/backend_icmsg.c @@ -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 = { diff --git a/applications/sdp/gpio/src/backend/backend_mbox.c b/applications/hpf/gpio/src/backend/backend_mbox.c similarity index 90% rename from applications/sdp/gpio/src/backend/backend_mbox.c rename to applications/hpf/gpio/src/backend/backend_mbox.c index def1431b9c4e..3655e5410025 100644 --- a/applications/sdp/gpio/src/backend/backend_mbox.c +++ b/applications/hpf/gpio/src/backend/backend_mbox.c @@ -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)) { @@ -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); @@ -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) { diff --git a/applications/sdp/gpio/src/hrt/hrt-nrf54l15.s b/applications/hpf/gpio/src/hrt/hrt-nrf54l15.s similarity index 100% rename from applications/sdp/gpio/src/hrt/hrt-nrf54l15.s rename to applications/hpf/gpio/src/hrt/hrt-nrf54l15.s diff --git a/applications/sdp/gpio/src/hrt/hrt.c b/applications/hpf/gpio/src/hrt/hrt.c similarity index 100% rename from applications/sdp/gpio/src/hrt/hrt.c rename to applications/hpf/gpio/src/hrt/hrt.c diff --git a/applications/sdp/gpio/src/hrt/hrt.h b/applications/hpf/gpio/src/hrt/hrt.h similarity index 100% rename from applications/sdp/gpio/src/hrt/hrt.h rename to applications/hpf/gpio/src/hrt/hrt.h diff --git a/applications/sdp/gpio/src/main.c b/applications/hpf/gpio/src/main.c similarity index 91% rename from applications/sdp/gpio/src/main.c rename to applications/hpf/gpio/src/main.c index 5afad4675610..8799c62a8a49 100644 --- a/applications/sdp/gpio/src/main.c +++ b/applications/hpf/gpio/src/main.c @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include #include #include @@ -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; @@ -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; diff --git a/applications/sdp/gpio/sysbuild.conf b/applications/hpf/gpio/sysbuild.conf similarity index 100% rename from applications/sdp/gpio/sysbuild.conf rename to applications/hpf/gpio/sysbuild.conf diff --git a/applications/sdp/mspi/CMakeLists.txt b/applications/hpf/mspi/CMakeLists.txt similarity index 75% rename from applications/sdp/mspi/CMakeLists.txt rename to applications/hpf/mspi/CMakeLists.txt index f1429d00525e..05f0c206c8af 100644 --- a/applications/sdp/mspi/CMakeLists.txt +++ b/applications/hpf/mspi/CMakeLists.txt @@ -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) diff --git a/applications/sdp/mspi/Kconfig b/applications/hpf/mspi/Kconfig similarity index 75% rename from applications/sdp/mspi/Kconfig rename to applications/hpf/mspi/Kconfig index bd4ed6c6a31f..6c1426211ef3 100644 --- a/applications/sdp/mspi/Kconfig +++ b/applications/hpf/mspi/Kconfig @@ -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 @@ -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. diff --git a/applications/sdp/mspi/boards/nrf54l15dk_nrf54l15_cpuflpr.conf b/applications/hpf/mspi/boards/nrf54l15dk_nrf54l15_cpuflpr.conf similarity index 100% rename from applications/sdp/mspi/boards/nrf54l15dk_nrf54l15_cpuflpr.conf rename to applications/hpf/mspi/boards/nrf54l15dk_nrf54l15_cpuflpr.conf diff --git a/applications/sdp/mspi/boards/nrf54l15dk_nrf54l15_cpuflpr.overlay b/applications/hpf/mspi/boards/nrf54l15dk_nrf54l15_cpuflpr.overlay similarity index 100% rename from applications/sdp/mspi/boards/nrf54l15dk_nrf54l15_cpuflpr.overlay rename to applications/hpf/mspi/boards/nrf54l15dk_nrf54l15_cpuflpr.overlay diff --git a/applications/sdp/mspi/prj.conf b/applications/hpf/mspi/prj.conf similarity index 100% rename from applications/sdp/mspi/prj.conf rename to applications/hpf/mspi/prj.conf diff --git a/applications/sdp/mspi/sample.yaml b/applications/hpf/mspi/sample.yaml similarity index 71% rename from applications/sdp/mspi/sample.yaml rename to applications/hpf/mspi/sample.yaml index 46e595632fe4..669da74f36f8 100644 --- a/applications/sdp/mspi/sample.yaml +++ b/applications/hpf/mspi/sample.yaml @@ -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 diff --git a/applications/sdp/mspi/src/hrt/hrt-nrf54l15.s b/applications/hpf/mspi/src/hrt/hrt-nrf54l15.s similarity index 100% rename from applications/sdp/mspi/src/hrt/hrt-nrf54l15.s rename to applications/hpf/mspi/src/hrt/hrt-nrf54l15.s diff --git a/applications/sdp/mspi/src/hrt/hrt.c b/applications/hpf/mspi/src/hrt/hrt.c similarity index 100% rename from applications/sdp/mspi/src/hrt/hrt.c rename to applications/hpf/mspi/src/hrt/hrt.c diff --git a/applications/sdp/mspi/src/hrt/hrt.h b/applications/hpf/mspi/src/hrt/hrt.h similarity index 98% rename from applications/sdp/mspi/src/hrt/hrt.h rename to applications/hpf/mspi/src/hrt/hrt.h index c3bedc1a37da..8838b81a0763 100644 --- a/applications/sdp/mspi/src/hrt/hrt.h +++ b/applications/hpf/mspi/src/hrt/hrt.h @@ -9,7 +9,7 @@ #include #include -#include +#include #include #define VPRCSR_NORDIC_OUT_HIGH 1 diff --git a/applications/sdp/mspi/src/main.c b/applications/hpf/mspi/src/main.c similarity index 80% rename from applications/sdp/mspi/src/main.c rename to applications/hpf/mspi/src/main.c index 674fe7e40115..e96c087a084c 100644 --- a/applications/sdp/mspi/src/main.c +++ b/applications/hpf/mspi/src/main.c @@ -16,7 +16,7 @@ #include #include -#include +#include #define SUPPORTED_IO_MODES_COUNT 7 @@ -50,14 +50,14 @@ #ifdef CONFIG_SOC_NRF54L15 #define NRF_GPIOHSPADCTRL ((NRF_GPIOHSPADCTRL_Type *)NRF_P2_S_BASE) #else -#error "Unsupported SoC for SDP MSPI" +#error "Unsupported SoC for HPF MSPI" #endif -#define DATA_LINE_INDEX(pinctr_fun) (pinctr_fun - NRF_FUN_SDP_MSPI_DQ0) +#define DATA_LINE_INDEX(pinctr_fun) (pinctr_fun - NRF_FUN_HPF_MSPI_DQ0) -BUILD_ASSERT(CONFIG_SDP_MSPI_MAX_RESPONSE_SIZE > 0, "Response max size should be greater that 0"); +BUILD_ASSERT(CONFIG_HPF_MSPI_MAX_RESPONSE_SIZE > 0, "Response max size should be greater that 0"); -static const uint8_t pin_to_vio_map[NRFE_MSPI_PINS_MAX] = { +static const uint8_t pin_to_vio_map[HPF_MSPI_PINS_MAX] = { 4, /* Physical pin 0 */ 0, /* Physical pin 1 */ 1, /* Physical pin 2 */ @@ -86,17 +86,17 @@ static volatile uint8_t ce_vios[DEVICES_MAX]; static volatile uint8_t data_vios_count; static volatile uint8_t data_vios[DATA_PINS_MAX]; static volatile uint8_t clk_vio; -static volatile nrfe_mspi_dev_config_t nrfe_mspi_devices[DEVICES_MAX]; -static volatile nrfe_mspi_xfer_config_t nrfe_mspi_xfer_config; -static volatile nrfe_mspi_xfer_config_t *nrfe_mspi_xfer_config_ptr = &nrfe_mspi_xfer_config; +static volatile hpf_mspi_dev_config_t hpf_mspi_devices[DEVICES_MAX]; +static volatile hpf_mspi_xfer_config_t hpf_mspi_xfer_config; +static volatile hpf_mspi_xfer_config_t *hpf_mspi_xfer_config_ptr = &hpf_mspi_xfer_config; static volatile hrt_xfer_t xfer_params; -static volatile uint8_t response_buffer[CONFIG_SDP_MSPI_MAX_RESPONSE_SIZE]; +static volatile uint8_t response_buffer[CONFIG_HPF_MSPI_MAX_RESPONSE_SIZE]; static struct ipc_ept ep; static atomic_t ipc_atomic_sem = ATOMIC_INIT(0); -#if defined(CONFIG_SDP_MSPI_FAULT_TIMER) +#if defined(CONFIG_HPF_MSPI_FAULT_TIMER) static NRF_TIMER_Type *fault_timer; #endif static volatile uint32_t *cpuflpr_error_ctx_ptr = @@ -220,28 +220,28 @@ static void configure_clock(enum mspi_cpp_mode cpp_mode) nrf_vpr_csr_vio_config_set(&vio_config); } -static void xfer_execute(nrfe_mspi_xfer_packet_msg_t *xfer_packet, volatile uint8_t *rx_buffer) +static void xfer_execute(hpf_mspi_xfer_packet_msg_t *xfer_packet, volatile uint8_t *rx_buffer) { nrf_vpr_csr_vio_config_t config; - volatile nrfe_mspi_dev_config_t *device = - &nrfe_mspi_devices[nrfe_mspi_xfer_config_ptr->device_index]; + volatile hpf_mspi_dev_config_t *device = + &hpf_mspi_devices[hpf_mspi_xfer_config_ptr->device_index]; uint16_t dummy_cycles = 0; - if (xfer_packet->opcode == NRFE_MSPI_TXRX) { + if (xfer_packet->opcode == HPF_MSPI_TXRX) { NRFX_ASSERT(device->cnt0_value >= RX_CNT0_MIN_VALUE); nrf_vpr_csr_vio_config_get(&config); config.input_sel = true; nrf_vpr_csr_vio_config_set(&config); - dummy_cycles = nrfe_mspi_xfer_config_ptr->rx_dummy; + dummy_cycles = hpf_mspi_xfer_config_ptr->rx_dummy; } else { - dummy_cycles = nrfe_mspi_xfer_config_ptr->tx_dummy; + dummy_cycles = hpf_mspi_xfer_config_ptr->tx_dummy; } xfer_params.counter_value = device->cnt0_value; xfer_params.ce_vio = ce_vios[device->ce_index]; - xfer_params.ce_hold = nrfe_mspi_xfer_config_ptr->hold_ce; + xfer_params.ce_hold = hpf_mspi_xfer_config_ptr->hold_ce; xfer_params.cpp_mode = device->cpp; xfer_params.ce_polarity = device->ce_polarity; xfer_params.bus_widths = io_modes[device->io_mode]; @@ -251,10 +251,10 @@ static void xfer_execute(nrfe_mspi_xfer_packet_msg_t *xfer_packet, volatile uint */ xfer_packet->command = xfer_packet->command - << (BITS_IN_WORD - nrfe_mspi_xfer_config_ptr->command_length * BITS_IN_BYTE); + << (BITS_IN_WORD - hpf_mspi_xfer_config_ptr->command_length * BITS_IN_BYTE); xfer_packet->address = xfer_packet->address - << (BITS_IN_WORD - nrfe_mspi_xfer_config_ptr->address_length * BITS_IN_BYTE); + << (BITS_IN_WORD - hpf_mspi_xfer_config_ptr->address_length * BITS_IN_BYTE); /* Configure command phase. */ xfer_params.xfer_data[HRT_FE_COMMAND].fun_out = HRT_FUN_OUT_WORD; @@ -262,7 +262,7 @@ static void xfer_execute(nrfe_mspi_xfer_packet_msg_t *xfer_packet, volatile uint xfer_params.xfer_data[HRT_FE_COMMAND].word_count = 0; adjust_tail(&xfer_params.xfer_data[HRT_FE_COMMAND], xfer_params.bus_widths.command, - nrfe_mspi_xfer_config_ptr->command_length * BITS_IN_BYTE); + hpf_mspi_xfer_config_ptr->command_length * BITS_IN_BYTE); /* Configure address phase. */ xfer_params.xfer_data[HRT_FE_ADDRESS].fun_out = HRT_FUN_OUT_WORD; @@ -270,7 +270,7 @@ static void xfer_execute(nrfe_mspi_xfer_packet_msg_t *xfer_packet, volatile uint xfer_params.xfer_data[HRT_FE_ADDRESS].word_count = 0; adjust_tail(&xfer_params.xfer_data[HRT_FE_ADDRESS], xfer_params.bus_widths.address, - nrfe_mspi_xfer_config_ptr->address_length * BITS_IN_BYTE); + hpf_mspi_xfer_config_ptr->address_length * BITS_IN_BYTE); /* Configure dummy_cycles phase. */ xfer_params.xfer_data[HRT_FE_DUMMY_CYCLES].fun_out = HRT_FUN_OUT_WORD; @@ -278,7 +278,7 @@ static void xfer_execute(nrfe_mspi_xfer_packet_msg_t *xfer_packet, volatile uint xfer_params.xfer_data[HRT_FE_DUMMY_CYCLES].word_count = 0; hrt_frame_element_t elem = - nrfe_mspi_xfer_config_ptr->address_length != 0 ? HRT_FE_ADDRESS : HRT_FE_COMMAND; + hpf_mspi_xfer_config_ptr->address_length != 0 ? HRT_FE_ADDRESS : HRT_FE_COMMAND; /* Up to 63 clock pulses (including data from previous part) can be sent by simply * increasing shift count of last word in the previous part. @@ -295,7 +295,7 @@ static void xfer_execute(nrfe_mspi_xfer_packet_msg_t *xfer_packet, volatile uint /* Configure data phase. */ xfer_params.xfer_data[HRT_FE_DATA].fun_out = HRT_FUN_OUT_BYTE; xfer_params.xfer_data[HRT_FE_DATA].word_count = 0; - if (xfer_packet->opcode == NRFE_MSPI_TXRX) { + if (xfer_packet->opcode == HPF_MSPI_TXRX) { xfer_params.xfer_data[HRT_FE_DATA].data = NULL; adjust_tail(&xfer_params.xfer_data[HRT_FE_DATA], xfer_params.bus_widths.data, @@ -316,7 +316,7 @@ static void xfer_execute(nrfe_mspi_xfer_packet_msg_t *xfer_packet, volatile uint */ if (device->cpp == MSPI_CPP_MODE_2) { /* Ommit data phase in rx mode */ - for (uint8_t phase = xfer_packet->opcode == NRFE_MSPI_TXRX ? 1 : 0; + for (uint8_t phase = xfer_packet->opcode == HPF_MSPI_TXRX ? 1 : 0; phase < HRT_FE_MAX; phase++) { if (xfer_params.xfer_data[HRT_FE_MAX - 1 - phase].word_count != 0) { xfer_params.xfer_data[HRT_FE_MAX - 1 - phase].last_word_clocks++; @@ -333,7 +333,7 @@ static void xfer_execute(nrfe_mspi_xfer_packet_msg_t *xfer_packet, volatile uint /* Read/write barrier to make sure that all configuration is done before jumping to HRT. */ nrf_barrier_rw(); - if (xfer_packet->opcode == NRFE_MSPI_TXRX) { + if (xfer_packet->opcode == HPF_MSPI_TXRX) { nrf_vpr_clic_int_pending_set(NRF_VPRCLIC, VEVIF_IRQN(HRT_VEVIF_IDX_READ)); distribute_last_word_bits(); @@ -343,7 +343,7 @@ static void xfer_execute(nrfe_mspi_xfer_packet_msg_t *xfer_packet, volatile uint } } -static void config_pins(nrfe_mspi_pinctrl_soc_pin_msg_t *pins_cfg) +static void config_pins(hpf_mspi_pinctrl_soc_pin_msg_t *pins_cfg) { ce_vios_count = 0; data_vios_count = 0; @@ -364,9 +364,9 @@ static void config_pins(nrfe_mspi_pinctrl_soc_pin_msg_t *pins_cfg) uint8_t pin_number = NRF_PIN_NUMBER_TO_PIN(psel); - NRFX_ASSERT(pin_number < NRFE_MSPI_PINS_MAX); + NRFX_ASSERT(pin_number < HPF_MSPI_PINS_MAX); - if ((fun >= NRF_FUN_SDP_MSPI_CS0) && (fun <= NRF_FUN_SDP_MSPI_CS4)) { + if ((fun >= NRF_FUN_HPF_MSPI_CS0) && (fun <= NRF_FUN_HPF_MSPI_CS4)) { ce_vios[ce_vios_count] = pin_to_vio_map[pin_number]; WRITE_BIT(xfer_params.tx_direction_mask, ce_vios[ce_vios_count], @@ -375,7 +375,7 @@ static void config_pins(nrfe_mspi_pinctrl_soc_pin_msg_t *pins_cfg) VPRCSR_NORDIC_DIR_OUTPUT); ce_vios_count++; - } else if ((fun >= NRF_FUN_SDP_MSPI_DQ0) && (fun <= NRF_FUN_SDP_MSPI_DQ7)) { + } else if ((fun >= NRF_FUN_HPF_MSPI_DQ0) && (fun <= NRF_FUN_HPF_MSPI_DQ7)) { NRFX_ASSERT(DATA_LINE_INDEX(fun) < DATA_PINS_MAX); NRFX_ASSERT(data_vios[DATA_LINE_INDEX(fun)] == DATA_PIN_UNUSED); @@ -386,7 +386,7 @@ static void config_pins(nrfe_mspi_pinctrl_soc_pin_msg_t *pins_cfg) WRITE_BIT(xfer_params.rx_direction_mask, data_vios[DATA_LINE_INDEX(fun)], VPRCSR_NORDIC_DIR_INPUT); data_vios_count++; - } else if (fun == NRF_FUN_SDP_MSPI_SCK) { + } else if (fun == NRF_FUN_HPF_MSPI_SCK) { clk_vio = pin_to_vio_map[pin_number]; WRITE_BIT(xfer_params.tx_direction_mask, clk_vio, VPRCSR_NORDIC_DIR_OUTPUT); WRITE_BIT(xfer_params.rx_direction_mask, clk_vio, VPRCSR_NORDIC_DIR_OUTPUT); @@ -396,18 +396,18 @@ static void config_pins(nrfe_mspi_pinctrl_soc_pin_msg_t *pins_cfg) /* Set all devices as undefined. */ for (uint8_t i = 0; i < DEVICES_MAX; i++) { - nrfe_mspi_devices[i].ce_index = CE_PIN_UNUSED; + hpf_mspi_devices[i].ce_index = CE_PIN_UNUSED; } } static void ep_bound(void *priv) { - atomic_set_bit(&ipc_atomic_sem, NRFE_MSPI_EP_BOUNDED); + atomic_set_bit(&ipc_atomic_sem, HPF_MSPI_EP_BOUNDED); } static void ep_recv(const void *data, size_t len, void *priv) { -#ifdef CONFIG_SDP_MSPI_IPC_NO_COPY +#ifdef CONFIG_HPF_MSPI_IPC_NO_COPY data = *(void **)data; #endif @@ -416,30 +416,30 @@ static void ep_recv(const void *data, size_t len, void *priv) uint8_t opcode = *(uint8_t *)data; uint32_t num_bytes = 0; -#if defined(CONFIG_SDP_MSPI_FAULT_TIMER) +#if defined(CONFIG_HPF_MSPI_FAULT_TIMER) if (fault_timer != NULL) { nrf_timer_task_trigger(fault_timer, NRF_TIMER_TASK_START); } #endif switch (opcode) { -#if defined(CONFIG_SDP_MSPI_FAULT_TIMER) - case NRFE_MSPI_CONFIG_TIMER_PTR: { - const nrfe_mspi_flpr_timer_msg_t *timer_data = - (const nrfe_mspi_flpr_timer_msg_t *)data; +#if defined(CONFIG_HPF_MSPI_FAULT_TIMER) + case HPF_MSPI_CONFIG_TIMER_PTR: { + const hpf_mspi_flpr_timer_msg_t *timer_data = + (const hpf_mspi_flpr_timer_msg_t *)data; fault_timer = timer_data->timer_ptr; break; } #endif - case NRFE_MSPI_CONFIG_PINS: { - nrfe_mspi_pinctrl_soc_pin_msg_t *pins_cfg = (nrfe_mspi_pinctrl_soc_pin_msg_t *)data; + case HPF_MSPI_CONFIG_PINS: { + hpf_mspi_pinctrl_soc_pin_msg_t *pins_cfg = (hpf_mspi_pinctrl_soc_pin_msg_t *)data; config_pins(pins_cfg); break; } - case NRFE_MSPI_CONFIG_DEV: { - nrfe_mspi_dev_config_msg_t *dev_config = (nrfe_mspi_dev_config_msg_t *)data; + case HPF_MSPI_CONFIG_DEV: { + hpf_mspi_dev_config_msg_t *dev_config = (hpf_mspi_dev_config_msg_t *)data; NRFX_ASSERT(dev_config->device_index < DEVICES_MAX); NRFX_ASSERT(dev_config->dev_config.io_mode < SUPPORTED_IO_MODES_COUNT); @@ -448,40 +448,40 @@ static void ep_recv(const void *data, size_t len, void *priv) NRFX_ASSERT(dev_config->dev_config.ce_index < ce_vios_count); NRFX_ASSERT(dev_config->dev_config.ce_polarity <= MSPI_CE_ACTIVE_HIGH); - nrfe_mspi_devices[dev_config->device_index] = dev_config->dev_config; + hpf_mspi_devices[dev_config->device_index] = dev_config->dev_config; /* Configure CE pin. */ - if (nrfe_mspi_devices[dev_config->device_index].ce_polarity == MSPI_CE_ACTIVE_LOW) { + if (hpf_mspi_devices[dev_config->device_index].ce_polarity == MSPI_CE_ACTIVE_LOW) { nrf_vpr_csr_vio_out_or_set( - BIT(ce_vios[nrfe_mspi_devices[dev_config->device_index].ce_index])); + BIT(ce_vios[hpf_mspi_devices[dev_config->device_index].ce_index])); } else { nrf_vpr_csr_vio_out_clear_set( - BIT(ce_vios[nrfe_mspi_devices[dev_config->device_index].ce_index])); + BIT(ce_vios[hpf_mspi_devices[dev_config->device_index].ce_index])); } if (dev_config->dev_config.io_mode == MSPI_IO_MODE_SINGLE) { - if (data_vios[DATA_LINE_INDEX(NRF_FUN_SDP_MSPI_DQ2)] != DATA_PIN_UNUSED && - data_vios[DATA_LINE_INDEX(NRF_FUN_SDP_MSPI_DQ3)] != DATA_PIN_UNUSED) { + if (data_vios[DATA_LINE_INDEX(NRF_FUN_HPF_MSPI_DQ2)] != DATA_PIN_UNUSED && + data_vios[DATA_LINE_INDEX(NRF_FUN_HPF_MSPI_DQ3)] != DATA_PIN_UNUSED) { nrf_vpr_csr_vio_out_or_set( - BIT(data_vios[DATA_LINE_INDEX(NRF_FUN_SDP_MSPI_DQ2)])); + BIT(data_vios[DATA_LINE_INDEX(NRF_FUN_HPF_MSPI_DQ2)])); nrf_vpr_csr_vio_out_or_set( - BIT(data_vios[DATA_LINE_INDEX(NRF_FUN_SDP_MSPI_DQ3)])); + BIT(data_vios[DATA_LINE_INDEX(NRF_FUN_HPF_MSPI_DQ3)])); } } else { nrf_vpr_csr_vio_out_clear_set( - BIT(data_vios[DATA_LINE_INDEX(NRF_FUN_SDP_MSPI_DQ2)])); + BIT(data_vios[DATA_LINE_INDEX(NRF_FUN_HPF_MSPI_DQ2)])); nrf_vpr_csr_vio_out_clear_set( - BIT(data_vios[DATA_LINE_INDEX(NRF_FUN_SDP_MSPI_DQ3)])); + BIT(data_vios[DATA_LINE_INDEX(NRF_FUN_HPF_MSPI_DQ3)])); } break; } - case NRFE_MSPI_CONFIG_XFER: { - nrfe_mspi_xfer_config_msg_t *xfer_config = (nrfe_mspi_xfer_config_msg_t *)data; + case HPF_MSPI_CONFIG_XFER: { + hpf_mspi_xfer_config_msg_t *xfer_config = (hpf_mspi_xfer_config_msg_t *)data; NRFX_ASSERT(xfer_config->xfer_config.device_index < DEVICES_MAX); /* Check if device was configured. */ - NRFX_ASSERT(nrfe_mspi_devices[xfer_config->xfer_config.device_index].ce_index < + NRFX_ASSERT(hpf_mspi_devices[xfer_config->xfer_config.device_index].ce_index < ce_vios_count); NRFX_ASSERT(xfer_config->xfer_config.command_length <= sizeof(uint32_t)); NRFX_ASSERT(xfer_config->xfer_config.address_length <= sizeof(uint32_t)); @@ -489,50 +489,50 @@ static void ep_recv(const void *data, size_t len, void *priv) xfer_config->xfer_config.command_length != 0 || xfer_config->xfer_config.address_length != 0); -#ifdef CONFIG_SDP_MSPI_IPC_NO_COPY - nrfe_mspi_xfer_config_ptr = &xfer_config->xfer_config; +#ifdef CONFIG_HPF_MSPI_IPC_NO_COPY + hpf_mspi_xfer_config_ptr = &xfer_config->xfer_config; #else - nrfe_mspi_xfer_config = xfer_config->xfer_config; + hpf_mspi_xfer_config = xfer_config->xfer_config; #endif - configure_clock(nrfe_mspi_devices[nrfe_mspi_xfer_config_ptr->device_index].cpp); + configure_clock(hpf_mspi_devices[hpf_mspi_xfer_config_ptr->device_index].cpp); /* Tune up pad bias for frequencies above 32MHz */ - if (nrfe_mspi_devices[nrfe_mspi_xfer_config_ptr->device_index].cnt0_value <= + if (hpf_mspi_devices[hpf_mspi_xfer_config_ptr->device_index].cnt0_value <= STD_PAD_BIAS_CNT0_THRESHOLD) { NRF_GPIOHSPADCTRL->BIAS = PAD_BIAS_VALUE; } break; } - case NRFE_MSPI_TX: - nrfe_mspi_xfer_packet_msg_t *packet = (nrfe_mspi_xfer_packet_msg_t *)data; + case HPF_MSPI_TX: + hpf_mspi_xfer_packet_msg_t *packet = (hpf_mspi_xfer_packet_msg_t *)data; xfer_execute(packet, NULL); break; - case NRFE_MSPI_TXRX: { - nrfe_mspi_xfer_packet_msg_t *packet = (nrfe_mspi_xfer_packet_msg_t *)data; + case HPF_MSPI_TXRX: { + hpf_mspi_xfer_packet_msg_t *packet = (hpf_mspi_xfer_packet_msg_t *)data; if (packet->num_bytes > 0) { -#ifdef CONFIG_SDP_MSPI_IPC_NO_COPY +#ifdef CONFIG_HPF_MSPI_IPC_NO_COPY xfer_execute(packet, packet->data); #else NRFX_ASSERT(packet->num_bytes <= - CONFIG_SDP_MSPI_MAX_RESPONSE_SIZE - sizeof(nrfe_mspi_opcode_t)); + CONFIG_HPF_MSPI_MAX_RESPONSE_SIZE - sizeof(hpf_mspi_opcode_t)); num_bytes = packet->num_bytes; - xfer_execute(packet, response_buffer + sizeof(nrfe_mspi_opcode_t)); + xfer_execute(packet, response_buffer + sizeof(hpf_mspi_opcode_t)); #endif } break; } default: - opcode = NRFE_MSPI_WRONG_OPCODE; + opcode = HPF_MSPI_WRONG_OPCODE; break; } response_buffer[0] = opcode; ipc_service_send(&ep, (const void *)response_buffer, - sizeof(nrfe_mspi_opcode_t) + num_bytes); + sizeof(hpf_mspi_opcode_t) + num_bytes); -#if defined(CONFIG_SDP_MSPI_FAULT_TIMER) +#if defined(CONFIG_HPF_MSPI_FAULT_TIMER) if (fault_timer != NULL) { nrf_timer_task_trigger(fault_timer, NRF_TIMER_TASK_CLEAR); nrf_timer_task_trigger(fault_timer, NRF_TIMER_TASK_STOP); @@ -570,7 +570,7 @@ static int backend_init(void) } /* Wait for endpoint to be bound. */ - while (!atomic_test_and_clear_bit(&ipc_atomic_sem, NRFE_MSPI_EP_BOUNDED)) { + while (!atomic_test_and_clear_bit(&ipc_atomic_sem, HPF_MSPI_EP_BOUNDED)) { } return 0; @@ -587,11 +587,11 @@ __attribute__((interrupt)) void hrt_handler_write(void) } /** - * @brief Trap handler for SDP application. + * @brief Trap handler for HPF application. * * @details * This function is called on unhandled CPU exceptions. It's a good place to - * handle critical errors and notify the core that the SDP application has + * handle critical errors and notify the core that the HPF application has * crashed. * * @param mcause - cause of the exception (from mcause register) @@ -601,7 +601,7 @@ __attribute__((interrupt)) void hrt_handler_write(void) */ void trap_handler(uint32_t mcause, uint32_t mepc, uint32_t mtval, void *context) { - const uint8_t fault_opcode = NRFE_MSPI_SDP_APP_HARD_FAULT; + const uint8_t fault_opcode = HPF_MSPI_HPF_APP_HARD_FAULT; /* It can be distinguish whether the exception was caused by an interrupt or an error: * On RV32, bit 31 of the mcause register indicates whether the event is an interrupt. diff --git a/applications/sdp/mspi/sysbuild.conf b/applications/hpf/mspi/sysbuild.conf similarity index 100% rename from applications/sdp/mspi/sysbuild.conf rename to applications/hpf/mspi/sysbuild.conf From ada308677bf91c48920322bb52100993941d05fb Mon Sep 17 00:00:00 2001 From: Magdalena Pastula Date: Tue, 8 Apr 2025 12:38:16 +0200 Subject: [PATCH 02/11] cmake: change sdp name to hpf Change names sdp, nrfe and egpio to the new ones: hpf and hpf_gpio. Signed-off-by: Magdalena Pastula --- cmake/{sdp.cmake => hpf.cmake} | 46 +++++++++---------- ...dp_asm_check.cmake => hpf_asm_check.cmake} | 2 +- ...sm_install.cmake => hpf_asm_install.cmake} | 0 cmake/sysbuild/hpf.cmake | 38 +++++++++++++++ cmake/sysbuild/sdp.cmake | 38 --------------- 5 files changed, 62 insertions(+), 62 deletions(-) rename cmake/{sdp.cmake => hpf.cmake} (73%) rename cmake/{sdp_asm_check.cmake => hpf_asm_check.cmake} (96%) rename cmake/{sdp_asm_install.cmake => hpf_asm_install.cmake} (100%) create mode 100644 cmake/sysbuild/hpf.cmake delete mode 100644 cmake/sysbuild/sdp.cmake diff --git a/cmake/sdp.cmake b/cmake/hpf.cmake similarity index 73% rename from cmake/sdp.cmake rename to cmake/hpf.cmake index f97d8960e491..ce742a565c74 100644 --- a/cmake/sdp.cmake +++ b/cmake/hpf.cmake @@ -7,27 +7,27 @@ # This function takes as an argument target to be built and path to .c source file(s) # whose .s output must be verified against .s file tracked in repository. It then: # - adds a pre-build dependency that generates .s files in build directory -# - adds a dependency on specified target to call sdp_asm_check.cmake with appropriate arguments -# - adds a custom target that calls sdp_asm_install.cmake with appropriate arguments +# - adds a dependency on specified target to call hpf_asm_check.cmake with appropriate arguments +# - adds a custom target that calls hpf_asm_install.cmake with appropriate arguments # - adds .s files from build directory to target sources # # Arguments: # target - target to which the dependencies are to be applied # hrt_srcs - path to the .c source file(s) to verify -function(sdp_assembly_install target hrt_srcs) - sdp_assembly_generate(${CONFIG_SOC} "${hrt_srcs}") - sdp_assembly_check(${CONFIG_SOC} "${hrt_srcs}") - sdp_assembly_prepare_install(${CONFIG_SOC} "${hrt_srcs}") - sdp_assembly_target_sources(${CONFIG_SOC} ${target} "${hrt_srcs}") +function(hpf_assembly_install target hrt_srcs) + hpf_assembly_generate(${CONFIG_SOC} "${hrt_srcs}") + hpf_assembly_check(${CONFIG_SOC} "${hrt_srcs}") + hpf_assembly_prepare_install(${CONFIG_SOC} "${hrt_srcs}") + hpf_assembly_target_sources(${CONFIG_SOC} ${target} "${hrt_srcs}") add_dependencies(${target} asm_check) endfunction() -function(sdp_assembly_target_sources soc target hrt_srcs) +function(hpf_assembly_target_sources soc target hrt_srcs) foreach(hrt_src ${hrt_srcs}) get_filename_component(hrt_dir ${hrt_src} DIRECTORY) # directory get_filename_component(hrt_src_file ${hrt_src} NAME_WE) # filename without extension - if(CONFIG_SDP_DEVELOPER_MODE) + if(CONFIG_HPF_DEVELOPER_MODE) set(hrt_s_file "${hrt_src_file}-${soc}-temp.s") else() set(hrt_s_file "${hrt_dir}/${hrt_src_file}-${soc}.s") @@ -36,7 +36,7 @@ function(sdp_assembly_target_sources soc target hrt_srcs) endforeach() endfunction() -function(sdp_assembly_generate soc hrt_srcs) +function(hpf_assembly_generate soc hrt_srcs) set(hrt_msg "Generating ASM files for Hard Real Time files.") set(hrt_opts -g0 -fno-ident -fno-verbose-asm) @@ -53,8 +53,8 @@ function(sdp_assembly_generate soc hrt_srcs) set(compiler_options ${defines} ${options} ${includes} ${sys_includes}) if(TARGET asm_gen) - message(FATAL_ERROR "sdp_assembly_generate() already called, please note that - sdp_assembly_generate() must be called only once with a list of all source files." + message(FATAL_ERROR "hpf_assembly_generate() already called, please note that + hpf_assembly_generate() must be called only once with a list of all source files." ) endif() @@ -65,14 +65,14 @@ function(sdp_assembly_generate soc hrt_srcs) foreach(hrt_src ${hrt_srcs}) if(IS_DIRECTORY ${hrt_src}) - message(FATAL_ERROR "sdp_assembly_generate() was called on a directory") + message(FATAL_ERROR "hpf_assembly_generate() was called on a directory") endif() get_filename_component(src_filename ${hrt_src} NAME_WE) # filename without extension add_custom_command(TARGET asm_gen PRE_BUILD BYPRODUCTS ${src_filename}-${soc}-temp.s COMMAND ${CMAKE_C_COMPILER} ${compiler_options} ${hrt_opts} -S ${hrt_src} -o ${src_filename}-${soc}-temp.s - COMMAND ${PYTHON_EXECUTABLE} ${ZEPHYR_NRF_MODULE_DIR}/scripts/sdp/remove_comments.py ${src_filename}-${soc}-temp.s + COMMAND ${PYTHON_EXECUTABLE} ${ZEPHYR_NRF_MODULE_DIR}/scripts/hpf/remove_comments.py ${src_filename}-${soc}-temp.s COMMAND_EXPAND_LISTS COMMENT "Generating ASM file for ${hrt_src}" ) @@ -82,16 +82,16 @@ function(sdp_assembly_generate soc hrt_srcs) endfunction() -function(sdp_assembly_check soc hrt_srcs) +function(hpf_assembly_check soc hrt_srcs) set(asm_check_msg "Checking if ASM files for Hard Real Time have changed.") if(TARGET asm_check) - message(FATAL_ERROR "sdp_assembly_check() already called, please note that - sdp_assembly_check() must be called only once with a list of all source files." + message(FATAL_ERROR "hpf_assembly_check() already called, please note that + hpf_assembly_check() must be called only once with a list of all source files." ) endif() - if(CONFIG_SDP_DEVELOPER_MODE) + if(CONFIG_HPF_DEVELOPER_MODE) set(dev_mode TRUE) else() set(dev_mode FALSE) @@ -100,7 +100,7 @@ function(sdp_assembly_check soc hrt_srcs) string(REPLACE ";" "$" hrt_srcs_semi "${hrt_srcs}") add_custom_target(asm_check - COMMAND ${CMAKE_COMMAND} -D hrt_srcs="${hrt_srcs_semi}" -D soc="${soc}" -D dev_mode=${dev_mode} -P ${ZEPHYR_NRF_MODULE_DIR}/cmake/sdp_asm_check.cmake + COMMAND ${CMAKE_COMMAND} -D hrt_srcs="${hrt_srcs_semi}" -D soc="${soc}" -D dev_mode=${dev_mode} -P ${ZEPHYR_NRF_MODULE_DIR}/cmake/hpf_asm_check.cmake COMMENT ${asm_check_msg} ) @@ -108,19 +108,19 @@ function(sdp_assembly_check soc hrt_srcs) endfunction() -function(sdp_assembly_prepare_install soc hrt_srcs) +function(hpf_assembly_prepare_install soc hrt_srcs) set(asm_install_msg "Updating ASM files for Hard Real Time.") if(TARGET asm_install) - message(FATAL_ERROR "sdp_assembly_prepare_install() already called, please note that - sdp_assembly_prepare_install() must be called only once with a list of all source files." + message(FATAL_ERROR "hpf_assembly_prepare_install() already called, please note that + hpf_assembly_prepare_install() must be called only once with a list of all source files." ) endif() string(REPLACE ";" "$" hrt_srcs_semi "${hrt_srcs}") add_custom_target(asm_install - COMMAND ${CMAKE_COMMAND} -D hrt_srcs="${hrt_srcs_semi}" -D soc="${soc}" -P ${ZEPHYR_NRF_MODULE_DIR}/cmake/sdp_asm_install.cmake + COMMAND ${CMAKE_COMMAND} -D hrt_srcs="${hrt_srcs_semi}" -D soc="${soc}" -P ${ZEPHYR_NRF_MODULE_DIR}/cmake/hpf_asm_install.cmake COMMENT ${asm_install_msg} ) diff --git a/cmake/sdp_asm_check.cmake b/cmake/hpf_asm_check.cmake similarity index 96% rename from cmake/sdp_asm_check.cmake rename to cmake/hpf_asm_check.cmake index f33b45396e4b..435619754d94 100644 --- a/cmake/sdp_asm_check.cmake +++ b/cmake/hpf_asm_check.cmake @@ -40,7 +40,7 @@ function(asm_check) If you want to include the new ASM in build, \ please run `ninja asm_install` in FLPR build directory and build again. \ If you want to disable this error and include new ASM in build every time,\ - enable SB_CONFIG_SDP_DEVELOPER_MODE option.") + enable SB_CONFIG_HPF_DEVELOPER_MODE option.") endif() else() message("Something went wrong when comparing ${asm_filename}-${soc}.s and ${asm_filename}-${soc}-temp.s") diff --git a/cmake/sdp_asm_install.cmake b/cmake/hpf_asm_install.cmake similarity index 100% rename from cmake/sdp_asm_install.cmake rename to cmake/hpf_asm_install.cmake diff --git a/cmake/sysbuild/hpf.cmake b/cmake/sysbuild/hpf.cmake new file mode 100644 index 000000000000..051cb1d97a86 --- /dev/null +++ b/cmake/sysbuild/hpf.cmake @@ -0,0 +1,38 @@ +# Copyright (c) 2024 Nordic Semiconductor +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause + +# Apply snippet to both images. Assumption is that HPF image is called 'hpf'. +function(hpf_apply_snippets snippet) + sysbuild_cache_set(VAR ${DEFAULT_IMAGE}_SNIPPET APPEND REMOVE_DUPLICATES ${snippet}) + sysbuild_cache_set(VAR hpf_SNIPPET APPEND REMOVE_DUPLICATES ${snippet}) +endfunction() + +function(hpf_apply_flpr_fault_timer_params timeout) + set_config_bool(hpf CONFIG_HPF_MSPI_FAULT_TIMER y) + set_config_bool(${DEFAULT_IMAGE} CONFIG_MSPI_HPF_FAULT_TIMER y) + set_config_int(${DEFAULT_IMAGE} CONFIG_MSPI_HPF_FAULT_TIMEOUT ${timeout}) +endfunction() + +if(SB_CONFIG_HPF) + if(SB_CONFIG_HPF_GPIO) + if(SB_CONFIG_HPF_GPIO_BACKEND_MBOX) + set(snippet_name "hpf-gpio-mbox") + elseif(SB_CONFIG_HPF_GPIO_BACKEND_ICMSG) + set(snippet_name "hpf-gpio-icmsg") + elseif(SB_CONFIG_HPF_GPIO_BACKEND_ICBMSG) + set(snippet_name "hpf-gpio-icbmsg") + endif() + elseif(SB_CONFIG_HPF_MSPI) + set(snippet_name "hpf-mspi") + if(SB_CONFIG_HPF_FLPR_APP_FAULT_TIMER) + hpf_apply_flpr_fault_timer_params(${SB_CONFIG_HPF_FLPR_APP_FAULT_TIMEOUT}) + endif() + endif() + if(SB_CONFIG_HPF_DEVELOPER_MODE) + set_config_bool(hpf CONFIG_HPF_DEVELOPER_MODE y) + endif() + + hpf_apply_snippets(${snippet_name}) + set(snippet_name) +endif() diff --git a/cmake/sysbuild/sdp.cmake b/cmake/sysbuild/sdp.cmake deleted file mode 100644 index 9c37a39b2d7c..000000000000 --- a/cmake/sysbuild/sdp.cmake +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright (c) 2024 Nordic Semiconductor -# -# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause - -# Apply snippet to both images. Assumption is that SDP image is called 'sdp'. -function(sdp_apply_snippets snippet) - sysbuild_cache_set(VAR ${DEFAULT_IMAGE}_SNIPPET APPEND REMOVE_DUPLICATES ${snippet}) - sysbuild_cache_set(VAR sdp_SNIPPET APPEND REMOVE_DUPLICATES ${snippet}) -endfunction() - -function(sdp_apply_flpr_fault_timer_params timeout) - set_config_bool(sdp CONFIG_SDP_MSPI_FAULT_TIMER y) - set_config_bool(${DEFAULT_IMAGE} CONFIG_MSPI_NRFE_FAULT_TIMER y) - set_config_int(${DEFAULT_IMAGE} CONFIG_MSPI_NRFE_FAULT_TIMEOUT ${timeout}) -endfunction() - -if(SB_CONFIG_SDP) - if(SB_CONFIG_SDP_GPIO) - if(SB_CONFIG_SDP_GPIO_BACKEND_MBOX) - set(snippet_name "sdp-gpio-mbox") - elseif(SB_CONFIG_SDP_GPIO_BACKEND_ICMSG) - set(snippet_name "sdp-gpio-icmsg") - elseif(SB_CONFIG_SDP_GPIO_BACKEND_ICBMSG) - set(snippet_name "sdp-gpio-icbmsg") - endif() - elseif(SB_CONFIG_SDP_MSPI) - set(snippet_name "sdp-mspi") - if(SB_CONFIG_SDP_FLPR_APP_FAULT_TIMER) - sdp_apply_flpr_fault_timer_params(${SB_CONFIG_SDP_FLPR_APP_FAULT_TIMEOUT}) - endif() - endif() - if(SB_CONFIG_SDP_DEVELOPER_MODE) - set_config_bool(sdp CONFIG_SDP_DEVELOPER_MODE y) - endif() - - sdp_apply_snippets(${snippet_name}) - set(snippet_name) -endif() From 860ba7a2266cd8d272fb5b2696af6ed89111a2e3 Mon Sep 17 00:00:00 2001 From: Magdalena Pastula Date: Tue, 8 Apr 2025 12:38:43 +0200 Subject: [PATCH 03/11] drivers: change sdp name to hpf Change names sdp, nrfe and egpio to the new ones: hpf and hpf_gpio. Signed-off-by: Magdalena Pastula --- drivers/Kconfig | 8 +- drivers/gpio/CMakeLists.txt | 12 +- drivers/gpio/Kconfig | 40 +-- drivers/gpio/gpio_hpf.c | 109 ++++++++ drivers/gpio/gpio_hpf.h | 22 ++ .../{gpio_nrfe_icmsg.c => gpio_hpf_icmsg.c} | 10 +- .../{gpio_nrfe_mbox.c => gpio_hpf_mbox.c} | 14 +- drivers/gpio/gpio_nrfe.c | 109 -------- drivers/gpio/gpio_nrfe.h | 22 -- drivers/mspi/CMakeLists.txt | 2 +- drivers/mspi/Kconfig | 2 +- drivers/mspi/{Kconfig.nrfe => Kconfig.hpf} | 40 +-- drivers/mspi/{mspi_nrfe.c => mspi_hpf.c} | 248 +++++++++--------- include/drivers/gpio/hpf_gpio.h | 45 ++++ include/drivers/gpio/nrfe_gpio.h | 45 ---- include/drivers/mspi/hpf_mspi.h | 100 +++++++ include/drivers/mspi/nrfe_mspi.h | 100 ------- .../{sdp/nrfe_common.h => hpf/hpf_common.h} | 8 +- 18 files changed, 468 insertions(+), 468 deletions(-) create mode 100644 drivers/gpio/gpio_hpf.c create mode 100644 drivers/gpio/gpio_hpf.h rename drivers/gpio/{gpio_nrfe_icmsg.c => gpio_hpf_icmsg.c} (82%) rename drivers/gpio/{gpio_nrfe_mbox.c => gpio_hpf_mbox.c} (65%) delete mode 100644 drivers/gpio/gpio_nrfe.c delete mode 100644 drivers/gpio/gpio_nrfe.h rename drivers/mspi/{Kconfig.nrfe => Kconfig.hpf} (54%) rename drivers/mspi/{mspi_nrfe.c => mspi_hpf.c} (78%) create mode 100644 include/drivers/gpio/hpf_gpio.h delete mode 100644 include/drivers/gpio/nrfe_gpio.h create mode 100644 include/drivers/mspi/hpf_mspi.h delete mode 100644 include/drivers/mspi/nrfe_mspi.h rename include/{sdp/nrfe_common.h => hpf/hpf_common.h} (76%) diff --git a/drivers/Kconfig b/drivers/Kconfig index 4bd2b3134bea..d40b9c4deb90 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig @@ -21,10 +21,10 @@ rsource "net/Kconfig" rsource "sensor/Kconfig" rsource "serial/Kconfig" -config NRFE +config HPF bool - default y if GPIO_NRFE - default y if MSPI_NRFE - # Temporary kconfig to include DPPI channel allocation for NRFE + default y if GPIO_HPF + default y if MSPI_HPF + # Temporary kconfig to include DPPI channel allocation for HPF endmenu diff --git a/drivers/gpio/CMakeLists.txt b/drivers/gpio/CMakeLists.txt index fa723608fe4c..3c8e3ca307e2 100644 --- a/drivers/gpio/CMakeLists.txt +++ b/drivers/gpio/CMakeLists.txt @@ -6,12 +6,12 @@ zephyr_library_amend() -if(CONFIG_GPIO_NRFE) - if(CONFIG_GPIO_NRFE_EGPIO_BACKEND_ICMSG OR CONFIG_GPIO_NRFE_EGPIO_BACKEND_ICBMSG) - zephyr_library_sources(gpio_nrfe_icmsg.c) - elseif(CONFIG_GPIO_NRFE_EGPIO_BACKEND_MBOX) - zephyr_library_sources(gpio_nrfe_mbox.c) +if(CONFIG_GPIO_HPF) + if(CONFIG_GPIO_HPF_GPIO_BACKEND_ICMSG OR CONFIG_GPIO_HPF_GPIO_BACKEND_ICBMSG) + zephyr_library_sources(gpio_hpf_icmsg.c) + elseif(CONFIG_GPIO_HPF_GPIO_BACKEND_MBOX) + zephyr_library_sources(gpio_hpf_mbox.c) endif() - zephyr_library_sources(gpio_nrfe.c) + zephyr_library_sources(gpio_hpf.c) endif() diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index ace517707b51..f95a95a17574 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -1,50 +1,50 @@ # Copyright (c) 2024 Nordic Semiconductor ASA # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause -menuconfig GPIO_NRFE - bool "SDP GPIO" +menuconfig GPIO_HPF + bool "HPF GPIO" default y - depends on DT_HAS_NORDIC_NRFE_GPIO_ENABLED + depends on DT_HAS_NORDIC_HPF_GPIO_ENABLED select IPC_SERVICE select MBOX help - Use SDP GPIO driver. + Use HPF GPIO driver. -if GPIO_NRFE +if GPIO_HPF -config GPIO_NRFE_INIT_PRIORITY - int "SDP GPIO init priority" - depends on GPIO_NRFE +config GPIO_HPF_INIT_PRIORITY + int "HPF GPIO init priority" + depends on GPIO_HPF default 48 help - SDP GPIO driver device initialization priority. - SDP GPIO initialization depends on IPC initialization which is done at the same init level and + HPF GPIO driver device initialization priority. + HPF GPIO initialization depends on IPC initialization which is done at the same init level and has init priority equal to 46. -choice GPIO_NRFE_EGPIO_BACKEND - prompt "SDP GPIO driver backend type" - default GPIO_NRFE_EGPIO_BACKEND_ICMSG +choice GPIO_HPF_GPIO_BACKEND + prompt "HPF GPIO driver backend type" + default GPIO_HPF_GPIO_BACKEND_ICMSG help - Select the backend type for the SDP GPIO driver and application. + Select the backend type for the HPF GPIO driver and application. -config GPIO_NRFE_EGPIO_BACKEND_MBOX +config GPIO_HPF_GPIO_BACKEND_MBOX bool "MBOX" help - Use MBOX backend driver for SDP GPIO. + Use MBOX backend driver for HPF GPIO. The MBOX version is more resource-efficient than the ICMSG backend, but needs to have a shared structure defined as a communication channel. -config GPIO_NRFE_EGPIO_BACKEND_ICMSG +config GPIO_HPF_GPIO_BACKEND_ICMSG bool "ICMSG" select IPC_SERVICE_BACKEND_ICMSG help - Use ICMSG backend driver for SDP GPIO. + Use ICMSG backend driver for HPF GPIO. -config GPIO_NRFE_EGPIO_BACKEND_ICBMSG +config GPIO_HPF_GPIO_BACKEND_ICBMSG bool "ICBMSG" select IPC_SERVICE_BACKEND_ICBMSG help - Use ICBMSG backend driver for SDP GPIO. + Use ICBMSG backend driver for HPF GPIO. endchoice diff --git a/drivers/gpio/gpio_hpf.c b/drivers/gpio/gpio_hpf.c new file mode 100644 index 000000000000..f0f8325df9c7 --- /dev/null +++ b/drivers/gpio/gpio_hpf.c @@ -0,0 +1,109 @@ +/* + * Copyright (c) 2024, Nordic Semiconductor ASA + * + * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause + */ + +#define DT_DRV_COMPAT nordic_hpf_gpio + +#include +#include + +#include "gpio_hpf.h" + +struct gpio_hpf_data { + /* gpio_driver_data needs to be first */ + struct gpio_driver_data common; +}; + +struct gpio_hpf_cfg { + /* gpio_driver_config needs to be first */ + struct gpio_driver_config common; + uint8_t port_num; +}; + +static inline const struct gpio_hpf_cfg *get_port_cfg(const struct device *port) +{ + return port->config; +} + +static int gpio_hpf_pin_configure(const struct device *port, gpio_pin_t pin, gpio_flags_t flags) +{ + hpf_gpio_data_packet_t msg = {.opcode = HPF_GPIO_PIN_CONFIGURE, + .pin = pin, + .port = get_port_cfg(port)->port_num, + .flags = flags}; + + return gpio_send(&msg); +} + +static int gpio_hpf_port_set_masked_raw(const struct device *port, gpio_port_pins_t mask, + gpio_port_value_t value) +{ + + const uint32_t set_mask = value & mask; + const uint32_t clear_mask = (~set_mask) & mask; + + hpf_gpio_data_packet_t msg = { + .opcode = HPF_GPIO_PIN_SET, .pin = set_mask, .port = get_port_cfg(port)->port_num}; + + int ret_val = gpio_send(&msg); + + if (ret_val < 0) { + return ret_val; + } + + msg.opcode = HPF_GPIO_PIN_CLEAR; + msg.pin = clear_mask; + + return gpio_send(&msg); +} + +static int gpio_hpf_port_set_bits_raw(const struct device *port, gpio_port_pins_t mask) +{ + hpf_gpio_data_packet_t msg = { + .opcode = HPF_GPIO_PIN_SET, .pin = mask, .port = get_port_cfg(port)->port_num}; + + return gpio_send(&msg); +} + +static int gpio_hpf_port_clear_bits_raw(const struct device *port, gpio_port_pins_t mask) +{ + hpf_gpio_data_packet_t msg = { + .opcode = HPF_GPIO_PIN_CLEAR, .pin = mask, .port = get_port_cfg(port)->port_num}; + + return gpio_send(&msg); +} + +static int gpio_hpf_port_toggle_bits(const struct device *port, gpio_port_pins_t mask) +{ + hpf_gpio_data_packet_t msg = { + .opcode = HPF_GPIO_PIN_TOGGLE, .pin = mask, .port = get_port_cfg(port)->port_num}; + + return gpio_send(&msg); +} + +static const struct gpio_driver_api gpio_hpf_drv_api_funcs = { + .pin_configure = gpio_hpf_pin_configure, + .port_set_masked_raw = gpio_hpf_port_set_masked_raw, + .port_set_bits_raw = gpio_hpf_port_set_bits_raw, + .port_clear_bits_raw = gpio_hpf_port_clear_bits_raw, + .port_toggle_bits = gpio_hpf_port_toggle_bits, +}; + +#define GPIO_HPF_DEVICE(id) \ + static const struct gpio_hpf_cfg gpio_hpf_p##id##_cfg = { \ + .common = \ + { \ + .port_pin_mask = GPIO_PORT_PIN_MASK_FROM_DT_INST(id), \ + }, \ + .port_num = DT_INST_PROP(id, port), \ + }; \ + \ + static struct gpio_hpf_data gpio_hpf_p##id##_data; \ + \ + DEVICE_DT_INST_DEFINE(id, gpio_hpf_init, NULL, &gpio_hpf_p##id##_data, \ + &gpio_hpf_p##id##_cfg, POST_KERNEL, CONFIG_GPIO_HPF_INIT_PRIORITY, \ + &gpio_hpf_drv_api_funcs); + +DT_INST_FOREACH_STATUS_OKAY(GPIO_HPF_DEVICE) diff --git a/drivers/gpio/gpio_hpf.h b/drivers/gpio/gpio_hpf.h new file mode 100644 index 000000000000..90e242bc7968 --- /dev/null +++ b/drivers/gpio/gpio_hpf.h @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2024, Nordic Semiconductor ASA + * + * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause + */ + +#ifndef GPIO_HPF_H__ +#define GPIO_HPF_H__ + +#include +#include + +#if !defined(CONFIG_GPIO_HPF_GPIO_BACKEND_ICMSG) && \ + !defined(CONFIG_GPIO_HPF_GPIO_BACKEND_MBOX) && \ + !defined(CONFIG_GPIO_HPF_GPIO_BACKEND_ICBMSG) +#error "Configure communication backend type" +#endif + +int gpio_send(hpf_gpio_data_packet_t *msg); +int gpio_hpf_init(const struct device *port); + +#endif /* GPIO_HPF_H__ */ diff --git a/drivers/gpio/gpio_nrfe_icmsg.c b/drivers/gpio/gpio_hpf_icmsg.c similarity index 82% rename from drivers/gpio/gpio_nrfe_icmsg.c rename to drivers/gpio/gpio_hpf_icmsg.c index 59318acb1c84..bc5197cd10cb 100644 --- a/drivers/gpio/gpio_nrfe_icmsg.c +++ b/drivers/gpio/gpio_hpf_icmsg.c @@ -8,7 +8,7 @@ #include #include -#include "gpio_nrfe.h" +#include "gpio_hpf.h" #if defined(CONFIG_MULTITHREADING) static K_SEM_DEFINE(bound_sem, 0, 1); @@ -34,17 +34,17 @@ static struct ipc_ept_cfg ep_cfg = { static struct ipc_ept ep; -int gpio_send(nrfe_gpio_data_packet_t *msg) +int gpio_send(hpf_gpio_data_packet_t *msg) { - if (ipc_service_send(&ep, (void *)msg, sizeof(nrfe_gpio_data_packet_t)) == - sizeof(nrfe_gpio_data_packet_t)) { + if (ipc_service_send(&ep, (void *)msg, sizeof(hpf_gpio_data_packet_t)) == + sizeof(hpf_gpio_data_packet_t)) { return 0; } else { return -EIO; } } -int gpio_nrfe_init(const struct device *port) +int gpio_hpf_init(const struct device *port) { const struct device *ipc0_instance = DEVICE_DT_GET(DT_NODELABEL(ipc0)); int ret = ipc_service_open_instance(ipc0_instance); diff --git a/drivers/gpio/gpio_nrfe_mbox.c b/drivers/gpio/gpio_hpf_mbox.c similarity index 65% rename from drivers/gpio/gpio_nrfe_mbox.c rename to drivers/gpio/gpio_hpf_mbox.c index c09c5030cd03..99600d2d3cba 100644 --- a/drivers/gpio/gpio_nrfe_mbox.c +++ b/drivers/gpio/gpio_hpf_mbox.c @@ -8,21 +8,21 @@ #include #include -#include "gpio_nrfe.h" +#include "gpio_hpf.h" static const struct mbox_dt_spec tx_channel = MBOX_DT_SPEC_GET(DT_PATH(mbox_consumer), tx); -static nrfe_gpio_mbox_data_t *tx_data = - (nrfe_gpio_mbox_data_t *)((uint8_t *)(DT_REG_ADDR(DT_NODELABEL(sram_tx)))); +static hpf_gpio_mbox_data_t *tx_data = + (hpf_gpio_mbox_data_t *)((uint8_t *)(DT_REG_ADDR(DT_NODELABEL(sram_tx)))); #define MAX_MSG_SIZE (DT_REG_SIZE(DT_NODELABEL(sram_tx))) -int gpio_send(nrfe_gpio_data_packet_t *msg) +int gpio_send(hpf_gpio_data_packet_t *msg) { /* Wait for the access to the shared data structure */ while (!atomic_cas(&tx_data->lock.locked, DATA_LOCK_STATE_READY, DATA_LOCK_STATE_BUSY)) { } - memcpy((void *)&tx_data->data, (void *)msg, sizeof(nrfe_gpio_data_packet_t)); - tx_data->lock.data_size = sizeof(nrfe_gpio_data_packet_t); + memcpy((void *)&tx_data->data, (void *)msg, sizeof(hpf_gpio_data_packet_t)); + tx_data->lock.data_size = sizeof(hpf_gpio_data_packet_t); /* Inform the consumer that new data is available */ atomic_set(&tx_data->lock.locked, DATA_LOCK_STATE_WITH_DATA); @@ -30,7 +30,7 @@ int gpio_send(nrfe_gpio_data_packet_t *msg) return mbox_send_dt(&tx_channel, NULL); } -int gpio_nrfe_init(const struct device *port) +int gpio_hpf_init(const struct device *port) { return 0; } diff --git a/drivers/gpio/gpio_nrfe.c b/drivers/gpio/gpio_nrfe.c deleted file mode 100644 index fcaa4cb4bc49..000000000000 --- a/drivers/gpio/gpio_nrfe.c +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright (c) 2024, Nordic Semiconductor ASA - * - * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause - */ - -#define DT_DRV_COMPAT nordic_nrfe_gpio - -#include -#include - -#include "gpio_nrfe.h" - -struct gpio_nrfe_data { - /* gpio_driver_data needs to be first */ - struct gpio_driver_data common; -}; - -struct gpio_nrfe_cfg { - /* gpio_driver_config needs to be first */ - struct gpio_driver_config common; - uint8_t port_num; -}; - -static inline const struct gpio_nrfe_cfg *get_port_cfg(const struct device *port) -{ - return port->config; -} - -static int gpio_nrfe_pin_configure(const struct device *port, gpio_pin_t pin, gpio_flags_t flags) -{ - nrfe_gpio_data_packet_t msg = {.opcode = NRFE_GPIO_PIN_CONFIGURE, - .pin = pin, - .port = get_port_cfg(port)->port_num, - .flags = flags}; - - return gpio_send(&msg); -} - -static int gpio_nrfe_port_set_masked_raw(const struct device *port, gpio_port_pins_t mask, - gpio_port_value_t value) -{ - - const uint32_t set_mask = value & mask; - const uint32_t clear_mask = (~set_mask) & mask; - - nrfe_gpio_data_packet_t msg = { - .opcode = NRFE_GPIO_PIN_SET, .pin = set_mask, .port = get_port_cfg(port)->port_num}; - - int ret_val = gpio_send(&msg); - - if (ret_val < 0) { - return ret_val; - } - - msg.opcode = NRFE_GPIO_PIN_CLEAR; - msg.pin = clear_mask; - - return gpio_send(&msg); -} - -static int gpio_nrfe_port_set_bits_raw(const struct device *port, gpio_port_pins_t mask) -{ - nrfe_gpio_data_packet_t msg = { - .opcode = NRFE_GPIO_PIN_SET, .pin = mask, .port = get_port_cfg(port)->port_num}; - - return gpio_send(&msg); -} - -static int gpio_nrfe_port_clear_bits_raw(const struct device *port, gpio_port_pins_t mask) -{ - nrfe_gpio_data_packet_t msg = { - .opcode = NRFE_GPIO_PIN_CLEAR, .pin = mask, .port = get_port_cfg(port)->port_num}; - - return gpio_send(&msg); -} - -static int gpio_nrfe_port_toggle_bits(const struct device *port, gpio_port_pins_t mask) -{ - nrfe_gpio_data_packet_t msg = { - .opcode = NRFE_GPIO_PIN_TOGGLE, .pin = mask, .port = get_port_cfg(port)->port_num}; - - return gpio_send(&msg); -} - -static const struct gpio_driver_api gpio_nrfe_drv_api_funcs = { - .pin_configure = gpio_nrfe_pin_configure, - .port_set_masked_raw = gpio_nrfe_port_set_masked_raw, - .port_set_bits_raw = gpio_nrfe_port_set_bits_raw, - .port_clear_bits_raw = gpio_nrfe_port_clear_bits_raw, - .port_toggle_bits = gpio_nrfe_port_toggle_bits, -}; - -#define GPIO_NRFE_DEVICE(id) \ - static const struct gpio_nrfe_cfg gpio_nrfe_p##id##_cfg = { \ - .common = \ - { \ - .port_pin_mask = GPIO_PORT_PIN_MASK_FROM_DT_INST(id), \ - }, \ - .port_num = DT_INST_PROP(id, port), \ - }; \ - \ - static struct gpio_nrfe_data gpio_nrfe_p##id##_data; \ - \ - DEVICE_DT_INST_DEFINE(id, gpio_nrfe_init, NULL, &gpio_nrfe_p##id##_data, \ - &gpio_nrfe_p##id##_cfg, POST_KERNEL, CONFIG_GPIO_NRFE_INIT_PRIORITY, \ - &gpio_nrfe_drv_api_funcs); - -DT_INST_FOREACH_STATUS_OKAY(GPIO_NRFE_DEVICE) diff --git a/drivers/gpio/gpio_nrfe.h b/drivers/gpio/gpio_nrfe.h deleted file mode 100644 index 9949a02cb5a0..000000000000 --- a/drivers/gpio/gpio_nrfe.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2024, Nordic Semiconductor ASA - * - * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause - */ - -#ifndef GPIO_NRFE_H__ -#define GPIO_NRFE_H__ - -#include -#include - -#if !defined(CONFIG_GPIO_NRFE_EGPIO_BACKEND_ICMSG) && \ - !defined(CONFIG_GPIO_NRFE_EGPIO_BACKEND_MBOX) && \ - !defined(CONFIG_GPIO_NRFE_EGPIO_BACKEND_ICBMSG) -#error "Configure communication backend type" -#endif - -int gpio_send(nrfe_gpio_data_packet_t *msg); -int gpio_nrfe_init(const struct device *port); - -#endif /* GPIO_NRFE_H__ */ diff --git a/drivers/mspi/CMakeLists.txt b/drivers/mspi/CMakeLists.txt index 6ad06ca31f7f..e0bd3417f6e4 100644 --- a/drivers/mspi/CMakeLists.txt +++ b/drivers/mspi/CMakeLists.txt @@ -5,7 +5,7 @@ # zephyr_library_amend() -zephyr_library_sources_ifdef(CONFIG_MSPI_NRFE mspi_nrfe.c) +zephyr_library_sources_ifdef(CONFIG_MSPI_HPF mspi_hpf.c) if(CONFIG_MSPI_NRF_SQSPI) set(SP_DIR ${ZEPHYR_NRFXLIB_MODULE_DIR}/softperipheral) diff --git a/drivers/mspi/Kconfig b/drivers/mspi/Kconfig index 5b43d58d6ea7..1408d152a3ce 100644 --- a/drivers/mspi/Kconfig +++ b/drivers/mspi/Kconfig @@ -3,7 +3,7 @@ if MSPI -rsource "Kconfig.nrfe" +rsource "Kconfig.hpf" rsource "Kconfig.sqspi" endif # MSPI diff --git a/drivers/mspi/Kconfig.nrfe b/drivers/mspi/Kconfig.hpf similarity index 54% rename from drivers/mspi/Kconfig.nrfe rename to drivers/mspi/Kconfig.hpf index 62dbd8aad768..02ccb4964543 100644 --- a/drivers/mspi/Kconfig.nrfe +++ b/drivers/mspi/Kconfig.hpf @@ -2,30 +2,30 @@ # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause # -# MSPI_NRFE Driver +# MSPI_HPF Driver # -menuconfig MSPI_NRFE - bool "SDP MSPI driver" +menuconfig MSPI_HPF + bool "HPF MSPI driver" default y - depends on DT_HAS_NORDIC_NRFE_MSPI_CONTROLLER_ENABLED + depends on DT_HAS_NORDIC_HPF_MSPI_CONTROLLER_ENABLED select MBOX select IPC_SERVICE select IPC_SERVICE_BACKEND_ICMSG help - Enable SDP MSPI driver. + Enable HPF MSPI driver. -if MSPI_NRFE +if MSPI_HPF -config MSPI_NRFE_INIT_PRIORITY - int "SDP MSPI init priority" - depends on MSPI_NRFE +config MSPI_HPF_INIT_PRIORITY + int "HPF MSPI init priority" + depends on MSPI_HPF default MSPI_INIT_PRIORITY help - SDP MSPI driver device initialization priority. - SDP MSPI initialization depends on IPC initialization + HPF MSPI driver device initialization priority. + HPF MSPI initialization depends on IPC initialization which is done at the same init level and has init priority equal to 46. -config MSPI_NRFE_IPC_NO_COPY +config MSPI_HPF_IPC_NO_COPY bool "IPC no copy mode" default y depends on SOC_NRF54L15 @@ -34,22 +34,22 @@ config MSPI_NRFE_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 MSPI_NRFE_FAULT_TIMER - bool "SDP application fault timer" +config MSPI_HPF_FAULT_TIMER + bool "HPF application fault timer" select COUNTER 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. -if MSPI_NRFE_FAULT_TIMER +if MSPI_HPF_FAULT_TIMER -config MSPI_NRFE_FAULT_TIMEOUT - int "SDP application fault timeout" +config MSPI_HPF_FAULT_TIMEOUT + int "HPF application fault timeout" default 1000000 help Fault timeout in microseconds. -endif # MSPI_NRFE_FAULT_TIMER +endif # MSPI_HPF_FAULT_TIMER -endif # MSPI_NRFE +endif # MSPI_HPF diff --git a/drivers/mspi/mspi_nrfe.c b/drivers/mspi/mspi_hpf.c similarity index 78% rename from drivers/mspi/mspi_nrfe.c rename to drivers/mspi/mspi_hpf.c index f2c4b69a80a6..4df9abd94002 100644 --- a/drivers/mspi/mspi_nrfe.c +++ b/drivers/mspi/mspi_hpf.c @@ -4,7 +4,7 @@ * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause */ -#define DT_DRV_COMPAT nordic_nrfe_mspi_controller +#define DT_DRV_COMPAT nordic_hpf_mspi_controller #include #include @@ -16,45 +16,45 @@ #include #endif #include -LOG_MODULE_REGISTER(mspi_nrfe, CONFIG_MSPI_LOG_LEVEL); +LOG_MODULE_REGISTER(mspi_hpf, CONFIG_MSPI_LOG_LEVEL); #include -#include +#include -#define MSPI_NRFE_NODE DT_DRV_INST(0) +#define MSPI_HPF_NODE DT_DRV_INST(0) #define MAX_TX_MSG_SIZE (DT_REG_SIZE(DT_NODELABEL(sram_tx))) #define MAX_RX_MSG_SIZE (DT_REG_SIZE(DT_NODELABEL(sram_rx))) #define IPC_TIMEOUT_MS 100 #define EP_SEND_TIMEOUT_MS 10 #define EXTREME_DRIVE_FREQ_THRESHOLD 32000000 #define CNT0_TOP_CALCULATE(freq) (NRFX_CEIL_DIV(SystemCoreClock, freq * 2) - 1) -#define DATA_LINE_INDEX(pinctr_fun) (pinctr_fun - NRF_FUN_SDP_MSPI_DQ0) +#define DATA_LINE_INDEX(pinctr_fun) (pinctr_fun - NRF_FUN_HPF_MSPI_DQ0) #define DATA_PIN_UNUSED UINT8_MAX #ifdef CONFIG_SOC_NRF54L15 -#define NRFE_MSPI_PORT_NUMBER 2 /* Physical port number */ -#define NRFE_MSPI_SCK_PIN_NUMBER 1 /* Physical pin number on port 2 */ +#define HPF_MSPI_PORT_NUMBER 2 /* Physical port number */ +#define HPF_MSPI_SCK_PIN_NUMBER 1 /* Physical pin number on port 2 */ -#define NRFE_MSPI_DATA_LINE_CNT_MAX 8 +#define HPF_MSPI_DATA_LINE_CNT_MAX 8 #else -#error "Unsupported SoC for SDP MSPI" +#error "Unsupported SoC for HPF MSPI" #endif -#define SDP_MPSI_PINCTRL_DEV_CONFIG_INIT(node_id) \ +#define HPF_MPSI_PINCTRL_DEV_CONFIG_INIT(node_id) \ { \ .reg = PINCTRL_REG_NONE, \ .states = Z_PINCTRL_STATES_NAME(node_id), \ .state_cnt = ARRAY_SIZE(Z_PINCTRL_STATES_NAME(node_id)), \ } -#define SDP_MSPI_PINCTRL_DT_DEFINE(node_id) \ +#define HPF_MSPI_PINCTRL_DT_DEFINE(node_id) \ LISTIFY(DT_NUM_PINCTRL_STATES(node_id), Z_PINCTRL_STATE_PINS_DEFINE, (;), node_id); \ Z_PINCTRL_STATES_DEFINE(node_id) \ Z_PINCTRL_DEV_CONFIG_STATIC Z_PINCTRL_DEV_CONFIG_CONST struct pinctrl_dev_config \ - Z_PINCTRL_DEV_CONFIG_NAME(node_id) = SDP_MPSI_PINCTRL_DEV_CONFIG_INIT(node_id) + Z_PINCTRL_DEV_CONFIG_NAME(node_id) = HPF_MPSI_PINCTRL_DEV_CONFIG_INIT(node_id) -SDP_MSPI_PINCTRL_DT_DEFINE(MSPI_NRFE_NODE); +HPF_MSPI_PINCTRL_DT_DEFINE(MSPI_HPF_NODE); static struct ipc_ept ep; static size_t ipc_received; @@ -73,30 +73,30 @@ static atomic_t ipc_atomic_sem = ATOMIC_INIT(0); #define MSPI_CONFIG \ { \ .channel_num = 0, \ - .op_mode = DT_PROP_OR(MSPI_NRFE_NODE, op_mode, MSPI_OP_MODE_CONTROLLER), \ - .duplex = DT_PROP_OR(MSPI_NRFE_NODE, duplex, MSPI_FULL_DUPLEX), \ - .dqs_support = DT_PROP_OR(MSPI_NRFE_NODE, dqs_support, false), \ - .num_periph = DT_CHILD_NUM(MSPI_NRFE_NODE), \ - .max_freq = DT_PROP(MSPI_NRFE_NODE, clock_frequency), \ + .op_mode = DT_PROP_OR(MSPI_HPF_NODE, op_mode, MSPI_OP_MODE_CONTROLLER), \ + .duplex = DT_PROP_OR(MSPI_HPF_NODE, duplex, MSPI_FULL_DUPLEX), \ + .dqs_support = DT_PROP_OR(MSPI_HPF_NODE, dqs_support, false), \ + .num_periph = DT_CHILD_NUM(MSPI_HPF_NODE), \ + .max_freq = DT_PROP(MSPI_HPF_NODE, clock_frequency), \ .re_init = true, \ .sw_multi_periph = false, \ } -struct mspi_nrfe_data { - nrfe_mspi_xfer_config_msg_t xfer_config_msg; +struct mspi_hpf_data { + hpf_mspi_xfer_config_msg_t xfer_config_msg; }; -struct mspi_nrfe_config { +struct mspi_hpf_config { struct mspi_cfg mspicfg; const struct pinctrl_dev_config *pcfg; }; -static const struct mspi_nrfe_config dev_config = { +static const struct mspi_hpf_config dev_config = { .mspicfg = MSPI_CONFIG, .pcfg = PINCTRL_DT_INST_DEV_CONFIG_GET(0), }; -static struct mspi_nrfe_data dev_data; +static struct mspi_hpf_data dev_data; static void ep_recv(const void *data, size_t len, void *priv); @@ -106,7 +106,7 @@ static void ep_bound(void *priv) #if defined(CONFIG_MULTITHREADING) k_sem_give(&ipc_sem); #else - atomic_set_bit(&ipc_atomic_sem, NRFE_MSPI_EP_BOUNDED); + atomic_set_bit(&ipc_atomic_sem, HPF_MSPI_EP_BOUNDED); #endif LOG_DBG("Ep bounded"); } @@ -152,64 +152,64 @@ const char *z_riscv_mcause_str(uint32_t cause) */ static void ep_recv(const void *data, size_t len, void *priv) { - nrfe_mspi_flpr_response_msg_t *response = (nrfe_mspi_flpr_response_msg_t *)data; + hpf_mspi_flpr_response_msg_t *response = (hpf_mspi_flpr_response_msg_t *)data; switch (response->opcode) { -#if defined(CONFIG_MSPI_NRFE_FAULT_TIMER) - case NRFE_MSPI_CONFIG_TIMER_PTR: { +#if defined(CONFIG_MSPI_HPF_FAULT_TIMER) + case HPF_MSPI_CONFIG_TIMER_PTR: { #if defined(CONFIG_MULTITHREADING) k_sem_give(&ipc_sem); #else - atomic_set_bit(&ipc_atomic_sem, NRFE_MSPI_CONFIG_TIMER_PTR); + atomic_set_bit(&ipc_atomic_sem, HPF_MSPI_CONFIG_TIMER_PTR); #endif break; } #endif - case NRFE_MSPI_CONFIG_PINS: { + case HPF_MSPI_CONFIG_PINS: { #if defined(CONFIG_MULTITHREADING) k_sem_give(&ipc_sem_cfg); #else - atomic_set_bit(&ipc_atomic_sem, NRFE_MSPI_CONFIG_PINS); + atomic_set_bit(&ipc_atomic_sem, HPF_MSPI_CONFIG_PINS); #endif break; } - case NRFE_MSPI_CONFIG_DEV: { + case HPF_MSPI_CONFIG_DEV: { #if defined(CONFIG_MULTITHREADING) k_sem_give(&ipc_sem_cfg); #else - atomic_set_bit(&ipc_atomic_sem, NRFE_MSPI_CONFIG_DEV); + atomic_set_bit(&ipc_atomic_sem, HPF_MSPI_CONFIG_DEV); #endif break; } - case NRFE_MSPI_CONFIG_XFER: { + case HPF_MSPI_CONFIG_XFER: { #if defined(CONFIG_MULTITHREADING) k_sem_give(&ipc_sem_cfg); #else - atomic_set_bit(&ipc_atomic_sem, NRFE_MSPI_CONFIG_XFER); + atomic_set_bit(&ipc_atomic_sem, HPF_MSPI_CONFIG_XFER); #endif break; } - case NRFE_MSPI_TX: { + case HPF_MSPI_TX: { #if defined(CONFIG_MULTITHREADING) k_sem_give(&ipc_sem_xfer); #else - atomic_set_bit(&ipc_atomic_sem, NRFE_MSPI_TX); + atomic_set_bit(&ipc_atomic_sem, HPF_MSPI_TX); #endif break; } - case NRFE_MSPI_TXRX: { + case HPF_MSPI_TXRX: { if (len > 0) { - ipc_received = len - sizeof(nrfe_mspi_opcode_t); + ipc_received = len - sizeof(hpf_mspi_opcode_t); ipc_receive_buffer = (uint8_t *)&response->data; } #if defined(CONFIG_MULTITHREADING) k_sem_give(&ipc_sem_xfer); #else - atomic_set_bit(&ipc_atomic_sem, NRFE_MSPI_TXRX); + atomic_set_bit(&ipc_atomic_sem, HPF_MSPI_TXRX); #endif break; } - case NRFE_MSPI_SDP_APP_HARD_FAULT: { + case HPF_MSPI_HPF_APP_HARD_FAULT: { const uint32_t mcause_exc_mask = 0xfff; volatile uint32_t cause = cpuflpr_error_ctx_ptr[0]; @@ -242,23 +242,23 @@ static void ep_recv(const void *data, size_t len, void *priv) * * @return 0 on success, -ETIMEDOUT if the operation timed out. */ -static int nrfe_mspi_wait_for_response(nrfe_mspi_opcode_t opcode, uint32_t timeout) +static int hpf_mspi_wait_for_response(hpf_mspi_opcode_t opcode, uint32_t timeout) { #if defined(CONFIG_MULTITHREADING) int ret = 0; switch (opcode) { - case NRFE_MSPI_CONFIG_TIMER_PTR: + case HPF_MSPI_CONFIG_TIMER_PTR: ret = k_sem_take(&ipc_sem, K_MSEC(timeout)); break; - case NRFE_MSPI_CONFIG_PINS: - case NRFE_MSPI_CONFIG_DEV: - case NRFE_MSPI_CONFIG_XFER: { + case HPF_MSPI_CONFIG_PINS: + case HPF_MSPI_CONFIG_DEV: + case HPF_MSPI_CONFIG_XFER: { ret = k_sem_take(&ipc_sem_cfg, K_MSEC(timeout)); break; } - case NRFE_MSPI_TX: - case NRFE_MSPI_TXRX: + case HPF_MSPI_TX: + case HPF_MSPI_TXRX: ret = k_sem_take(&ipc_sem_xfer, K_MSEC(timeout)); break; default: @@ -300,12 +300,12 @@ static int nrfe_mspi_wait_for_response(nrfe_mspi_opcode_t opcode, uint32_t timeo * * @return 0 on success, negative errno code on failure. */ -static int send_data(nrfe_mspi_opcode_t opcode, const void *data, size_t len) +static int send_data(hpf_mspi_opcode_t opcode, const void *data, size_t len) { LOG_DBG("Sending msg with opcode: %d", (uint8_t)opcode); int rc; -#ifdef CONFIG_MSPI_NRFE_IPC_NO_COPY +#ifdef CONFIG_MSPI_HPF_IPC_NO_COPY (void)len; void *data_ptr = (void *)data; #endif @@ -320,7 +320,7 @@ static int send_data(nrfe_mspi_opcode_t opcode, const void *data, size_t len) #endif do { -#ifdef CONFIG_MSPI_NRFE_IPC_NO_COPY +#ifdef CONFIG_MSPI_HPF_IPC_NO_COPY rc = ipc_service_send(&ep, &data_ptr, sizeof(void *)); #else rc = ipc_service_send(&ep, data, len); @@ -340,7 +340,7 @@ static int send_data(nrfe_mspi_opcode_t opcode, const void *data, size_t len) return rc; } - rc = nrfe_mspi_wait_for_response(opcode, IPC_TIMEOUT_MS); + rc = hpf_mspi_wait_for_response(opcode, IPC_TIMEOUT_MS); if (rc < 0) { LOG_ERR("Data transfer: %d response timeout: %d!", opcode, rc); } @@ -350,34 +350,34 @@ static int send_data(nrfe_mspi_opcode_t opcode, const void *data, size_t len) static int check_pin_assignments(const struct pinctrl_state *state) { - uint8_t data_pins[NRFE_MSPI_DATA_LINE_CNT_MAX]; + uint8_t data_pins[HPF_MSPI_DATA_LINE_CNT_MAX]; uint8_t data_pins_cnt = 0; - uint8_t cs_pins[NRFE_MSPI_PINS_MAX]; + uint8_t cs_pins[HPF_MSPI_PINS_MAX]; uint8_t cs_pins_cnt = 0; uint32_t psel = 0; uint32_t pin_fun = 0; - for (uint8_t i = 0; i < NRFE_MSPI_DATA_LINE_CNT_MAX; i++) { + for (uint8_t i = 0; i < HPF_MSPI_DATA_LINE_CNT_MAX; i++) { data_pins[i] = DATA_PIN_UNUSED; } for (uint8_t i = 0; i < state->pin_cnt; i++) { psel = NRF_GET_PIN(state->pins[i]); - if (NRF_PIN_NUMBER_TO_PORT(psel) != NRFE_MSPI_PORT_NUMBER) { + if (NRF_PIN_NUMBER_TO_PORT(psel) != HPF_MSPI_PORT_NUMBER) { LOG_ERR("Wrong port number. Only %d port is supported.", - NRFE_MSPI_PORT_NUMBER); + HPF_MSPI_PORT_NUMBER); return -ENOTSUP; } pin_fun = NRF_GET_FUN(state->pins[i]); switch (pin_fun) { - case NRF_FUN_SDP_MSPI_DQ0: - case NRF_FUN_SDP_MSPI_DQ1: - case NRF_FUN_SDP_MSPI_DQ2: - case NRF_FUN_SDP_MSPI_DQ3: - case NRF_FUN_SDP_MSPI_DQ4: - case NRF_FUN_SDP_MSPI_DQ5: - case NRF_FUN_SDP_MSPI_DQ6: - case NRF_FUN_SDP_MSPI_DQ7: + case NRF_FUN_HPF_MSPI_DQ0: + case NRF_FUN_HPF_MSPI_DQ1: + case NRF_FUN_HPF_MSPI_DQ2: + case NRF_FUN_HPF_MSPI_DQ3: + case NRF_FUN_HPF_MSPI_DQ4: + case NRF_FUN_HPF_MSPI_DQ5: + case NRF_FUN_HPF_MSPI_DQ6: + case NRF_FUN_HPF_MSPI_DQ7: if (data_pins[DATA_LINE_INDEX(pin_fun)] != DATA_PIN_UNUSED) { LOG_ERR("This pin is assigned to an already taken data line: " "%d.%d.", @@ -387,18 +387,18 @@ static int check_pin_assignments(const struct pinctrl_state *state) data_pins[DATA_LINE_INDEX(pin_fun)] = NRF_PIN_NUMBER_TO_PIN(psel); data_pins_cnt++; break; - case NRF_FUN_SDP_MSPI_CS0: - case NRF_FUN_SDP_MSPI_CS1: - case NRF_FUN_SDP_MSPI_CS2: - case NRF_FUN_SDP_MSPI_CS3: - case NRF_FUN_SDP_MSPI_CS4: + case NRF_FUN_HPF_MSPI_CS0: + case NRF_FUN_HPF_MSPI_CS1: + case NRF_FUN_HPF_MSPI_CS2: + case NRF_FUN_HPF_MSPI_CS3: + case NRF_FUN_HPF_MSPI_CS4: cs_pins[cs_pins_cnt] = NRF_PIN_NUMBER_TO_PIN(psel); cs_pins_cnt++; break; - case NRF_FUN_SDP_MSPI_SCK: - if (NRF_PIN_NUMBER_TO_PIN(psel) != NRFE_MSPI_SCK_PIN_NUMBER) { + case NRF_FUN_HPF_MSPI_SCK: + if (NRF_PIN_NUMBER_TO_PIN(psel) != HPF_MSPI_SCK_PIN_NUMBER) { LOG_ERR("Clock signal only supported on pin %d.%d", - NRFE_MSPI_PORT_NUMBER, NRFE_MSPI_SCK_PIN_NUMBER); + HPF_MSPI_PORT_NUMBER, HPF_MSPI_SCK_PIN_NUMBER); return -ENOTSUP; } break; @@ -420,7 +420,7 @@ static int check_pin_assignments(const struct pinctrl_state *state) return -EINVAL; } } - if (cs_pins[i] == NRFE_MSPI_SCK_PIN_NUMBER) { + if (cs_pins[i] == HPF_MSPI_SCK_PIN_NUMBER) { LOG_ERR("CS pin cannot be the same CLK pin."); return -EINVAL; } @@ -443,8 +443,8 @@ static int check_pin_assignments(const struct pinctrl_state *state) static int api_config(const struct mspi_dt_spec *spec) { const struct mspi_cfg *config = &spec->config; - const struct mspi_nrfe_config *drv_cfg = spec->bus->config; - nrfe_mspi_pinctrl_soc_pin_msg_t mspi_pin_config; + const struct mspi_hpf_config *drv_cfg = spec->bus->config; + hpf_mspi_pinctrl_soc_pin_msg_t mspi_pin_config; int ret; if (config->op_mode != MSPI_OP_MODE_CONTROLLER) { @@ -471,8 +471,8 @@ static int api_config(const struct mspi_dt_spec *spec) } } - if (drv_cfg->pcfg->states[state_id].pin_cnt > NRFE_MSPI_PINS_MAX) { - LOG_ERR("Too many pins defined. Max: %d", NRFE_MSPI_PINS_MAX); + if (drv_cfg->pcfg->states[state_id].pin_cnt > HPF_MSPI_PINS_MAX) { + LOG_ERR("Too many pins defined. Max: %d", HPF_MSPI_PINS_MAX); return -ENOTSUP; } @@ -490,12 +490,12 @@ static int api_config(const struct mspi_dt_spec *spec) for (uint8_t i = 0; i < drv_cfg->pcfg->states[state_id].pin_cnt; i++) { mspi_pin_config.pin[i] = drv_cfg->pcfg->states[state_id].pins[i]; } - mspi_pin_config.opcode = NRFE_MSPI_CONFIG_PINS; + mspi_pin_config.opcode = HPF_MSPI_CONFIG_PINS; mspi_pin_config.pins_count = drv_cfg->pcfg->states[state_id].pin_cnt; /* Send pinout configuration to FLPR */ - return send_data(NRFE_MSPI_CONFIG_PINS, (const void *)&mspi_pin_config, - sizeof(nrfe_mspi_pinctrl_soc_pin_msg_t)); + return send_data(HPF_MSPI_CONFIG_PINS, (const void *)&mspi_pin_config, + sizeof(hpf_mspi_pinctrl_soc_pin_msg_t)); } static int check_io_mode(enum mspi_io_mode io_mode) @@ -523,9 +523,9 @@ static int check_pins_for_io_mode(const struct pinctrl_state *state, enum mspi_i switch (io_mode) { case MSPI_IO_MODE_SINGLE: { for (uint8_t i = 0; i < state->pin_cnt; i++) { - if (NRF_GET_FUN(state->pins[i]) == NRF_FUN_SDP_MSPI_DQ0) { + if (NRF_GET_FUN(state->pins[i]) == NRF_FUN_HPF_MSPI_DQ0) { d0_defined = true; - } else if (NRF_GET_FUN(state->pins[i]) == NRF_FUN_SDP_MSPI_DQ1) { + } else if (NRF_GET_FUN(state->pins[i]) == NRF_FUN_HPF_MSPI_DQ1) { d1_defined = true; } } @@ -540,10 +540,10 @@ static int check_pins_for_io_mode(const struct pinctrl_state *state, enum mspi_i case MSPI_IO_MODE_QUAD_1_4_4: { for (uint8_t i = 0; i < state->pin_cnt; i++) { switch (NRF_GET_FUN(state->pins[i])) { - case NRF_FUN_SDP_MSPI_DQ0: - case NRF_FUN_SDP_MSPI_DQ1: - case NRF_FUN_SDP_MSPI_DQ2: - case NRF_FUN_SDP_MSPI_DQ3: + case NRF_FUN_HPF_MSPI_DQ0: + case NRF_FUN_HPF_MSPI_DQ1: + case NRF_FUN_HPF_MSPI_DQ2: + case NRF_FUN_HPF_MSPI_DQ3: data_pins_cnt++; break; default: @@ -575,9 +575,9 @@ static int check_pins_for_io_mode(const struct pinctrl_state *state, enum mspi_i static int api_dev_config(const struct device *dev, const struct mspi_dev_id *dev_id, const enum mspi_dev_cfg_mask param_mask, const struct mspi_dev_cfg *cfg) { - const struct mspi_nrfe_config *drv_cfg = dev->config; + const struct mspi_hpf_config *drv_cfg = dev->config; int rc; - nrfe_mspi_dev_config_msg_t mspi_dev_config_msg; + hpf_mspi_dev_config_msg_t mspi_dev_config_msg; if (param_mask == MSPI_DEVICE_CONFIG_NONE) { return 0; @@ -661,7 +661,7 @@ static int api_dev_config(const struct device *dev, const struct mspi_dev_id *de } } - mspi_dev_config_msg.opcode = NRFE_MSPI_CONFIG_DEV; + mspi_dev_config_msg.opcode = HPF_MSPI_CONFIG_DEV; mspi_dev_config_msg.device_index = dev_id->dev_idx; mspi_dev_config_msg.dev_config.io_mode = cfg->io_mode; mspi_dev_config_msg.dev_config.cpp = cfg->cpp; @@ -669,8 +669,8 @@ static int api_dev_config(const struct device *dev, const struct mspi_dev_id *de mspi_dev_config_msg.dev_config.cnt0_value = CNT0_TOP_CALCULATE(cfg->freq); mspi_dev_config_msg.dev_config.ce_index = cfg->ce_num; - return send_data(NRFE_MSPI_CONFIG_DEV, (void *)&mspi_dev_config_msg, - sizeof(nrfe_mspi_dev_config_msg_t)); + return send_data(HPF_MSPI_CONFIG_DEV, (void *)&mspi_dev_config_msg, + sizeof(hpf_mspi_dev_config_msg_t)); } static int api_get_channel_status(const struct device *dev, uint8_t ch) @@ -693,34 +693,34 @@ static int api_get_channel_status(const struct device *dev, uint8_t ch) static int send_packet(struct mspi_xfer_packet *packet, uint32_t timeout) { int rc; - nrfe_mspi_opcode_t opcode = (packet->dir == MSPI_RX) ? NRFE_MSPI_TXRX : NRFE_MSPI_TX; + hpf_mspi_opcode_t opcode = (packet->dir == MSPI_RX) ? HPF_MSPI_TXRX : HPF_MSPI_TX; -#ifdef CONFIG_MSPI_NRFE_IPC_NO_COPY +#ifdef CONFIG_MSPI_HPF_IPC_NO_COPY /* In case of buffer alignment problems: create correctly aligned temporary buffer. */ uint32_t len = ((uint32_t)packet->data_buf) % sizeof(uint32_t) != 0 - ? sizeof(nrfe_mspi_xfer_packet_msg_t) + packet->num_bytes - : sizeof(nrfe_mspi_xfer_packet_msg_t); + ? sizeof(hpf_mspi_xfer_packet_msg_t) + packet->num_bytes + : sizeof(hpf_mspi_xfer_packet_msg_t); #else - uint32_t len = sizeof(nrfe_mspi_xfer_packet_msg_t) + packet->num_bytes; + uint32_t len = sizeof(hpf_mspi_xfer_packet_msg_t) + packet->num_bytes; #endif uint8_t buffer[len]; - nrfe_mspi_xfer_packet_msg_t *xfer_packet = (nrfe_mspi_xfer_packet_msg_t *)buffer; + hpf_mspi_xfer_packet_msg_t *xfer_packet = (hpf_mspi_xfer_packet_msg_t *)buffer; xfer_packet->opcode = opcode; xfer_packet->command = packet->cmd; xfer_packet->address = packet->address; xfer_packet->num_bytes = packet->num_bytes; -#ifdef CONFIG_MSPI_NRFE_IPC_NO_COPY +#ifdef CONFIG_MSPI_HPF_IPC_NO_COPY /* In case of buffer alignment problems: fill temporary buffer with TX data and * set it as packet data. */ if (((uint32_t)packet->data_buf) % sizeof(uint32_t) != 0) { if (packet->dir == MSPI_TX) { - memcpy((void *)(buffer + sizeof(nrfe_mspi_xfer_packet_msg_t)), + memcpy((void *)(buffer + sizeof(hpf_mspi_xfer_packet_msg_t)), (void *)packet->data_buf, packet->num_bytes); } - xfer_packet->data = buffer + sizeof(nrfe_mspi_xfer_packet_msg_t); + xfer_packet->data = buffer + sizeof(hpf_mspi_xfer_packet_msg_t); } else { xfer_packet->data = packet->data_buf; } @@ -733,11 +733,11 @@ static int send_packet(struct mspi_xfer_packet *packet, uint32_t timeout) /* Wait for the transfer to complete and receive data. */ if (packet->dir == MSPI_RX) { - /* In case of CONFIG_MSPI_NRFE_IPC_NO_COPY ipc_received if equal to 0 because + /* In case of CONFIG_MSPI_HPF_IPC_NO_COPY ipc_received if equal to 0 because * packet buffer address was passed to vpr and data was written directly there. * So there is no way of checking how much data was written. */ -#ifdef CONFIG_MSPI_NRFE_IPC_NO_COPY +#ifdef CONFIG_MSPI_HPF_IPC_NO_COPY /* In case of buffer alignment problems: copy received data from temporary buffer * back to users buffer. */ @@ -812,7 +812,7 @@ static int start_next_packet(struct mspi_xfer *xfer, uint32_t packets_done) static int api_transceive(const struct device *dev, const struct mspi_dev_id *dev_id, const struct mspi_xfer *req) { - struct mspi_nrfe_data *drv_data = dev->data; + struct mspi_hpf_data *drv_data = dev->data; uint32_t packets_done = 0; int rc; @@ -826,7 +826,7 @@ static int api_transceive(const struct device *dev, const struct mspi_dev_id *de return -EFAULT; } - drv_data->xfer_config_msg.opcode = NRFE_MSPI_CONFIG_XFER; + drv_data->xfer_config_msg.opcode = HPF_MSPI_CONFIG_XFER; drv_data->xfer_config_msg.xfer_config.device_index = dev_id->dev_idx; drv_data->xfer_config_msg.xfer_config.command_length = req->cmd_length; drv_data->xfer_config_msg.xfer_config.address_length = req->addr_length; @@ -834,8 +834,8 @@ static int api_transceive(const struct device *dev, const struct mspi_dev_id *de drv_data->xfer_config_msg.xfer_config.tx_dummy = req->tx_dummy; drv_data->xfer_config_msg.xfer_config.rx_dummy = req->rx_dummy; - rc = send_data(NRFE_MSPI_CONFIG_XFER, (void *)&drv_data->xfer_config_msg, - sizeof(nrfe_mspi_xfer_config_msg_t)); + rc = send_data(HPF_MSPI_CONFIG_XFER, (void *)&drv_data->xfer_config_msg, + sizeof(hpf_mspi_xfer_config_msg_t)); if (rc < 0) { LOG_ERR("Send xfer config error: %d", rc); @@ -886,45 +886,45 @@ static int dev_pm_action_cb(const struct device *dev, enum pm_device_action acti } #endif -#if defined(CONFIG_MSPI_NRFE_FAULT_TIMER) +#if defined(CONFIG_MSPI_HPF_FAULT_TIMER) static void flpr_fault_handler(const struct device *dev, void *user_data) { ARG_UNUSED(dev); ARG_UNUSED(user_data); - LOG_ERR("SDP fault detected."); + LOG_ERR("HPF fault detected."); } #endif /** - * @brief Initialize the MSPI NRFE driver. + * @brief Initialize the MSPI HPF driver. * - * This function initializes the MSPI NRFE driver. It is responsible for + * This function initializes the MSPI HPF driver. It is responsible for * setting up the hardware and registering the IPC endpoint for the * driver. * - * @param dev Pointer to the device structure for the MSPI NRFE driver. + * @param dev Pointer to the device structure for the MSPI HPF driver. * * @retval 0 If successful. * @retval -errno If an error occurs. */ -static int nrfe_mspi_init(const struct device *dev) +static int hpf_mspi_init(const struct device *dev) { int ret; const struct device *ipc_instance = DEVICE_DT_GET(DT_NODELABEL(ipc0)); - const struct mspi_nrfe_config *drv_cfg = dev->config; + const struct mspi_hpf_config *drv_cfg = dev->config; const struct mspi_dt_spec spec = { .bus = dev, .config = drv_cfg->mspicfg, }; -#if defined(CONFIG_MSPI_NRFE_FAULT_TIMER) +#if defined(CONFIG_MSPI_HPF_FAULT_TIMER) const struct device *const flpr_fault_timer = DEVICE_DT_GET(DT_NODELABEL(fault_timer)); const struct counter_top_cfg top_cfg = { .callback = flpr_fault_handler, .user_data = NULL, .flags = 0, - .ticks = counter_us_to_ticks(flpr_fault_timer, CONFIG_MSPI_NRFE_FAULT_TIMEOUT) + .ticks = counter_us_to_ticks(flpr_fault_timer, CONFIG_MSPI_HPF_FAULT_TIMEOUT) }; #endif @@ -949,7 +949,7 @@ static int nrfe_mspi_init(const struct device *dev) #if defined(CONFIG_MULTITHREADING) k_sem_take(&ipc_sem, K_FOREVER); #else - while (!atomic_test_and_clear_bit(&ipc_atomic_sem, NRFE_MSPI_EP_BOUNDED)) { + while (!atomic_test_and_clear_bit(&ipc_atomic_sem, HPF_MSPI_EP_BOUNDED)) { } #endif @@ -965,8 +965,8 @@ static int nrfe_mspi_init(const struct device *dev) } #endif -#if defined(CONFIG_MSPI_NRFE_FAULT_TIMER) - /* Configure timer as SDP `watchdog` */ +#if defined(CONFIG_MSPI_HPF_FAULT_TIMER) + /* Configure timer as HPF `watchdog` */ if (!device_is_ready(flpr_fault_timer)) { LOG_ERR("FLPR timer not ready"); return -1; @@ -979,13 +979,13 @@ static int nrfe_mspi_init(const struct device *dev) } /* Send timer address to FLPR */ - nrfe_mspi_flpr_timer_msg_t timer_data = { - .opcode = NRFE_MSPI_CONFIG_TIMER_PTR, + hpf_mspi_flpr_timer_msg_t timer_data = { + .opcode = HPF_MSPI_CONFIG_TIMER_PTR, .timer_ptr = (NRF_TIMER_Type *)DT_REG_ADDR(DT_NODELABEL(fault_timer)), }; - ret = send_data(NRFE_MSPI_CONFIG_TIMER_PTR, (const void *)&timer_data.opcode, - sizeof(nrfe_mspi_flpr_timer_msg_t)); + ret = send_data(HPF_MSPI_CONFIG_TIMER_PTR, (const void *)&timer_data.opcode, + sizeof(hpf_mspi_flpr_timer_msg_t)); if (ret < 0) { LOG_ERR("Send timer configuration failure"); return ret; @@ -1010,5 +1010,5 @@ static const struct mspi_driver_api drv_api = { PM_DEVICE_DT_INST_DEFINE(0, dev_pm_action_cb); -DEVICE_DT_INST_DEFINE(0, nrfe_mspi_init, PM_DEVICE_DT_INST_GET(0), &dev_data, &dev_config, - POST_KERNEL, CONFIG_MSPI_NRFE_INIT_PRIORITY, &drv_api); +DEVICE_DT_INST_DEFINE(0, hpf_mspi_init, PM_DEVICE_DT_INST_GET(0), &dev_data, &dev_config, + POST_KERNEL, CONFIG_MSPI_HPF_INIT_PRIORITY, &drv_api); diff --git a/include/drivers/gpio/hpf_gpio.h b/include/drivers/gpio/hpf_gpio.h new file mode 100644 index 000000000000..2f16d27ef689 --- /dev/null +++ b/include/drivers/gpio/hpf_gpio.h @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2024 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause + */ + +#ifndef HPF_GPIO_H +#define HPF_GPIO_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** @brief eGPIO opcodes. */ +typedef enum { + HPF_GPIO_PIN_CONFIGURE = 0, /* Configure eGPIO pin. */ + HPF_GPIO_PIN_CLEAR = 1, /* Clear eGPIO pin. */ + HPF_GPIO_PIN_SET = 2, /* Set eGPIO pin. */ + HPF_GPIO_PIN_TOGGLE = 3, /* Toggle eGPIO pin. */ +} hpf_gpio_opcode_t; + +/** @brief eGPIO data packet. */ +typedef struct __packed { + uint8_t opcode; /* eGPIO opcode. */ + uint32_t pin; /* Pin number when opcode is HPF_GPIO_PIN_CONFIGURE, pin mask for others. */ + uint8_t port; /* Port number. */ + uint32_t flags; /* Configuration flags when opcode + * is HPF_GPIO_PIN_CONFIGURE (gpio_flags_t). + * Not used in other cases. + */ +} hpf_gpio_data_packet_t; + +typedef struct { + struct hpf_shared_data_lock lock; + hpf_gpio_data_packet_t data; +} hpf_gpio_mbox_data_t; + +#ifdef __cplusplus +} +#endif + +#endif /* HPF_GPIO_H */ diff --git a/include/drivers/gpio/nrfe_gpio.h b/include/drivers/gpio/nrfe_gpio.h deleted file mode 100644 index 3881d3f21dee..000000000000 --- a/include/drivers/gpio/nrfe_gpio.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2024 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause - */ - -#ifndef NRFE_GPIO_H -#define NRFE_GPIO_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** @brief eGPIO opcodes. */ -typedef enum { - NRFE_GPIO_PIN_CONFIGURE = 0, /* Configure eGPIO pin. */ - NRFE_GPIO_PIN_CLEAR = 1, /* Clear eGPIO pin. */ - NRFE_GPIO_PIN_SET = 2, /* Set eGPIO pin. */ - NRFE_GPIO_PIN_TOGGLE = 3, /* Toggle eGPIO pin. */ -} nrfe_gpio_opcode_t; - -/** @brief eGPIO data packet. */ -typedef struct __packed { - uint8_t opcode; /* eGPIO opcode. */ - uint32_t pin; /* Pin number when opcode is NRFE_GPIO_PIN_CONFIGURE, pin mask for others. */ - uint8_t port; /* Port number. */ - uint32_t flags; /* Configuration flags when opcode - * is NRFE_GPIO_PIN_CONFIGURE (gpio_flags_t). - * Not used in other cases. - */ -} nrfe_gpio_data_packet_t; - -typedef struct { - struct nrfe_shared_data_lock lock; - nrfe_gpio_data_packet_t data; -} nrfe_gpio_mbox_data_t; - -#ifdef __cplusplus -} -#endif - -#endif /* NRFE_GPIO_H */ diff --git a/include/drivers/mspi/hpf_mspi.h b/include/drivers/mspi/hpf_mspi.h new file mode 100644 index 000000000000..0f7bace937a2 --- /dev/null +++ b/include/drivers/mspi/hpf_mspi.h @@ -0,0 +1,100 @@ +/* + * Copyright (c) 2024 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause + */ + +#ifndef DRIVERS_MSPI_HPF_MSPI_H +#define DRIVERS_MSPI_HPF_MSPI_H + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef CONFIG_SOC_NRF54L15 +#define HPF_MSPI_PINS_MAX 11 +#else +#error "Unsupported SoC for HPF MSPI" +#endif + +/** @brief eMSPI opcodes. */ +typedef enum { + HPF_MSPI_EP_BOUNDED = 0, + HPF_MSPI_CONFIG_TIMER_PTR, /* hpf_mspi_flpr_timer_msg_t */ + HPF_MSPI_CONFIG_PINS, /* hpf_mspi_pinctrl_soc_pin_msg_t */ + HPF_MSPI_CONFIG_DEV, /* hpf_mspi_dev_config_msg_t */ + HPF_MSPI_CONFIG_XFER, /* hpf_mspi_xfer_config_msg_t */ + HPF_MSPI_TX, /* hpf_mspi_xfer_packet_msg_t + data buffer at the end */ + HPF_MSPI_TXRX, + HPF_MSPI_HPF_APP_HARD_FAULT, + HPF_MSPI_WRONG_OPCODE, + HPF_MSPI_OPCODES_COUNT = HPF_MSPI_WRONG_OPCODE, + /* This is to make sizeof(hpf_mspi_opcode_t)==32bit, for alignment purpouse. */ + NREE_MSPI_OPCODES_MAX = 0xFFFFFFFFU, +} hpf_mspi_opcode_t; + +typedef struct { + enum mspi_io_mode io_mode; + enum mspi_cpp_mode cpp; + uint8_t ce_index; + enum mspi_ce_polarity ce_polarity; + uint16_t cnt0_value; +} hpf_mspi_dev_config_t; + +typedef struct { + uint8_t device_index; + uint8_t command_length; + uint8_t address_length; + bool hold_ce; + uint16_t tx_dummy; + uint16_t rx_dummy; +} hpf_mspi_xfer_config_t; + +typedef struct { + hpf_mspi_opcode_t opcode; /* HPF_MSPI_CONFIG_TIMER_PTR */ + NRF_TIMER_Type *timer_ptr; +} hpf_mspi_flpr_timer_msg_t; + +typedef struct { + hpf_mspi_opcode_t opcode; /* HPF_MSPI_CONFIG_PINS */ + uint8_t pins_count; + pinctrl_soc_pin_t pin[HPF_MSPI_PINS_MAX]; +} hpf_mspi_pinctrl_soc_pin_msg_t; + +typedef struct { + hpf_mspi_opcode_t opcode; /* HPF_MSPI_CONFIG_DEV */ + uint8_t device_index; + hpf_mspi_dev_config_t dev_config; +} hpf_mspi_dev_config_msg_t; + +typedef struct { + hpf_mspi_opcode_t opcode; /* HPF_MSPI_CONFIG_XFER */ + hpf_mspi_xfer_config_t xfer_config; +} hpf_mspi_xfer_config_msg_t; + +typedef struct { + hpf_mspi_opcode_t opcode; /* HPF_MSPI_TX or HPF_MSPI_TXRX */ + uint32_t command; + uint32_t address; + uint32_t num_bytes; /* Size of data */ +#if (defined(CONFIG_MSPI_HPF_IPC_NO_COPY) || defined(CONFIG_HPF_MSPI_IPC_NO_COPY)) + uint8_t *data; +#else + uint8_t data[]; /* Variable length data field at the end of packet. */ +#endif +} hpf_mspi_xfer_packet_msg_t; + +typedef struct { + hpf_mspi_opcode_t opcode; + uint8_t data; +} hpf_mspi_flpr_response_msg_t; + +#ifdef __cplusplus +} +#endif + +#endif /* DRIVERS_MSPI_HPF_MSPI_H */ diff --git a/include/drivers/mspi/nrfe_mspi.h b/include/drivers/mspi/nrfe_mspi.h deleted file mode 100644 index aacfa0b70e6a..000000000000 --- a/include/drivers/mspi/nrfe_mspi.h +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright (c) 2024 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause - */ - -#ifndef DRIVERS_MSPI_NRFE_MSPI_H -#define DRIVERS_MSPI_NRFE_MSPI_H - -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef CONFIG_SOC_NRF54L15 -#define NRFE_MSPI_PINS_MAX 11 -#else -#error "Unsupported SoC for SDP MSPI" -#endif - -/** @brief eMSPI opcodes. */ -typedef enum { - NRFE_MSPI_EP_BOUNDED = 0, - NRFE_MSPI_CONFIG_TIMER_PTR, /* nrfe_mspi_flpr_timer_msg_t */ - NRFE_MSPI_CONFIG_PINS, /* nrfe_mspi_pinctrl_soc_pin_msg_t */ - NRFE_MSPI_CONFIG_DEV, /* nrfe_mspi_dev_config_msg_t */ - NRFE_MSPI_CONFIG_XFER, /* nrfe_mspi_xfer_config_msg_t */ - NRFE_MSPI_TX, /* nrfe_mspi_xfer_packet_msg_t + data buffer at the end */ - NRFE_MSPI_TXRX, - NRFE_MSPI_SDP_APP_HARD_FAULT, - NRFE_MSPI_WRONG_OPCODE, - NRFE_MSPI_OPCODES_COUNT = NRFE_MSPI_WRONG_OPCODE, - /* This is to make sizeof(nrfe_mspi_opcode_t)==32bit, for alignment purpouse. */ - NREE_MSPI_OPCODES_MAX = 0xFFFFFFFFU, -} nrfe_mspi_opcode_t; - -typedef struct { - enum mspi_io_mode io_mode; - enum mspi_cpp_mode cpp; - uint8_t ce_index; - enum mspi_ce_polarity ce_polarity; - uint16_t cnt0_value; -} nrfe_mspi_dev_config_t; - -typedef struct { - uint8_t device_index; - uint8_t command_length; - uint8_t address_length; - bool hold_ce; - uint16_t tx_dummy; - uint16_t rx_dummy; -} nrfe_mspi_xfer_config_t; - -typedef struct { - nrfe_mspi_opcode_t opcode; /* NRFE_MSPI_CONFIG_TIMER_PTR */ - NRF_TIMER_Type *timer_ptr; -} nrfe_mspi_flpr_timer_msg_t; - -typedef struct { - nrfe_mspi_opcode_t opcode; /* NRFE_MSPI_CONFIG_PINS */ - uint8_t pins_count; - pinctrl_soc_pin_t pin[NRFE_MSPI_PINS_MAX]; -} nrfe_mspi_pinctrl_soc_pin_msg_t; - -typedef struct { - nrfe_mspi_opcode_t opcode; /* NRFE_MSPI_CONFIG_DEV */ - uint8_t device_index; - nrfe_mspi_dev_config_t dev_config; -} nrfe_mspi_dev_config_msg_t; - -typedef struct { - nrfe_mspi_opcode_t opcode; /* NRFE_MSPI_CONFIG_XFER */ - nrfe_mspi_xfer_config_t xfer_config; -} nrfe_mspi_xfer_config_msg_t; - -typedef struct { - nrfe_mspi_opcode_t opcode; /* NRFE_MSPI_TX or NRFE_MSPI_TXRX */ - uint32_t command; - uint32_t address; - uint32_t num_bytes; /* Size of data */ -#if (defined(CONFIG_MSPI_NRFE_IPC_NO_COPY) || defined(CONFIG_SDP_MSPI_IPC_NO_COPY)) - uint8_t *data; -#else - uint8_t data[]; /* Variable length data field at the end of packet. */ -#endif -} nrfe_mspi_xfer_packet_msg_t; - -typedef struct { - nrfe_mspi_opcode_t opcode; - uint8_t data; -} nrfe_mspi_flpr_response_msg_t; - -#ifdef __cplusplus -} -#endif - -#endif /* DRIVERS_MSPI_NRFE_MSPI_H */ diff --git a/include/sdp/nrfe_common.h b/include/hpf/hpf_common.h similarity index 76% rename from include/sdp/nrfe_common.h rename to include/hpf/hpf_common.h index 10e0dbe7642a..5c851ce2b650 100644 --- a/include/sdp/nrfe_common.h +++ b/include/hpf/hpf_common.h @@ -4,8 +4,8 @@ * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause */ -#ifndef SDP_NRFE_COMMON_H__ -#define SDP_NRFE_COMMON_H__ +#ifndef HPF_HPF_COMMON_H__ +#define HPF_HPF_COMMON_H__ #include @@ -20,7 +20,7 @@ enum data_lock_state { DATA_LOCK_STATE_READY, }; -struct nrfe_shared_data_lock { +struct hpf_shared_data_lock { uint32_t data_size; atomic_t locked; }; @@ -29,4 +29,4 @@ struct nrfe_shared_data_lock { } #endif -#endif /* SDP_NRFE_COMMON_H__ */ +#endif /* HPF_HPF_COMMON_H__ */ From 74e51aab664f096dead427a75482a8671756067f Mon Sep 17 00:00:00 2001 From: Magdalena Pastula Date: Tue, 8 Apr 2025 12:39:29 +0200 Subject: [PATCH 04/11] dts: bindings: rename sdp to hpf Change names sdp, nrfe and egpio to the new ones: hpf and hpf_gpio. Signed-off-by: Magdalena Pastula --- .../gpio/{nordic,nrfe-gpio.yaml => nordic,hpf-gpio.yaml} | 4 ++-- ...e-mspi-controller.yaml => nordic,hpf-mspi-controller.yaml} | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) rename dts/bindings/gpio/{nordic,nrfe-gpio.yaml => nordic,hpf-gpio.yaml} (86%) rename dts/bindings/mspi/{nordic,nrfe-mspi-controller.yaml => nordic,hpf-mspi-controller.yaml} (65%) diff --git a/dts/bindings/gpio/nordic,nrfe-gpio.yaml b/dts/bindings/gpio/nordic,hpf-gpio.yaml similarity index 86% rename from dts/bindings/gpio/nordic,nrfe-gpio.yaml rename to dts/bindings/gpio/nordic,hpf-gpio.yaml index 1ff75b1fda81..50d7f0b458cb 100644 --- a/dts/bindings/gpio/nordic,nrfe-gpio.yaml +++ b/dts/bindings/gpio/nordic,hpf-gpio.yaml @@ -1,8 +1,8 @@ # Copyright (c) 2024 Nordic Semiconductor # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause -description: SDP GPIO node +description: HPF GPIO node -compatible: "nordic,nrfe-gpio" +compatible: "nordic,hpf-gpio" include: [gpio-controller.yaml, base.yaml] diff --git a/dts/bindings/mspi/nordic,nrfe-mspi-controller.yaml b/dts/bindings/mspi/nordic,hpf-mspi-controller.yaml similarity index 65% rename from dts/bindings/mspi/nordic,nrfe-mspi-controller.yaml rename to dts/bindings/mspi/nordic,hpf-mspi-controller.yaml index 999d10286b78..e8fae8bc03ca 100644 --- a/dts/bindings/mspi/nordic,nrfe-mspi-controller.yaml +++ b/dts/bindings/mspi/nordic,hpf-mspi-controller.yaml @@ -1,8 +1,8 @@ # Copyright (c) 2024 Nordic Semiconductor ASA # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause -description: Nordic SDP MSPI controller +description: Nordic HPF MSPI controller -compatible: "nordic,nrfe-mspi-controller" +compatible: "nordic,hpf-mspi-controller" include: [mspi-controller.yaml, pinctrl-device.yaml] From cc9ecbaf47b3c2dac015f636ea4724f1477e9000 Mon Sep 17 00:00:00 2001 From: Magdalena Pastula Date: Tue, 8 Apr 2025 12:40:11 +0200 Subject: [PATCH 05/11] samples: zephyr: basic: blinky: rename sdp to hpf Change names sdp, nrfe and egpio to the new ones: hpf and hpf_gpio. Signed-off-by: Magdalena Pastula --- ...f54l15dk_nrf54l15_cpuapp_hpf_gpio.overlay} | 2 +- samples/zephyr/basic/blinky/sample.yaml | 32 +++++++++---------- 2 files changed, 17 insertions(+), 17 deletions(-) rename samples/zephyr/basic/blinky/boards/{nrf54l15dk_nrf54l15_cpuapp_egpio.overlay => nrf54l15dk_nrf54l15_cpuapp_hpf_gpio.overlay} (75%) diff --git a/samples/zephyr/basic/blinky/boards/nrf54l15dk_nrf54l15_cpuapp_egpio.overlay b/samples/zephyr/basic/blinky/boards/nrf54l15dk_nrf54l15_cpuapp_hpf_gpio.overlay similarity index 75% rename from samples/zephyr/basic/blinky/boards/nrf54l15dk_nrf54l15_cpuapp_egpio.overlay rename to samples/zephyr/basic/blinky/boards/nrf54l15dk_nrf54l15_cpuapp_hpf_gpio.overlay index a7f4e8730bed..58b6b1815703 100644 --- a/samples/zephyr/basic/blinky/boards/nrf54l15dk_nrf54l15_cpuapp_egpio.overlay +++ b/samples/zephyr/basic/blinky/boards/nrf54l15dk_nrf54l15_cpuapp_hpf_gpio.overlay @@ -5,5 +5,5 @@ */ &led0 { - gpios = <&egpio 9 GPIO_ACTIVE_HIGH>; + gpios = <&hpf_gpio 9 GPIO_ACTIVE_HIGH>; }; diff --git a/samples/zephyr/basic/blinky/sample.yaml b/samples/zephyr/basic/blinky/sample.yaml index 18d1f4777a5c..b1013e3daff6 100644 --- a/samples/zephyr/basic/blinky/sample.yaml +++ b/samples/zephyr/basic/blinky/sample.yaml @@ -4,22 +4,22 @@ common: tags: - LED - gpio - - ci_tests_drivers_sdp + - ci_tests_drivers_hpf depends_on: gpio tests: - nrf.extended.sample.basic.blinky.sdp.gpio.icmsg: + nrf.extended.sample.basic.blinky.hpf.gpio.icmsg: sysbuild: true platform_allow: - nrf54l15dk/nrf54l15/cpuapp integration_platforms: - nrf54l15dk/nrf54l15/cpuapp extra_args: - - SB_CONFIG_SDP=y - - SB_CONFIG_SDP_GPIO=y - - SB_CONFIG_SDP_GPIO_BACKEND_ICMSG=y + - SB_CONFIG_HPF=y + - SB_CONFIG_HPF_GPIO=y + - SB_CONFIG_HPF_GPIO_BACKEND_ICMSG=y - SB_CONFIG_PARTITION_MANAGER=n - - EXTRA_DTC_OVERLAY_FILE="./boards/nrf54l15dk_nrf54l15_cpuapp_egpio.overlay" + - EXTRA_DTC_OVERLAY_FILE="./boards/nrf54l15dk_nrf54l15_cpuapp_hpf_gpio.overlay" harness: console harness_config: type: multi_line @@ -28,18 +28,18 @@ tests: - "LED state: ON" - "LED state: OFF" - nrf.extended.sample.basic.blinky.sdp.gpio.mbox: + nrf.extended.sample.basic.blinky.hpf.gpio.mbox: sysbuild: true platform_allow: - nrf54l15dk/nrf54l15/cpuapp integration_platforms: - nrf54l15dk/nrf54l15/cpuapp extra_args: - - SB_CONFIG_SDP=y - - SB_CONFIG_SDP_GPIO=y - - SB_CONFIG_SDP_GPIO_BACKEND_MBOX=y + - SB_CONFIG_HPF=y + - SB_CONFIG_HPF_GPIO=y + - SB_CONFIG_HPF_GPIO_BACKEND_MBOX=y - SB_CONFIG_PARTITION_MANAGER=n - - EXTRA_DTC_OVERLAY_FILE="./boards/nrf54l15dk_nrf54l15_cpuapp_egpio.overlay" + - EXTRA_DTC_OVERLAY_FILE="./boards/nrf54l15dk_nrf54l15_cpuapp_hpf_gpio.overlay" harness: console harness_config: type: multi_line @@ -48,18 +48,18 @@ tests: - "LED state: ON" - "LED state: OFF" - nrf.extended.sample.basic.blinky.sdp.gpio.icbmsg: + nrf.extended.sample.basic.blinky.hpf.gpio.icbmsg: sysbuild: true platform_allow: - nrf54l15dk/nrf54l15/cpuapp integration_platforms: - nrf54l15dk/nrf54l15/cpuapp extra_args: - - SB_CONFIG_SDP=y - - SB_CONFIG_SDP_GPIO=y - - SB_CONFIG_SDP_GPIO_BACKEND_ICBMSG=y + - SB_CONFIG_HPF=y + - SB_CONFIG_HPF_GPIO=y + - SB_CONFIG_HPF_GPIO_BACKEND_ICBMSG=y - SB_CONFIG_PARTITION_MANAGER=n - - EXTRA_DTC_OVERLAY_FILE="./boards/nrf54l15dk_nrf54l15_cpuapp_egpio.overlay" + - EXTRA_DTC_OVERLAY_FILE="./boards/nrf54l15dk_nrf54l15_cpuapp_hpf_gpio.overlay" harness: console harness_config: type: multi_line From 98017364f1a2d4c32ea9190dfb06cf2a33b8decc Mon Sep 17 00:00:00 2001 From: Magdalena Pastula Date: Tue, 8 Apr 2025 12:40:59 +0200 Subject: [PATCH 06/11] tests: rename sdp to hpf Change names sdp, nrfe and egpio to the new ones: hpf and hpf_gpio. Signed-off-by: Magdalena Pastula --- .github/test-spec.yml | 4 +-- scripts/ci/tags.yaml | 9 +++-- scripts/{sdp => hpf}/remove_comments.py | 0 scripts/memory-threshold-list.yaml | 6 ++-- .../gpio/egpio_basic_api/src/test_egpio.h | 36 ------------------- .../gpio/egpio_basic_api/sysbuild.conf | 3 -- .../gpio/egpio_more_loops/sysbuild.conf | 3 -- .../gpio/egpio_more_loops/testcase.yaml | 25 ------------- .../CMakeLists.txt | 2 +- .../README.txt | 8 ++--- .../boards/nrf54l15dk_nrf54l15_cpuapp.overlay | 4 +-- .../dts/bindings/test-hpf-gpio.yaml} | 6 ++-- .../prj.conf | 0 .../hpf_gpio_basic_api/src/test_hpf_gpio.h | 36 +++++++++++++++++++ .../src/test_hpf_gpio_port.c} | 12 +++---- .../gpio/hpf_gpio_basic_api/sysbuild.conf | 3 ++ .../testcase.yaml | 14 ++++---- .../CMakeLists.txt | 2 +- .../boards/nrf54l15dk_nrf54l15_cpuapp.overlay | 6 ++-- .../prj.conf | 0 .../src/main.c | 34 +++++++++--------- .../gpio/hpf_gpio_more_loops/sysbuild.conf | 3 ++ .../gpio/hpf_gpio_more_loops/testcase.yaml | 25 +++++++++++++ tests/drivers/mspi/app_fault_timer/src/main.c | 4 +-- .../mspi/app_fault_timer/sysbuild.conf | 4 +-- .../mspi/app_fault_timer/testcase.yaml | 2 +- tests/drivers/mspi/trap_handler/src/main.c | 2 +- tests/drivers/mspi/trap_handler/sysbuild.conf | 8 ++--- tests/drivers/mspi/trap_handler/testcase.yaml | 10 +++--- .../zephyr/drivers/flash/common/testcase.yaml | 14 ++++---- .../boards/nrf54l15dk_nrf54l15_cpuapp.overlay | 10 +++--- tests/zephyr/drivers/mspi/api/sysbuild.conf | 4 +-- tests/zephyr/drivers/mspi/api/testcase.yaml | 4 +-- 33 files changed, 151 insertions(+), 152 deletions(-) rename scripts/{sdp => hpf}/remove_comments.py (100%) delete mode 100644 tests/drivers/gpio/egpio_basic_api/src/test_egpio.h delete mode 100644 tests/drivers/gpio/egpio_basic_api/sysbuild.conf delete mode 100644 tests/drivers/gpio/egpio_more_loops/sysbuild.conf delete mode 100644 tests/drivers/gpio/egpio_more_loops/testcase.yaml rename tests/drivers/gpio/{egpio_basic_api => hpf_gpio_basic_api}/CMakeLists.txt (90%) rename tests/drivers/gpio/{egpio_basic_api => hpf_gpio_basic_api}/README.txt (71%) rename tests/drivers/gpio/{egpio_basic_api => hpf_gpio_basic_api}/boards/nrf54l15dk_nrf54l15_cpuapp.overlay (78%) rename tests/drivers/gpio/{egpio_basic_api/dts/bindings/test-egpio.yaml => hpf_gpio_basic_api/dts/bindings/test-hpf-gpio.yaml} (79%) rename tests/drivers/gpio/{egpio_basic_api => hpf_gpio_basic_api}/prj.conf (100%) create mode 100644 tests/drivers/gpio/hpf_gpio_basic_api/src/test_hpf_gpio.h rename tests/drivers/gpio/{egpio_basic_api/src/test_egpio_port.c => hpf_gpio_basic_api/src/test_hpf_gpio_port.c} (97%) create mode 100644 tests/drivers/gpio/hpf_gpio_basic_api/sysbuild.conf rename tests/drivers/gpio/{egpio_basic_api => hpf_gpio_basic_api}/testcase.yaml (68%) rename tests/drivers/gpio/{egpio_more_loops => hpf_gpio_more_loops}/CMakeLists.txt (90%) rename tests/drivers/gpio/{egpio_more_loops => hpf_gpio_more_loops}/boards/nrf54l15dk_nrf54l15_cpuapp.overlay (79%) rename tests/drivers/gpio/{egpio_more_loops => hpf_gpio_more_loops}/prj.conf (100%) rename tests/drivers/gpio/{egpio_more_loops => hpf_gpio_more_loops}/src/main.c (93%) create mode 100644 tests/drivers/gpio/hpf_gpio_more_loops/sysbuild.conf create mode 100644 tests/drivers/gpio/hpf_gpio_more_loops/testcase.yaml diff --git a/.github/test-spec.yml b/.github/test-spec.yml index bdd149b790ee..a119d1c5270a 100644 --- a/.github/test-spec.yml +++ b/.github/test-spec.yml @@ -583,7 +583,7 @@ - "tests/subsys/suit/**/*" "CI-test-low-level": - - "applications/sdp/**/*" + - "applications/hpf/**/*" - "boards/nordic/nrf54lm20apdk/**/*" - "boards/nordic/nrf54lv10apdk/**/*" - "drivers/gpio/**/*" @@ -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/**/*" diff --git a/scripts/ci/tags.yaml b/scripts/ci/tags.yaml index 13c65c22b788..cdb9c6229d4c 100644 --- a/scripts/ci/tags.yaml +++ b/scripts/ci/tags.yaml @@ -1164,14 +1164,13 @@ ci_tests_benchmarks_current_consumption: - zephyr/soc/nordic/ - zephyr/drivers/sensor/nordic/temp/ -ci_tests_drivers_sdp: +ci_tests_drivers_hpf: files: - - nrf/applications/sdp/ + - nrf/applications/hpf/ - nrf/drivers/gpio/ - nrf/drivers/mspi/ - - nrf/snippets/sdp/ - - nrf/tests/drivers/gpio/egpio_basic_api/ - - nrf/tests/drivers/sdp_asm/ + - nrf/snippets/hpf/ + - nrf/tests/drivers/gpio/hpf_gpio_basic_api/ - nrf/tests/zephyr/drivers/flash/ - nrf/tests/zephyr/drivers/mspi/ - zephyr/drivers/mbox/ diff --git a/scripts/sdp/remove_comments.py b/scripts/hpf/remove_comments.py similarity index 100% rename from scripts/sdp/remove_comments.py rename to scripts/hpf/remove_comments.py diff --git a/scripts/memory-threshold-list.yaml b/scripts/memory-threshold-list.yaml index eb80ccb9d7ec..dda1104e45f7 100644 --- a/scripts/memory-threshold-list.yaml +++ b/scripts/memory-threshold-list.yaml @@ -87,7 +87,7 @@ - MarekPieta - scenarios: - - applications.sdp.gpio.mbox + - applications.hpf.gpio.mbox platforms: - all rom_size: 3800 @@ -96,7 +96,7 @@ - nrfconnect/ncs-ll-ursus - scenarios: - - applications.sdp.gpio.icmsg + - applications.hpf.gpio.icmsg platforms: - all rom_size: 5300 @@ -105,7 +105,7 @@ - nrfconnect/ncs-ll-ursus - scenarios: - - applications.sdp.gpio.icbmsg + - applications.hpf.gpio.icbmsg platforms: - all rom_size: 8700 diff --git a/tests/drivers/gpio/egpio_basic_api/src/test_egpio.h b/tests/drivers/gpio/egpio_basic_api/src/test_egpio.h deleted file mode 100644 index f876a01c20de..000000000000 --- a/tests/drivers/gpio/egpio_basic_api/src/test_egpio.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2024 Nordic Semiconductor ASA - * - * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause - */ - -#ifndef __TEST_EGPIO_H__ -#define __TEST_EGPIO_H__ - -#include -#include -#include - -#if DT_NODE_HAS_STATUS(DT_INST(0, test_egpio), okay) - -/* Execution of the test requires hardware configuration described in - * devicetree. See the test, egpio_basic_api binding local to this test - * for details. - */ -#define DEV_OUT DT_GPIO_CTLR(DT_INST(0, test_egpio), out_gpios) -#define DEV_IN DT_GPIO_CTLR(DT_INST(0, test_egpio), in_gpios) -#define PIN_OUT DT_GPIO_PIN(DT_INST(0, test_egpio), out_gpios) -#define PIN_OUT_FLAGS DT_GPIO_FLAGS(DT_INST(0, test_egpio), out_gpios) -#define PIN_IN DT_GPIO_PIN(DT_INST(0, test_egpio), in_gpios) -#define PIN_IN_FLAGS DT_GPIO_FLAGS(DT_INST(0, test_egpio), in_gpios) -#else -#error Unsupported board -#endif - -#ifndef PIN_OUT -/* For build-only testing use fixed pins. */ -#define PIN_OUT 10 -#define PIN_IN 14 -#endif - -#endif /* __TEST_EGPIO_H__ */ diff --git a/tests/drivers/gpio/egpio_basic_api/sysbuild.conf b/tests/drivers/gpio/egpio_basic_api/sysbuild.conf deleted file mode 100644 index b3eafbcf2b4a..000000000000 --- a/tests/drivers/gpio/egpio_basic_api/sysbuild.conf +++ /dev/null @@ -1,3 +0,0 @@ -SB_CONFIG_PARTITION_MANAGER=n -SB_CONFIG_SDP=y -SB_CONFIG_SDP_GPIO=y diff --git a/tests/drivers/gpio/egpio_more_loops/sysbuild.conf b/tests/drivers/gpio/egpio_more_loops/sysbuild.conf deleted file mode 100644 index b3eafbcf2b4a..000000000000 --- a/tests/drivers/gpio/egpio_more_loops/sysbuild.conf +++ /dev/null @@ -1,3 +0,0 @@ -SB_CONFIG_PARTITION_MANAGER=n -SB_CONFIG_SDP=y -SB_CONFIG_SDP_GPIO=y diff --git a/tests/drivers/gpio/egpio_more_loops/testcase.yaml b/tests/drivers/gpio/egpio_more_loops/testcase.yaml deleted file mode 100644 index bfd8bff09f7f..000000000000 --- a/tests/drivers/gpio/egpio_more_loops/testcase.yaml +++ /dev/null @@ -1,25 +0,0 @@ -common: - sysbuild: true - tags: - - drivers - - gpio - - ci_tests_drivers_sdp - depends_on: gpio - min_flash: 64 - harness: ztest - harness_config: - fixture: five_gpio_loopbacks - platform_allow: - - nrf54l15dk/nrf54l15/cpuapp - integration_platforms: - - nrf54l15dk/nrf54l15/cpuapp - -tests: - drivers.egpio.many_loops.icmsg: - extra_args: SB_CONFIG_SDP_GPIO_BACKEND_ICMSG=y - - drivers.egpio.many_loops.icbmsg: - extra_args: SB_CONFIG_SDP_GPIO_BACKEND_ICBMSG=y - - drivers.egpio.many_loops.mbox: - extra_args: SB_CONFIG_SDP_GPIO_BACKEND_MBOX=y diff --git a/tests/drivers/gpio/egpio_basic_api/CMakeLists.txt b/tests/drivers/gpio/hpf_gpio_basic_api/CMakeLists.txt similarity index 90% rename from tests/drivers/gpio/egpio_basic_api/CMakeLists.txt rename to tests/drivers/gpio/hpf_gpio_basic_api/CMakeLists.txt index a89186ec9ca3..e6e22eab84c1 100644 --- a/tests/drivers/gpio/egpio_basic_api/CMakeLists.txt +++ b/tests/drivers/gpio/hpf_gpio_basic_api/CMakeLists.txt @@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 3.20.0) find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) -project(egpio_basic_api) +project(hpf_gpio_basic_api) FILE(GLOB app_sources src/test*.c) target_sources(app PRIVATE ${app_sources}) diff --git a/tests/drivers/gpio/egpio_basic_api/README.txt b/tests/drivers/gpio/hpf_gpio_basic_api/README.txt similarity index 71% rename from tests/drivers/gpio/egpio_basic_api/README.txt rename to tests/drivers/gpio/hpf_gpio_basic_api/README.txt index ca7a86d0c003..8cdfbbc9c298 100644 --- a/tests/drivers/gpio/egpio_basic_api/README.txt +++ b/tests/drivers/gpio/hpf_gpio_basic_api/README.txt @@ -1,7 +1,7 @@ -eGPIO 2-Pin Test -############### +High-Performance Framework GPIO 2-Pin Test +########################################## -This application tests the eGPIO subsystem using a hardware configuration +This application tests the HPF GPIO subsystem using a hardware configuration where two GPIOs are directly wired together. The test pins are identified through a test-specific devicetree binding in the `dts/` subdirectory, implemented for specific boards by overlay files in the @@ -12,7 +12,7 @@ without an overlay, or for which the required wiring is not provided, will fail with an error like this: Validate device GPIO_0 - Check egpio output 10 connected to GPIO_1 input 14 + Check HPF GPIO output 10 connected to GPIO_1 input 14 FATAL output pin not wired to input pin? (out high => in low) No special build options are required to make use of the overlay. diff --git a/tests/drivers/gpio/egpio_basic_api/boards/nrf54l15dk_nrf54l15_cpuapp.overlay b/tests/drivers/gpio/hpf_gpio_basic_api/boards/nrf54l15dk_nrf54l15_cpuapp.overlay similarity index 78% rename from tests/drivers/gpio/egpio_basic_api/boards/nrf54l15dk_nrf54l15_cpuapp.overlay rename to tests/drivers/gpio/hpf_gpio_basic_api/boards/nrf54l15dk_nrf54l15_cpuapp.overlay index 539bbadfd637..6b68f7d72c80 100644 --- a/tests/drivers/gpio/egpio_basic_api/boards/nrf54l15dk_nrf54l15_cpuapp.overlay +++ b/tests/drivers/gpio/hpf_gpio_basic_api/boards/nrf54l15dk_nrf54l15_cpuapp.overlay @@ -6,8 +6,8 @@ / { resources { - compatible = "test-egpio"; - out-gpios = <&egpio 10 0>; + compatible = "test-hpf-gpio"; + out-gpios = <&hpf_gpio 10 0>; in-gpios = <&gpio1 14 0>; }; }; diff --git a/tests/drivers/gpio/egpio_basic_api/dts/bindings/test-egpio.yaml b/tests/drivers/gpio/hpf_gpio_basic_api/dts/bindings/test-hpf-gpio.yaml similarity index 79% rename from tests/drivers/gpio/egpio_basic_api/dts/bindings/test-egpio.yaml rename to tests/drivers/gpio/hpf_gpio_basic_api/dts/bindings/test-hpf-gpio.yaml index 98e50baffdef..5d4840732488 100644 --- a/tests/drivers/gpio/egpio_basic_api/dts/bindings/test-egpio.yaml +++ b/tests/drivers/gpio/hpf_gpio_basic_api/dts/bindings/test-hpf-gpio.yaml @@ -6,16 +6,16 @@ description: | This binding provides resources required to build and run the - tests/drivers/gpio/egpio_basic_api test in Zephyr. + tests/drivers/gpio/hpf_gpio_basic_api test in Zephyr. -compatible: "test-egpio" +compatible: "test-hpf-gpio" properties: out-gpios: type: phandle-array required: true description: | - Identity of an eGPIO that will be configured as an output. + Identity of an HPF GPIO that will be configured as an output. This must be on the GPIO instance to which FLPR has access, and physically connected to in-gpios. diff --git a/tests/drivers/gpio/egpio_basic_api/prj.conf b/tests/drivers/gpio/hpf_gpio_basic_api/prj.conf similarity index 100% rename from tests/drivers/gpio/egpio_basic_api/prj.conf rename to tests/drivers/gpio/hpf_gpio_basic_api/prj.conf diff --git a/tests/drivers/gpio/hpf_gpio_basic_api/src/test_hpf_gpio.h b/tests/drivers/gpio/hpf_gpio_basic_api/src/test_hpf_gpio.h new file mode 100644 index 000000000000..bd1acada9c55 --- /dev/null +++ b/tests/drivers/gpio/hpf_gpio_basic_api/src/test_hpf_gpio.h @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2024 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause + */ + +#ifndef __TEST_GPIO_H__ +#define __TEST_GPIO_H__ + +#include +#include +#include + +#if DT_NODE_HAS_STATUS(DT_INST(0, test_hpf_gpio), okay) + +/* Execution of the test requires hardware configuration described in + * devicetree. See the test, hpf_gpio_basic_api binding local to this test + * for details. + */ +#define DEV_OUT DT_GPIO_CTLR(DT_INST(0, test_hpf_gpio), out_gpios) +#define DEV_IN DT_GPIO_CTLR(DT_INST(0, test_hpf_gpio), in_gpios) +#define PIN_OUT DT_GPIO_PIN(DT_INST(0, test_hpf_gpio), out_gpios) +#define PIN_OUT_FLAGS DT_GPIO_FLAGS(DT_INST(0, test_hpf_gpio), out_gpios) +#define PIN_IN DT_GPIO_PIN(DT_INST(0, test_hpf_gpio), in_gpios) +#define PIN_IN_FLAGS DT_GPIO_FLAGS(DT_INST(0, test_hpf_gpio), in_gpios) +#else +#error Unsupported board +#endif + +#ifndef PIN_OUT +/* For build-only testing use fixed pins. */ +#define PIN_OUT 10 +#define PIN_IN 14 +#endif + +#endif /* __TEST_GPIO_H__ */ diff --git a/tests/drivers/gpio/egpio_basic_api/src/test_egpio_port.c b/tests/drivers/gpio/hpf_gpio_basic_api/src/test_hpf_gpio_port.c similarity index 97% rename from tests/drivers/gpio/egpio_basic_api/src/test_egpio_port.c rename to tests/drivers/gpio/hpf_gpio_basic_api/src/test_hpf_gpio_port.c index d348487e6b4b..936876553705 100644 --- a/tests/drivers/gpio/egpio_basic_api/src/test_egpio_port.c +++ b/tests/drivers/gpio/hpf_gpio_basic_api/src/test_hpf_gpio_port.c @@ -5,7 +5,7 @@ */ -#include "test_egpio.h" +#include "test_hpf_gpio.h" #define ALL_BITS ((gpio_port_value_t)-1) @@ -68,11 +68,11 @@ static int setup(void) gpio_port_value_t v1; TC_PRINT("-> Test uses following backend: "); - if (IS_ENABLED(CONFIG_GPIO_NRFE_EGPIO_BACKEND_ICMSG)) { + if (IS_ENABLED(CONFIG_GPIO_HPF_GPIO_BACKEND_ICMSG)) { TC_PRINT("ICMsg\n"); - } else if (IS_ENABLED(CONFIG_GPIO_NRFE_EGPIO_BACKEND_ICBMSG)) { + } else if (IS_ENABLED(CONFIG_GPIO_HPF_GPIO_BACKEND_ICBMSG)) { TC_PRINT("ICBMsg\n"); - } else if (IS_ENABLED(CONFIG_GPIO_NRFE_EGPIO_BACKEND_MBOX)) { + } else if (IS_ENABLED(CONFIG_GPIO_HPF_GPIO_BACKEND_MBOX)) { TC_PRINT("MBOX\n"); } else { TC_PRINT("unknown\n"); @@ -503,7 +503,7 @@ static int stress_gpio_pin_set_raw(void) return TC_PASS; } -ZTEST(egpio_port, test_egpio_port) +ZTEST(hpf_gpio_port, test_hpf_gpio_port) { zassert_equal(setup(), TC_PASS, "device setup failed"); @@ -522,4 +522,4 @@ ZTEST(egpio_port, test_egpio_port) } /* Test GPIO port configuration */ -ZTEST_SUITE(egpio_port, NULL, NULL, NULL, NULL, NULL); +ZTEST_SUITE(hpf_gpio_port, NULL, NULL, NULL, NULL, NULL); diff --git a/tests/drivers/gpio/hpf_gpio_basic_api/sysbuild.conf b/tests/drivers/gpio/hpf_gpio_basic_api/sysbuild.conf new file mode 100644 index 000000000000..18ef0a62c49f --- /dev/null +++ b/tests/drivers/gpio/hpf_gpio_basic_api/sysbuild.conf @@ -0,0 +1,3 @@ +SB_CONFIG_PARTITION_MANAGER=n +SB_CONFIG_HPF=y +SB_CONFIG_HPF_GPIO=y diff --git a/tests/drivers/gpio/egpio_basic_api/testcase.yaml b/tests/drivers/gpio/hpf_gpio_basic_api/testcase.yaml similarity index 68% rename from tests/drivers/gpio/egpio_basic_api/testcase.yaml rename to tests/drivers/gpio/hpf_gpio_basic_api/testcase.yaml index d8dea924e842..2576393b353d 100644 --- a/tests/drivers/gpio/egpio_basic_api/testcase.yaml +++ b/tests/drivers/gpio/hpf_gpio_basic_api/testcase.yaml @@ -2,7 +2,7 @@ common: tags: - drivers - gpio - - ci_tests_drivers_sdp + - ci_tests_drivers_hpf depends_on: gpio harness: ztest harness_config: @@ -10,29 +10,29 @@ common: timeout: 30 tests: - drivers.egpio.loopback.icmsg: + drivers.hpf.gpio.loopback.icmsg: min_flash: 64 platform_allow: - nrf54l15dk/nrf54l15/cpuapp integration_platforms: - nrf54l15dk/nrf54l15/cpuapp sysbuild: true - extra_args: SB_CONFIG_SDP_GPIO_BACKEND_ICMSG=y + extra_args: SB_CONFIG_HPF_GPIO_BACKEND_ICMSG=y - drivers.egpio.loopback.icbmsg: + drivers.hpf.gpio.loopback.icbmsg: min_flash: 64 platform_allow: - nrf54l15dk/nrf54l15/cpuapp integration_platforms: - nrf54l15dk/nrf54l15/cpuapp sysbuild: true - extra_args: SB_CONFIG_SDP_GPIO_BACKEND_ICBMSG=y + extra_args: SB_CONFIG_HPF_GPIO_BACKEND_ICBMSG=y - drivers.egpio.loopback.mbox: + drivers.hpf.gpio.loopback.mbox: min_flash: 64 platform_allow: - nrf54l15dk/nrf54l15/cpuapp integration_platforms: - nrf54l15dk/nrf54l15/cpuapp sysbuild: true - extra_args: SB_CONFIG_SDP_GPIO_BACKEND_MBOX=y + extra_args: SB_CONFIG_HPF_GPIO_BACKEND_MBOX=y diff --git a/tests/drivers/gpio/egpio_more_loops/CMakeLists.txt b/tests/drivers/gpio/hpf_gpio_more_loops/CMakeLists.txt similarity index 90% rename from tests/drivers/gpio/egpio_more_loops/CMakeLists.txt rename to tests/drivers/gpio/hpf_gpio_more_loops/CMakeLists.txt index 756ef88e6401..8fdc6781d99d 100644 --- a/tests/drivers/gpio/egpio_more_loops/CMakeLists.txt +++ b/tests/drivers/gpio/hpf_gpio_more_loops/CMakeLists.txt @@ -7,7 +7,7 @@ cmake_minimum_required(VERSION 3.20.0) find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) -project(egpio_more_loops) +project(hpf_gpio_more_loops) FILE(GLOB app_sources src/main.c) target_sources(app PRIVATE ${app_sources}) diff --git a/tests/drivers/gpio/egpio_more_loops/boards/nrf54l15dk_nrf54l15_cpuapp.overlay b/tests/drivers/gpio/hpf_gpio_more_loops/boards/nrf54l15dk_nrf54l15_cpuapp.overlay similarity index 79% rename from tests/drivers/gpio/egpio_more_loops/boards/nrf54l15dk_nrf54l15_cpuapp.overlay rename to tests/drivers/gpio/hpf_gpio_more_loops/boards/nrf54l15dk_nrf54l15_cpuapp.overlay index 39fbab719b5a..8750994b74a0 100644 --- a/tests/drivers/gpio/egpio_more_loops/boards/nrf54l15dk_nrf54l15_cpuapp.overlay +++ b/tests/drivers/gpio/hpf_gpio_more_loops/boards/nrf54l15dk_nrf54l15_cpuapp.overlay @@ -15,9 +15,9 @@ test_gpios { compatible = "gpio-leds"; out_gpios: out_gpios { - gpios = <&egpio 10 GPIO_ACTIVE_HIGH>, <&egpio 9 GPIO_ACTIVE_HIGH>, - <&egpio 8 GPIO_ACTIVE_HIGH>, <&egpio 7 GPIO_ACTIVE_HIGH>, - <&egpio 6 GPIO_ACTIVE_HIGH>; + gpios = <&hpf_gpio 10 GPIO_ACTIVE_HIGH>, <&hpf_gpio 9 GPIO_ACTIVE_HIGH>, + <&hpf_gpio 8 GPIO_ACTIVE_HIGH>, <&hpf_gpio 7 GPIO_ACTIVE_HIGH>, + <&hpf_gpio 6 GPIO_ACTIVE_HIGH>; }; in_gpios: in_gpios { diff --git a/tests/drivers/gpio/egpio_more_loops/prj.conf b/tests/drivers/gpio/hpf_gpio_more_loops/prj.conf similarity index 100% rename from tests/drivers/gpio/egpio_more_loops/prj.conf rename to tests/drivers/gpio/hpf_gpio_more_loops/prj.conf diff --git a/tests/drivers/gpio/egpio_more_loops/src/main.c b/tests/drivers/gpio/hpf_gpio_more_loops/src/main.c similarity index 93% rename from tests/drivers/gpio/egpio_more_loops/src/main.c rename to tests/drivers/gpio/hpf_gpio_more_loops/src/main.c index 396303ac326d..b8a8934b8193 100644 --- a/tests/drivers/gpio/egpio_more_loops/src/main.c +++ b/tests/drivers/gpio/hpf_gpio_more_loops/src/main.c @@ -5,7 +5,7 @@ */ #include -LOG_MODULE_REGISTER(egpio_loops, LOG_LEVEL_INF); +LOG_MODULE_REGISTER(hpf_gpio_loops, LOG_LEVEL_INF); #include #include @@ -376,7 +376,7 @@ static void generic_moving_1(void (*fn)(uint32_t)) * @brief test setting output GPIO high/low with * gpio_pin_configure() */ -ZTEST(egpio_extended, test_moving_1_with_configure_output) +ZTEST(hpf_gpio_extended, test_moving_1_with_configure_output) { generic_moving_1(&gpio_pin_configure_and_check); } @@ -385,7 +385,7 @@ ZTEST(egpio_extended, test_moving_1_with_configure_output) * @brief test setting output GPIO high/low with * gpio_port_set_masked_raw() */ -ZTEST(egpio_extended, test_moving_1_with_port_set_masked_raw) +ZTEST(hpf_gpio_extended, test_moving_1_with_port_set_masked_raw) { generic_moving_1(&gpio_port_set_masked_raw_and_check); } @@ -394,7 +394,7 @@ ZTEST(egpio_extended, test_moving_1_with_port_set_masked_raw) * @brief test setting output GPIO high/low with * gpio_port_set_masked() */ -ZTEST(egpio_extended, test_moving_1_with_port_set_masked) +ZTEST(hpf_gpio_extended, test_moving_1_with_port_set_masked) { generic_moving_1(&gpio_port_set_masked_and_check); } @@ -403,7 +403,7 @@ ZTEST(egpio_extended, test_moving_1_with_port_set_masked) * @brief test setting output GPIO high/low with * gpio_port_set_bits_raw() and gpio_port_clear_bits_raw() */ -ZTEST(egpio_extended, test_moving_1_with_set_clear_bits_raw) +ZTEST(hpf_gpio_extended, test_moving_1_with_set_clear_bits_raw) { generic_moving_1(&gpio_port_set_clear_bits_raw_and_check); } @@ -412,7 +412,7 @@ ZTEST(egpio_extended, test_moving_1_with_set_clear_bits_raw) * @brief test setting output GPIO high/low with * gpio_port_set_bits() and gpio_port_clear_bits() */ -ZTEST(egpio_extended, test_moving_1_with_set_clear_bits) +ZTEST(hpf_gpio_extended, test_moving_1_with_set_clear_bits) { generic_moving_1(&gpio_port_set_clear_bits_and_check); } @@ -421,7 +421,7 @@ ZTEST(egpio_extended, test_moving_1_with_set_clear_bits) * @brief test setting output GPIO high/low with * gpio_port_toggle_bits() */ -ZTEST(egpio_extended, test_moving_1_with_gpio_port_toggle_bits) +ZTEST(hpf_gpio_extended, test_moving_1_with_gpio_port_toggle_bits) { generic_moving_1(&gpio_port_toggle_bits_and_check); } @@ -430,7 +430,7 @@ ZTEST(egpio_extended, test_moving_1_with_gpio_port_toggle_bits) * @brief test setting output GPIO high/low with * gpio_port_set_clr_bits_raw() */ -ZTEST(egpio_extended, test_moving_1_with_gpio_port_set_clr_bits_raw) +ZTEST(hpf_gpio_extended, test_moving_1_with_gpio_port_set_clr_bits_raw) { generic_moving_1(&gpio_port_set_clr_bits_raw_and_check); } @@ -439,7 +439,7 @@ ZTEST(egpio_extended, test_moving_1_with_gpio_port_set_clr_bits_raw) * @brief test setting output GPIO high/low with * gpio_port_set_clr_bits() */ -ZTEST(egpio_extended, test_moving_1_with_gpio_port_set_clr_bits) +ZTEST(hpf_gpio_extended, test_moving_1_with_gpio_port_set_clr_bits) { generic_moving_1(&gpio_port_set_clr_bits_and_check); } @@ -448,7 +448,7 @@ ZTEST(egpio_extended, test_moving_1_with_gpio_port_set_clr_bits) * @brief test setting output GPIO high/low with * gpio_pin_set_raw() */ -ZTEST(egpio_extended, test_moving_1_with_gpio_pin_set_raw) +ZTEST(hpf_gpio_extended, test_moving_1_with_gpio_pin_set_raw) { generic_moving_1(&gpio_pin_set_raw_and_check); } @@ -457,7 +457,7 @@ ZTEST(egpio_extended, test_moving_1_with_gpio_pin_set_raw) * @brief test setting output GPIO high/low with * gpio_pin_set() */ -ZTEST(egpio_extended, test_moving_1_with_gpio_pin_set) +ZTEST(hpf_gpio_extended, test_moving_1_with_gpio_pin_set) { generic_moving_1(&gpio_pin_set_and_check); } @@ -466,7 +466,7 @@ ZTEST(egpio_extended, test_moving_1_with_gpio_pin_set) * @brief test setting output GPIO high/low with * gpio_pin_toggle() */ -ZTEST(egpio_extended, test_moving_1_with_gpio_pin_toggle) +ZTEST(hpf_gpio_extended, test_moving_1_with_gpio_pin_toggle) { generic_moving_1(&gpio_pin_toggle_and_check); } @@ -474,7 +474,7 @@ ZTEST(egpio_extended, test_moving_1_with_gpio_pin_toggle) /** * @brief Stress test - send many GPIO requests one by one */ -ZTEST(egpio_extended, test_stress_gpio_set) +ZTEST(hpf_gpio_extended, test_stress_gpio_set) { int rc; int rc_acc = 0; @@ -515,11 +515,11 @@ static void *suite_setup(void) TC_PRINT("Test executed on %s\n", CONFIG_BOARD_TARGET); TC_PRINT("-> Test uses following backend: "); - if (IS_ENABLED(CONFIG_GPIO_NRFE_EGPIO_BACKEND_ICMSG)) { + if (IS_ENABLED(CONFIG_GPIO_HPF_GPIO_BACKEND_ICMSG)) { TC_PRINT("ICMsg\n"); - } else if (IS_ENABLED(CONFIG_GPIO_NRFE_EGPIO_BACKEND_ICBMSG)) { + } else if (IS_ENABLED(CONFIG_GPIO_HPF_GPIO_BACKEND_ICBMSG)) { TC_PRINT("ICBMsg\n"); - } else if (IS_ENABLED(CONFIG_GPIO_NRFE_EGPIO_BACKEND_MBOX)) { + } else if (IS_ENABLED(CONFIG_GPIO_HPF_GPIO_BACKEND_MBOX)) { TC_PRINT("MBOX\n"); } else { TC_PRINT("unknown\n"); @@ -543,4 +543,4 @@ static void *suite_setup(void) return NULL; } -ZTEST_SUITE(egpio_extended, NULL, suite_setup, NULL, NULL, NULL); +ZTEST_SUITE(hpf_gpio_extended, NULL, suite_setup, NULL, NULL, NULL); diff --git a/tests/drivers/gpio/hpf_gpio_more_loops/sysbuild.conf b/tests/drivers/gpio/hpf_gpio_more_loops/sysbuild.conf new file mode 100644 index 000000000000..18ef0a62c49f --- /dev/null +++ b/tests/drivers/gpio/hpf_gpio_more_loops/sysbuild.conf @@ -0,0 +1,3 @@ +SB_CONFIG_PARTITION_MANAGER=n +SB_CONFIG_HPF=y +SB_CONFIG_HPF_GPIO=y diff --git a/tests/drivers/gpio/hpf_gpio_more_loops/testcase.yaml b/tests/drivers/gpio/hpf_gpio_more_loops/testcase.yaml new file mode 100644 index 000000000000..b5454eb8741e --- /dev/null +++ b/tests/drivers/gpio/hpf_gpio_more_loops/testcase.yaml @@ -0,0 +1,25 @@ +common: + sysbuild: true + tags: + - drivers + - gpio + - ci_tests_drivers_hpf + depends_on: gpio + min_flash: 64 + harness: ztest + harness_config: + fixture: five_gpio_loopbacks + platform_allow: + - nrf54l15dk/nrf54l15/cpuapp + integration_platforms: + - nrf54l15dk/nrf54l15/cpuapp + +tests: + drivers.hpf.gpio.many_loops.icmsg: + extra_args: SB_CONFIG_HPF_GPIO_BACKEND_ICMSG=y + + drivers.hpf.gpio.many_loops.icbmsg: + extra_args: SB_CONFIG_HPF_GPIO_BACKEND_ICBMSG=y + + drivers.hpf.gpio.many_loops.mbox: + extra_args: SB_CONFIG_HPF_GPIO_BACKEND_MBOX=y diff --git a/tests/drivers/mspi/app_fault_timer/src/main.c b/tests/drivers/mspi/app_fault_timer/src/main.c index e18042c11794..e5872d9283aa 100644 --- a/tests/drivers/mspi/app_fault_timer/src/main.c +++ b/tests/drivers/mspi/app_fault_timer/src/main.c @@ -36,7 +36,7 @@ static void fault_timer_before(void *arg) .callback = timer_irq_handler, .user_data = NULL, .flags = 0, - .ticks = counter_us_to_ticks(flpr_fault_timer, CONFIG_MSPI_NRFE_FAULT_TIMEOUT) + .ticks = counter_us_to_ticks(flpr_fault_timer, CONFIG_MSPI_HPF_FAULT_TIMEOUT) }; zassert_true(device_is_ready(flash_dev)); @@ -50,7 +50,7 @@ static void fault_timer_before(void *arg) /** * @brief Check if the timer is not triggered when the flash is being read. * When we send commands to the flash the timer should be reset and stopped by FLPR. - * If it is not then we will get an IRQ after CONFIG_MSPI_NRFE_FAULT_TIMEOUT. + * If it is not then we will get an IRQ after CONFIG_MSPI_HPF_FAULT_TIMEOUT. */ ZTEST(hpf_fault_timer, test_timer_timeout) { diff --git a/tests/drivers/mspi/app_fault_timer/sysbuild.conf b/tests/drivers/mspi/app_fault_timer/sysbuild.conf index e06515e09e85..a4e7a725ff16 100644 --- a/tests/drivers/mspi/app_fault_timer/sysbuild.conf +++ b/tests/drivers/mspi/app_fault_timer/sysbuild.conf @@ -6,5 +6,5 @@ SB_CONFIG_VPR_LAUNCHER=n SB_CONFIG_PARTITION_MANAGER=n -SB_CONFIG_SDP=y -SB_CONFIG_SDP_MSPI=y +SB_CONFIG_HPF=y +SB_CONFIG_HPF_MSPI=y diff --git a/tests/drivers/mspi/app_fault_timer/testcase.yaml b/tests/drivers/mspi/app_fault_timer/testcase.yaml index 4fa613f832df..84c140b7bd0b 100644 --- a/tests/drivers/mspi/app_fault_timer/testcase.yaml +++ b/tests/drivers/mspi/app_fault_timer/testcase.yaml @@ -1,6 +1,6 @@ common: tags: - - ci_tests_drivers_sdp + - ci_tests_drivers_hpf - drivers - mspi harness: ztest diff --git a/tests/drivers/mspi/trap_handler/src/main.c b/tests/drivers/mspi/trap_handler/src/main.c index faae9f3b98af..e4d734304dbc 100644 --- a/tests/drivers/mspi/trap_handler/src/main.c +++ b/tests/drivers/mspi/trap_handler/src/main.c @@ -9,7 +9,7 @@ #include #include -#define MSPI_BUS_NODE DT_NODELABEL(sdp_mspi) +#define MSPI_BUS_NODE DT_NODELABEL(hpf_mspi) static const struct device *mspi_devices[] = { DT_FOREACH_CHILD_STATUS_OKAY_SEP(MSPI_BUS_NODE, DEVICE_DT_GET, (,)) diff --git a/tests/drivers/mspi/trap_handler/sysbuild.conf b/tests/drivers/mspi/trap_handler/sysbuild.conf index fc40c9f196bb..524d43499bfe 100644 --- a/tests/drivers/mspi/trap_handler/sysbuild.conf +++ b/tests/drivers/mspi/trap_handler/sysbuild.conf @@ -6,9 +6,9 @@ SB_CONFIG_VPR_LAUNCHER=n SB_CONFIG_PARTITION_MANAGER=n -SB_CONFIG_SDP=y -SB_CONFIG_SDP_MSPI=y +SB_CONFIG_HPF=y +SB_CONFIG_HPF_MSPI=y -# Enable SDP developer mode to disable CI errors. +# Enable HPF developer mode to disable CI errors. # It is related to rebuilding the asm part after enabling ASSERT. -SB_CONFIG_SDP_DEVELOPER_MODE=y +SB_CONFIG_HPF_DEVELOPER_MODE=y diff --git a/tests/drivers/mspi/trap_handler/testcase.yaml b/tests/drivers/mspi/trap_handler/testcase.yaml index c088f2835955..50fbaf132c21 100644 --- a/tests/drivers/mspi/trap_handler/testcase.yaml +++ b/tests/drivers/mspi/trap_handler/testcase.yaml @@ -1,6 +1,6 @@ common: tags: - - ci_tests_drivers_sdp + - ci_tests_drivers_hpf - drivers - mspi sysbuild: true @@ -8,7 +8,7 @@ common: harness_config: type: one_line regex: - - ">>> SDP APP FATAL ERROR" + - ">>> HPF APP FATAL ERROR" tests: drivers.mspi.hpf_trap_handler: @@ -18,6 +18,6 @@ tests: - nrf54l15dk/nrf54l15/cpuapp extra_args: - EXTRA_DTC_OVERLAY_FILE="./boards/nrf54l15dk_nrf54l15_cpuapp_memory.overlay" - - sdp_CONFIG_ASSERT=y - - sdp_CONFIG_ASSERT_TEST=y - - sdp_EXTRA_DTC_OVERLAY_FILE="${ZEPHYR_NRF_MODULE_DIR}/tests/drivers/mspi/trap_handler/boards/nrf54l15dk_nrf54l15_cpuflpr_memory.overlay" + - hpf_CONFIG_ASSERT=y + - hpf_CONFIG_ASSERT_TEST=y + - hpf_EXTRA_DTC_OVERLAY_FILE="${ZEPHYR_NRF_MODULE_DIR}/tests/drivers/mspi/trap_handler/boards/nrf54l15dk_nrf54l15_cpuflpr_memory.overlay" diff --git a/tests/zephyr/drivers/flash/common/testcase.yaml b/tests/zephyr/drivers/flash/common/testcase.yaml index af6225314ec7..6ebde025540c 100644 --- a/tests/zephyr/drivers/flash/common/testcase.yaml +++ b/tests/zephyr/drivers/flash/common/testcase.yaml @@ -2,25 +2,25 @@ common: tags: - drivers - flash - - ci_tests_drivers_sdp + - ci_tests_drivers_hpf tests: - nrf.extended.drivers.flash.common.sdp.quad: + nrf.extended.drivers.flash.common.hpf.quad: platform_allow: - nrf54l15dk/nrf54l15/cpuapp integration_platforms: - nrf54l15dk/nrf54l15/cpuapp extra_args: - - SB_CONFIG_SDP=y - - SB_CONFIG_SDP_MSPI=y - nrf.extended.drivers.flash.common.sdp.single: + - SB_CONFIG_HPF=y + - SB_CONFIG_HPF_MSPI=y + nrf.extended.drivers.flash.common.hpf.single: platform_allow: - nrf54l15dk/nrf54l15/cpuapp integration_platforms: - nrf54l15dk/nrf54l15/cpuapp extra_args: - EXTRA_DTC_OVERLAY_FILE="single.overlay" - - SB_CONFIG_SDP=y - - SB_CONFIG_SDP_MSPI=y + - SB_CONFIG_HPF=y + - SB_CONFIG_HPF_MSPI=y nrf.extended.drivers.flash.common.sqspi: platform_allow: - nrf54l15dk/nrf54l15/cpuapp diff --git a/tests/zephyr/drivers/mspi/api/boards/nrf54l15dk_nrf54l15_cpuapp.overlay b/tests/zephyr/drivers/mspi/api/boards/nrf54l15dk_nrf54l15_cpuapp.overlay index 99170b816c66..415e8a12c55a 100644 --- a/tests/zephyr/drivers/mspi/api/boards/nrf54l15dk_nrf54l15_cpuapp.overlay +++ b/tests/zephyr/drivers/mspi/api/boards/nrf54l15dk_nrf54l15_cpuapp.overlay @@ -6,20 +6,20 @@ / { aliases { - mspi0 = &sdp_mspi_api; + mspi0 = &hpf_mspi_api; }; }; &cpuflpr_vpr { status = "okay"; - sdp_mspi_api: sdp_mspi_api { - compatible = "nordic,nrfe-mspi-controller"; + hpf_mspi_api: hpf_mspi_api { + compatible = "nordic,hpf-mspi-controller"; #address-cells = <1>; #size-cells = <0>; clock-frequency = ; - pinctrl-0 = <&sdp_mspi_default>; - pinctrl-1 = <&sdp_mspi_sleep>; + pinctrl-0 = <&hpf_mspi_default>; + pinctrl-1 = <&hpf_mspi_sleep>; pinctrl-names = "default", "sleep"; status = "okay"; diff --git a/tests/zephyr/drivers/mspi/api/sysbuild.conf b/tests/zephyr/drivers/mspi/api/sysbuild.conf index 05aa885118a3..b68e58856c60 100644 --- a/tests/zephyr/drivers/mspi/api/sysbuild.conf +++ b/tests/zephyr/drivers/mspi/api/sysbuild.conf @@ -1,4 +1,4 @@ SB_CONFIG_VPR_LAUNCHER=n SB_CONFIG_PARTITION_MANAGER=n -SB_CONFIG_SDP=y -SB_CONFIG_SDP_MSPI=y +SB_CONFIG_HPF=y +SB_CONFIG_HPF_MSPI=y diff --git a/tests/zephyr/drivers/mspi/api/testcase.yaml b/tests/zephyr/drivers/mspi/api/testcase.yaml index f210eb44d842..61adf9c4b940 100644 --- a/tests/zephyr/drivers/mspi/api/testcase.yaml +++ b/tests/zephyr/drivers/mspi/api/testcase.yaml @@ -6,9 +6,9 @@ common: tags: - drivers - mspi - - ci_tests_drivers_sdp + - ci_tests_drivers_hpf tests: - nrf.extended.drivers.mspi.api.sdp: + nrf.extended.drivers.mspi.api.hpf: platform_allow: - nrf54l15dk/nrf54l15/cpuapp integration_platforms: From f72be9f8fb9f8a196a4f4fa9e353d4c7cd21c320 Mon Sep 17 00:00:00 2001 From: Magdalena Pastula Date: Tue, 8 Apr 2025 12:41:23 +0200 Subject: [PATCH 07/11] snippets: sdp: rename to hpf Change names sdp, nrfe and egpio to the new ones: hpf and hpf_gpio. Signed-off-by: Magdalena Pastula --- .../gpio/hpf-gpio-app.overlay} | 4 +-- snippets/{sdp => hpf}/gpio/icbmsg/app.conf | 2 +- snippets/hpf/gpio/icbmsg/flpr.conf | 1 + snippets/{sdp => hpf}/gpio/icbmsg/snippet.yml | 2 +- .../gpio/icbmsg/soc/nrf54l15_cpuapp.overlay | 4 +-- .../gpio/icbmsg/soc/nrf54l15_cpuflpr.overlay | 0 snippets/hpf/gpio/icmsg/app.conf | 1 + snippets/hpf/gpio/icmsg/flpr.conf | 1 + snippets/{sdp => hpf}/gpio/icmsg/snippet.yml | 2 +- .../gpio/icmsg/soc/nrf54l15_cpuapp.overlay | 4 +-- .../gpio/icmsg/soc/nrf54l15_cpuflpr.overlay | 0 snippets/hpf/gpio/mbox/app.conf | 1 + snippets/hpf/gpio/mbox/flpr.conf | 1 + snippets/{sdp => hpf}/gpio/mbox/snippet.yml | 2 +- .../gpio/mbox/soc/nrf54l15_cpuapp.overlay | 4 +-- .../gpio/mbox/soc/nrf54l15_cpuflpr.overlay | 0 snippets/{sdp => hpf}/mspi/app.conf | 0 .../board/nrf54l15dk_nrf54l15_cpuapp.overlay | 2 +- .../mspi/hpf-mspi-app.overlay} | 6 ++-- snippets/{sdp => hpf}/mspi/snippet.yml | 4 +-- .../mspi/soc/nrf54l15_cpuapp.overlay | 34 +++++++++---------- snippets/sdp/gpio/icbmsg/flpr.conf | 1 - snippets/sdp/gpio/icmsg/app.conf | 1 - snippets/sdp/gpio/icmsg/flpr.conf | 1 - snippets/sdp/gpio/mbox/app.conf | 1 - snippets/sdp/gpio/mbox/flpr.conf | 1 - 26 files changed, 40 insertions(+), 40 deletions(-) rename snippets/{sdp/gpio/sdp-gpio-app.overlay => hpf/gpio/hpf-gpio-app.overlay} (82%) rename snippets/{sdp => hpf}/gpio/icbmsg/app.conf (51%) create mode 100644 snippets/hpf/gpio/icbmsg/flpr.conf rename snippets/{sdp => hpf}/gpio/icbmsg/snippet.yml (94%) rename snippets/{sdp => hpf}/gpio/icbmsg/soc/nrf54l15_cpuapp.overlay (96%) rename snippets/{sdp => hpf}/gpio/icbmsg/soc/nrf54l15_cpuflpr.overlay (100%) create mode 100644 snippets/hpf/gpio/icmsg/app.conf create mode 100644 snippets/hpf/gpio/icmsg/flpr.conf rename snippets/{sdp => hpf}/gpio/icmsg/snippet.yml (94%) rename snippets/{sdp => hpf}/gpio/icmsg/soc/nrf54l15_cpuapp.overlay (96%) rename snippets/{sdp => hpf}/gpio/icmsg/soc/nrf54l15_cpuflpr.overlay (100%) create mode 100644 snippets/hpf/gpio/mbox/app.conf create mode 100644 snippets/hpf/gpio/mbox/flpr.conf rename snippets/{sdp => hpf}/gpio/mbox/snippet.yml (94%) rename snippets/{sdp => hpf}/gpio/mbox/soc/nrf54l15_cpuapp.overlay (95%) rename snippets/{sdp => hpf}/gpio/mbox/soc/nrf54l15_cpuflpr.overlay (100%) rename snippets/{sdp => hpf}/mspi/app.conf (100%) rename snippets/{sdp => hpf}/mspi/board/nrf54l15dk_nrf54l15_cpuapp.overlay (98%) rename snippets/{sdp/mspi/sdp-mspi-app.overlay => hpf/mspi/hpf-mspi-app.overlay} (71%) rename snippets/{sdp => hpf}/mspi/snippet.yml (85%) rename snippets/{sdp => hpf}/mspi/soc/nrf54l15_cpuapp.overlay (70%) delete mode 100644 snippets/sdp/gpio/icbmsg/flpr.conf delete mode 100644 snippets/sdp/gpio/icmsg/app.conf delete mode 100644 snippets/sdp/gpio/icmsg/flpr.conf delete mode 100644 snippets/sdp/gpio/mbox/app.conf delete mode 100644 snippets/sdp/gpio/mbox/flpr.conf diff --git a/snippets/sdp/gpio/sdp-gpio-app.overlay b/snippets/hpf/gpio/hpf-gpio-app.overlay similarity index 82% rename from snippets/sdp/gpio/sdp-gpio-app.overlay rename to snippets/hpf/gpio/hpf-gpio-app.overlay index 1c83a452fe22..ea86f736384e 100644 --- a/snippets/sdp/gpio/sdp-gpio-app.overlay +++ b/snippets/hpf/gpio/hpf-gpio-app.overlay @@ -6,8 +6,8 @@ &cpuflpr_vpr { status = "okay"; - egpio: gpio { - compatible = "nordic,nrfe-gpio"; + hpf_gpio: gpio { + compatible = "nordic,hpf-gpio"; gpio-controller; #gpio-cells = <0x2>; ngpios = <0x10>; diff --git a/snippets/sdp/gpio/icbmsg/app.conf b/snippets/hpf/gpio/icbmsg/app.conf similarity index 51% rename from snippets/sdp/gpio/icbmsg/app.conf rename to snippets/hpf/gpio/icbmsg/app.conf index ae2abf45cac0..0912f7fb1b6c 100644 --- a/snippets/sdp/gpio/icbmsg/app.conf +++ b/snippets/hpf/gpio/icbmsg/app.conf @@ -1,2 +1,2 @@ -CONFIG_GPIO_NRFE_EGPIO_BACKEND_ICBMSG=y +CONFIG_GPIO_HPF_GPIO_BACKEND_ICBMSG=y CONFIG_IPC_SERVICE_BACKEND_ICBMSG_NUM_EP=1 diff --git a/snippets/hpf/gpio/icbmsg/flpr.conf b/snippets/hpf/gpio/icbmsg/flpr.conf new file mode 100644 index 000000000000..e54ab26b2fa0 --- /dev/null +++ b/snippets/hpf/gpio/icbmsg/flpr.conf @@ -0,0 +1 @@ +CONFIG_HPF_GPIO_BACKEND_ICBMSG=y diff --git a/snippets/sdp/gpio/icbmsg/snippet.yml b/snippets/hpf/gpio/icbmsg/snippet.yml similarity index 94% rename from snippets/sdp/gpio/icbmsg/snippet.yml rename to snippets/hpf/gpio/icbmsg/snippet.yml index 351014e5ce40..263e6bc76d99 100644 --- a/snippets/sdp/gpio/icbmsg/snippet.yml +++ b/snippets/hpf/gpio/icbmsg/snippet.yml @@ -4,7 +4,7 @@ # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause # -name: sdp-gpio-icbmsg +name: hpf-gpio-icbmsg boards: /.*/nrf54l15/cpuapp/: diff --git a/snippets/sdp/gpio/icbmsg/soc/nrf54l15_cpuapp.overlay b/snippets/hpf/gpio/icbmsg/soc/nrf54l15_cpuapp.overlay similarity index 96% rename from snippets/sdp/gpio/icbmsg/soc/nrf54l15_cpuapp.overlay rename to snippets/hpf/gpio/icbmsg/soc/nrf54l15_cpuapp.overlay index adfc2e6379db..fc7161bcf3f9 100644 --- a/snippets/sdp/gpio/icbmsg/soc/nrf54l15_cpuapp.overlay +++ b/snippets/hpf/gpio/icbmsg/soc/nrf54l15_cpuapp.overlay @@ -4,7 +4,7 @@ * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause */ -#include "../../sdp-gpio-app.overlay" +#include "../../hpf-gpio-app.overlay" / { soc { @@ -75,6 +75,6 @@ status = "okay"; }; -&egpio { +&hpf_gpio { status = "okay"; }; diff --git a/snippets/sdp/gpio/icbmsg/soc/nrf54l15_cpuflpr.overlay b/snippets/hpf/gpio/icbmsg/soc/nrf54l15_cpuflpr.overlay similarity index 100% rename from snippets/sdp/gpio/icbmsg/soc/nrf54l15_cpuflpr.overlay rename to snippets/hpf/gpio/icbmsg/soc/nrf54l15_cpuflpr.overlay diff --git a/snippets/hpf/gpio/icmsg/app.conf b/snippets/hpf/gpio/icmsg/app.conf new file mode 100644 index 000000000000..3795ea3e8d4b --- /dev/null +++ b/snippets/hpf/gpio/icmsg/app.conf @@ -0,0 +1 @@ +CONFIG_GPIO_HPF_GPIO_BACKEND_ICMSG=y diff --git a/snippets/hpf/gpio/icmsg/flpr.conf b/snippets/hpf/gpio/icmsg/flpr.conf new file mode 100644 index 000000000000..1f4a51b36595 --- /dev/null +++ b/snippets/hpf/gpio/icmsg/flpr.conf @@ -0,0 +1 @@ +CONFIG_HPF_GPIO_BACKEND_ICMSG=y diff --git a/snippets/sdp/gpio/icmsg/snippet.yml b/snippets/hpf/gpio/icmsg/snippet.yml similarity index 94% rename from snippets/sdp/gpio/icmsg/snippet.yml rename to snippets/hpf/gpio/icmsg/snippet.yml index 70c15d5a0c27..a49c78b34380 100644 --- a/snippets/sdp/gpio/icmsg/snippet.yml +++ b/snippets/hpf/gpio/icmsg/snippet.yml @@ -4,7 +4,7 @@ # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause # -name: sdp-gpio-icmsg +name: hpf-gpio-icmsg boards: /.*/nrf54l15/cpuapp/: diff --git a/snippets/sdp/gpio/icmsg/soc/nrf54l15_cpuapp.overlay b/snippets/hpf/gpio/icmsg/soc/nrf54l15_cpuapp.overlay similarity index 96% rename from snippets/sdp/gpio/icmsg/soc/nrf54l15_cpuapp.overlay rename to snippets/hpf/gpio/icmsg/soc/nrf54l15_cpuapp.overlay index 5221e165b94b..7985ed46d696 100644 --- a/snippets/sdp/gpio/icmsg/soc/nrf54l15_cpuapp.overlay +++ b/snippets/hpf/gpio/icmsg/soc/nrf54l15_cpuapp.overlay @@ -4,7 +4,7 @@ * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause */ -#include "../../sdp-gpio-app.overlay" +#include "../../hpf-gpio-app.overlay" / { soc { @@ -73,6 +73,6 @@ status = "okay"; }; -&egpio { +&hpf_gpio { status = "okay"; }; diff --git a/snippets/sdp/gpio/icmsg/soc/nrf54l15_cpuflpr.overlay b/snippets/hpf/gpio/icmsg/soc/nrf54l15_cpuflpr.overlay similarity index 100% rename from snippets/sdp/gpio/icmsg/soc/nrf54l15_cpuflpr.overlay rename to snippets/hpf/gpio/icmsg/soc/nrf54l15_cpuflpr.overlay diff --git a/snippets/hpf/gpio/mbox/app.conf b/snippets/hpf/gpio/mbox/app.conf new file mode 100644 index 000000000000..cd50c7698bd8 --- /dev/null +++ b/snippets/hpf/gpio/mbox/app.conf @@ -0,0 +1 @@ +CONFIG_GPIO_HPF_GPIO_BACKEND_MBOX=y diff --git a/snippets/hpf/gpio/mbox/flpr.conf b/snippets/hpf/gpio/mbox/flpr.conf new file mode 100644 index 000000000000..05a5089b05a5 --- /dev/null +++ b/snippets/hpf/gpio/mbox/flpr.conf @@ -0,0 +1 @@ +CONFIG_HPF_GPIO_BACKEND_MBOX=y diff --git a/snippets/sdp/gpio/mbox/snippet.yml b/snippets/hpf/gpio/mbox/snippet.yml similarity index 94% rename from snippets/sdp/gpio/mbox/snippet.yml rename to snippets/hpf/gpio/mbox/snippet.yml index 2c1d261896a7..515fbdff2003 100644 --- a/snippets/sdp/gpio/mbox/snippet.yml +++ b/snippets/hpf/gpio/mbox/snippet.yml @@ -4,7 +4,7 @@ # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause # -name: sdp-gpio-mbox +name: hpf-gpio-mbox boards: /.*/nrf54l15/cpuapp/: diff --git a/snippets/sdp/gpio/mbox/soc/nrf54l15_cpuapp.overlay b/snippets/hpf/gpio/mbox/soc/nrf54l15_cpuapp.overlay similarity index 95% rename from snippets/sdp/gpio/mbox/soc/nrf54l15_cpuapp.overlay rename to snippets/hpf/gpio/mbox/soc/nrf54l15_cpuapp.overlay index 5b8654296841..704c3d45eeb8 100644 --- a/snippets/sdp/gpio/mbox/soc/nrf54l15_cpuapp.overlay +++ b/snippets/hpf/gpio/mbox/soc/nrf54l15_cpuapp.overlay @@ -4,7 +4,7 @@ * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause */ -#include "../../sdp-gpio-app.overlay" +#include "../../hpf-gpio-app.overlay" / { soc { @@ -68,6 +68,6 @@ status = "okay"; }; -&egpio { +&hpf_gpio { status = "okay"; }; diff --git a/snippets/sdp/gpio/mbox/soc/nrf54l15_cpuflpr.overlay b/snippets/hpf/gpio/mbox/soc/nrf54l15_cpuflpr.overlay similarity index 100% rename from snippets/sdp/gpio/mbox/soc/nrf54l15_cpuflpr.overlay rename to snippets/hpf/gpio/mbox/soc/nrf54l15_cpuflpr.overlay diff --git a/snippets/sdp/mspi/app.conf b/snippets/hpf/mspi/app.conf similarity index 100% rename from snippets/sdp/mspi/app.conf rename to snippets/hpf/mspi/app.conf diff --git a/snippets/sdp/mspi/board/nrf54l15dk_nrf54l15_cpuapp.overlay b/snippets/hpf/mspi/board/nrf54l15dk_nrf54l15_cpuapp.overlay similarity index 98% rename from snippets/sdp/mspi/board/nrf54l15dk_nrf54l15_cpuapp.overlay rename to snippets/hpf/mspi/board/nrf54l15dk_nrf54l15_cpuapp.overlay index cf688060326f..fbe3f199ed85 100644 --- a/snippets/sdp/mspi/board/nrf54l15dk_nrf54l15_cpuapp.overlay +++ b/snippets/hpf/mspi/board/nrf54l15dk_nrf54l15_cpuapp.overlay @@ -7,7 +7,7 @@ /delete-node/ &mx25r64; -&sdp_mspi { +&hpf_mspi { mx25r64: mx25r6435f@0 { compatible = "mxicy,mx25r","jedec,mspi-nor"; status = "okay"; diff --git a/snippets/sdp/mspi/sdp-mspi-app.overlay b/snippets/hpf/mspi/hpf-mspi-app.overlay similarity index 71% rename from snippets/sdp/mspi/sdp-mspi-app.overlay rename to snippets/hpf/mspi/hpf-mspi-app.overlay index b6f1a3d71080..c113af8aaa67 100644 --- a/snippets/sdp/mspi/sdp-mspi-app.overlay +++ b/snippets/hpf/mspi/hpf-mspi-app.overlay @@ -7,15 +7,15 @@ &cpuflpr_vpr { status = "okay"; - sdp_mspi: sdp_mspi { - compatible = "nordic,nrfe-mspi-controller"; + hpf_mspi: hpf_mspi { + compatible = "nordic,hpf-mspi-controller"; software-multiperipheral; #address-cells = <1>; #size-cells = <0>; }; }; -/* TIMER peripheral as a watchdog for SDP FW */ +/* TIMER peripheral as a watchdog for HPF FW */ fault_timer: &timer20 { status = "okay"; prescaler = <4>; diff --git a/snippets/sdp/mspi/snippet.yml b/snippets/hpf/mspi/snippet.yml similarity index 85% rename from snippets/sdp/mspi/snippet.yml rename to snippets/hpf/mspi/snippet.yml index bb8389f79b88..84cecee20cd8 100644 --- a/snippets/sdp/mspi/snippet.yml +++ b/snippets/hpf/mspi/snippet.yml @@ -4,12 +4,12 @@ # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause # -name: sdp-mspi +name: hpf-mspi boards: /.*/cpuapp/: append: - EXTRA_DTC_OVERLAY_FILE: sdp-mspi-app.overlay + EXTRA_DTC_OVERLAY_FILE: hpf-mspi-app.overlay EXTRA_CONF_FILE: app.conf /.*/nrf54l15/cpuapp/: append: diff --git a/snippets/sdp/mspi/soc/nrf54l15_cpuapp.overlay b/snippets/hpf/mspi/soc/nrf54l15_cpuapp.overlay similarity index 70% rename from snippets/sdp/mspi/soc/nrf54l15_cpuapp.overlay rename to snippets/hpf/mspi/soc/nrf54l15_cpuapp.overlay index 315624b69186..aacc260e0b2f 100644 --- a/snippets/sdp/mspi/soc/nrf54l15_cpuapp.overlay +++ b/snippets/hpf/mspi/soc/nrf54l15_cpuapp.overlay @@ -75,34 +75,34 @@ }; &pinctrl { - /omit-if-no-ref/ sdp_mspi_default: sdp_mspi_default { + /omit-if-no-ref/ hpf_mspi_default: hpf_mspi_default { group1 { - psels = , - , - , - , - , - ; + psels = , + , + , + , + , + ; nordic,drive-mode = ; }; }; - /omit-if-no-ref/ sdp_mspi_sleep: sdp_mspi_sleep { + /omit-if-no-ref/ hpf_mspi_sleep: hpf_mspi_sleep { group1 { - psels = , - , - , - , - , - ; + psels = , + , + , + , + , + ; low-power-enable; }; }; }; -&sdp_mspi { +&hpf_mspi { clock-frequency = ; - pinctrl-0 = <&sdp_mspi_default>; - pinctrl-1 = <&sdp_mspi_sleep>; + pinctrl-0 = <&hpf_mspi_default>; + pinctrl-1 = <&hpf_mspi_sleep>; pinctrl-names = "default", "sleep"; status = "okay"; }; diff --git a/snippets/sdp/gpio/icbmsg/flpr.conf b/snippets/sdp/gpio/icbmsg/flpr.conf deleted file mode 100644 index 35bc452a97ab..000000000000 --- a/snippets/sdp/gpio/icbmsg/flpr.conf +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SDP_GPIO_BACKEND_ICBMSG=y diff --git a/snippets/sdp/gpio/icmsg/app.conf b/snippets/sdp/gpio/icmsg/app.conf deleted file mode 100644 index a7b4080624b5..000000000000 --- a/snippets/sdp/gpio/icmsg/app.conf +++ /dev/null @@ -1 +0,0 @@ -CONFIG_GPIO_NRFE_EGPIO_BACKEND_ICMSG=y diff --git a/snippets/sdp/gpio/icmsg/flpr.conf b/snippets/sdp/gpio/icmsg/flpr.conf deleted file mode 100644 index b6c5313b8d30..000000000000 --- a/snippets/sdp/gpio/icmsg/flpr.conf +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SDP_GPIO_BACKEND_ICMSG=y diff --git a/snippets/sdp/gpio/mbox/app.conf b/snippets/sdp/gpio/mbox/app.conf deleted file mode 100644 index 0601ba74b197..000000000000 --- a/snippets/sdp/gpio/mbox/app.conf +++ /dev/null @@ -1 +0,0 @@ -CONFIG_GPIO_NRFE_EGPIO_BACKEND_MBOX=y diff --git a/snippets/sdp/gpio/mbox/flpr.conf b/snippets/sdp/gpio/mbox/flpr.conf deleted file mode 100644 index 8e4c3869bed0..000000000000 --- a/snippets/sdp/gpio/mbox/flpr.conf +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SDP_GPIO_BACKEND_MBOX=y From c6603dde912b11ea9b8192cee50a84616cc0b3fd Mon Sep 17 00:00:00 2001 From: Magdalena Pastula Date: Tue, 8 Apr 2025 12:41:46 +0200 Subject: [PATCH 08/11] sysbuild: rename sdp to hpf Change names sdp, nrfe and egpio to the new ones: hpf and hpf_gpio. Signed-off-by: Magdalena Pastula --- CMakeLists.txt | 2 +- sysbuild/CMakeLists.txt | 10 ++-- sysbuild/Kconfig.hpf | 77 +++++++++++++++++++++++++++++ sysbuild/Kconfig.sdp | 81 ------------------------------- sysbuild/Kconfig.sysbuild | 2 +- sysbuild/{sdp.cmake => hpf.cmake} | 8 +-- 6 files changed, 88 insertions(+), 92 deletions(-) create mode 100644 sysbuild/Kconfig.hpf delete mode 100644 sysbuild/Kconfig.sdp rename sysbuild/{sdp.cmake => hpf.cmake} (77%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1955fcc8df46..aa5535e553a4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) diff --git a/sysbuild/CMakeLists.txt b/sysbuild/CMakeLists.txt index 4088b0aebe7d..dac0eea4d06c 100644 --- a/sysbuild/CMakeLists.txt +++ b/sysbuild/CMakeLists.txt @@ -68,8 +68,8 @@ function(include_packaging) include(${ZEPHYR_NRF_MODULE_DIR}/subsys/bootloader/cmake/packaging.cmake) endfunction() -function(include_sdp) - include(${ZEPHYR_NRF_MODULE_DIR}/cmake/sysbuild/sdp.cmake) +function(include_hpf) + include(${ZEPHYR_NRF_MODULE_DIR}/cmake/sysbuild/hpf.cmake) endfunction() function(${SYSBUILD_CURRENT_MODULE_NAME}_pre_cmake) @@ -612,8 +612,8 @@ function(${SYSBUILD_CURRENT_MODULE_NAME}_pre_cmake) endif() endif() - if(SB_CONFIG_SDP) - include_sdp() + if(SB_CONFIG_HPF) + include_hpf() endif() if(SB_CONFIG_APPROTECT_USE_UICR OR SB_CONFIG_APPROTECT_LOCK OR SB_CONFIG_APPROTECT_USER_HANDLING OR SB_CONFIG_APPROTECT_DISABLE OR @@ -855,6 +855,6 @@ include(${CMAKE_CURRENT_LIST_DIR}/netcore.cmake) include(${CMAKE_CURRENT_LIST_DIR}/secureboot.cmake) include(${CMAKE_CURRENT_LIST_DIR}/mcuboot.cmake) include(${CMAKE_CURRENT_LIST_DIR}/suit.cmake) -include(${CMAKE_CURRENT_LIST_DIR}/sdp.cmake) +include(${CMAKE_CURRENT_LIST_DIR}/hpf.cmake) store_ncs_vars() diff --git a/sysbuild/Kconfig.hpf b/sysbuild/Kconfig.hpf new file mode 100644 index 000000000000..d5de93047baf --- /dev/null +++ b/sysbuild/Kconfig.hpf @@ -0,0 +1,77 @@ +# Copyright (c) 2024 Nordic Semiconductor +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause + +menuconfig HPF + bool "High-Performance Framework" + +if HPF + +choice HPF_APPLICATION + prompt "HPF application selection" + help + Select which HPF application should be flashed on FLPR. + +config HPF_GPIO + bool "HPF GPIO application" + +config HPF_MSPI + bool "HPF MSPI application" + +endchoice + +config HPF_DEVELOPER_MODE + bool "HPF developer mode" + +config HPF_IMAGE_PATH + string + default "${ZEPHYR_NRF_MODULE_DIR}/applications/hpf/gpio" if HPF_GPIO + default "${ZEPHYR_NRF_MODULE_DIR}/applications/hpf/mspi" if HPF_MSPI + help + Source directory of HPF image. + +if HPF_GPIO + +choice HPF_GPIO_BACKEND + prompt "HPF GPIO backend type" + default HPF_GPIO_BACKEND_ICMSG + help + Select the backend type for HPF. + +config HPF_GPIO_BACKEND_MBOX + bool "MBOX backend" + help + The MBOX version is more resource-efficient than the ICMSG backend, + but needs to have a shared structure defined as a communication channel. + +config HPF_GPIO_BACKEND_ICMSG + bool "ICMSG backend" + +config HPF_GPIO_BACKEND_ICBMSG + bool "ICBMSG backend" + +endchoice + +endif # HPF_GPIO + +if HPF_MSPI + +config HPF_FLPR_APP_FAULT_TIMER + bool "HPF FLPR application fault timer" + default y + help + Enable HPF FLPR application fault timer. + +if HPF_FLPR_APP_FAULT_TIMER + +config HPF_FLPR_APP_FAULT_TIMEOUT + int "HPF FLPR application fault timeout" + default 1000000 + help + Fault timeout in microseconds. + +endif # HPF_FLPR_APP_FAULT_TIMER + +endif # HPF_MSPI + +endif # HPF diff --git a/sysbuild/Kconfig.sdp b/sysbuild/Kconfig.sdp deleted file mode 100644 index 206cd9252785..000000000000 --- a/sysbuild/Kconfig.sdp +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright (c) 2024 Nordic Semiconductor -# -# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause - -menu "SDP" - -menuconfig SDP - bool "SDP" - -if SDP - -choice SDP_APPLICATION - prompt "SDP application selection" - help - Select which SDP application should be flashed on FLPR. - -config SDP_GPIO - bool "SDP GPIO application" - -config SDP_MSPI - bool "SDP MSPI application" - -endchoice - -config SDP_DEVELOPER_MODE - bool "SDP developer mode" - -config SDP_IMAGE_PATH - string - default "${ZEPHYR_NRF_MODULE_DIR}/applications/sdp/gpio" if SDP_GPIO - default "${ZEPHYR_NRF_MODULE_DIR}/applications/sdp/mspi" if SDP_MSPI - help - Source directory of SDP image. - -if SDP_GPIO - -choice SDP_GPIO_BACKEND - prompt "SDP GPIO backend type" - default SDP_GPIO_BACKEND_ICMSG - help - Select the backend type for SDP. - -config SDP_GPIO_BACKEND_MBOX - bool "MBOX backend" - help - The MBOX version is more resource-efficient than the ICMSG backend, - but needs to have a shared structure defined as a communication channel. - -config SDP_GPIO_BACKEND_ICMSG - bool "ICMSG backend" - -config SDP_GPIO_BACKEND_ICBMSG - bool "ICBMSG backend" - -endchoice - -endif # SDP_GPIO - -if SDP_MSPI - -config SDP_FLPR_APP_FAULT_TIMER - bool "SDP FLPR application fault timer" - default y - help - Enable SDP FLPR application fault timer. - -if SDP_FLPR_APP_FAULT_TIMER - -config SDP_FLPR_APP_FAULT_TIMEOUT - int "SDP FLPR application fault timeout" - default 1000000 - help - Fault timeout in microseconds. - -endif # SDP_FLPR_APP_FAULT_TIMER - -endif # SDP_MSPI - -endif # SDP - -endmenu diff --git a/sysbuild/Kconfig.sysbuild b/sysbuild/Kconfig.sysbuild index 7444104e2b36..fca45ace5d98 100644 --- a/sysbuild/Kconfig.sysbuild +++ b/sysbuild/Kconfig.sysbuild @@ -81,7 +81,7 @@ rsource "Kconfig.matter" rsource "Kconfig.wifi" rsource "Kconfig.suit" rsource "Kconfig.suit_provisioning" -rsource "Kconfig.sdp" +rsource "Kconfig.hpf" rsource "Kconfig.approtect" rsource "Kconfig.lwm2m_carrier" rsource "Kconfig.cracen" diff --git a/sysbuild/sdp.cmake b/sysbuild/hpf.cmake similarity index 77% rename from sysbuild/sdp.cmake rename to sysbuild/hpf.cmake index 19966d44e5a6..db2b547604ed 100644 --- a/sysbuild/sdp.cmake +++ b/sysbuild/hpf.cmake @@ -2,17 +2,17 @@ # # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause -if(SB_CONFIG_SDP) +if(SB_CONFIG_HPF) # Extract SoC name from related variables string(REPLACE "/" ";" split_board_qualifiers "${BOARD_QUALIFIERS}") list(GET split_board_qualifiers 1 target_soc) set(board_target_flpr "${BOARD}/${target_soc}/cpuflpr") set(target_soc) - # Include the SDP application in the build + # Include the High Performance Framework in the build ExternalZephyrProject_Add( - APPLICATION sdp - SOURCE_DIR ${SB_CONFIG_SDP_IMAGE_PATH} + APPLICATION hpf + SOURCE_DIR ${SB_CONFIG_HPF_IMAGE_PATH} BOARD ${board_target_flpr} BOARD_REVISION ${BOARD_REVISION} ) From 75b7d27dd25623cbc2c278453b306097e2ccc645 Mon Sep 17 00:00:00 2001 From: Magdalena Pastula Date: Tue, 8 Apr 2025 12:42:12 +0200 Subject: [PATCH 09/11] CODEOWNERS: rename sdp to hpf Change names sdp, nrfe and egpio to the new ones: hpf and hpf_gpio. Signed-off-by: Magdalena Pastula --- CODEOWNERS | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/CODEOWNERS b/CODEOWNERS index 3b6b480343dc..3df48e0dd5a3 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 From 01cd9afce6d69b95284e8a0629abb6447f881a69 Mon Sep 17 00:00:00 2001 From: Magdalena Pastula Date: Tue, 8 Apr 2025 12:42:47 +0200 Subject: [PATCH 10/11] doc: nrf: rename sdp to hpf Change names sdp, nrfe and egpio to the new ones: hpf and hpf_gpio. Signed-off-by: Magdalena Pastula --- doc/nrf/applications.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/nrf/applications.rst b/doc/nrf/applications.rst index 63170997fcef..474ef84513d8 100644 --- a/doc/nrf/applications.rst +++ b/doc/nrf/applications.rst @@ -18,11 +18,11 @@ If you want to list applications available for one or more specific boards, `use :caption: Subpages: ../../applications/connectivity_bridge/README + ../../applications/hpf/gpio/README ../../applications/ipc_radio/README ../../applications/matter_bridge/README ../../applications/nrf5340_audio/index ../../applications/nrf_desktop/README ../../applications/machine_learning/README - ../../applications/sdp/gpio/README ../../applications/serial_lte_modem/README ../../applications/matter_weather_station/README From 0f07a84355f777b4543054003a58505cb09bce08 Mon Sep 17 00:00:00 2001 From: Magdalena Pastula Date: Tue, 8 Apr 2025 12:44:44 +0200 Subject: [PATCH 11/11] manifest: update sdk-zephyr Update sdk-zephyr with renaming sdp to hpf. Signed-off-by: Magdalena Pastula Signed-off-by: Carles Cufi --- west.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/west.yml b/west.yml index dd565928285a..3b021544bb11 100644 --- a/west.yml +++ b/west.yml @@ -65,7 +65,7 @@ manifest: # https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/guides/modules.html - name: zephyr repo-path: sdk-zephyr - revision: 3ecc854864da976a1b1cbf2968059de1b4319144 + revision: 3475ff5b973770f39f0c723581bc510311edea4e import: # In addition to the zephyr repository itself, NCS also # imports the contents of zephyr/west.yml at the above