Commit Graph

276 Commits

Author SHA1 Message Date
Mahesh Mahadevan
9ae310b923 soc: nxp_mxrt7xx: Fix cache implementation for CPU0
This SoC has an external XCACHE controller for CPU0
instruction and data bus.
Add code to enable the data cache. Instruction cache
is already enabled by SystemInit.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-02-13 01:14:20 +01:00
Fengming Ye
4ffa27568d wifi: nxp: kconfig: decouple dependency of soft AP
Decouple dependency of CONFIG_NXP_WIFI_SOFTAP_SUPPORT.
Add wifi defconfig to set default kconfig options when soft AP
enabled.

Signed-off-by: Fengming Ye <frank.ye@nxp.com>
2025-02-12 09:40:38 +01:00
Hou Zhiqiang
e16a326af7 soc: nxp: add SoC imx91 support
The i.MX 91 SoC’s integrated EdgeLock® Secure Enclave provides
security features including lifecycle management, tamper detection,
secure boot and a simplified path to certifications. The i.MX 91
family features an Arm® Cortex®-A55 running at up to 1.4GHz,
support for modern LPDDR4 memory to enable platform longevity,
dual Gigabit Ethernet and dual USB ports, along with a rich set
of peripherals targeting medical, industrial and consumer IoT
market segments.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
2025-02-11 22:08:59 +01:00
Yangbo Lu
26a59796ed soc: nxp: imxrt118x: add M7 MPU configuration
Added M7 MPU configuration.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-02-11 22:03:48 +01:00
Emilio Benavente
a6554dbe0f soc: nxp: mcxw: Enable RTT Support
Enabled RTT Support for the mcxw soc devices.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2025-02-07 17:47:55 +01:00
Declan Snyder
b83f8ed070 soc: nxp: Make clock init weak and global
Make clock init functions in SOC level weak and global so they can be
overriden by board/app level.

Ideally these should have been put at board level but for now just make
them weak so they can be overriden without breaking anything.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-02-05 10:20:41 +01:00
Emilio Benavente
97200b04ad soc: nxp: mcx: Add MCXW72
Add MCXW72 SOC, SOC Kconfigs, and
Platform Init code

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2025-02-04 09:17:04 +01:00
Gediminas Sidlauskas
88c7a443f9 soc: nxp: imxrt: fixed relocated file name
Added .c ending to lpm_rt1064 file name.

Signed-off-by: Gediminas Sidlauskas <gediminas.sidlauskas@gmail.com>
2025-01-31 21:43:25 +01:00
Felix Schramek
9f2f4a4256 soc: add FlexSPI2 clock configuration in clock_init for rt11xx
The current soc clock_init only configures the FlexSPI1 interface and
not the FlexSPI2.

This Commit adds the clock configuration for the second FlexSPI
in case one boots from the FlexSPI2.

Signed-off-by: Felix Schramek <felix.schramek@gmail.com>
2025-01-31 21:42:56 +01:00
Mahesh Mahadevan
4e31be313a soc: nxp_rw: Update pinctrl setting for FlexSPI
The FSEL bit for FlexSPI should not be cleared as part of
configuring the FlexSPI pins.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-01-30 20:28:20 +01:00
Mahesh Mahadevan
85bdab00de soc: mimxrt1180: Add USB support
This was tested on the MIMXRT1180 EVK board

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-01-30 18:29:33 +01:00
Lucien Zhao
5d87295350 soc: nxp: imxrt: select HAS_MCUX_FLEXCOMM Kconfig
lpi2c driver on RT700 depend on HAS_MCUX_FLEXCOMM

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-01-28 09:47:32 +01:00
Yassine El Aissaoui
b67c0f423d soc: nxp: rw: Fix nxp_nbu_init implicit definition warning
nxp_nbu_init extern definition is under CONFIG_NXP_RW6XX_BOOT_HEADER
and this produces an implicite definition warning when
the Kconfig is disabled. This is the case when both BLE Kconfig
and MCUboot bootloader Kconfig are enabled.

