Commit graph

357 commits

Author SHA1 Message Date
Mahesh Mahadevan
8a3dc68996 soc: nxp_rw6xx: Add code to fire the GPIO callback
Call the API provided to fire a GPIO interrupt
if registered on wakeup from PM Mode 3.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-03-21 09:51:38 +01:00
Mahesh Mahadevan
419853f674 soc: nxp_rw6xx: Enable Power Domain Kconfig
Power Domains are used to re-enable peripherals
when exit Power Mode 3 (Standby).

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-03-21 09:51:38 +01:00
Mahesh Mahadevan
f5ab199bb3 soc: nxp_rw6xx: Do not enable unused clocks
Update the clock init code to gate off unused clocks.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-03-21 09:51:38 +01:00
Mahesh Mahadevan
1e492e8f91 soc: nxp_rw6xx: Add support for Power Mode 3
This maps to Zephyr power state Standby. In this power
state the OS Timer cannot be used as a wakeup source as
it will be powered off. Hence the counter is enabled
and RTC is used to keep track of system ticks and wakeup
the system.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-03-21 09:51:38 +01:00
Mahesh Mahadevan
15d8fd2ad3 soc: nxp_rw6xx: Update SYS_CLOCK_TICKS_PER_SEC for PM mode 3
Since the clock source when running in PM mode 3 is the
slower 1KHx clock, we adjust the SYS_CLOCK_TICKS_PER_SEC
value to get better accuracy.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-03-21 09:51:38 +01:00
Mahesh Mahadevan
8fde2b75d7 soc: nxp_rw6xx: Add support for XTAL32K clock
This clock is used for certain peripherals such
as RTC.
On certain RW612 boards such as rd_rw612_bga, XTAL32K
and ENET share pins. Add code to check if ENET and
XTAL32 are enabled at the same time.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-03-21 09:51:38 +01:00
Declan Snyder
f013e20bc5 soc: nxp: Add missing resolve of system timer cfg
These socs were missing a config line to disable SYSTICK if the LPTMR is
configured for the system timer, similar to how other SOCs do this for
alternative system timers than systick.

This fixes build errors in the case where that lptmr kconfig is enabled.

Also, the LPTMR kconfig should be default no because it is a secondary
option for the system timer, being lower resolution than systick. This
also resolves build errors.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-03-20 17:14:28 +01:00
Mahesh Mahadevan
2b0912951b soc: imxrt5xx: Fix for USB Next
Fix to add support for USB Next Device Stack.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-03-19 01:24:35 +01:00
Adrian Bieri
6f6a8d1a99 soc: nxp: imxrt: add config ADJUST_DCDC for RT10xx
There is a configuration of the DCDC in the clock_init for the RT10xx.
The RT11xx has a kconfig flag ADJUST_DCDC to enable or disable DCDC
adjust code. This flag is now also used for the RT10xx to be able to
enable or disable the DCDC adjust code.

Signed-off-by: Adrian Bieri <adrian.bieri@loepfe.com>
2025-03-18 16:44:50 +01:00
Raymond Lei
8199a247a6 boards/soc: nxp: MCXA, imxrt11xx: reconfigure clock source of lpspi
In spi loopback test, high bandrate is 16Mbps while some source of lpspi
are too low to support this bandrate. According the reference mannual,
to support 16Mbps, Input frequency at least should be 2*16MHz.
Update LPSPI input freq to maximum to get more accurate band rate
because band rate must be divisible by input freq.

Signed-off-by: Raymond Lei <raymond.lei@nxp.com>
2025-03-18 08:27:12 +01:00
Author You
1ec7e525ee bluetooth: coex: increase BT_LONG_WQ stack to fix coex app hang
Currently, coex application is enable the mbedtls and PAS feature,
this causes BT_LONG_WQ thread to use more stack size.

Signed-off-by: Author You <author.you@nxp.com>
2025-03-14 17:55:30 +01:00
Maximilian Werner
1d8ef24642 soc: mcxc: fix soc-part-number in kconfig
The part numbers for MCXC141VLH and MCXC142VFM
have all been set to MCXC141VFM, which lead to
build errors.

Signed-off-by: Maximilian Werner <maximilian.werner96@gmail.com>
2025-03-14 17:54:49 +01:00
Peter van der Perk
808c0da7ed imx95: Add GPIO support Cortex-M7 target
Adds GPIO definitions and update pinctrl for rgpio driver

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2025-03-12 02:25:58 +01:00
Mahesh Mahadevan
8534873d9b soc: imxrt: No need for USB linker script on RT7XX
This is not needed for RT7XX

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-03-07 19:48:38 +01:00
Iuliana Prodan
6c3e83074c soc: nxp: imxrt700: Add i.MXRT700 HiFi1 DSP support
The i.MX RT700 has an ultra-low power Sense Subsystem
which includes an ARM Cortex-M33 and
Cadence Tensilica HiFi 1 DSP.

