Commit graph

136,983 commits

Author SHA1 Message Date
Jonas Berg
bac97f310f dts: bindings: vendor-prefixes: Add cytron
Add vendor prefix for Cytron Technologies

Signed-off-by: Jonas Berg <jonas.s.t.berg@gmail.com>
2025-12-30 08:38:10 +01:00
William Tang
0601335d85 boards: nxp: mcx: update FlexCAN clock configuration
Update FlexCAN clock configuration across NXP MCXN family boards to use
PLL0 as clock source with a divider of 3 instead of FRO_HF with divider
of 1.
The new configuration provides FlexCAN peripherals by using the PLL0
output (150MHz) divided by 3 to achieve 50MHz, replace previous 48MHz
FRO_HF.

Signed-off-by: William Tang <william.tang@nxp.com>
2025-12-29 16:04:17 +01:00
William Tang
0a4f52e52c dts: arm: nxp: add CAN FD support for MCXN SOC family
Add CAN FD support for MCXN SOC family, including mcxn23x, mcxn94x
and mcxn54x.

Tested with tests/drivers/can.

Fixes #91138

Signed-off-by: William Tang <william.tang@nxp.com>
2025-12-29 16:04:17 +01:00
Derek Snell
fb18d5ca94 doc: boards: nxp: update VS Code links in common footer
MCUXpresso for VS Code documentation was migrated to new site.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-12-29 16:03:43 +01:00
Mikołaj Rosowski
aa1d070f37 boards: dfrobot: Add DFRobot Beetle ESP32-C3 board
Add support for the DFRobot Beetle ESP32-C3 board. This is a small IoT
development board based on the Espressif ESP32-C3 RISC-V SoC.

Board features:
- ESP32-C3 (32-bit RISC-V at 160MHz)
- 400KB SRAM, 4MB Flash
- 2.4GHz WiFi and BLE
- 13x IO ports
- Integrated lithium battery charging management

The board has been tested with the following Zephyr samples:
- samples/basic/blinky
- samples/hello_world
- samples/net/wifi/shell

Signed-off-by: Mikołaj Rosowski <m.rosowski1@wp.pl>
2025-12-29 16:03:18 +01:00
Henrik Brix Andersen
b62b24248b doc: releases: migration-guide: 4.4: update FlexCAN migration guide entry
Update the NXP FlexCAN migration guide entry to take the latest Kconfig to
devicetree change into account.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-12-29 16:02:58 +01:00
Henrik Brix Andersen
964d09fda0 MAINTAINERS: rename the Aesc Silicon platform label
Rename the Aesc Silicon platform label used on GitHub to match the rest of
the platform labels.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2025-12-29 16:02:39 +01:00
Hake Huang
589a657a0c boards: nxp: add adc support to boards
add adc supports to boards

Signed-off-by: Hake Huang <hake.huang@nxp.com>
2025-12-29 13:06:02 +01:00
Qingsong Gou
355c2f42e8 drivers: serial: sf32lb: add config_get and configure
Add config_get and configure APIs support

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2025-12-29 13:05:41 +01:00
Zhaoxiang Jin
4b57c88344 dts: nxp,sar-adc.yaml: remove 'type: array' from interrupts property
'type: array' is unnecessary for the interrupts property in
nxp,sar-adc.yaml.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-12-29 09:28:27 +01:00
Holt Sun
517cc13f1c doc: migration-guide-4.4: add NXP LPTMR counter updates
Document breaking changes in prescale-glitch-filter configuration
and the new prescale-glitch-filter-bypass property. Provide migration
example for out-of-tree device trees.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2025-12-29 09:27:54 +01:00
Holt Sun
bc9a0a726b counter: mcux_lptmr: fix prescaler/glitch filter configuration
Fix incorrect LPTMR prescaler/glitch filter mapping that led to wrong
frequency calculation and wrong hardware configuration.

- Calculate effective counter frequency correctly:
  * Time Counter mode: divide by 2^(value + 1)
  * Pulse Counter mode: divide by 2^value
- Map prescale-glitch-filter directly to the HAL enum (no offset math)
- Add prescale-glitch-filter-bypass DT boolean (default false)
- Restrict prescale-glitch-filter to 0..15 and update bindings/DTS users
- Add build-time validation for Pulse mode (value 0 requires bypass)

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2025-12-29 09:27:54 +01:00
Quang Le
22ba6d0007 soc: renesas: rzv: Fix pin function bitfield
Adjust the pin function bitfield to 4 bits to fit all RZ/V SoCs
(RZ/V2L, V2H, V2N). PFC bitfield of RZ/VH, V2N have 4 bits, so
the current 3-bit width does not fit them.

