Commit Graph

40 Commits

Author SHA1 Message Date
Daniel DeGrasse
42cc35f941 soc: nxp: consolidate nxp port pinctrl headers
NXP PORT IP instantiations often have different features absent, IE
input buffer, open drain, or slew rate support. Check if the relevant
PCR register bitmasks are defined in the common pin control file, and
define the bitmasks to 0x0 (no effect) if they are not. This allows us
to further consolidate the pinctrl_soc.h headers for SOCs using the PORT
IP.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-11-22 13:01:02 -06:00
Emilio Benavente
c06ecf9a50 soc: nxp: mcxw: Update IRQ Size for MCXW to remove reserved IRQ
The FRDM_MCXW71 Platform has a reserved IRQ as its
last IRQ, this test was using this IRQ to
test an interrupt and would not fire. This change
ensures the test does not use the reserved IRQ.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2024-11-08 09:26:43 -06:00
Daniel DeGrasse
d3fac0b7fe soc: nxp: mcx: do not select HAS_SEGGER_RTT unless segger module is present
Do not select HAS_SEGGER_RTT unless the segger module is present. This
avoids a Kconfig error when SEGGER's debug module is not present in the
west manifest

Fixes #80529

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-10-29 16:02:57 -07:00
Declan Snyder
4b3d88e82e soc: nxp: MCXW71: Add LPADC node + clocking
Add DT entry and default clocking for ADC0 on MCXW71.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-10-25 18:52:10 +01:00
Declan Snyder
7d2f0b8476 soc: mcxw71: Add VREF node and clocking
Add VREF node and clocking to MCXW71 SOC.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-10-25 18:52:10 +01:00
Michal Smola
f99e0c6d7b soc: nxp mcxc: add has segger rtt in Kconfig
HAS_SEGGER_RTT Kconfix symbol is missing in NXP MCXC series Kconfig.
Add the symbol to fix and enable Segger RTT samples.

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2024-10-25 08:52:34 +02:00
Michal Smola
8ad3c99dab soc: nxp mcxc: Enable usb clock
USB clock is not enabled for NXP mcxc series. Enable it.

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2024-10-25 05:11:44 +01:00
Michal Smola
da6310c96c soc: mcxc: Enable bandgap buffer for on die temperature measurement
Bandgap voltage is used for on die temperature measurement. Bandgap
buffer has to be enabled explicitly to get correct tempearature.
Enable the buffer if TEMP_KINETIS is selected.

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2024-10-24 14:05:00 +02:00
Declan Snyder
df95a86bc3 soc: nxp: mcxw71: Add FlexCAN node/clocking
Add node and enable clock for the FlexCAN module on MCXW71.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-10-24 09:29:31 +02:00
Declan Snyder
f28725e6d5 soc: mcxw71: Enable LPSPI
Add DTS nodes and SOC clocking for LPSPI

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-10-21 18:39:49 -05:00
Yassine El Aissaoui
ad8b62413d soc: MCXW71: Add BLE support
- Add IMU regions
- Add HCI definition
- Add config when BT is enabled

Signed-off-by: Yassine El Aissaoui <yassine.elaissaoui@nxp.com>
2024-10-17 09:45:42 +02:00
Declan Snyder
8a104729c4 soc: nxp: mcxw71: Add LPI2C node and clocking
Add LPI2C node and default clocking in soc.c

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-10-15 04:09:34 -04:00
Yong Cong Sin
52a202309b zephyr: bulk update to DT_NODE_HAS_STATUS_OKAY
Change instances of:

DT_NODE_HAS_STATUS(<node_id>, okay)

to

DT_NODE_HAS_STATUS_OKAY(<node_id>)

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2024-10-03 17:06:52 +01:00
Declan Snyder
b74a7c4176 soc: mcxw71: Add TPM support
Add DT node and clocking of TPM peripherals, which are used for PWM.