Signed-off-by: Yassine El Aissaoui <yassine.elaissaoui@nxp.com>
2025-01-28 00:05:31 +01:00
Maximilian Werner
01e511c7f7 soc: mcxc: Set LPUART1 clock source from clock_init
The clock source for LPUART0 for the MCXC family is already
initialized in the corresponding soc.c -> clock_init().
Initialization for LPUART1 is missing. This is however
necessary if a user wants to configure LPUART1 as the default
console output.

Signed-off-by: Maximilian Werner <maximilian.werner96@gmail.com>
2025-01-28 00:05:18 +01:00
Lucien Zhao
1034316a85 soc: nxp: imxrt: imxrt7xx: fix bug pincfg setting missed
A problem was discovered during development: the
electrical characteristics of the pins were not
set according to the device tree settings.

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-01-27 21:03:26 +01:00
Jasen Liu
c2df6b0dd1 soc: nxp: rw: fix stack overflow in BLE samples
mbedtls is now used in BLE samples, increasing the stack depth needed
of the calling threads. This was causing stack overflows in several BLE
samples.
Increasing the BT_LONG_WQ_STACK stack size for peripheral_sc_only sample,
 and the SYSTEM_WORKQUEUE stack size for ibeacon sample.

Signed-off-by: Jasen Liu <jasen.liu@nxp.com>
2025-01-27 11:03:05 +01:00
Jasen Liu
f18fed1a0e soc: nxp: mcxw: fix stack overflow in BLE samples
mbedtls is now used in BLE samples, increasing the stack depth needed
of the calling threads. This was causing stack overflows in several BLE
samples.
Increasing the BT_LONG_WQ_STACK stack size for peripheral_sc_only sample,
and the SYSTEM_WORKQUEUE stack size for ibeacon sample.

Signed-off-by: Jasen Liu <jasen.liu@nxp.com>
2025-01-27 11:03:05 +01:00
Ruijia Wang
8c9b226900 mcux: soc: rt1180 unmask reset event when rtwdog is using
RT1180 takes reset event mask feature which should be unmasked when
watch dog is enabled.

Signed-off-by: Ruijia Wang <ruijia.wang@nxp.com>
2025-01-25 20:07:05 +01:00
Andrej Butok
66df94b618 boards: mimxrt1180: fix MCUBoot build
- Fixes building of MCUBoot for mimxrt1180-evk.
- Disables RT Boot header for MCUBoot applications.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2025-01-24 22:09:30 +01:00
Jiafei Pan
ab25fdf1a9 boards: imx8mp_evk: add i2c support
Added i2c3 support on imx8mp_evk A53 board.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-01-24 19:15:57 +01:00
Adrian Bieri
03fa6a0c33 mcux: drivers: xbara: drop HAS_MCUX_XBARA config
The HAS_MCUX_XBARA is replaced by the DT_HAS_NXP_MCUX_XBAR_ENABLED

Signed-off-by: Adrian Bieri <adrian.bieri@loepfe.com>
2025-01-23 19:25:54 +01:00
Emilio Benavente
d4bfe3b507 boards: nxp: frdm_mcxw71: Enable MCXW71 I2C Loopback
Enable and test I2C loopback with i2c_target_api

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2025-01-22 05:39:22 +01:00
Tomas Galbicka
49c6725750 soc: Enable reset hook for mcxn236
This commit selects reset hook for mcxn236 in Kconfig.

This fixes the issue #84213.

Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
2025-01-21 19:31:02 +01:00
Andrej Butok
5449fbbe37 soc: imxrt: add mimxrt1189 flashing configuration
- Adds a flash runner configuration for mimxrt1189,
  used for sysbuild multi-image projects.
- Avoid unwanted multiple erases and resets.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2025-01-20 11:16:34 +01:00
Qiang Zhang
3a15017dcd boards: nxp/frdm_mcxn947: Support sai for NXP frdm_mcxn947
Support sai for NXP frdm_mcxn947.

Signed-off-by: Qiang Zhang <qiang.zhang_6@nxp.com>
2025-01-17 02:13:01 +01:00
Mahesh Mahadevan
9f31feb6cf soc: imxrt118x: Use the External Cache driver for CM33
The CM33 has a XCACHE controller to manage the External
cache. Remove unused Kconfigs as we can use Zephyr API's
to manage the CM33 cache,

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-01-15 22:57:41 +01:00
Yassine El Aissaoui
cc7489354b soc: nxp: mcxw: Update soc.c due to nxp,kinetis_lpuart rename
nxp,kinetis_lpuart was recently renamed to
nxp,lpuart without updating mcxw soc file.

