Commit graph

357 commits

Author SHA1 Message Date
Maxime Vincent
f86f98fa2e soc: arm: nxp: fix USB w/ SPEED_OPTIMIZATIONS
Fix USB w/ SPEED_OPTIMIZATIONS for LPC55xxx SoCs
Root cause was non-volatile register access,
which could get optimized by the compiler
(by -fschedule-insns, specifically)

Signed-off-by: Maxime Vincent <maxime@veemax.be>
2024-09-17 14:52:27 -04:00
Vit Stanicek
adb83d26bf soc: mimxrt685s/cm33: Fix lockup on clock config
Imply CONFIG_INIT_AUDIO_PLL on nxp,dmic driver selection on
mimxrt685s/cm33. Make DMIC clock config dependent on the use of the
RT685's audio PLL.

Fixes a regression described in #77851.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2024-09-17 17:44:48 +01:00
Chekhov Ma
643db3fa0b soc: imx93: enable flexcan driver
- Add flexcan dts node and pinctrl.

Signed-off-by: Chekhov Ma <chekhov.ma@nxp.com>
2024-09-17 17:44:14 +01:00
Anas Nashif
f438696281 soc: mcxa156: use soc hooks
Use SoC hooks instead of legacy z_arm_platform_init.

Fixes #78386

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-09-16 15:12:18 -04:00
Michal Smola
684a27d8ef soc: mcxc: replace PLATFORM_SPECIFIC_INIT with PLATFORM_RESET_HOOK
Generic hook infrastrucutre was added to Zephyr, but NXP MCXC SoCs
were not updated accordingly.
Use generic hook infrastrucutre for MCXC SoCs.

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2024-09-13 09:17:14 +02:00
Tu Nguyen Van
f3b74d8ea8 dts: arm: nxp: add Lpi2c support for S32Z27x
add Lpi2c nodes to S32Z27x devices

Signed-off-by: Tu Nguyen Van <tu.nguyenvan@nxp.com>
2024-09-12 14:50:15 +02:00
Hou Zhiqiang
5d4537f827 soc: nxp: imx: add i.MX95 Cortex-A55 support
Added basic soc support for i.MX95 Cortex-A55.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
2024-09-11 09:34:04 +02:00
Yangbo Lu
5b6f07d1a6 soc: nxp: imx: add i.MX95 Cortex-M7 support
The i.MX95 applications processor features advanced graphics and
video cores, powerful vision and machine learning acceleration,
efficient CPU performance, real-time processing, and advanced
security with the integrated EdgeLock® secure enclave to support
energy-efficient edge computing.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-09-11 09:34:04 +02:00
Yangbo Lu
5e09d7db26 soc: nxp: imx: clang-format imx93 code files
clang-format imx93 code files.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2024-09-11 09:34:04 +02:00
Yangbo Lu
d7fab01b6c soc: nxp: imx: create new directory for imx93
Created new directory for imx93 under imx9, as imx93
is one soc of imx9 series.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2024-09-11 09:34:04 +02:00
Laurentiu Mihalcea
3f2790b89c soc: imx9: remove custom linker script
The custom linker script was required because SOF needed
some extra linker sections. Other than that, the custom linker
script was identical to the common architecture script. This
commit removes the custom linker script because:

	* keeping the custom linker script in sync with the
	common one is troublesome.

	* application-specific linker sections shouldn't be
	included in the generic soc linker script. Instead,
	they should be handled at the application level
	(i.e: via cmake commands if additional sections are
	needed or via a new, custom linker script if more
	changes are needed)

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-09-10 12:41:02 -04:00
Neil Chen
fb65babc6a soc: mcxa156: add SOC support for MCXA56
Add MCXA156 support

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2024-09-10 12:39:18 -04:00
Declan Snyder
d931f0b7c0 soc: imxrt: Fix flexspi xip configuration issue
Fix flexspi xip configuration issue regarding code relocation
due to the order of kconfig defaults being sourced

The flexspi setup was not being relocated to an on chip location

Also remove rt1060 conf file in flash common test which changes the
code relocation location to RAM, just keep as ITCM for all M7 which
as of now all have ITCM from NXP with flexspi.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-09-10 14:42:15 +01:00
Anas Nashif
f519dd1411 arch: arm: replace PLATFORM_SPECIFIC_INIT with PLATFORM_RESET_HOOK
Use generic hook infrastrucutre instead of custom Kconfig and hooks for
ARM.

Replace z_arm_platform_init() with platform_reset().

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-09-09 10:07:33 +02:00
Mahesh Mahadevan
bdfd1d2e1b soc: mcx: Fix build errors when building for XIP from FlexSPI
Include compile of the flash file when FlexSPI_XIP is enabled
even when the FlexSPI driver is not enabled.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-09-06 18:01:43 -04:00
Michal Smola
dd052055d8 soc: nxp mcxc: Add support for NXP MCXC series
Add initial suport for NXP MCXC series

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2024-09-05 17:01:33 -04:00
Lucien Zhao
2680c7d020 dts: arm: nxp: nxp_rt118x: add acmp instances
enable acmp clock in rt118x/soc.c file

