Commit graph

331 commits

Author SHA1 Message Date
Ofir Shemesh
999b19d6ce soc: nxp: imxrt: fix incorrect flexram partition function call
Replace incorrect call to memc_flexram_dt_partition() with
flexram_dt_partition() to resolve build error on
IMXRT10xx and IMXRT11xx.

Signed-off-by: Ofir Shemesh <ofirshemesh777@gmail.com>
2025-05-02 01:17:13 +02:00
Hake Huang
c10e6eaf07 soc: mimxrt11xx: update the frdmram api
flexram api change to misc.

fixes: #89150

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
2025-05-02 01:16:37 +02:00
Derek Snell
26423f2020 soc: nxp: mcxn: configure CPU1 TrustZone access level
Configures AHBSC MASTER_SEC_LEVEL register for the cpu1 before cpu1 is
enabled.  By default, this gives CPU1 secure and privileged access to
the rest of the SOC, same as CPU0.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-05-02 01:16:26 +02:00
Axel Le Bourhis
dc52ec7d32 soc: nxp: rw: fix wrong dependency on kconfigs
Use `defaut y if` instead of `depends on` as the related Kconfig
should be user configurable even when standby mode is not used.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2025-05-01 18:16:57 +02:00
Adib Taraben
e92fb10971 drivers: hwinfo: add nxp mcxn reset_cause implementation
Implementation is specific to the NXP MCXN series.
Code mostly copied from hwinfo_mcux_rcm driver.

Signed-off-by: Adib Taraben <theadib@gmail.com>
2025-04-29 20:07:25 -04:00
Jacob Wienecke
db63e563a9 drivers: memc: memc_nxp_flexram.h: Move to the public includes directory
Moved to: include/zephyr/drivers/misc/flexram/memc_nxp_flexram.h

This change makes it so that the .h file does not need to be pulled in
using the CMakeLists.txt file, and can be included like other public
includes.

Removes drivers/memc/memc_nxp_flexram.h

Add memc_nxp_flexram.h to include/zephyr/drivers/misc/flexram

Modify drivers/memc/memc_nxp_flexram.c to use the new include path.

Modifies the mimxrt1170 magic_addr sample to include the driver using
the new include path.

Modify the soc file: soc/nxp/imxrt/imxrt11xx/soc.c to use the new path.

Add relevant information to migration-guide-4.2.rst.

Signed-off-by: Jacob Wienecke <jacob.wienecke@nxp.com>
Co-authored-by: Declan Snyder <declan.snyder@nxp.com>
2025-04-26 10:55:09 +02:00
Kate Wang
587042d0df soc: nxp: imxrt: imxrt7xx: update rt7xx soc files
Add functions to configure MIPI_DSI power and clock when
MIPI_DSI is enabled.

Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
2025-04-23 10:03:42 +02:00
Kesavan Yogeswaran
2882dab78c soc: nxp: Fix boot header placement when using lld
As well described in a previous PR [1], the GNU ld and LLVM lld linkers
treat the location counter (`.`) differently. lld always inteprets the
location counter as an absolute address whereas ld interprets it as an
offset from the start of the current object.

The NXP boot header linker script files use `.` assignment to specify an
offset within the rom_start region (ld-style). This causes lld to error
out since it interprets this as the location counter moving backwards.

To fix this, re-use the idea from the previous PR [1]:
replace `. = FOO` with `. += FOO - (. - __rom_start_address)`

This sets the location counter in a way that works with both ld and lld.

[1] https://github.com/zephyrproject-rtos/zephyr/pull/58315

Signed-off-by: Kesavan Yogeswaran <hikes@google.com>
2025-04-21 22:03:38 +02:00
Qiang Zhao
893f2e0187 soc: nxp: imx95: fix systick issue for M7
The SLEEP_HOLD_EN is enabled by default, that will
gate systick, clear it to fix