Signed-off-by: Yassine El Aissaoui <yassine.elaissaoui@nxp.com>
2025-01-15 19:06:37 +01:00
Tomas Galbicka
d4d180c216 dts: drivers: Add DTS MBOX entry for NXP MCXN947
This commit adds MBOX device tree entry for MCXN947.
Adds support for MCXN in NXP ipm and mbox drivers.

Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
2025-01-15 19:04:42 +01:00
Axel Le Bourhis
cb8cb39fbf soc: nxp: rw: fix stack overflow in BLE samples
mbedtls is now used in BLE samples, increasing the stack depth needed
of the calling threads. This was causing stack overflows in several BLE
samples.
Increasing the main stack size for common samples, but also the shell
stack size for samples calling bt API from the shell thread like the
bt shell.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2025-01-15 11:52:52 +01:00
Axel Le Bourhis
b6e9f3d9e9 soc: nxp: mcxw: fix stack overflow in BLE samples
mbedtls is now used in BLE samples, increasing the stack depth needed
of the calling threads. This was causing stack overflows in several BLE
samples.
Increasing the main stack size for common samples, but also the shell
stack size for samples calling bt API from the shell thread like the
bt shell.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2025-01-15 11:52:52 +01:00
Yangbo Lu
314686ea03 soc: nxp: imx93: m33 early init for GPIO
M33 early init for GPIO for secure access configuration,
so that driver can operate pins.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Chunlei Xu <chunlei.xu@nxp.com>
2025-01-15 07:19:15 +01:00
Lucien Zhao
a6f2a0fa8a soc: nxp: imxrt: imxrt7xx: add rt7xx soc files
add rt7xx files related to soc
support basic clock enablement
add common/Kconfig.xspi_xip file

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-01-14 17:56:53 +01:00
Lucien Zhao
19550c1746 soc: nxp: imxrt: imxrt118x: add lpspi clock and trdc configuration
add lpspi clock enablement code

DMA3/4 access different domain is controlled by TRDC, release all
the domain access permission for DMA3/4, and add privilege and secure
information in dma access request signal by DAC module

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-01-13 10:08:36 +01:00
Bart De Vos
52fd016274 soc: nxp: rw6xx: add support for segger rtt
This change adds support for segger rtt, similar to other supported
soc's. This was lacking when evaluating tracing.

Without this addition the system fails to build, indicating that
HAS_SEGGER_RTT is missing. Adding CONFIG_HAS_SEGGER_RTT in prj.conf is
not allowed.

Signed-off-by: Bart De Vos <bart.devos@verhaert.com>
2025-01-08 12:59:19 +01:00
Daniel DeGrasse
a7ad63c1d0 soc: nxp: imxrt: add CONFIG_SECOND_CORE_MCUX_LAUNCHER
Add CONFIG_SECOND_CORE_MCUX_LAUNCHER. This Kconfig is only enabled when
using sysbuild targeting the Cortex-M4 core on the RT11xx series, and
results in loading a minimal application to the Cortex-M7 core that
boots the Cortex-M4 core. This makes developing on the M4 core simpler,
as the user can now simply target the core with sysbuild enabled and
flashing the application will work as expected.

