From eb86662db4b0c4de1098378c023f6a29591b4553 Mon Sep 17 00:00:00 2001 From: Zhaoxiang Jin Date: Fri, 18 Jul 2025 15:13:51 +0800 Subject: [PATCH 1/8] modules: nxp: Add more MCUX SDK NG cmake variables These variables are used to make MCUX SDK NG cmake can find the right cmake files. Signed-off-by: Zhaoxiang Jin --- .../mcux/mcux-sdk-ng/device/device.cmake | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/modules/hal_nxp/mcux/mcux-sdk-ng/device/device.cmake b/modules/hal_nxp/mcux/mcux-sdk-ng/device/device.cmake index d565712f0a32d..1a6f1e6d3ec28 100644 --- a/modules/hal_nxp/mcux/mcux-sdk-ng/device/device.cmake +++ b/modules/hal_nxp/mcux/mcux-sdk-ng/device/device.cmake @@ -85,6 +85,45 @@ zephyr_compile_definitions("CPU_${CONFIG_SOC_PART_NUMBER}${core_id_suffix_name}" # Definitions to load device drivers, like: CPU_MIMXRT595SFAWC_dsp. set(CONFIG_MCUX_HW_DEVICE_CORE "${MCUX_DEVICE}${core_id_suffix_name}") +# Necessary values to load right SDK NG cmake files +# CONFIG_MCUX_HW_CORE +# CONFIG_MCUX_HW_FPU_TYPE +# +# They are used by the files like: +# zephyr/modules/hal/nxp/mcux/mcux-sdk-ng/devices/arm/shared.cmake +# zephyr/modules/hal/nxp/mcux/mcux-sdk-ng/devices/xtensa/shared.cmake +if (CONFIG_CPU_CORTEX_M0PLUS) + set(CONFIG_MCUX_HW_CORE cm0p) +elseif (CONFIG_CPU_CORTEX_M3) + set(CONFIG_MCUX_HW_CORE cm3) +elseif (CONFIG_CPU_CORTEX_M33) + set(CONFIG_MCUX_HW_CORE cm33) +elseif (CONFIG_CPU_CORTEX_M4) + if (CONFIG_CPU_HAS_FPU) + set(CONFIG_MCUX_HW_CORE cm4f) + else() + set(CONFIG_MCUX_HW_CORE cm4) + endif() +elseif (CONFIG_CPU_CORTEX_M7) + set(CONFIG_MCUX_HW_CORE cm7f) +elseif (CONFIG_XTENSA) + set(CONFIG_MCUX_HW_CORE dsp) +endif() + +if (CONFIG_CPU_HAS_FPU) + if (CONFIG_CPU_CORTEX_M33 OR CONFIG_CPU_CORTEX_M7) + if (CONFIG_CPU_HAS_FPU_DOUBLE_PRECISION) + set(CONFIG_MCUX_HW_FPU_TYPE fpv5_dp) + else() + set(CONFIG_MCUX_HW_FPU_TYPE fpv5_sp) + endif() + elseif (CONFIG_CPU_CORTEX_M4) + set(CONFIG_MCUX_HW_FPU_TYPE fpv4_sp) + endif() +else() + set(CONFIG_MCUX_HW_FPU_TYPE no_fpu) +endif() + # Load device files mcux_add_cmakelists(${mcux_device_folder}) From 080fd90d40df0b744b17878b685c93b66f50eae0 Mon Sep 17 00:00:00 2001 From: Zhaoxiang Jin Date: Mon, 21 Jul 2025 10:54:45 +0800 Subject: [PATCH 2/8] scripts: compliance: Add items to UNDEF_KCONFIG_ALLOWLIST 'MCUX_HW_CORE' and 'MCUX_HW_FPU_TYPE' are used in modules/hal_nxp/device.cmake. It is a variable used by MCUX SDK CMake. Signed-off-by: Zhaoxiang Jin --- scripts/ci/check_compliance.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/ci/check_compliance.py b/scripts/ci/check_compliance.py index 8a12f6f2d0e11..7e18315fa9498 100755 --- a/scripts/ci/check_compliance.py +++ b/scripts/ci/check_compliance.py @@ -1223,8 +1223,12 @@ def check_no_undef_outside_kconfig(self, kconf): "MCUBOOT_SERIAL", # Used in (sysbuild-based) test/ # documentation "MCUMGR_GRP_EXAMPLE_OTHER_HOOK", # Used in documentation + "MCUX_HW_CORE", # Used in modules/hal_nxp/mcux/mcux-sdk-ng/device/device.cmake. + # It is a variable used by MCUX SDK CMake. "MCUX_HW_DEVICE_CORE", # Used in modules/hal_nxp/mcux/mcux-sdk-ng/device/device.cmake. # It is a variable used by MCUX SDK CMake. + "MCUX_HW_FPU_TYPE", # Used in modules/hal_nxp/mcux/mcux-sdk-ng/device/device.cmake. + # It is a variable used by MCUX SDK CMake. "MISSING", "MODULES", "MODVERSIONS", # Linux, in boards/xtensa/intel_adsp_cavs25/doc From 2f36ede34ecfc38ba8acb809b85d7ed06ff96a53 Mon Sep 17 00:00:00 2001 From: Zhaoxiang Jin Date: Fri, 18 Jul 2025 15:10:05 +0800 Subject: [PATCH 3/8] west.yml: Update hal_nxp to mcux sdk 25.06.00 Update hal_nxp to mcux sdk 25.06.00. Signed-off-by: Zhaoxiang Jin --- west.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/west.yml b/west.yml index 97bc3f50dbf9f..1fdb6bfc2474d 100644 --- a/west.yml +++ b/west.yml @@ -210,7 +210,7 @@ manifest: groups: - hal - name: hal_nxp - revision: 7a52cbb7cb56db3a276cbd617db3ea7cc3435d12 + revision: pull/576/head path: modules/hal/nxp groups: - hal From 3ab5f8cd1f99f5303a1b76e139a00fba7def48f0 Mon Sep 17 00:00:00 2001 From: Zhaoxiang Jin Date: Fri, 18 Jul 2025 21:41:00 +0800 Subject: [PATCH 4/8] drivers: interrupt_controller: Update CMakeLists to fix build error Now use the 5-parameter function "PINT_PinInterruptConfig" deprecated in MCUX SDK, need to add compile definition 'PINT_USE_LEGACY_CALBACK' to make intc_nxp_pint compatible with updated 'fsl_pint' driver. Signed-off-by: Zhaoxiang Jin --- drivers/interrupt_controller/CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/interrupt_controller/CMakeLists.txt b/drivers/interrupt_controller/CMakeLists.txt index 543fdffdf1859..d492728b5301e 100644 --- a/drivers/interrupt_controller/CMakeLists.txt +++ b/drivers/interrupt_controller/CMakeLists.txt @@ -59,4 +59,8 @@ if(CONFIG_PLIC_SHELL) ) endif() +if(CONFIG_NXP_PINT) + zephyr_compile_definitions(PINT_USE_LEGACY_CALLBACK=1) +endif() + zephyr_library_include_directories(${ZEPHYR_BASE}/arch/common/include) From 6650f4220763333888bc3cf0fe3b89aa5efaecbd Mon Sep 17 00:00:00 2001 From: Zhaoxiang Jin Date: Mon, 21 Jul 2025 10:46:44 +0800 Subject: [PATCH 5/8] modules: hal_nxp: Add core_id for RT685 HIFI4 core 1. Add core_id for RT685 HIFI4 core, this variable is used in MCUX SDK cmake. 2. Set cmake variables 'CONFIG_MCUX_COMPONENT_driver.smartdma_mcxn' and 'CONFIG_MCUX_COMPONENT_driver.smartdma_rt500' to "ON" as these variables control the loading of source files in the latest driver CMakeList.txt. Signed-off-by: Zhaoxiang Jin --- .../hal_nxp/mcux/mcux-sdk-ng/device/device.cmake | 2 ++ .../hal_nxp/mcux/mcux-sdk-ng/drivers/drivers.cmake | 13 +++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/modules/hal_nxp/mcux/mcux-sdk-ng/device/device.cmake b/modules/hal_nxp/mcux/mcux-sdk-ng/device/device.cmake index 1a6f1e6d3ec28..c27e05879c507 100644 --- a/modules/hal_nxp/mcux/mcux-sdk-ng/device/device.cmake +++ b/modules/hal_nxp/mcux/mcux-sdk-ng/device/device.cmake @@ -43,6 +43,8 @@ endif() if(DEFINED CONFIG_MCUX_CORE_SUFFIX) if (CONFIG_SOC_MIMXRT595S_F1) set(core_id "fusionf1") + elseif (CONFIG_SOC_MIMXRT685S_HIFI4) + set(core_id "hifi4") else() string (REGEX REPLACE "^_" "" core_id "${CONFIG_MCUX_CORE_SUFFIX}") endif() diff --git a/modules/hal_nxp/mcux/mcux-sdk-ng/drivers/drivers.cmake b/modules/hal_nxp/mcux/mcux-sdk-ng/drivers/drivers.cmake index 4927ab31f23c8..4566f19b40893 100644 --- a/modules/hal_nxp/mcux/mcux-sdk-ng/drivers/drivers.cmake +++ b/modules/hal_nxp/mcux/mcux-sdk-ng/drivers/drivers.cmake @@ -33,7 +33,6 @@ set_variable_ifdef(CONFIG_DMA_MCUX_LPC CONFIG_MCUX_COMPONENT_driver.lpc set_variable_ifdef(CONFIG_GPIO_MCUX_LPC CONFIG_MCUX_COMPONENT_driver.lpc_gpio) set_variable_ifdef(CONFIG_NXP_PINT CONFIG_MCUX_COMPONENT_driver.pint) set_variable_ifdef(CONFIG_NXP_PINT CONFIG_MCUX_COMPONENT_driver.inputmux) -set_variable_ifdef(CONFIG_DMA_MCUX_SMARTDMA CONFIG_MCUX_COMPONENT_driver.inputmux) set_variable_ifdef(CONFIG_I2C_MCUX_FLEXCOMM CONFIG_MCUX_COMPONENT_driver.flexcomm) set_variable_ifdef(CONFIG_I2C_MCUX_FLEXCOMM CONFIG_MCUX_COMPONENT_driver.flexcomm_i2c) set_variable_ifdef(CONFIG_I2S_MCUX_FLEXCOMM CONFIG_MCUX_COMPONENT_driver.flexcomm) @@ -121,7 +120,6 @@ set_variable_ifdef(CONFIG_ADC_MCUX_ETC CONFIG_MCUX_COMPONENT_driver.adc set_variable_ifdef(CONFIG_MCUX_XBARA CONFIG_MCUX_COMPONENT_driver.xbara) set_variable_ifdef(CONFIG_QDEC_MCUX CONFIG_MCUX_COMPONENT_driver.enc) set_variable_ifdef(CONFIG_CRYPTO_MCUX_DCP CONFIG_MCUX_COMPONENT_driver.dcp) -set_variable_ifdef(CONFIG_DMA_MCUX_SMARTDMA CONFIG_MCUX_COMPONENT_driver.smartdma) set_variable_ifdef(CONFIG_DAC_MCUX_LPDAC CONFIG_MCUX_COMPONENT_driver.dac_1) set_variable_ifdef(CONFIG_NXP_IRQSTEER CONFIG_MCUX_COMPONENT_driver.irqsteer) set_variable_ifdef(CONFIG_AUDIO_DMIC_MCUX CONFIG_MCUX_COMPONENT_driver.dmic) @@ -150,6 +148,17 @@ set_variable_ifdef(CONFIG_SOC_FAMILY_KINETIS CONFIG_MCUX_COMPONENT_driver.p set_variable_ifdef(CONFIG_SOC_FAMILY_MCXW CONFIG_MCUX_COMPONENT_driver.ccm32k) set_variable_ifdef(CONFIG_SOC_SERIES_IMXRT5XX CONFIG_MCUX_COMPONENT_driver.iap3) +if(CONFIG_DMA_MCUX_SMARTDMA) + set(CONFIG_MCUX_COMPONENT_driver.smartdma ON) + set(CONFIG_MCUX_COMPONENT_driver.inputmux ON) + if(CONFIG_SOC_SERIES_IMXRT5XX) + set(CONFIG_MCUX_COMPONENT_driver.smartdma_rt500 ON) + endif() + if(CONFIG_SOC_MCXN947) + set(CONFIG_MCUX_COMPONENT_driver.smartdma_mcxn ON) + endif() +endif() + if(CONFIG_ETH_NXP_IMX_NETC) set_variable_ifdef(CONFIG_SOC_MIMXRT1189 CONFIG_MCUX_COMPONENT_driver.netc_rt1180) set_variable_ifdef(CONFIG_SOC_MIMX9596 CONFIG_MCUX_COMPONENT_driver.netc_imx95) From 24d2b07c05f2da6cd2d887114e4c95c89d462b2b Mon Sep 17 00:00:00 2001 From: Zhaoxiang Jin Date: Mon, 21 Jul 2025 21:38:12 +0800 Subject: [PATCH 6/8] boards: mimxrt1170_evk: Update xmcd files path The xmcd path in hal_nxp is changed, so need update zephyr side CMakeLists to load correct files. Signed-off-by: Zhaoxiang Jin --- boards/nxp/mimxrt1170_evk/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boards/nxp/mimxrt1170_evk/CMakeLists.txt b/boards/nxp/mimxrt1170_evk/CMakeLists.txt index 5b845eb090eb8..f1a2028c6333c 100644 --- a/boards/nxp/mimxrt1170_evk/CMakeLists.txt +++ b/boards/nxp/mimxrt1170_evk/CMakeLists.txt @@ -33,7 +33,7 @@ if(CONFIG_NXP_IMXRT_BOOT_HEADER) # This configuration block may need modification if another SDRAM chip # is used on your custom board. zephyr_compile_definitions(XIP_BOOT_HEADER_XMCD_ENABLE=1) - zephyr_library_sources(${RT1170_BOARD_DIR}/xmcd/xmcd.c) + zephyr_library_sources(${RT1170_BOARD_DIR}/xmcd.c) else() if(CONFIG_SRAM_BASE_ADDRESS EQUAL 0x80000000) message(WARNING "You are using SDRAM as RAM but no external memory" From 888305d3da7b50a8cce62ad09144f31e506ea816 Mon Sep 17 00:00:00 2001 From: Zhaoxiang Jin Date: Mon, 21 Jul 2025 21:44:24 +0800 Subject: [PATCH 7/8] boards: nxp: Renamed MCXA166 to MCXA346 Renamed MCXA166 to MCXA346. Signed-off-by: Zhaoxiang Jin --- boards/nxp/frdm_mcxa166/Kconfig.frdm_mcxa166 | 6 -- boards/nxp/frdm_mcxa166/board.yml | 6 -- .../CMakeLists.txt | 0 .../{frdm_mcxa166 => frdm_mcxa346}/Kconfig | 2 +- boards/nxp/frdm_mcxa346/Kconfig.frdm_mcxa346 | 6 ++ .../{frdm_mcxa166 => frdm_mcxa346}/board.c | 0 .../board.cmake | 6 +- boards/nxp/frdm_mcxa346/board.yml | 6 ++ .../doc/frdm_mcxa346.webp} | Bin .../doc/index.rst | 54 +++++++++--------- .../frdm_mcxa346-pinctrl.dtsi} | 2 +- .../frdm_mcxa346.dts} | 8 +-- .../frdm_mcxa346.yaml} | 4 +- .../frdm_mcxa346_defconfig} | 0 .../{nxp_mcxa166.dtsi => nxp_mcxa346.dtsi} | 0 .../{frdm_mcxa166.conf => frdm_mcxa346.conf} | 0 ...m_mcxa166.overlay => frdm_mcxa346.overlay} | 0 samples/drivers/adc/adc_dt/sample.yaml | 2 +- ...m_mcxa166.overlay => frdm_mcxa346.overlay} | 0 samples/sensor/mcux_lpcmp/README.rst | 6 +- .../{frdm_mcxa166.conf => frdm_mcxa346.conf} | 0 ...m_mcxa166.overlay => frdm_mcxa346.overlay} | 0 samples/sensor/mcux_lpcmp/sample.yaml | 4 +- soc/nxp/mcx/mcxa/Kconfig | 2 +- soc/nxp/mcx/mcxa/Kconfig.soc | 20 +++---- soc/nxp/mcx/soc.yml | 6 +- .../{frdm_mcxa166.conf => frdm_mcxa346.conf} | 0 .../{frdm_mcxa166.conf => frdm_mcxa346.conf} | 0 ...m_mcxa166.overlay => frdm_mcxa346.overlay} | 0 ...m_mcxa166.overlay => frdm_mcxa346.overlay} | 0 .../drivers/i2c/i2c_target_api/testcase.yaml | 2 +- ...m_mcxa166.overlay => frdm_mcxa346.overlay} | 0 .../nxp/dut_lpuart3_loopback.overlay | 2 +- .../drivers/uart/uart_async_api/testcase.yaml | 2 +- 34 files changed, 73 insertions(+), 73 deletions(-) delete mode 100644 boards/nxp/frdm_mcxa166/Kconfig.frdm_mcxa166 delete mode 100644 boards/nxp/frdm_mcxa166/board.yml rename boards/nxp/{frdm_mcxa166 => frdm_mcxa346}/CMakeLists.txt (100%) rename boards/nxp/{frdm_mcxa166 => frdm_mcxa346}/Kconfig (77%) create mode 100644 boards/nxp/frdm_mcxa346/Kconfig.frdm_mcxa346 rename boards/nxp/{frdm_mcxa166 => frdm_mcxa346}/board.c (100%) rename boards/nxp/{frdm_mcxa166 => frdm_mcxa346}/board.cmake (61%) create mode 100644 boards/nxp/frdm_mcxa346/board.yml rename boards/nxp/{frdm_mcxa166/doc/frdm_mcxa166.webp => frdm_mcxa346/doc/frdm_mcxa346.webp} (100%) rename boards/nxp/{frdm_mcxa166 => frdm_mcxa346}/doc/index.rst (82%) rename boards/nxp/{frdm_mcxa166/frdm_mcxa166-pinctrl.dtsi => frdm_mcxa346/frdm_mcxa346-pinctrl.dtsi} (97%) rename boards/nxp/{frdm_mcxa166/frdm_mcxa166.dts => frdm_mcxa346/frdm_mcxa346.dts} (95%) rename boards/nxp/{frdm_mcxa166/frdm_mcxa166.yaml => frdm_mcxa346/frdm_mcxa346.yaml} (83%) rename boards/nxp/{frdm_mcxa166/frdm_mcxa166_defconfig => frdm_mcxa346/frdm_mcxa346_defconfig} (100%) rename dts/arm/nxp/{nxp_mcxa166.dtsi => nxp_mcxa346.dtsi} (100%) rename samples/drivers/adc/adc_dt/boards/{frdm_mcxa166.conf => frdm_mcxa346.conf} (100%) rename samples/drivers/adc/adc_dt/boards/{frdm_mcxa166.overlay => frdm_mcxa346.overlay} (100%) rename samples/sensor/die_temp_polling/boards/{frdm_mcxa166.overlay => frdm_mcxa346.overlay} (100%) rename samples/sensor/mcux_lpcmp/boards/{frdm_mcxa166.conf => frdm_mcxa346.conf} (100%) rename samples/sensor/mcux_lpcmp/boards/{frdm_mcxa166.overlay => frdm_mcxa346.overlay} (100%) rename tests/arch/arm/arm_irq_vector_table/boards/{frdm_mcxa166.conf => frdm_mcxa346.conf} (100%) rename tests/drivers/adc/adc_api/boards/{frdm_mcxa166.conf => frdm_mcxa346.conf} (100%) rename tests/drivers/adc/adc_api/boards/{frdm_mcxa166.overlay => frdm_mcxa346.overlay} (100%) rename tests/drivers/i2c/i2c_target_api/boards/{frdm_mcxa166.overlay => frdm_mcxa346.overlay} (100%) rename tests/drivers/spi/spi_loopback/boards/{frdm_mcxa166.overlay => frdm_mcxa346.overlay} (100%) diff --git a/boards/nxp/frdm_mcxa166/Kconfig.frdm_mcxa166 b/boards/nxp/frdm_mcxa166/Kconfig.frdm_mcxa166 deleted file mode 100644 index 442f61f27c69f..0000000000000 --- a/boards/nxp/frdm_mcxa166/Kconfig.frdm_mcxa166 +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright 2025 NXP -# SPDX-License-Identifier: Apache-2.0 - -config BOARD_FRDM_MCXA166 - select SOC_MCXA166 - select SOC_PART_NUMBER_MCXA166VLQ diff --git a/boards/nxp/frdm_mcxa166/board.yml b/boards/nxp/frdm_mcxa166/board.yml deleted file mode 100644 index 5a1b42e98c1a0..0000000000000 --- a/boards/nxp/frdm_mcxa166/board.yml +++ /dev/null @@ -1,6 +0,0 @@ -board: - name: frdm_mcxa166 - full_name: FRDM-MCXA166 - vendor: nxp - socs: - - name: mcxa166 diff --git a/boards/nxp/frdm_mcxa166/CMakeLists.txt b/boards/nxp/frdm_mcxa346/CMakeLists.txt similarity index 100% rename from boards/nxp/frdm_mcxa166/CMakeLists.txt rename to boards/nxp/frdm_mcxa346/CMakeLists.txt diff --git a/boards/nxp/frdm_mcxa166/Kconfig b/boards/nxp/frdm_mcxa346/Kconfig similarity index 77% rename from boards/nxp/frdm_mcxa166/Kconfig rename to boards/nxp/frdm_mcxa346/Kconfig index 64334d8cb8272..f5e9bb34fd34e 100644 --- a/boards/nxp/frdm_mcxa166/Kconfig +++ b/boards/nxp/frdm_mcxa346/Kconfig @@ -1,5 +1,5 @@ # Copyright 2025 NXP # SPDX-License-Identifier: Apache-2.0 -config BOARD_FRDM_MCXA166 +config BOARD_FRDM_MCXA346 select BOARD_EARLY_INIT_HOOK diff --git a/boards/nxp/frdm_mcxa346/Kconfig.frdm_mcxa346 b/boards/nxp/frdm_mcxa346/Kconfig.frdm_mcxa346 new file mode 100644 index 0000000000000..74ab106867ea4 --- /dev/null +++ b/boards/nxp/frdm_mcxa346/Kconfig.frdm_mcxa346 @@ -0,0 +1,6 @@ +# Copyright 2025 NXP +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_FRDM_MCXA346 + select SOC_MCXA346 + select SOC_PART_NUMBER_MCXA346VLQ diff --git a/boards/nxp/frdm_mcxa166/board.c b/boards/nxp/frdm_mcxa346/board.c similarity index 100% rename from boards/nxp/frdm_mcxa166/board.c rename to boards/nxp/frdm_mcxa346/board.c diff --git a/boards/nxp/frdm_mcxa166/board.cmake b/boards/nxp/frdm_mcxa346/board.cmake similarity index 61% rename from boards/nxp/frdm_mcxa166/board.cmake rename to boards/nxp/frdm_mcxa346/board.cmake index f82d580a8413a..216acc6ad7892 100644 --- a/boards/nxp/frdm_mcxa166/board.cmake +++ b/boards/nxp/frdm_mcxa346/board.cmake @@ -4,9 +4,9 @@ # SPDX-License-Identifier: Apache-2.0 # -board_runner_args(jlink "--device=MCXA166") -board_runner_args(linkserver "--device=MCXA166:FRDM-MCXA166") -board_runner_args(pyocd "--target=mcxA166") +board_runner_args(jlink "--device=MCXA346") +board_runner_args(linkserver "--device=MCXA346:FRDM-MCXA346") +board_runner_args(pyocd "--target=MCXA346") include(${ZEPHYR_BASE}/boards/common/linkserver.board.cmake) include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) diff --git a/boards/nxp/frdm_mcxa346/board.yml b/boards/nxp/frdm_mcxa346/board.yml new file mode 100644 index 0000000000000..b73849823b95a --- /dev/null +++ b/boards/nxp/frdm_mcxa346/board.yml @@ -0,0 +1,6 @@ +board: + name: frdm_mcxa346 + full_name: FRDM-MCXA346 + vendor: nxp + socs: + - name: mcxa346 diff --git a/boards/nxp/frdm_mcxa166/doc/frdm_mcxa166.webp b/boards/nxp/frdm_mcxa346/doc/frdm_mcxa346.webp similarity index 100% rename from boards/nxp/frdm_mcxa166/doc/frdm_mcxa166.webp rename to boards/nxp/frdm_mcxa346/doc/frdm_mcxa346.webp diff --git a/boards/nxp/frdm_mcxa166/doc/index.rst b/boards/nxp/frdm_mcxa346/doc/index.rst similarity index 82% rename from boards/nxp/frdm_mcxa166/doc/index.rst rename to boards/nxp/frdm_mcxa346/doc/index.rst index 16f0245349fd8..8558bff03eb2b 100644 --- a/boards/nxp/frdm_mcxa166/doc/index.rst +++ b/boards/nxp/frdm_mcxa346/doc/index.rst @@ -1,9 +1,9 @@ -.. zephyr:board:: frdm_mcxa166 +.. zephyr:board:: frdm_mcxa346 Overview ******** -FRDM-MCXA166 are compact and scalable development boards for rapid prototyping of +FRDM-MCXA346 are compact and scalable development boards for rapid prototyping of MCX A16X MCUs. They offer industry standard headers for easy access to the MCUs I/Os, integrated open-standard serial interfaces and an on-board MCU-Link debugger. MCX A Series are high-performance, low-power microcontrollers with MAU,SmartDMA and performance efficiency. @@ -11,22 +11,22 @@ MCX A Series are high-performance, low-power microcontrollers with MAU,SmartDMA Hardware ******** -- MCX-A166 Arm Cortex-M33 microcontroller running at 180 MHz +- MCX-A346 Arm Cortex-M33 microcontroller running at 180 MHz - 1MB dual-bank on chip Flash - 256 KB RAM - 1x FlexCAN with FD, 1x RGB LED, 3x SW buttons - On-board MCU-Link debugger with CMSIS-DAP - Arduino Header, SmartDMA/Camera Header, mikroBUS -For more information about the MCX-A166 SoC and FRDM-MCXA166 board, see: +For more information about the MCX-A346 SoC and FRDM-MCXA346 board, see: -- `MCX-A166 SoC Website`_ -- `MCX-A166 Datasheet`_ -- `MCX-A166 Reference Manual`_ -- `FRDM-MCXA166 Website`_ -- `FRDM-MCXA166 User Guide`_ -- `FRDM-MCXA166 Board User Manual`_ -- `FRDM-MCXA166 Schematics`_ +- `MCX-A346 SoC Website`_ +- `MCX-A346 Datasheet`_ +- `MCX-A346 Reference Manual`_ +- `FRDM-MCXA346 Website`_ +- `FRDM-MCXA346 User Guide`_ +- `FRDM-MCXA346 Board User Manual`_ +- `FRDM-MCXA346 Schematics`_ Supported Features ================== @@ -36,7 +36,7 @@ Supported Features Connections and IOs =================== -The MCX-A166 SoC has 6 gpio controllers and has pinmux registers which +The MCX-A346 SoC has 6 gpio controllers and has pinmux registers which can be used to configure the functionality of a pin. +------------+-----------------+----------------------------+ @@ -50,13 +50,13 @@ can be used to configure the functionality of a pin. System Clock ============ -The MCX-A166 SoC is configured to use FRO running at 180MHz as a source for +The MCX-A346 SoC is configured to use FRO running at 180MHz as a source for the system clock. Serial Port =========== -The FRDM-MCXA166 SoC has 6 LPUART interfaces for serial communication. +The FRDM-MCXA346 SoC has 6 LPUART interfaces for serial communication. LPUART 2 is configured as UART for the console. Programming and Debugging @@ -118,7 +118,7 @@ Here is an example for the :zephyr:code-sample:`hello_world` application. .. zephyr-app-commands:: :zephyr-app: samples/hello_world - :board: frdm_mcxa166 + :board: frdm_mcxa346 :goals: flash Open a serial terminal, reset the board (press the RESET button), and you should @@ -127,7 +127,7 @@ see the following message in the terminal: .. code-block:: console *** Booting Zephyr OS build v3.6.0-4478-ge6c3a42f5f52 *** - Hello World! frdm_mcxa166/mcxa166 + Hello World! frdm_mcxa346/mcxa346 Debugging ========= @@ -136,7 +136,7 @@ Here is an example for the :zephyr:code-sample:`hello_world` application. .. zephyr-app-commands:: :zephyr-app: samples/hello_world - :board: frdm_mcxa166/mcxa166 + :board: frdm_mcxa346/mcxa346 :goals: debug Open a serial terminal, step through the application in your debugger, and you @@ -145,7 +145,7 @@ should see the following message in the terminal: .. code-block:: console *** Booting Zephyr OS build v3.6.0-4478-ge6c3a42f5f52 *** - Hello World! frdm_mcxa166/mcxa166 + Hello World! frdm_mcxa346/mcxa346 Troubleshooting =============== @@ -156,23 +156,23 @@ Troubleshooting .. include:: ../../common/board-footer.rst :start-after: nxp-board-footer -.. _MCX-A166 SoC Website: +.. _MCX-A346 SoC Website: https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/mcx-arm-cortex-m/mcx-a-series-microcontrollers/mcx-a13x-14x-15x-mcus-with-arm-cortex-m33-scalable-device-options-low-power-and-intelligent-peripherals:MCX-A13X-A14X-A15X -.. _MCX-A166 Datasheet: +.. _MCX-A346 Datasheet: https://www.nxp.com/docs/en/data-sheet/MCXAP100M96FS6.pdf -.. _MCX-A166 Reference Manual: +.. _MCX-A346 Reference Manual: https://www.nxp.com/webapp/Download?colCode=MCXAP100M96FS6RM -.. _FRDM-MCXA166 Website: - https://www.nxp.com/design/design-center/development-boards-and-designs/general-purpose-mcus/frdm-development-board-for-mcx-a144-5-6-a154-5-6-mcus:FRDM-MCXA166 +.. _FRDM-MCXA346 Website: + https://www.nxp.com/design/design-center/development-boards-and-designs/general-purpose-mcus/frdm-development-board-for-mcx-a144-5-6-a154-5-6-mcus:FRDM-MCXA346 -.. _FRDM-MCXA166 User Guide: - https://www.nxp.com/document/guide/getting-started-with-frdm-mcxa166:GS-FRDM-MCXA166 +.. _FRDM-MCXA346 User Guide: + https://www.nxp.com/document/guide/getting-started-with-frdm-mcxa346:GS-FRDM-MCXA346 -.. _FRDM-MCXA166 Board User Manual: +.. _FRDM-MCXA346 Board User Manual: https://www.nxp.com/docs/en/user-manual/UM12121.pdf -.. _FRDM-MCXA166 Schematics: +.. _FRDM-MCXA346 Schematics: https://www.nxp.com/webapp/Download?colCode=SPF-90841 diff --git a/boards/nxp/frdm_mcxa166/frdm_mcxa166-pinctrl.dtsi b/boards/nxp/frdm_mcxa346/frdm_mcxa346-pinctrl.dtsi similarity index 97% rename from boards/nxp/frdm_mcxa166/frdm_mcxa166-pinctrl.dtsi rename to boards/nxp/frdm_mcxa346/frdm_mcxa346-pinctrl.dtsi index d4cc41d950f4e..0a91fcd19358a 100644 --- a/boards/nxp/frdm_mcxa166/frdm_mcxa166-pinctrl.dtsi +++ b/boards/nxp/frdm_mcxa346/frdm_mcxa346-pinctrl.dtsi @@ -4,7 +4,7 @@ */ -#include +#include &pinctrl { pinmux_lpuart2: pinmux_lpuart2 { diff --git a/boards/nxp/frdm_mcxa166/frdm_mcxa166.dts b/boards/nxp/frdm_mcxa346/frdm_mcxa346.dts similarity index 95% rename from boards/nxp/frdm_mcxa166/frdm_mcxa166.dts rename to boards/nxp/frdm_mcxa346/frdm_mcxa346.dts index a7823600c5ed5..de2dffeb948cc 100644 --- a/boards/nxp/frdm_mcxa166/frdm_mcxa166.dts +++ b/boards/nxp/frdm_mcxa346/frdm_mcxa346.dts @@ -6,13 +6,13 @@ /dts-v1/; -#include -#include "frdm_mcxa166-pinctrl.dtsi" +#include +#include "frdm_mcxa346-pinctrl.dtsi" #include / { - model = "NXP FRDM_MCXA166 board"; - compatible = "nxp,mcxa166", "nxp,mcx"; + model = "NXP FRDM_MCXA346 board"; + compatible = "nxp,mcxa346", "nxp,mcx"; aliases{ led0 = &red_led; diff --git a/boards/nxp/frdm_mcxa166/frdm_mcxa166.yaml b/boards/nxp/frdm_mcxa346/frdm_mcxa346.yaml similarity index 83% rename from boards/nxp/frdm_mcxa166/frdm_mcxa166.yaml rename to boards/nxp/frdm_mcxa346/frdm_mcxa346.yaml index bcabde47bdcc5..832acf32086e7 100644 --- a/boards/nxp/frdm_mcxa166/frdm_mcxa166.yaml +++ b/boards/nxp/frdm_mcxa346/frdm_mcxa346.yaml @@ -4,8 +4,8 @@ # SPDX-License-Identifier: Apache-2.0 # -identifier: frdm_mcxa166 -name: NXP FRDM MCXA166 +identifier: frdm_mcxa346 +name: NXP FRDM MCXA346 type: mcu arch: arm ram: 240 diff --git a/boards/nxp/frdm_mcxa166/frdm_mcxa166_defconfig b/boards/nxp/frdm_mcxa346/frdm_mcxa346_defconfig similarity index 100% rename from boards/nxp/frdm_mcxa166/frdm_mcxa166_defconfig rename to boards/nxp/frdm_mcxa346/frdm_mcxa346_defconfig diff --git a/dts/arm/nxp/nxp_mcxa166.dtsi b/dts/arm/nxp/nxp_mcxa346.dtsi similarity index 100% rename from dts/arm/nxp/nxp_mcxa166.dtsi rename to dts/arm/nxp/nxp_mcxa346.dtsi diff --git a/samples/drivers/adc/adc_dt/boards/frdm_mcxa166.conf b/samples/drivers/adc/adc_dt/boards/frdm_mcxa346.conf similarity index 100% rename from samples/drivers/adc/adc_dt/boards/frdm_mcxa166.conf rename to samples/drivers/adc/adc_dt/boards/frdm_mcxa346.conf diff --git a/samples/drivers/adc/adc_dt/boards/frdm_mcxa166.overlay b/samples/drivers/adc/adc_dt/boards/frdm_mcxa346.overlay similarity index 100% rename from samples/drivers/adc/adc_dt/boards/frdm_mcxa166.overlay rename to samples/drivers/adc/adc_dt/boards/frdm_mcxa346.overlay diff --git a/samples/drivers/adc/adc_dt/sample.yaml b/samples/drivers/adc/adc_dt/sample.yaml index 3a844c71b6f64..820fd187d93af 100644 --- a/samples/drivers/adc/adc_dt/sample.yaml +++ b/samples/drivers/adc/adc_dt/sample.yaml @@ -39,7 +39,7 @@ tests: - xg24_rb4187c - xg29_rb4412a - raytac_an54l15q_db/nrf54l15/cpuapp - - frdm_mcxa166 + - frdm_mcxa346 - frdm_mcxa276 - s32k148_evb integration_platforms: diff --git a/samples/sensor/die_temp_polling/boards/frdm_mcxa166.overlay b/samples/sensor/die_temp_polling/boards/frdm_mcxa346.overlay similarity index 100% rename from samples/sensor/die_temp_polling/boards/frdm_mcxa166.overlay rename to samples/sensor/die_temp_polling/boards/frdm_mcxa346.overlay diff --git a/samples/sensor/mcux_lpcmp/README.rst b/samples/sensor/mcux_lpcmp/README.rst index 867cb3bd5ff03..bcb7a38d6a4be 100644 --- a/samples/sensor/mcux_lpcmp/README.rst +++ b/samples/sensor/mcux_lpcmp/README.rst @@ -69,14 +69,14 @@ LPCMP positive input port voltage by changing the voltage input to J2-9. :goals: build flash :compact: -Building and Running for NXP FRDM-MCXA166 +Building and Running for NXP FRDM-MCXA346 ========================================= -Build the application for the :zephyr:board:`frdm_mcxa166` board, and adjust the +Build the application for the :zephyr:board:`frdm_mcxa346` board, and adjust the LPCMP positive input port voltage by changing the voltage input to J2-17. .. zephyr-app-commands:: :zephyr-app: samples/sensor/mcux_lpcmp - :board: frdm_mcxa166 + :board: frdm_mcxa346 :goals: build flash :compact: diff --git a/samples/sensor/mcux_lpcmp/boards/frdm_mcxa166.conf b/samples/sensor/mcux_lpcmp/boards/frdm_mcxa346.conf similarity index 100% rename from samples/sensor/mcux_lpcmp/boards/frdm_mcxa166.conf rename to samples/sensor/mcux_lpcmp/boards/frdm_mcxa346.conf diff --git a/samples/sensor/mcux_lpcmp/boards/frdm_mcxa166.overlay b/samples/sensor/mcux_lpcmp/boards/frdm_mcxa346.overlay similarity index 100% rename from samples/sensor/mcux_lpcmp/boards/frdm_mcxa166.overlay rename to samples/sensor/mcux_lpcmp/boards/frdm_mcxa346.overlay diff --git a/samples/sensor/mcux_lpcmp/sample.yaml b/samples/sensor/mcux_lpcmp/sample.yaml index 53f1dc3029f2d..ae01f8e09749b 100644 --- a/samples/sensor/mcux_lpcmp/sample.yaml +++ b/samples/sensor/mcux_lpcmp/sample.yaml @@ -8,12 +8,12 @@ common: - frdm_mcxn236 - frdm_mcxa156 - frdm_mcxa153 - - frdm_mcxa166 + - frdm_mcxa346 - frdm_mcxa276 integration_platforms: - frdm_mcxn947/mcxn947/cpu0 - frdm_mcxn236 - - frdm_mcxa166 + - frdm_mcxa346 - frdm_mcxa276 tags: - drivers diff --git a/soc/nxp/mcx/mcxa/Kconfig b/soc/nxp/mcx/mcxa/Kconfig index 7c5f301eec292..ead47523ad561 100644 --- a/soc/nxp/mcx/mcxa/Kconfig +++ b/soc/nxp/mcx/mcxa/Kconfig @@ -22,7 +22,7 @@ config SOC_MCXA156 select HAS_MCUX_CACHE select HAS_MCUX_MCX_CMC -config SOC_MCXA166 +config SOC_MCXA346 select CPU_CORTEX_M33 select CPU_HAS_ARM_MPU select CPU_HAS_FPU diff --git a/soc/nxp/mcx/mcxa/Kconfig.soc b/soc/nxp/mcx/mcxa/Kconfig.soc index efe6bd3edaca3..60093d0c6bfa3 100644 --- a/soc/nxp/mcx/mcxa/Kconfig.soc +++ b/soc/nxp/mcx/mcxa/Kconfig.soc @@ -15,7 +15,7 @@ config SOC_MCXA156 bool select SOC_FAMILY_MCXA -config SOC_MCXA166 +config SOC_MCXA346 bool select SOC_FAMILY_MCXA @@ -26,7 +26,7 @@ config SOC_MCXA276 config SOC default "mcxa153" if SOC_MCXA153 default "mcxa156" if SOC_MCXA156 - default "mcxa166" if SOC_MCXA166 + default "mcxa346" if SOC_MCXA346 default "mcxa276" if SOC_MCXA276 config SOC_PART_NUMBER_MCXA153VFM @@ -50,16 +50,16 @@ config SOC_PART_NUMBER_MCXA156VLL config SOC_PART_NUMBER_MCXA156VMP bool -config SOC_PART_NUMBER_MCXA166VLQ +config SOC_PART_NUMBER_MCXA346VLQ bool -config SOC_PART_NUMBER_MCXA166VLL +config SOC_PART_NUMBER_MCXA346VLL bool -config SOC_PART_NUMBER_MCXA166VLH +config SOC_PART_NUMBER_MCXA346VLH bool -config SOC_PART_NUMBER_MCXA166VPN +config SOC_PART_NUMBER_MCXA346VPN bool config SOC_PART_NUMBER_MCXA276VLQ @@ -82,10 +82,10 @@ config SOC_PART_NUMBER default "MCXA156VPJ" if SOC_PART_NUMBER_MCXA156VPJ default "MCXA156VLL" if SOC_PART_NUMBER_MCXA156VLL default "MCXA156VMP" if SOC_PART_NUMBER_MCXA156VMP - default "MCXA166VLQ" if SOC_PART_NUMBER_MCXA166VLQ - default "MCXA166VLL" if SOC_PART_NUMBER_MCXA166VLL - default "MCXA166VLH" if SOC_PART_NUMBER_MCXA166VLH - default "MCXA166VPN" if SOC_PART_NUMBER_MCXA166VPN + default "MCXA346VLQ" if SOC_PART_NUMBER_MCXA346VLQ + default "MCXA346VLL" if SOC_PART_NUMBER_MCXA346VLL + default "MCXA346VLH" if SOC_PART_NUMBER_MCXA346VLH + default "MCXA346VPN" if SOC_PART_NUMBER_MCXA346VPN default "MCXA276VLQ" if SOC_PART_NUMBER_MCXA276VLQ default "MCXA276VLL" if SOC_PART_NUMBER_MCXA276VLL default "MCXA276VLH" if SOC_PART_NUMBER_MCXA276VLH diff --git a/soc/nxp/mcx/soc.yml b/soc/nxp/mcx/soc.yml index b4ed450d0d1dc..3f14fa8ba46bb 100644 --- a/soc/nxp/mcx/soc.yml +++ b/soc/nxp/mcx/soc.yml @@ -20,7 +20,7 @@ family: socs: - name: mcxa153 - name: mcxa156 - - name: mcxa166 + - name: mcxa346 - name: mcxa276 - name: mcxw socs: @@ -54,7 +54,7 @@ runners: - qualifiers: - mcxa156 - qualifiers: - - mcxa166 + - mcxa346 - qualifiers: - mcxa276 - qualifiers: @@ -82,7 +82,7 @@ runners: - qualifiers: - mcxa156 - qualifiers: - - mcxa166 + - mcxa346 - qualifiers: - mcxa276 - qualifiers: diff --git a/tests/arch/arm/arm_irq_vector_table/boards/frdm_mcxa166.conf b/tests/arch/arm/arm_irq_vector_table/boards/frdm_mcxa346.conf similarity index 100% rename from tests/arch/arm/arm_irq_vector_table/boards/frdm_mcxa166.conf rename to tests/arch/arm/arm_irq_vector_table/boards/frdm_mcxa346.conf diff --git a/tests/drivers/adc/adc_api/boards/frdm_mcxa166.conf b/tests/drivers/adc/adc_api/boards/frdm_mcxa346.conf similarity index 100% rename from tests/drivers/adc/adc_api/boards/frdm_mcxa166.conf rename to tests/drivers/adc/adc_api/boards/frdm_mcxa346.conf diff --git a/tests/drivers/adc/adc_api/boards/frdm_mcxa166.overlay b/tests/drivers/adc/adc_api/boards/frdm_mcxa346.overlay similarity index 100% rename from tests/drivers/adc/adc_api/boards/frdm_mcxa166.overlay rename to tests/drivers/adc/adc_api/boards/frdm_mcxa346.overlay diff --git a/tests/drivers/i2c/i2c_target_api/boards/frdm_mcxa166.overlay b/tests/drivers/i2c/i2c_target_api/boards/frdm_mcxa346.overlay similarity index 100% rename from tests/drivers/i2c/i2c_target_api/boards/frdm_mcxa166.overlay rename to tests/drivers/i2c/i2c_target_api/boards/frdm_mcxa346.overlay diff --git a/tests/drivers/i2c/i2c_target_api/testcase.yaml b/tests/drivers/i2c/i2c_target_api/testcase.yaml index 8afc7c4645661..bdbe256643a35 100644 --- a/tests/drivers/i2c/i2c_target_api/testcase.yaml +++ b/tests/drivers/i2c/i2c_target_api/testcase.yaml @@ -52,7 +52,7 @@ tests: - frdm_ke17z512 - frdm_mcxn236 - frdm_mcxa156 - - frdm_mcxa166 + - frdm_mcxa346 - frdm_mcxa276 - max32655evkit/max32655/m4 - max32662evkit diff --git a/tests/drivers/spi/spi_loopback/boards/frdm_mcxa166.overlay b/tests/drivers/spi/spi_loopback/boards/frdm_mcxa346.overlay similarity index 100% rename from tests/drivers/spi/spi_loopback/boards/frdm_mcxa166.overlay rename to tests/drivers/spi/spi_loopback/boards/frdm_mcxa346.overlay diff --git a/tests/drivers/uart/uart_async_api/nxp/dut_lpuart3_loopback.overlay b/tests/drivers/uart/uart_async_api/nxp/dut_lpuart3_loopback.overlay index cba6365e33d40..ae0c1a29a5c07 100644 --- a/tests/drivers/uart/uart_async_api/nxp/dut_lpuart3_loopback.overlay +++ b/tests/drivers/uart/uart_async_api/nxp/dut_lpuart3_loopback.overlay @@ -6,7 +6,7 @@ /* * Except testing with "nxp,loopback" * - * frdm_mcxa166: Short J5.3 and J5.4 + * frdm_mcxa346: Short J5.3 and J5.4 * frdm_mcxa276: Short J5.3 and J5.4 */ diff --git a/tests/drivers/uart/uart_async_api/testcase.yaml b/tests/drivers/uart/uart_async_api/testcase.yaml index efcf3af94534d..fef66a44c734b 100644 --- a/tests/drivers/uart/uart_async_api/testcase.yaml +++ b/tests/drivers/uart/uart_async_api/testcase.yaml @@ -66,7 +66,7 @@ tests: - platform:frdm_k82f/mk82f25615:"DTC_OVERLAY_FILE=nxp/dut_lpuart0_loopback.overlay" - platform:frdm_mcxa156/mcxa156:"DTC_OVERLAY_FILE=nxp/dut_lpuart1.overlay" - platform:frdm_mcxa153/mcxa153:"DTC_OVERLAY_FILE=nxp/dut_lpuart2_loopback.overlay;nxp/enable_edma0.overlay" - - platform:frdm_mcxa166/mcxa166:"DTC_OVERLAY_FILE=nxp/dut_lpuart3_loopback.overlay;nxp/enable_edma0.overlay" + - platform:frdm_mcxa346/mcxa346:"DTC_OVERLAY_FILE=nxp/dut_lpuart3_loopback.overlay;nxp/enable_edma0.overlay" - platform:frdm_mcxa276/mcxa276:"DTC_OVERLAY_FILE=nxp/dut_lpuart3_loopback.overlay;nxp/enable_edma0.overlay" - platform:mimxrt1160_evk/mimxrt1166/cm4:"DTC_OVERLAY_FILE=nxp/dut_lpuart2_loopback.overlay" - platform:mimxrt1170_evk@A/mimxrt1176/cm4:"DTC_OVERLAY_FILE=nxp/dut_lpuart2_loopback.overlay" From 51a555eea3dbb4ca826827d90ce3467d2c7474a7 Mon Sep 17 00:00:00 2001 From: Zhaoxiang Jin Date: Mon, 21 Jul 2025 21:38:53 +0800 Subject: [PATCH 8/8] doc: migrate-guide: Add nxp frdm_mcxa166 migrate information. NXP frdm_mcxa166 is renamed to frdm_mcxa346, add this information to migration-guide-4.3.rst. Signed-off-by: Zhaoxiang Jin --- doc/releases/migration-guide-4.3.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/releases/migration-guide-4.3.rst b/doc/releases/migration-guide-4.3.rst index d4840fcb29019..5aa08fe722d62 100644 --- a/doc/releases/migration-guide-4.3.rst +++ b/doc/releases/migration-guide-4.3.rst @@ -29,6 +29,8 @@ Kernel Boards ****** +* NXP ``frdm_mcxa166`` is renamed to ``frdm_mcxa346``. + Device Drivers and Devicetree *****************************