Signed-off-by: Quang Le <quang.le.eb@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-12-29 09:25:33 +01:00
Nhut Nguyen
6138ba7aef soc: renesas: rzv: Retrieve itcm, dtcm from dtsi for mpu settings
Retrieve itcm and dtcm size and base address from dtsi for mpu settings
instead of hardcode.

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2025-12-29 09:25:17 +01:00
Zhaoxiang Jin
1f977a9220 include: hwspinlock.h: Optimize hw_spin_trylock function
If api->trylock(dev, id) fails (typically because a cross-core
HW lock is held by another core and returns -EBUSY, or returns
-EINVAL, etc.), the function will immediately return the error
code, but the local ctx->lock is not released, and interrupts
also remain in the locked state from the trylock. This may cause
IRQ lock state leakage. If there's no opportunity in the call path
to reach k_spin_unlock(), the system may exhibit unpredictable
"freeze-like" behavior.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-12-28 18:13:37 +00:00
Benjamin Cabé
540edab373 include: tracing: fix FIFO slist tracing hook naming mismatch
The macro names sys_port_trace_k_fifo_put_slist_enter/exit in
tracing.h were incorrectly named and did not match the corresponding
definitions in backend implementations.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-12-28 18:13:26 +00:00
William Tang
cf42e1a779 boards: nxp: mr_canhubk3: update CAN configuration documentation
Remove the CONFIG_CAN_MCUX_FLEXCAN_MAX_MB configuration option from
the documentation notes, as the message buffer count information has
been moved to the devicetree and no longer needs to be described in
Kconfig.

Update the constraint for CONFIG_CAN_MCUX_FLEXCAN_MAX_FILTERS to
reflect that it must be less than the maximum number of message
buffers supported by the FlexCAN instance, as shown in the table
below the note. This keeps same behavior as driver.

Signed-off-by: William Tang <william.tang@nxp.com>
2025-12-28 10:11:51 +01:00
William Tang
18e5e29749 drivers: can: mcux: flexcan: move to per-instance MB configuration
This change refactors the FlexCAN driver to use per-instance message
buffer configuration instead of global Kconfig options. The driver now
calculates message buffer allocation at compile time based on device
tree properties for each FlexCAN instance.

Key changes:
- Remove global CAN_MAX_MB Kconfig option and associated range constraint
- Add number_of_mb, rx_mb, and tx_mb fields to mcux_flexcan_config
  structure
- Move callback arrays and atomic allocation bitmaps from static global
  arrays to per-instance static arrays generated by macros
- Update data structure to use pointers to per-instance arrays instead
  of fixed-size embedded arrays
- Add compile-time validation to ensure sufficient message buffers are
  available for required RX filters and RX filters greater than 0

This approach allows different FlexCAN instances to have different
message buffer configurations based on their hardware capabilities
and device tree settings, improving memory efficiency and flexibility.
The change maintains backward compatibility while enabling better
resource utilization across different SoC variants.

Fixes #92798

Signed-off-by: William Tang <william.tang@nxp.com>
2025-12-28 10:11:51 +01:00
William Tang
1e9bd76278 dts: can: mcux: flexcan: Add number-of-mb property to FlexCAN nodes
Add the `number-of-mb` and `number-of-mb-fd` device tree property to
all the NXP FlexCAN controller nodes across various SoC families to
specify the maximum number of 8-byte and 64-byte payload message
buffers supported by each FlexCAN instance.

This change updates device tree source files for multiple NXP SoC
families including Kinetis K6x, RT10xx, RT11xx, RT118x, MCX, S32K,
S32Z, and i.MX8MP/i.MX93 series. The property values are set based
on hardware specifications for each specific FlexCAN instance.

This property addition ensures proper resource allocation and
prevents buffer overflow issues in FlexCAN driver implementations.

Signed-off-by: William Tang <william.tang@nxp.com>
2025-12-28 10:11:51 +01:00
William Tang
8b8d5ca05a dts: arm: nxp: update copyright headers
Update copyright header in nxp_k6x.dtsi.

