Commit graph

47 commits

Author SHA1 Message Date
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
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
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
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
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
Jamel Arbi
70add85f9f drivers: openthread: nxp: Add a HDLC RCP communication
Add a HDLC RCP communication with its hdlc_api interface APIs
and a NXP driver.

Signed-off-by: Jamel Arbi <jamel.arbi@nxp.com>
2024-11-27 10:37:21 -05:00
Yassine El Aissaoui
906a5ec37b soc: nxp: rw: Introduce HAS_NXP_MONOLITHIC_BT config
This config will be used to indicate if a platform
has the support for monolithic BT feature.

Signed-off-by: Yassine El Aissaoui <yassine.elaissaoui@nxp.com>
2024-10-18 17:45:07 +01:00
Yassine El Aissaoui
ad673d18b7 soc: rw: Fix stack over flow during BLE init
RW requires more stack size now,
value changed from 1024 to 1280.

Signed-off-by: Yassine El Aissaoui <yassine.elaissaoui@nxp.com>
2024-10-04 10:50:00 +01: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
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
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
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
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
Mahesh Mahadevan
d27facff57 soc: rw6xx: Add support to wakeup from an external pin
Add support to wakeup from an external pin

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-08-15 10:15:28 +01:00
Maochen Wang
05d5044a38 soc: rw6xx: Enable NXP_WIFI_MONOLITHIC feature
The monolithic feature allows to link the binary blobs with
the application during the build.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-08-14 15:54:50 -05: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
Declan Snyder
29d6d36794 soc: rw6xx: Add ENET to DT and suppport
Add NXP ENET DT nodes to RW6XX DT, and reset
the clock roots for the ENET IPG in soc.c.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-06-12 18:24:48 -04:00
Johan Hedberg
fcddefd7f0 Bluetooth: drivers: Convert NXP HCI driver to new API
Convert the hci_nxp.c HCI driver to use the new HCI driver API. Also move
the driver binding under dts/bindings/bluetooth, like all other HCI driver
bindings.

Signed-off-by: Johan Hedberg <johan.hedberg@gmail.com>
2024-06-11 19:42:49 -04:00
Johan Hedberg
97c3a1e4be Bluetooth: drivers: hci: Get rid of Kconfig choice
The drivers should be independent after the move to the new HCI driver
API. Having them as a choice also has unexpected consequences with some
drivers being unexpectedly enabled.

Signed-off-by: Johan Hedberg <johan.hedberg@gmail.com>
2024-06-11 19:42:49 -04:00
Axel Le Bourhis
ca53f5ee8e soc: rw6xx: Enable NXP_BLE_MONOLITHIC
Enable monolithic build for all BLE apps.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
Signed-off-by: Yassine El Aissaoui <yassine.elaissaoui@nxp.com>
2024-06-04 19:12:45 -04:00
Yassine El Aissaoui
63791f2817 soc: rw61x: Add BLE support for rw61x
- Add SMU regions
- Add HCI definition
- Add config when BT is enabled

Signed-off-by: Yassine El Aissaoui <yassine.elaissaoui@nxp.com>
2024-05-25 11:23:04 +03:00
Declan Snyder
5edaa5e276 soc: lpc: Remove peripheral reset code from soc.c
Remove peripheral reset code from soc.c, it should
be handled by driver inits.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-05-21 16:49:42 -04:00
Declan Snyder
488760638d soc: nxp: rw: Add flash config header
Add header file for flash configuration blocks
which is an image header consumed by the RW bootrom.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-05-21 16:48:14 -04:00
Yong Cong Sin
cc1894b844 soc: nxp: rw: remove DT_NODE_HAS_STATUS_OKAY
We do not have `DT_NODE_HAS_STATUS_OKAY`, change that to
`DT_NODE_HAS_STATUS(node_id, okay)` instead

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-05-18 15:51:09 +03:00
Mahesh Mahadevan
8824fa8bdd soc: rw6xx: Add power management support
Add support for Power modes 1 and 2.
The wakeup from power mode 2 is from the os timer.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-05-16 18:53:51 -04:00
Mahesh Mahadevan
1192c9be6b soc: nxp: Enable support for OS Timer on RW platform
The OS Timer will be used as the System Timer.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-05-16 18:53:51 -04:00
Declan Snyder
79025c5524 soc: nxp: rw: Support ADC and DAC
Add DT node entries to RW for DAC and ADC.