Signed-off-by: Qiang Zhao <qiang.zhao@nxp.com>
2025-04-21 22:03:27 +02:00
Qiang Zhao
c412ee4597 drivers: firmware: scmi: add cpu domain protocol
Added helpers for NXP SCMI cpu dmomain protocol.

Signed-off-by: Qiang Zhao <qiang.zhao@nxp.com>
2025-04-21 22:03:27 +02:00
Neil Chen
720f726072 soc: mcxa153: add SOC support for MCXA153
Add MCXA153 support

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2025-04-12 00:02:28 +02:00
Derek Snell
070bd0e295 soc: nxp: rw61x: enable USB clock for UDC
When using USB Next stack and UDC driver, enable USB clock

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-04-10 15:51:45 +02:00
Iuliana Prodan
ab5c0b5195 soc: nxp: imx: add resource_table section in linker script
Add resource_table section in linker script
for i.MX8ULP, for inter-process communication.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2025-04-07 15:17:34 +02:00
Emilio Benavente
9a893c6bd9 boards: nxp: Added I2S Support for RW612
Added I2S support for RW612.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2025-04-03 21:06:14 +02:00
Jiafei Pan
e94a545599 soc: imx9: fix pinctrl drive strength setting
Current code configures the higher bits ahead of drive strength
to be "1", this patch fix this issue.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Signed-off-by: Lei Xu <lei.xu@nxp.com>
2025-04-03 11:07:01 +02:00
Peter Wang
9580bc5627 soc: mcxa166,mcxa276: add SOC support for MCXA166 and MCXA276
add soc MCXA166 and MCXA276 for board frdm_mcxa166 and frdm_mcxa276

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
2025-04-03 08:43:16 +02:00
Tim Wang
25fcfff154 soc: mimxrt1180: Add USB Device support
This was tested on the MIMXRT1180 EVK board

Signed-off-by: Tim Wang <tim.wang@nxp.com>
2025-04-01 11:52:09 +02:00
Xiaoli Ji
30da8b5aa8 soc: nxp: imxrt: imxrt118x: Update lpuart clock
1.Update lpuart0102 clock
2.Enable lpuart0304/0506/0708/0910/1112 clock

Signed-off-by: Xiaoli Ji <xiaoli.ji@nxp.com>
2025-03-31 19:50:27 -04:00
Zhaoxiang Jin
7ed7cd191a modules: hal_nxp: Move hal_nxp glue layer to zephyr repo
Move hal_nxp glue layer to zephyr repo.
Fix build warnings and failures caused by hal_nxp upgrade.
Update manifest to contain hal_nxp changes.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-03-26 16:26:34 +01:00
Hake Huang
1847b882a2 tests: ztest: enable ztest_no_yield for all in PM
if CONFIG_PM=y, board will enter low power,
which will cause problem for debugger.
So for ztest cases, we need enable this to avoid problem.
This used to apply to soc/platform level, now remove them.

Signed-off-by: Hake Huang <hake.huang@nxp.com>
2025-03-25 22:14:20 +01:00
Yangbo Lu
95f314734f soc: nxp: imx95: support M7 soc init for NETC
Added support for soc init for NETC.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-03-25 05:59:30 +01:00
Yangbo Lu
3d109d65ee soc: nxp: imx95: enable multi-level interrupts for m7
Enabled multi-level interrupts for m7 since IRQSTEER is used.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2025-03-25 05:59:30 +01:00
Mahesh Mahadevan
bc5a60c812 boards: mimxrt700_evk: Fix USB failures
1. Update the USB clock init code
2. Pass a flag to USB HAL driver for cache
   management

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-03-25 00:32:14 +01:00
Andre Heinemans
f0134cdd83 soc: nxp: imx: add .resource_table section for imx95
Add .resource_table section to the linker script for the
i.MX95. This section is used by intercore communication to
publish features and configurations to the remote

Signed-off-by: Andre Heinemans <andre.heinemans@nxp.com>
2025-03-24 12:17:53 +01:00
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