add instances and enable clock for rt118x

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2024-09-04 21:27:28 +02:00
Marcin Wierzbicki
eebaa2b270 soc: arm: nxp_s32: s32k1: add support for ADC
Add support for the Analog-to-Digital Converter (ADC).

Signed-off-by: Marcin Wierzbicki <marcin.wierzbicki@accenture.com>
2024-08-30 11:47:07 -04:00
Declan Snyder
630faa1592 soc: nxp: rt1011: Fix RT1011 FCB offset
RT1011 expects it's flash configuration block at a different offset than
the rest of the RT10xx series. Add default to fix the platform not
booting.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-08-29 16:11:18 -04:00
Hake Huang
6b796314fe soc: mimxrt595s/cm33, mimxrt685s/cm33: Add clock config for audio
Add clock config for Flexcomm peripherals functioning as I2S interfaces.
Add MCLK clock config for the WM8904 codec located on the mimxrt595_evk
and mimxrt685_evk boards.

Signed-off-by: Hake Huang <hake.huang@oss.nxp.com>
Signed-off-by: Yves Vandervennet <yves.vandervennet@nxp.com>
Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2024-08-29 15:53:26 +02:00
Vit Stanicek
b8466e0c95 boards: mimxrt685_evk/mimxrt685s/cm33: Enable DMIC
Enable DMIC clock in soc.c - attach to chip's audio PLL. Add pinmux
definitions for the DMIC peripheral. Add nodes to SoC's device tree for
the DMIC peripheral and its audio channels. Configure the DMIC
peripheral in board's device tree to enable audio capture.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2024-08-29 15:53:26 +02:00
Anke Xiao
883f36c448 soc: nxp: kinetis: ke1xz: update soc.c to add flexio clock
Add flexio clock configuration, and select the clock source.

Signed-off-by: Anke Xiao <anke.xiao@nxp.com>
2024-08-28 06:50:50 -04:00
Lucien Zhao
e4341a40c3 soc: nxp: imxrt: imxrt118x: Enable GPT1/2 clock
dts: arm: nxp: mimxrt1180_evk: add GPT1/2 instance into devicetree

Enable GPT1/2 clock
Add GPT1/GPT2 instances
Set GPT2 as a counter, the default frequency is 240000000

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2024-08-27 12:46:00 +02:00
Declan Snyder
5f541431d6 soc: imxrtxxx: Fix flexspi boot issue
FCB was being relocated to the wrong location, and the flexspi clock
setup was not being relocated.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-08-24 19:22:23 -05:00
Lucien Zhao
1b90b46f75 soc: nxp: imxrt: support external memory hyperram
add xmcd data section to save xmcd data in linker.ld

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2024-08-24 07:16:11 -04:00
Anders Bjørn Nedergaard
29dc419ad2 soc: rt11xx: Fix dual core ENET PLL
IMXRT11XX secondary core should not deinit ENET PLL
as it could be configured by primary core.

Signed-off-by: Anders Bjørn Nedergaard <abn@polytech.com>
2024-08-23 09:52:28 +02:00
Lucien Zhao
e9e62b6aaa soc: nxp: imxrt: imxrt118x: Enable lpi2c0102/0304/0506 clock
Enable lpi2c0102/0304/0506 clock

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2024-08-22 14:21:27 -04:00
Peter van der Perk
d1a6b45345 soc: rt11xx: Fix bus clocking
IMXRT117X bus clock should be 240MHz and IMXRT116X should be 200MHz

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2024-08-22 14:20:26 -04:00
Yangbo Lu
09d700c707 soc: nxp: imx: add i.MX93 Cortex-M33 support
Added basic soc support for i.MX93 Cortex-M33.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2024-08-22 09:15:16 +02:00
Declan Snyder
814bb2e81e soc: rw: Consolidate clock cycle kconfig.
No need for this to be expanded out so much.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-08-22 09:14:24 +02:00
Declan Snyder
6e7f86ce86 soc: nxp: Move connectivity defaults to common
Move default of monolithic and fw loader, options, etc to the
common kconfig files rather than defaulting in soc file.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-08-22 09:14:24 +02:00
Declan Snyder
b00d881398 soc: nxp: Consolidate ROM RAMLOADER config
Consolidate the ROM RAMLOADER config to be in one place,
add a new Kconfig file to be included by the SOCs with the feature.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-08-22 09:14:24 +02:00
Declan Snyder
4e9227641e drivers: usb device: Remove MCUX controller type
The CONFIG_USB_MCUX_CONTROLLER_TYPE choice config
is not necessary, let's just remove it. Theoretically,
if there was an SOC with the EHCI and LPCIP3511, then
it might cause a build error, but there is no SOC
which is supported on this legacy driver that has that.

