From 05ac12499668dbe35e2979abf30d88b59c484ffd Mon Sep 17 00:00:00 2001 From: Sumit Batra Date: Sun, 11 May 2025 10:18:51 +0530 Subject: [PATCH] hal_nxp: mcux: Middleware & driver support for KW45 series soc In middleware included the support for multicore manager, connectivity framework and adjusted the pinmux mask. In the driver included clock and romapi support Signed-off-by: Sumit Batra --- dts/nxp/mcx/MCXW716CMFTA-pinctrl.h | 4 ++-- .../KW45B41Z83/drivers/CMakeLists_clock.txt | 10 ++++++++++ .../KW45B41Z83/drivers/CMakeLists_romapi.txt | 20 +++++++++++++++++++ mcux/middleware/CMakeLists.txt | 2 +- .../connectivity_framework.cmake | 2 +- 5 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 mcux/mcux-sdk-ng/devices/Wireless/KW/KW45B41Z83/drivers/CMakeLists_clock.txt create mode 100644 mcux/mcux-sdk-ng/devices/Wireless/KW/KW45B41Z83/drivers/CMakeLists_romapi.txt diff --git a/dts/nxp/mcx/MCXW716CMFTA-pinctrl.h b/dts/nxp/mcx/MCXW716CMFTA-pinctrl.h index b7391af6c..94002ce91 100644 --- a/dts/nxp/mcx/MCXW716CMFTA-pinctrl.h +++ b/dts/nxp/mcx/MCXW716CMFTA-pinctrl.h @@ -1,5 +1,5 @@ /* - * Copyright 2024 NXP + * Copyright 2025 NXP * SPDX-License-Identifier: Apache-2.0 * * NOTE: Autogenerated file by gen_soc_headers.py @@ -12,7 +12,7 @@ #define KINETIS_MUX(port, pin, mux) \ (((((port) - 'A') & 0xF) << 28) | \ (((pin) & 0x3F) << 22) | \ - (((mux) & 0x7) << 8)) + (((mux) & 0xF) << 8)) #define PTA0 KINETIS_MUX('A',0,1) /* PTA_0 */ #define WUU0_P0_PTA0 KINETIS_MUX('A',0,1) /* PTA_0 */ diff --git a/mcux/mcux-sdk-ng/devices/Wireless/KW/KW45B41Z83/drivers/CMakeLists_clock.txt b/mcux/mcux-sdk-ng/devices/Wireless/KW/KW45B41Z83/drivers/CMakeLists_clock.txt new file mode 100644 index 000000000..b7d13e6f2 --- /dev/null +++ b/mcux/mcux-sdk-ng/devices/Wireless/KW/KW45B41Z83/drivers/CMakeLists_clock.txt @@ -0,0 +1,10 @@ +# Copyright 2024 NXP +# +# SPDX-License-Identifier: BSD-3-Clause + +if (CONFIG_MCUX_COMPONENT_driver.clock) + mcux_component_version(2.2.1) + + mcux_add_source( SOURCES fsl_clock.c fsl_clock.h ) + mcux_add_include( INCLUDES . ) +endif() diff --git a/mcux/mcux-sdk-ng/devices/Wireless/KW/KW45B41Z83/drivers/CMakeLists_romapi.txt b/mcux/mcux-sdk-ng/devices/Wireless/KW/KW45B41Z83/drivers/CMakeLists_romapi.txt new file mode 100644 index 000000000..af2044e1a --- /dev/null +++ b/mcux/mcux-sdk-ng/devices/Wireless/KW/KW45B41Z83/drivers/CMakeLists_romapi.txt @@ -0,0 +1,20 @@ +# Copyright 2024 NXP +# +# SPDX-License-Identifier: BSD-3-Clause + +if (CONFIG_MCUX_COMPONENT_driver.romapi_soc) + mcux_component_version(1.2.0) + + mcux_add_source( + SOURCES + romapi/fsl_flash_api.h + romapi/fsl_kb_api.h + romapi/fsl_lpspi_flash.h + romapi/fsl_nboot.h + romapi/fsl_romapi.c + ) + + mcux_add_include( + INCLUDES ./romapi + ) +endif() diff --git a/mcux/middleware/CMakeLists.txt b/mcux/middleware/CMakeLists.txt index 48e5ec16d..8daeb1b80 100644 --- a/mcux/middleware/CMakeLists.txt +++ b/mcux/middleware/CMakeLists.txt @@ -1,7 +1,7 @@ if(CONFIG_BT OR CONFIG_NET_L2_IEEE802154 OR CONFIG_NET_L2_OPENTHREAD) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/mcux-sdk-middleware-connectivity-framework) include(connectivity_framework) - if(CONFIG_SOC_SERIES_MCXW) + if(CONFIG_SOC_SERIES_MCXW OR CONFIG_SOC_SERIES_KINETIS_KW45) zephyr_include_directories(${CMAKE_CURRENT_LIST_DIR}/mcux-sdk-middleware-multicore/mcmgr/src) zephyr_library_sources( diff --git a/mcux/middleware/mcux-sdk-middleware-connectivity-framework/connectivity_framework.cmake b/mcux/middleware/mcux-sdk-middleware-connectivity-framework/connectivity_framework.cmake index 4803cd7be..7c4ee63a0 100644 --- a/mcux/middleware/mcux-sdk-middleware-connectivity-framework/connectivity_framework.cmake +++ b/mcux/middleware/mcux-sdk-middleware-connectivity-framework/connectivity_framework.cmake @@ -35,7 +35,7 @@ if(CONFIG_SOC_SERIES_RW6XX) endif() endif() -if(CONFIG_SOC_SERIES_MCXW) +if(CONFIG_SOC_SERIES_MCXW OR CONFIG_SOC_SERIES_KINETIS_KW45) target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_LIST_DIR}/platform/connected_mcu/fwk_platform.c ${CMAKE_CURRENT_LIST_DIR}/platform/connected_mcu/fwk_platform_ics.c