Support the SOC required initialization of the DAC and ADC on RW.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-05-14 18:23:22 -04:00
Daniel DeGrasse
53ceae5f58 soc: nxp: rw: use correct mask for FLEXSPI clock setup divider
Mask for FLEXSPI clock divider was being used when setting the FLEXSPI
clock selector value. Correct this to use the mask for the selector
instead of the divider.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-05-14 18:21:57 -04:00
Declan Snyder
a1916b0121 soc: nxp: rw: Fix error if PMU reset not specified
Don't build error if the reset causes is not specified on
the PMU node.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-04-26 19:49:54 +01:00
David Leach
9b0ccc8d24 west.yml: Update NXP HAL MCUX-SDK to add MKE1XZ9 support
Add MKE1XZ9 and some additional HAL cleanup patches.
Update bumped the chip version for RW610.

Signed-off-by: David Leach <david.leach@nxp.com>
2024-04-26 09:30:11 +02:00
Daniel DeGrasse
46bed8896e soc: nxp: rw: add support for USBOTG controller
Add code to clock and release reset signal for USBOTG controller on
RW6xx SOC when USB is enabled, and add KConfig selection to indicate to
build system which USB controller this SOC uses.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-04-11 09:09:00 +02:00
Daniel DeGrasse
b6477deb4a soc: nxp: rw: add reset code for LCDIC
Clear LCDIC reset signal at init when the LCDIC peripheral is enabled.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-04-04 23:59:37 +03:00
Daniel DeGrasse
5e241970f5 soc: nxp: rw: enable DMIC clock at boot
Enable DMIC clock at boot, so that RW DMIC IP will be useable by driver

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-03-28 09:44:25 +00:00
Declan Snyder
711375695e soc: nxp: rw: Support Reset cause setting
Support reset causes on RW SOC

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-03-22 15:58:03 -05:00
Declan Snyder
a65ae89b9e soc: nxp: rw: Support MRT counter
Add DT entries and peripheral reset for MRT on RW.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-03-21 09:06:48 +01:00
Declan Snyder
241d41596b soc: nxp: rw: Support CTIMER
Add DT entries and clocking for CTIMER peripherals on RW61x.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-03-21 09:06:48 +01:00
Daniel DeGrasse
90a8ef11fe soc: nxp: rw: define Kconfigs for MEMC_MCUX_FLEXSPI code relocation
MEMC_MCUX_FLEXSPI depends on code relocation being enabled on parts that
XIP from the FlexSPI by default and requires a string describing the RAM
region to relocate code into. Add these Kconfigs to the RW SOC port.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-03-20 19:08:06 +00:00
Daniel DeGrasse
9021ce82fc soc: nxp: rw: add support for reclocking flexspi
Add support for reclocking FlexSPI peripheral via flexspi_clock_set_freq
function

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-03-20 19:08:06 +00:00
Declan Snyder
2cb4550dc7 soc: rw: Support WWDT
Add DT entry and SOC code for watchdog

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-03-20 16:19:12 +00:00
Declan Snyder
ab7580046a soc: rw: Support I2C Flexcomms
Support I2C flexcomms by clocking in soc.c and adding DT header

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-03-19 09:47:35 +01:00
Declan Snyder
fa6e894e1d soc: nxp: rw: Clock SPI Flexcomms
Clock flexcomms if used as SPI

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-03-15 18:07:45 -04:00
Declan Snyder
5f53afca0a soc: nxp: Add RW SOC Family
Add SOC definition for NXP RW Family

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2024-03-13 16:45:13 +00:00