Here, we add support for the HiFi1 core.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2025-03-07 19:42:36 +01:00
Iuliana Prodan
b3b6f7e248 soc: nxp: imxrt700: Add i.MXRT700 HiFi4 DSP support
The i.MX RT700 has a compute subsystem which includes
a primary ARM Cortex-M33 running at 325 MHz and
Cadence Tensilica HiFi4 DSP.

Here, we add support for the HiFi4 core.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2025-03-07 19:42:36 +01:00
Jiafei Pan
af2f497ad0 soc: imx8mm/n: fix pinctrl field shifting value
The lowest bit in DSE and FSEL field of pinctl register is not used
in the register and dts binding definitions also don't conver this bit,
so shift one more bit to align with actual register definitions.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-02-26 22:05:29 +00:00
Declan Snyder
d46c382950 drivers: ethernet: Remove deprecated eth_mcux
This driver was deprecated and must be removed by Zephyr version
4.1 according to lifecycle/release guidelines.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-02-26 22:04:26 +00:00
Declan Snyder
2ba6ba8494 drivers: nxp_enet: Re-add EXT RMII CLK config
This config was missed when converting from eth_mcux to nxp_enet driver,
re-add it and use new one instead of old one.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-02-26 22:04:26 +00:00
Fabio Baltieri
e10432afce soc: imxrt: drop the ADC_MCUX_12B1MSPS_SAR overrides
Drop the override conditions to ADC_MCUX_12B1MSPS_SAR for imxrt, the
current one causes the driver to be built when it does not have to and
are not needed anyway, and drop the HAS_MCUX_12B1MSPS_SAR option
entirely as it's not needed anymore.

Tested with:

west build -p -b teensy40 tests/lib/devicetree/api_ext

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-02-26 22:03:36 +00:00
Tomas Galbicka
74b93ba47b soc: NXP RT1180 fix trdc permissions set multicore
This commits repairs calling function trdc_enable_all_access() only
when using build for standalone CM33 or CM7 core build.

For the multicore this function should be called only by CM33 core.

Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
2025-02-22 07:12:32 +01:00
Derek Snell
793e44afdd soc: nxp: rw: Update system core clock frequency
After updating the main_clk, need to update the frequency tracked in
HAL MCUXpresso SDK framework for other drivers.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-02-21 11:41:56 +00:00
Benjamin Cabé
4586f6c1cf soc: nxp: fix spelling of "manual"
s/mannual/manual/

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-21 11:41:46 +00:00
Benjamin Cabé
b9da3e78e6 soc: nxp: fix spelling of "configuration"
s/condfiguration/configuration/

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-19 18:51:13 +01:00
Lucien Zhao
ba982a0f85 dts: arm: nxp: register ostimer for cm33_cpu0/1
register ostimer for cm33_cpu0/1
disable systick
set ostimer per sec 1000000 times

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-02-14 17:24:58 +01:00
Lucien Zhao
f378a8c7cc dts: arm: nxp: rt118x: add two usdhc instances
enable clock in soc.c
register two usdhc instances

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-02-14 16:21:11 +00:00
Tomas Galbicka
34575e84cd dts: soc: Add DTS MBOX and CM7 boot for NXP RT1180
This commit adds MBOX device tree entry for RT1180.

Adds functions to copy and boot CM7 core.

Adds MPU region for shared memory without caching.

Signed-off-by: Tomas Galbicka <tomas.galbicka@nxp.com>
2025-02-14 17:11:50 +01:00
Lucien Zhao
ef348187ae soc: nxp: imxrt: imxrt118x: change trdc permission getting strategy
When TRDC permission fails to be obtained, it does not recycle to
access ELE core to prevent blocking problems. The current practice
only generates a log warning alarm.

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-02-14 06:56:55 +01:00
Andrei Menzopol
50de97fedb soc: nxp: mcxw: update conditions to account for ieee driver
Add ram section for ieee driver.
Use config for ieee driver.

Signed-off-by: Andrei Menzopol <andrei.menzopol@nxp.com>
2025-02-14 03:08:48 +01:00
Benjamin Cabé
7da7818d4f Revert "soc: nxp: imxrt: imxrt118x: change trdc permission getting strategy"
This reverts commit e3538a3183 as it's
causing CI failures in main.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-13 13:21:58 +01:00
Lucien Zhao
e3538a3183 soc: nxp: imxrt: imxrt118x: change trdc permission getting strategy
When TRDC permission fails to be obtained, it does not recycle to
access ELE core to prevent blocking problems. The current practice
only generates a log warning alarm.

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-02-13 09:11:56 +01:00
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