Signed-off-by: William Tang <william.tang@nxp.com>
2025-12-28 10:11:51 +01:00
Marek Matej
4cf8071494 boards: espressif: remove esp32s3_devkitm
Removing the esp32s3_devkitm as deprecated and redundant.
The esp32s3_devkitc has essentially the same functionality.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2025-12-27 21:02:28 +00:00
Marek Matej
ecdd8ee5b4 boards: Espressif deprecated board
Removing board esp32s3_devkitm as it is almost identical as
esp32s3_devkitc.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2025-12-27 21:02:28 +00:00
Fabin V Martin
3b67cbf654 tests: drivers: i2c: add test support
add overlay and update yaml files for i2c async test

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2025-12-27 21:01:25 +00:00
Fabin V Martin
2a94517e58 boards: microchip: pic32cx_sg61_cult: update sercom node for i2c
update board dts for sercom i2c node

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2025-12-27 21:01:25 +00:00
Fabin V Martin
b0919aec14 boards: microchip: pic32cx_sg41_cult: update sercom node for i2c
update board dts for sercom i2c node

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2025-12-27 21:01:25 +00:00
Fabin V Martin
f34df74147 west.yml: Update the portd for pic32cxsg
Update west.yml for adding the portd in the pincontrol
parsing file.

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2025-12-27 21:01:25 +00:00
Tim Lin
f36e8b1d60 drivers/i2c: it8xxx2: Add I2C_CODE_IN_RAM for critical functions
Introduce the I2C_CODE_IN_RAM option to place selected critical
functions into the RAM code section.

This allows latency-sensitive I2C paths to execute from RAM when
required, while keeping the default behavior unchanged.

NOTE1: Enable I2C_CODE_IN_RAM on it81202bx: RAM size +2272B.
NOTE2: With kernel in RAM, enabling I2C_CODE_IN_RAM saves ~558ms
       over 1,000 transfers (W/R/W2R), tested on it81202bx.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-12-27 21:01:12 +00:00
Holt Sun
521a1af002 boards: mimxrt700_evk: configure ITRC for WWDT reset handling.
Fix WWDT warning interrupt by configuring ITRC to not intercept WWDT
timeout events.

ROM may configure ITRC OUT3_SEL0/OUT4_SEL0 to route WWDT0-2 to ITRC,
causing ITRC to reset the system faster than WWDT, preventing the
warning interrupt from functioning. Reconfigure these registers to
0xAAAAAA0A to allow RSTCTL to properly handle WWDT reset events.

Also enable WWDT warning interrupt in the board configuration to ensure
proper watchdog interrupt handling during tests.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2025-12-27 21:00:57 +00:00
Holt Sun
8cb5b7dd58 drivers: watchdog: wdt_mcux_wwdt: reject callback without warning IRQ
The WWDT callback is only invoked from the warning interrupt path.
If CONFIG_WDT_MCUX_WWDT_WARNING_INTERRUPT_CFG is 0, the warning
interrupt is effectively disabled, so a configured callback would
never fire.
Return -ENOTSUP and log an error when a callback is provided
without enabling the warning interrupt, to avoid a silent no-op.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2025-12-27 21:00:57 +00:00
Holt Sun
8b365a3e2c drivers: watchdog: wdt_mcux_wwdt: fix window calculation.
Correct the WWDT window value calculation and add proper
range validation.

The window value was incorrectly set to the minimum timeout value.
Per hardware specification, it should be calculated as:
  windowValue = timeoutValue - min_window_ticks

Also add:
- MAX_TIMEOUT boundary checks
- Validation before value assignment

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2025-12-27 21:00:57 +00:00
Holt Sun
2021106536 tests: watchdog: use write-through for mimxrt700 board.
Add CONFIG_ARM_MPU_SRAM_WRITE_THROUGH=y to
make sure data will be flushed into SRAM timely.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2025-12-27 21:00:57 +00:00
Andreas Ålgård
98746a172c net: lib: dhcpv4_server: Add client hardware ID to client_id
This is useful if you specifically need the hardware address
 and not the client_id option.

Signed-off-by: Andreas Ålgård <aal@ixys.no>
2025-12-27 21:00:32 +00:00
Sylvio Alves
e855856a5d drivers: spi: esp32: move pinctrl to init
Move pinctrl_apply_state() from configure to init to ensure pinctrl
is applied once at boot rather than on every transaction.

When cs-gpios is defined, spi_context_cs_configure_all() runs after
pinctrl and reconfigures the CS pin as GPIO, properly overriding
any CS routing set by pinctrl.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-12-26 10:18:16 -06:00
Riadh Ghaddab
7b7521ee5d MAINTAINERS: add ZMS Settings backend collaborators
Add a file-group for ZMS backend for Settings and add myself as a
collaborator.