Signed-off-by: Daniel DeGrasse <daniel@degrasse.com>
2025-01-07 20:34:26 +01:00
Lucien Zhao
a101a4cdb2 soc: nxp: imxrt: imxrt118x: Remove cm7 core condition for CPU_HAS_ICACHE
Although I/DCACHE aren't included under cm33 architecture,
NXP design and integrate Code Cache/Sys Cache for cm33 to
speed up the core execution efficiency.
For the convenience of developers, we believe that software
developers can directly use Code/Sys Cache as arm's I/D Cache.

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-01-07 18:24:20 +01:00
Derek Snell
ed7c8285f5 soc: nxp: imxrt5xx: enable Flexcomm12 clock for SPI
Enable clock when using as SPI.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-01-07 15:57:50 +01:00
Jiafei Pan
dd0446ae26 soc: nxp: imx8mm/n/p imx93/95: enable GIC safe config
Enable CONFIG_GIC_SAFE_CONFIG by default for Cortex-A Core platforms
as the most targets are to run multiple OSes together with Zephyr on
different Cortex-A Cores.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-01-07 00:27:08 +01:00
Benedikt Schmidt
d7574e5f44 soc: add DWARF v5 sections to linker scripts
Add the DWARF v5 sections to the linker scripts of
imx, imxrt, acp_6_0 and xtensa_sample_controller.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2024-12-20 12:36:46 +01:00
Valerio Setti
bc3baf096a boards|soc: remove selection of ENTROPY_GENERATOR
Now that MbedTLS is capable of automatically enabling
CONFIG_ENTROPY_GENERATOR (when available), we can remove forced
enablements in boards|soc deconfig files.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2024-12-19 17:53:37 +01:00
Valerio Setti
39068cc70e mbedtls: select ENTROPY_GENERATOR when a driver is available
This is based on the introduction of a helper Kconfig symbol in
"subsys/random/Kconfig" which is named CSPRNG_AVAILABLE. When this is
enabled it means that there is a "zephyr,entropy" property defined in the
device-tree, therefore Mbed TLS can select ENTROPY_GENERATOR to allow
the platform specific driver to be included into the build.

This commit also changes other locations where CSPRNG_ENABLED was used
moving it to CSPRNG_AVAILABLE in order to solve dependency loop
build failures.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2024-12-19 17:53:37 +01:00
Xavier Razavet
1ac3470efb drivers: Narrow Band Unit interruption driver creation
Creation of the new zephyr\soc\nxp\common\nxp_nbu.c driver which manage
the interruption of the NBU. This modification is mandatory to support a
coex application which includes Bluetooth and 802.15.4 on the same
narrow band path.

Signed-off-by: Xavier Razavet <xavier.razavet@nxp.com>
2024-12-19 17:37:24 +01:00
Jiafei Pan
3fc6cae69c soc: imx8mm/n/p: enable CONFIG_HAS_MCUX_IGPIO for A-Core
Enable CONFIG_HAS_MCUX_IGPIO because device driver CONFIG_GPIO_MCUX_IGPIO
depends on it, so that the driver can be enabled by dts nodes.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2024-12-18 08:31:52 +01:00
Lucien Zhao
08b8b160a9 dts: arm: nxp: add two i3c instances for RT1180
add i3c instances
enable i3c clock under soc folder

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2024-12-18 01:01:37 +01:00
Michal Smola
6e7b335873 soc: nxp mcxc: fix LinkServer flashing
LinkServer can flash only the first time, cannot flash again.
Fix it by setting default mcu security status as unsecure.

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2024-12-17 17:53:05 +01:00
Gang Li
b4994ee2b9 soc: rw61x: enable IEEE802154 for NXP_FW_LOADER and NXP_RF_IMU
Enable IEEE802154 for NXP_FW_LOADER and NXP_RF_IMU

Signed-off-by: Gang Li <gang.li_1@nxp.com>
2024-12-13 03:02:13 +01:00
Emilio Benavente
a8647d3af9 soc: nxp: mcx: Updating Clock Code
Updating clock code to mcxw71.
Adding some missing clock setups.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2024-12-11 21:27:51 +01:00
Manuel Argüelles
f85f8ee88e dts: bindings: rename nxp,kinetis-lpuart compatible
Rename "nxp,kinetis-lpuart" compatible to "nxp,lpuart" to remove the
device family from its name.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2024-12-11 08:00:30 +01:00
Axel Le Bourhis
5dfd41e51a nxp: combine MONOLITHIC_BT and MONOLITHIC_IEEE802154
Combine BLE and 802.15.4 monolithic build under a single config to make
it less error prone.
The choice between a BLE/802.15.4 combo firmware and a BLE only firmware
is done depending on the Soc (like RW610 vs RW612).

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2024-12-10 11:11:38 +01:00
Andrej Butok
e669bf8d3d soc: nxp: mcx: Add flash runner configuration
- Adds a flash runner configuration for mcxn/c/a/w
  used for sysbuild multi-image projects.
- Solves sysbuild issue with multiple resets and mass erases.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2024-12-09 22:05:40 +00:00