Remove all settings of it in the SOC files.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-08-22 09:14:24 +02:00
Declan Snyder
dae9e75e04 soc: nxp: rw: Delete unused configs
Delete some unused kconfigs in RW SOC family.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-08-22 09:14:24 +02:00
Declan Snyder
a097cdc4fe soc: nxp: Centralize flexspi related configuration
Currently this code related to how to configure the
flash size and address when using flexspi to XIP is copy
pasted in all sort of places and ways all over the tree,
let's clean this up and have single point of control over
this configuration.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-08-22 09:14:24 +02:00
Declan Snyder
6300dc6aa7 soc: nxp: mcx: Do not use family level config
Move all dependencies of the family config to series level,
and put a disclaimer saying not to use the family config.

Change all occurrences of the family config in code to the
MCXNX4X series config.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-08-22 09:14:24 +02:00
Declan Snyder
3c5df36dda soc: nxp: Move flexspi log level change to driver
Single point of control over this kconfig's effect.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-08-22 09:14:24 +02:00
Declan Snyder
1d3864addf soc: nxp: Remove RT1061 and RT1051 refs
NXP is not supporting these derivative parts in the zephyr upstream,
these references to them should therefore be removed in order to avoid
confusion.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-08-22 09:14:24 +02:00
Declan Snyder
f6bfedf114 soc: nxp: imxrt: Clang format flexspi_nor_config.h
Check compliance is not allowing changes to this file
without running clang-format.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-08-22 09:14:24 +02:00
Declan Snyder
9d9d2f8178 soc: nxp: mcx: Fix Kconfig files and MFD config
The Kconfig defaults should be in Kconfig.defconfig.

MFD should not be made dependent on the LP flexcomm being
enabled, since MFD can be for other things than just flexcomm.
Change from depends on to an if.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-08-22 09:14:24 +02:00
Declan Snyder
5360c57dc4 soc: nxp: Do not change driver init priorities
Doesn't seem like there is any reason to be changing the
serial and ADC driver init priorities in the SOC defconfigs.
By default, clock control has priority 30, dma has priority 40,
and serial/adc have priority 50. This seems already to be the order
that is needed, and the original goal of these overrides, which
don't seem necessary anymore.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-08-22 09:14:24 +02:00
Declan Snyder
5d954917bd soc: nxp: Move kinetis pinctrl to include/
There are some SOCs which use the same pinctrl
device, but are not really overall that similar to the kinetis
family of SOCs, so prepare to reuse this code by other SOC families.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-08-22 09:14:24 +02:00
Declan Snyder
e2d3fe91fd soc: imxrt118x: Cleaning up kconfigs
Moving RT118x kconfigs to series level instead of family level,
and cleaning up redundant declarations, and adding missing
HAS_MCUX_FLEXSPI selection.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-08-22 09:14:24 +02:00
Tu Nguyen Van
ee6620e15f dts: arm: nxp: add Flexcan support for S32Z27x
Add FlexCan nodes to S32Z27x devices

Signed-off-by: Tu Nguyen Van <tu.nguyenvan@nxp.com>
2024-08-21 11:03:44 +02:00
Pisit Sawangvonganan
daae40811e style: soc: comply with MISRA C:2012 Rule 15.6
Add missing braces to comply with MISRA C:2012 Rule 15.6 and
also following Zephyr's style guideline.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-08-20 10:33:51 +02:00
Anke Xiao
df2858944a soc: nxp: kinetis: ke1xz: add support cpu power states
Enable the NXP Kinetis Low Power Timer (LPTMR) timer driver when
power management is enabled.
When the NXP KE1xZ SoC series is using the Arm SysTick as hardware
timer, the cycles/second will always be equal to the CPU core clock
frequency.

Signed-off-by: Anke Xiao <anke.xiao@nxp.com>
2024-08-19 15:18:33 -04:00
Maxime Vincent
a08335b317 soc: arm: nxp: add lpc55x26 SCTimer support
Add support for the LPC55x26 SCTimer peripheral

Signed-off-by: Maxime Vincent <maxime@veemax.be>
2024-08-19 09:57:28 -04:00
Maxime Vincent
af5aabf245 soc: arm: nxp: add lpc55x26 support
Add basic support for the LPC55x26 SoCs

Signed-off-by: Maxime Vincent <maxime@veemax.be>
2024-08-19 09:57:28 -04:00
Lucien Zhao
d7c9bd88ca soc: nxp: imxrt: add imxrt118x series and update related files
Add new RT118x device, due to structure is different from rt11xx series.
Boot header also differ from rt10xx and rt11xx, so add support for boot
container.

define new container name and new container tag

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2024-08-15 14:51:02 -04:00
Declan Snyder
96d25bf903 MAINTAINERS: Remove DT bindings area
Now that the dts/bindings filter has been removed from
Devicetree Binding area, this area serves no real purpose.

Move the include/dt-bindings files to their respective areas.

Fix some of the orphaned dts/bindings paths.

Add regex filter for any binding with "zephyr" in the name to be
in the devicetree area.

Fix the imx_spc.h file being in it's own pm/ folder instead of
power/ like the other power related headers.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-08-15 10:16:21 +01:00