Signed-off-by: Riadh Ghaddab <riadh.ghaddab@nordicsemi.no>
2025-12-26 10:17:56 -06:00
Manuel Argüelles
ddef63bffd maintainers: remove congnguyenhuu from NXP areas
The collaborator is no longer active in NXP-maintained areas.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2025-12-26 10:17:46 -06:00
Tim Pambor
f35189eeef drivers: eth: phy: adin2111: support C45 register access
Implement read_c45 and write_c45 functions to support clause 45
register access. This enhancement allows to access C45 registers
even when the MDIO controller does not natively support clause 45.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2025-12-26 10:17:32 -06:00
Tim Pambor
c9f8e8c856 drivers: eth: phy: adin2111: Use C45 access by default
Use clause 45 MDIO access by default and only fallback to the phy
internal clause 45 bridge if the MDIO controller does not support
clause 45 transactions.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2025-12-26 10:17:32 -06:00
Maochen Wang
70a9a54658 boards: shields: nxp_m2_wifi_bt: set default IMX_USDHC_DAT3_DETECT_RETRY
DAT3-based card detection may fail for the first attempt on RT1060evkc
+ NXP_IW610x_v1 card, caused by transient signal states during
initialization. Set IMX_USDHC_DAT3_DETECT_RETRY as 10 can fix this issue.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2025-12-26 10:17:10 -06:00
Maochen Wang
a8137baf65 drivers: sdhc: imx_usdhc: add retry for DAT3 card detection
DAT3-based card detection can return a false negative on the first read
due to transient signal states after enabling detection. Add a bounded
retry loop (limited by IMX_USDHC_DAT3_DETECT_RETRY) with a short delay
between attempts to improve robustness.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2025-12-26 10:17:10 -06:00
Riadh Ghaddab
b41f510fe2 tests: boards: nrf: rename flash.throttling test
Change the generic name to boards.nrf.rram_throtttling as this test is
bound to nrf boards.

Signed-off-by: Riadh Ghaddab <riadh.ghaddab@nordicsemi.no>
2025-12-26 10:16:37 -06:00
Yassine El Aissaoui
29673afd01 soc: nxp: mcxw23: Integrate low power with ble
Adding support for deep sleep/ power down on BLE apps.

Signed-off-by: Yassine El Aissaoui <yassine.elaissaoui@nxp.com>
2025-12-26 10:16:07 -06:00
Dong Wang
49f1f6fce0 dts: intel_ish: Remove unnecessary #interrupt-cells from /soc node
The /soc node is a simple-bus node and not an interrupt provider. Leaving
the #interrupt-cells property produces misleading Device Tree build
warnings:
  Warning (interrupt_provider): /soc: '#interrupt-cells' found, but node is
  not an interrupt provider <stdout>:  Warning (interrupt_map): Failed
  prerequisite 'interrupt_provider'.

Signed-off-by: Dong Wang <dong.d.wang@intel.com>
2025-12-26 10:15:36 -06:00
Tim Lin
a214a05b8c soc/ite: it8xxx2: Add SOC_IT8XXX2_RAM_CODE_NOINLINE option
Add the SOC_IT8XXX2_RAM_CODE_NOINLINE Kconfig option to prevent
functions marked with __soc_ram_code from being inlined when LTO
is enabled.

This ensures RAM code functions remain in the RAM section instead of
being merged into callers by the compiler.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2025-12-26 10:15:07 -06:00
Benjamin Cabé
62edae7d75 include: led_strip: tlc5971:: add doxygen docs for tlc5971 extended API
Adds doxygen documentation for the extended API of the Texas Instruments
TLC5971 LED strip controller driver.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-12-26 10:14:42 -06:00
Benjamin Cabé
d686aa732f include: led_strip: add doxygen group for LED strip API extensions
Similar to how it's done for other driver classes, create a new doxygen
group to put all device-specific LED strip API extensions under.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-12-26 10:14:42 -06:00
Fabin V Martin
580732d5f9 tests: drivers: uart: Add test support
Add overlay and yaml files for uart async tests.

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2025-12-26 10:14:22 -06:00
Fabin V Martin
61be40f98f boards: microchip: sam_e54_xpro: Update uart nodes for DMA support
Add DMA properties in sercom uart node.

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2025-12-26 10:14:22 -06:00
Fabin V Martin
cf8d97ab39 drivers: uart: microchip: sercom g1: Add DMA support
The current driver implementation only support pooling and
synchronous operations. By adding DMA support the driver will
be able to operate in asynchronous mode which helps to improve
CPU usage and save power.

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2025-12-26 10:14:22 -06:00
Fabin V Martin
08ba580618 dts: bindings: serial: Introduce DMA properties
Introduce DMA properties for sercom uart g1 driver.

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2025-12-26 10:14:22 -06:00
Farsin Nasar V A
a620ee12a6 boards: microchip: pic32cx_sg61_cult: add RESET to supported list
Update pic32cx_sg61_cult.yaml to include RESET in the supported
modules list.

Signed-off-by: Farsin Nasar V A <farsin.nasarva@microchip.com>
2025-12-26 10:13:53 -06:00