Also change the soc clock enable code to not use preprocessor
conditionals.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-09-29 21:21:34 +02:00
Declan Snyder
7152dc19e1 soc: nxp: mcxw: Switch to soc_reset_hook
Base enablement of MCXW merged while z_arm_platform_init was being
deprecated, resulting situation is now that no platform init is
happening, fix by converting to use soc_reset_hook.

Also fix a comment that said the core was being set to 40 MHz, when it
is actually being set up to 96 MHz.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-09-29 21:21:34 +02:00
Declan Snyder
4405420b33 soc: mcxw71: Enable FMU flash controller
Enable flash controller driver for main FMU on MCXW71

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-09-20 15:14:11 -05:00
Declan Snyder
cbee39ef71 soc: nxp: Add MCXW71
Add MCXW71 SOC, which inherits some qualitiies
of kinetis heritage platforms.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-09-20 15:14:11 -05:00
Anas Nashif
f519f00f16 soc: nxp: move init code from SYS_INIT to hooks
Replace SYS_INIT with SoC hooks and adapt SoC init code

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-09-20 13:15:31 +02:00
Michal Smola
add15a62a6 soc: nxp mcxc: Add tpm clock selection
Timer/PWM Module (TPM) initial clock source is not selected.
Add initial clock source selection based on Devicetree configuration.
Rename clock sources definitions from LPUART specific to general names
usable by several modules on the SoC.

Signed-off-by: Michal Smola <michal.smola@nxp.com>
2024-09-19 18:27:11 +01:00
Neil Chen
880952d35a soc: mcxc444: add soc support for mcxc444
Add MCXC444 support

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2024-09-19 18:17:19 +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
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
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
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
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
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
Neil Chen
007499ac41 soc: mcxn23x: add SOC support for MCXN23x
Change mcx series to "mcxn" and add MCXN23x support

Signed-off-by: Neil Chen <cheng.chen_1@nxp.com>
2024-08-15 10:15:12 +01:00
Andrej Butok
c3dd3c69ac soc: nxp: add flashing configuration
- Added a flash runner configuration for rw, mcx, lpc, kinetis and imxrt,
  used for sysbuild multi-image projects like MCUBoot.
- Solved the mass erase issue.
- The sysbuild project "west flash --erase" command caused
  the mass_erase->flash_img1->reset->mass_erase->
  flash_img2->reset sequence.
  It was fixed to the mass_erase->flash_img1->
  flash_img2->reset sequence.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2024-07-08 16:04:04 +02:00
Andrej Butok
fdfebdd15b soc: lpc: mcxn: fix the flash_fill() fail.
- Fix flash_fill() for lpc55 and mcxnx4.
- Set FLASH_FILL_BUFFER_SIZE to the minimal size of data
  which can be written to a device (by default is only 32).
- Fix the [flash_map.test_flash_area_erase_and_flatten]
  failed test of tests/subsys/storage/flash_map.

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2024-06-24 14:49:32 -04:00
Emilio Benavente
d85cb222e4 drivers: timer: updated lptmr_timer binding
Updated the lptmr timer binding from
nxp,kinetis-lptmr to nxp,lptmr.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2024-06-11 17:04:26 +03:00
Mahesh Mahadevan
c68a8818c4 soc: n94x: Add USBHS support
Add support for USBHS controller

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-05-16 09:17:18 +02:00
Mahesh Mahadevan
a9fea59281 soc: nxp: Select the MFD Kconfig when LPFlexcomm is enabled
LPFlexcomm is a MFD device hence select this Kconfig whenever
it is enabled.
Remove the selection from the individual driver Kconfig files.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-04-02 21:00:24 -04:00
Mahesh Mahadevan
b0dbd9a87e soc: mcxnx4x: Add FlexSPI support
Add support for FlexSPI

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-03-25 18:40:14 -04:00
Mahesh Mahadevan
f93e37e84b soc: mcxn947: Add support for NXP MCXN947
Add initial support for NXP MCXN947 SoC

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-03-13 22:38:46 +00:00