diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..6fc8e30 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,10 @@ +{ + "image": "ghcr.io/zephyrproject-rtos/ci:v0.28.9", + "customizations": { + "vscode": { + "extensions": [ + "ms-vscode.cpptools-extension-pack" + ] + } + } +} \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..74ae624 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +build/ +twister-out*/ diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..742ac18 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,4 @@ +zephyr_include_directories(lib/dect_nrplus/include) + +add_subdirectory_ifdef(CONFIG_NET_L2_DECT_NRPLUS drivers/net/dect_nrplus) +add_subdirectory_ifdef(CONFIG_DECT_NRPLUS_STACK lib) diff --git a/Kconfig b/Kconfig new file mode 100644 index 0000000..a56f2a9 --- /dev/null +++ b/Kconfig @@ -0,0 +1,2 @@ +rsource "drivers/Kconfig" +rsource "lib/Kconfig" diff --git a/drivers/Kconfig b/drivers/Kconfig new file mode 100644 index 0000000..924516a --- /dev/null +++ b/drivers/Kconfig @@ -0,0 +1 @@ +rsource "net/Kconfig" diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index dc533ad..c37c5c3 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -4,54 +4,6 @@ # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause # -add_subdirectory(bin) - add_subdirectory_ifdef(CONFIG_DECT_NRPLUS_STACK dect_nrplus) # add_subdirectory(dect_nrplus) -add_subdirectory_ifdef(CONFIG_NRF_MODEM_LIB nrf_modem_lib) -add_subdirectory_ifdef(CONFIG_DK_LIBRARY dk_buttons_and_leds) -add_subdirectory_ifdef(CONFIG_AT_CMD_CUSTOM at_cmd_custom) -add_subdirectory_ifdef(CONFIG_AT_MONITOR at_monitor) -add_subdirectory_ifdef(CONFIG_AT_HOST_LIBRARY at_host) -add_subdirectory_ifdef(CONFIG_AT_CMD_PARSER at_cmd_parser) -add_subdirectory_ifdef(CONFIG_AT_PARSER at_parser) -add_subdirectory_ifdef(CONFIG_LTE_LINK_CONTROL lte_link_control) -add_subdirectory_ifdef(CONFIG_MODEM_BATTERY modem_battery) -add_subdirectory_ifdef(CONFIG_MODEM_INFO modem_info) -add_subdirectory_ifdef(CONFIG_PDN pdn) -add_subdirectory_ifdef(CONFIG_MULTITHREADING_LOCK multithreading_lock) -add_subdirectory_ifdef(CONFIG_ADP536X adp536x) -add_subdirectory_ifdef(CONFIG_ST25R3911B_LIB st25r3911b) -add_subdirectory_ifdef(CONFIG_FPROTECT fprotect) -add_subdirectory(flash_patch) -add_subdirectory_ifdef(CONFIG_RAM_POWER_DOWN_LIBRARY ram_pwrdn) -add_subdirectory(fatal_error) -add_subdirectory_ifdef(CONFIG_MODEM_KEY_MGMT modem_key_mgmt) -add_subdirectory_ifdef(CONFIG_SMS sms) -add_subdirectory_ifdef(CONFIG_GCF_SMS gcf_sms) -add_subdirectory_ifdef(CONFIG_SUPL_CLIENT_LIB supl) -add_subdirectory_ifdef(CONFIG_DATE_TIME date_time) -add_subdirectory_ifdef(CONFIG_HW_ID_LIBRARY hw_id) -add_subdirectory_ifdef(CONFIG_EDGE_IMPULSE edge_impulse) -add_subdirectory_ifdef(CONFIG_WAVE_GEN_LIB wave_gen) -add_subdirectory_ifdef(CONFIG_HW_UNIQUE_KEY_SRC hw_unique_key) -add_subdirectory_ifdef(CONFIG_APP_JWT app_jwt) -add_subdirectory_ifdef(CONFIG_MODEM_JWT modem_jwt) -add_subdirectory_ifdef(CONFIG_MODEM_SLM modem_slm) -add_subdirectory_ifdef(CONFIG_MODEM_ATTEST_TOKEN modem_attest_token) -add_subdirectory_ifdef(CONFIG_LOCATION location) -add_subdirectory_ifdef(CONFIG_AT_SHELL at_shell) -add_subdirectory_ifdef(CONFIG_MODEM_ANTENNA modem_antenna) -add_subdirectory_ifdef(CONFIG_QOS qos) -add_subdirectory_ifdef(CONFIG_IDENTITY_KEY identity_key) -add_subdirectory_ifdef(CONFIG_SFLOAT sfloat) -add_subdirectory_ifdef(CONFIG_CONTIN_ARRAY contin_array) -add_subdirectory_ifdef(CONFIG_PCM_MIX pcm_mix) -add_subdirectory_ifdef(CONFIG_TONE tone) -add_subdirectory_ifdef(CONFIG_PSCM pcm_stream_channel_modifier) -add_subdirectory_ifdef(CONFIG_DATA_FIFO data_fifo) -add_subdirectory_ifdef(CONFIG_FEM_AL_LIB fem_al) -add_subdirectory_ifdef(CONFIG_SAMPLE_RATE_CONVERTER sample_rate_converter) -add_subdirectory_ifdef(CONFIG_NCS_BOOT_BANNER boot_banner) -add_subdirectory_ifdef(CONFIG_UICC_LWM2M uicc_lwm2m) diff --git a/lib/Kconfig b/lib/Kconfig index 9a22096..8226b7a 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -4,56 +4,5 @@ # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause # -menu "Libraries" - rsource "dect_nrplus/Kconfig" -rsource "app_jwt/Kconfig" -rsource "bin/Kconfig" -rsource "nrf_modem_lib/Kconfig" -rsource "adp536x/Kconfig" -rsource "at_monitor/Kconfig" -rsource "st25r3911b/Kconfig" -rsource "flash_patch/Kconfig" -rsource "lte_link_control/Kconfig" -rsource "fprotect/Kconfig" -rsource "at_cmd_custom/Kconfig" -rsource "at_host/Kconfig" -rsource "dk_buttons_and_leds/Kconfig" -rsource "at_cmd_parser/Kconfig" -rsource "at_parser/Kconfig" -rsource "modem_battery/Kconfig" -rsource "modem_info/Kconfig" -rsource "pdn/Kconfig" -rsource "multithreading_lock/Kconfig" -rsource "fatal_error/Kconfig" -rsource "sms/Kconfig" -rsource "gcf_sms/Kconfig" -rsource "modem_key_mgmt/Kconfig" -rsource "supl/Kconfig" -rsource "date_time/Kconfig" -rsource "hw_id/Kconfig" -rsource "ram_pwrdn/Kconfig" -rsource "edge_impulse/Kconfig" -rsource "wave_gen/Kconfig" -rsource "hw_unique_key/Kconfig" -rsource "modem_jwt/Kconfig" -rsource "modem_slm/Kconfig" -rsource "modem_attest_token/Kconfig" -rsource "location/Kconfig" -rsource "at_shell/Kconfig" -rsource "modem_antenna/Kconfig" -rsource "qos/Kconfig" -rsource "identity_key/Kconfig" -rsource "sfloat/Kconfig" -rsource "contin_array/Kconfig" -rsource "pcm_mix/Kconfig" -rsource "tone/Kconfig" -rsource "pcm_stream_channel_modifier/Kconfig" -rsource "data_fifo/Kconfig" -rsource "fem_al/Kconfig" -rsource "sample_rate_converter/Kconfig" -rsource "boot_banner/Kconfig" -rsource "uicc_lwm2m/Kconfig" - -endmenu diff --git a/lib/dect_nrplus/Kconfig b/lib/dect_nrplus/Kconfig index ff8bf01..d40058e 100644 --- a/lib/dect_nrplus/Kconfig +++ b/lib/dect_nrplus/Kconfig @@ -10,5 +10,5 @@ # CMakeLists.txt that calls zephyr_library(). # Source the main menu and options for the DECT NR+ stack. -source "../nrf/lib/dect_nrplus/Kconfig.dect_module" -source "../nrf/lib/dect_nrplus/Kconfig.dect_nrplus" \ No newline at end of file +rsource "Kconfig.dect_module" +rsource "Kconfig.dect_nrplus" \ No newline at end of file diff --git a/lib/dect_nrplus/Kconfig.dect_module b/lib/dect_nrplus/Kconfig.dect_module index 1c1f0c5..6c02cd0 100644 --- a/lib/dect_nrplus/Kconfig.dect_module +++ b/lib/dect_nrplus/Kconfig.dect_module @@ -182,9 +182,9 @@ endmenu # DECT NR+ Stack Logging Levels # This ensures their main symbols (e.g., DECT_MAC_LAYER) are defined # before being used as dependencies in menus below. -source "../nrf/lib/dect_nrplus/Kconfig.dect_mac" -source "../nrf/lib/dect_nrplus/Kconfig.dect_dlc" -source "../nrf/lib/dect_nrplus/Kconfig.dect_cvg" -source "../nrf/lib/dect_nrplus/Kconfig.dect_cdd" -source "../nrf/lib/dect_nrplus/Kconfig.dect_security" -source "../nrf/drivers/net/dect_nrplus/Kconfig.dect_nrplus" +rsource "Kconfig.dect_mac" +rsource "Kconfig.dect_dlc" +rsource "Kconfig.dect_cvg" +rsource "Kconfig.dect_cdd" +rsource "Kconfig.dect_security" +rsource "../../drivers/net/dect_nrplus/Kconfig.dect_nrplus" diff --git a/lib/dect_nrplus/mac/dect_mac_data_path.c b/lib/dect_nrplus/mac/dect_mac_data_path.c index fe58aaa..70ebd9d 100644 --- a/lib/dect_nrplus/mac/dect_mac_data_path.c +++ b/lib/dect_nrplus/mac/dect_mac_data_path.c @@ -530,8 +530,11 @@ static void update_security_context_after_tx(dect_mac_context_t* ctx, int ft_tar ctx->send_mac_sec_info_ie_on_next_tx = false; } } + #define SDU_BUFFER_PADDING 10 -#define SDU_AREA_BUF_SIZE (CONFIG_DECT_MAC_SDU_MAX_SIZE + SDU_BUFFER_PADDING) +// Block size must be a multiple of the memory alignment (which is 4 in this case) +// Round up block size to the nearest multiple of the slab alignment +#define SDU_AREA_BUF_SIZE ROUND_UP(CONFIG_DECT_MAC_SDU_MAX_SIZE + SDU_BUFFER_PADDING, 4) K_MEM_SLAB_DEFINE(g_mac_sdu_area_slab, SDU_AREA_BUF_SIZE, 4, 4); static int send_data_mac_sdu_via_phy_internal(dect_mac_context_t* ctx, diff --git a/lib/dect_nrplus/tests/mac_flow/Kconfig b/lib/dect_nrplus/tests/mac_flow/Kconfig deleted file mode 100644 index d865554..0000000 --- a/lib/dect_nrplus/tests/mac_flow/Kconfig +++ /dev/null @@ -1,13 +0,0 @@ -# Kconfig for the DECT NR+ MAC Flow Ztest - -# Copyright (c) 2024 Manulytica Ltd -# -# SPDX-License-Identifier: Apache-2.0 - -config DECT_NRPLUS_TEST_MAC_FLOW - bool "DECT NR+ MAC Flow Integration Test" - default y - depends on ZTEST - help - Enable the Ztest suite for verifying the full MAC layer association, - data transfer, and error recovery flows using a mock PHY. \ No newline at end of file diff --git a/west.yml b/west.yml new file mode 100644 index 0000000..0b4a073 --- /dev/null +++ b/west.yml @@ -0,0 +1,11 @@ +manifest: + remotes: + - name: ncs + url-base: https://github.com/nrfconnect + + projects: + - name: nrf + remote: ncs + repo-path: sdk-nrf + revision: v3.2.3 + import: true diff --git a/zephyr/module.yml b/zephyr/module.yml new file mode 100644 index 0000000..1ce955b --- /dev/null +++ b/zephyr/module.yml @@ -0,0 +1,6 @@ +name: dect_open_stack_ms +build: + cmake: . + kconfig: Kconfig + settings: + dts_root: .