Commit graph

136,983 commits

Author SHA1 Message Date
Holt Sun
ed2fc81d4b drivers: crc: add NXP LPC CRC driver
Add CRC driver implementation for NXP LPC microcontrollers.

The driver supports:
- CRC-CCITT, CRC-16, and CRC-32 IEEE polynomials
- Configurable input/output bit reversal
- Seed value configuration
- Thread-safe operation with semaphore locking
- Streaming CRC calculation via begin/update/finish API

Hardware limitations:
- Processes data in 8-bit chunks internally
- 32-bit writes require 4 cycles (8-bit × 4)
- Supports back-to-back writes of 8/16/32-bit width

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-01-05 09:20:40 +01:00
Holt Sun
0b897874bb dts: bindings: crc: add NXP LPC CRC binding
Add devicetree binding for the NXP LPC CRC controller
(compatible "nxp,lpc-crc") with required reg property.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-01-05 09:20:40 +01:00
Holt Sun
bce0b1a72c modules: hal_nxp: mcux: enable LPC CRC driver component
Enable lpc crc driver for zephyr crc driver.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-01-05 09:20:40 +01:00
Johnny Chuang
0e051f7c2b board: add '32f967_dv' development board (minimal build support)
Minimal board definition for the Elan em32f967 SOC:
- Includes DTS, YAML, and Kconfig files
- Provides board.cmake with misc-flasher for CI/build
- Actual flashing is not included in this PR

Signed-off-by: Johnny Chuang <johnny.chuang@emc.com.tw>
2026-01-05 09:18:40 +01:00
Johnny Chuang
7e45f351c5 soc: add Elan em32f967 minimal SoC support
Add initial support for the Elan em32f967 SoC based on ARM Cortex-M4.
Minimal SoC definition for upstream:
- soc.h, Kconfig, and CMakeLists.txt provided for completeness
- This PR does not implement drivers or UART functionality

Signed-off-by: Johnny Chuang <johnny.chuang@emc.com.tw>
2026-01-05 09:18:40 +01:00
Johnny Chuang
6f0e2acf1e dt-bindings: elan em32f967 – clock, gpio, pinctrl, pwm
Add minimal DT binding headers and matching YAML files for the
Elan em32f967 SoC. The new definitions are required to build the
sample board and follow the upstream style.

Signed-off-by: Johnny Chuang <johnny.chuang@emc.com.tw>
2026-01-05 09:18:40 +01:00
Thinh Le Cong
23892b038f drivers: serial: fix IAR warning Pe1072 about declaration after a label
Fix Pe1072 warning (declaration after case label) by wrapping with braces

Signed-off-by: Thinh Le Cong <thinh.le.xr@bp.renesas.com>
2026-01-04 14:11:51 +01:00
Ayush Singh
9d9529f0db doc: develop: manifest: external: Add greybus
Add documentation for Greybus Zephyr implementation. The RFC [0] goes into
more detail regarding Greybus and it's current status.

[0]: https://github.com/zephyrproject-rtos/zephyr/issues/98259

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2026-01-03 13:09:36 +01:00
Alberto Escolar Piedras
e90135eb0c arch: posix: cmake: Minor clarifications
Minor improvements in this cmake:
Add a comment to clarify why we set one option, and move an if
into an else with a comment of what is doing.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-01-03 10:20:34 +01:00
Alberto Escolar Piedras
6f427044dd arch: posix: cmake: Remove unnecessary line
This variable is not set to anything.
This line has always been just bogus.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-01-03 10:20:34 +01:00
Gaetan Perrot
dab667f51c drivers: clock_control: renesas_ra_cgc: fix API name typo
Fix a typo in the Renesas RA clock control API symbol name.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-03 10:20:24 +01:00
Gaetan Perrot
15eb2ee314 drivers: clock_control: renesas_ra_cgc: fix NULL subsys handling
Fix unsafe handling of the clock control subsystem pointer.

The subsystem argument was cast before being validated, which could
lead to invalid memory access when NULL is passed.

Rework the on/off callbacks to validate the subsystem pointer before
casting it, drop unnecessary device checks, and mark the device
argument as unused.

Also simplify get_rate() validation by checking only the rate
pointer.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-03 10:20:24 +01:00
Gaetan Perrot
0f59ae35d4 drivers: ethernet: eth_virtio_net: remove invalid NULL check
Remove a NULL check on the device pointer that occurs after the
pointer has already been dereferenced.

This check can never be true and is therefore misleading.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-03 10:19:52 +01:00
Alberto Escolar Piedras
a2f45762f1 arch posix: cleanup NATIVE_APPLICATION support remnants
NO_POSIX_CHEATS was a macro used to avoid including the content of a
header (`posix_cheats.h`) which allowed building applications in the
POSIX architecture without the native simulator, avoiding collisions
between some embedded symbols and those from the host C library.

Support for this way of building, and this header and macro were
removed in e150ffb92c, but these users
were forgotten. This was harmless, but let's just clean it up now.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-01-03 10:19:34 +01:00
Daniel Leung
b82e352f58 boards: intel_adsp: ignore newlib tests in twister
Add newlib to ignore_tags so twister will no longer run newlib
tests. These platforms have memory mappings that are not quite
what newlib is expecting so malloc may sometimes fail or even
returns invalid addresses. Fixing it is not worth the effort
because:

() Zephyr SDK provides picolibc now and not newlib, and malloc
   works fine with picolibc.

() Downstream projects uses xcc/xt-clang as toolchains where
   their provided newlib are not multi-thread safe, and cannot
   be safely used under SMP environment.

So simply ignore any newlib tests as they are not really
providing any values on these platforms.

Fixes #100895

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2026-01-03 10:19:13 +01:00
Peter Mitsis
3affd0385e kernel: Fix race condition in z_time_slice()
Instead of directly calling the current thread-specific time slice
handler in z_time_slice(), we must call a saved copy of the handler
that was made when _sched_spinlock was still held. Otherwise there
is a small window of time where another CPU could change the handler
to NULL just before we call it.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2026-01-03 10:18:53 +01:00
Peter Mitsis
c4e2db088f kernel: Add check to k_sched_time_slice_set()
When k_sched_time_slice_set() is called, the current time slice
should not be reset if the current thread is using thread-grained
time slicing. This is to maintain consistency with the already
established idea that thread-grained time slicing takes precedence
over the system-wide time slice size `slice_ticks`.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2026-01-03 10:18:53 +01:00
Peter Mitsis
3a0784fe22 kernel: Update thread_is_sliceable()
This fixes several minor items related to the priority or importance
of checks in determining whether the thread can be time sliced.

A thread that is prevented from running can not be time sliced
regardless of whether it was configured for thread-grained
time slicing or not. Nor can the idle thread be time sliced.

If the thread is configured for thread-grained time slicing, then
do not bother with the preemptible or priority threshhold checks.
This maintains the same behavior, and just optimizes the checks.

If the thread is sliceable, we may as well return the size of the
tick slice since we are checking that information anyway. Thus, a
return value of zero (0) means that the thread is not sliceable,
and a value greater than zero (0) means that it is sliceable.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2026-01-03 10:18:53 +01:00
Peter Mitsis
d05d9454bf kernel: Remove superfluous thread_is_sliceable() call
Within z_sched_ipi() there is no need for the thread_is_sliceable()
test as z_time_slice() performs that check. Since as a result of this
thread_is_sliceable() is now only used within timeslicing.c, the
'static' keyword is applied to it.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2026-01-03 10:18:53 +01:00
Abderrahmane JARMOUNI
fe039cb07b drivers: flash: silabs: replace 'depends on DMA' with 'select'
When a driver requires the usage of a low level driver subsystem
(like SPI, I2C, DMA...), it shall enable it instead of depending on it.
Also, make DMA usage depend on its DT properties being defined.

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2026-01-02 16:01:31 +00:00
Abderrahmane JARMOUNI
6d9ded6651 drivers: adc: silabs IADC: replace 'depends on DMA' with 'select'
When a driver requires the usage of a low level driver subsystem
(like SPI, I2C, DMA...), it shall enable it instead of depending on it.
Also, make DMA usage depend on its DT properties being defined.

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2026-01-02 16:01:31 +00:00
Vinayak Kariappa Chettimada
321ffb786b tests: bsim: Bluetooth: Do not use the BT_ prefix
Do not use the BT_ prefix for definitions not provided by
the Bluetooth subsystem.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2026-01-02 16:01:26 +00:00
Vinayak Kariappa Chettimada
e78fe1dcdc samples: Bluetooth: Move harness and tags to common section
Move harness and tags to common section for observer and
broadcaster_multiple samples.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2026-01-02 16:01:26 +00:00
Vinayak Kariappa Chettimada
50b6842ee3 samples: Bluetooth: observer: Move Zephyr Controller Kconfigs
Move Zephyr Controller Kconfigs to overlay file.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2026-01-02 16:01:26 +00:00
Vinayak Kariappa Chettimada
a9b6024585 samples: Bluetooth: Broadcast multiple legacy and extended advertising
Update broadcaster_multiple sample to start multiple
advertising sets of type legacy and extended advertising.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2026-01-02 16:01:26 +00:00
Vinayak Kariappa Chettimada
eb109a274d Bluetooth: Controller: Fix missing chain pdu time reservation
Fix missing auxiliary chain pdu time reservation.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2026-01-02 16:01:26 +00:00
Vinayak Kariappa Chettimada
3baf507b97 Bluetooth: Controller: Tune aux offset calculation overhead assertion
Tune the aux offset calculation overhead assertion to use
EVENT_OVERHEAD_START_US; this is the correct maximum
overhead causing ISR latency for start of a radio event that
occurs thereafter.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2026-01-02 16:01:26 +00:00
Vinayak Kariappa Chettimada
bb5f3ff87d tests: bsim: Bluetooth: Enable similar Controller Kconfig features
Enable similar Controller Kconfig features between nRF52 and
nRF5340 BabbleSIM LE Audio testing.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2026-01-02 16:01:26 +00:00
Fabian Blatz
ad391c3447 boards: infineon: Correct uart compatible name
Correct the non-existing infineon,cat1-uart compatible string and pinctrl
for it.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2026-01-02 13:15:17 +00:00
Jamie McCrae
14fb2c0691 samples: mgmt: mcumgr: smp_svr: Fix shell-mgmt Kconfig conflict
Disables the shell serial backend in this Kconfig fragment to
prevent conflicting with the serial one

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-01-02 09:58:06 +00:00
Gaetan Perrot
aaa321569f drivers: gpio: infineon: remove redundant NULL check in ISR
Remove a redundant NULL check on the device pointer in the GPIO
interrupt handler.

The device pointer is dereferenced unconditionally before the check
and cannot be NULL in this context.

No functional change intended.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-02 09:57:43 +00:00
TOKITA Hiroshi
aa6ef16ec1 dts: bindings: serial: pl011: interrupts are not always required.
There are cases where the device can operate by polling
without using interrupts, so `interrupts` are not mark as required.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-01-02 09:57:31 +00:00
Farsin NASAR V A
6186673e15 tests: drivers: counter: Add sam_e54 test support files
- Adds sam_e54_xpro.overlay files for tcc.
- Adds sam_e54_xpro platform allow in testcase.yaml.

Signed-off-by: Farsin NASAR V A <Farsin.NASARVA@microchip.com>
2026-01-02 09:57:06 +00:00
Muhammed Asif
f3fe67e153 boards: microchip: sam_e54_xpro: Add conuter tag in sam_e54_xpro.yaml
- Add counter tag in the board yaml file seciton to allow CI run TCC
  G1 counter tests on this board

Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
2026-01-02 09:57:06 +00:00
Muhammed Asif
f58e1a3098 drivers: counter: microchip: Add TCC G1 driver
- Adds support for g1 counter driver with tcc peripheral

Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
2026-01-02 09:57:06 +00:00
Muhammed Asif
326ad5033d dts: bindings: counter: microchip: Add TCC G1 compatible
Adds the binding yaml for tcc peripheral for g1 counter driver

Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
2026-01-02 09:57:06 +00:00
Hau Ho
ed58ceefe6 tests: drivers: flash: Add config file for flash common test
Add config TEST_DRIVER_FLASH_SIZE for EK-RX261 and
FPB-RX261 board

Signed-off-by: Hau Ho <hau.ho.xc@bp.renesas.com>
2026-01-02 09:56:54 +00:00
Hau Ho
ae1c5a9a06 drivers: flash: Add flash driver support for RX261
Add config RX_FLASH_TYPE1 support for RX261

Signed-off-by: Hau Ho <hau.ho.xc@bp.renesas.com>
2026-01-02 09:56:54 +00:00
Hau Ho
48cf8c46dd boards: renesas: Add support for flash driver on FPB-RX261 board
Add flash driver support on FPB-RX261 board

Signed-off-by: Hau Ho <hau.ho.xc@bp.renesas.com>
2026-01-02 09:56:54 +00:00
Hau Ho
0963b33be7 boards: renesas: Add support for flash driver on EK-RX261 board
Add flash driver support on EK-RX261 board

Signed-off-by: Hau Ho <hau.ho.xc@bp.renesas.com>
2026-01-02 09:56:54 +00:00
Hau Ho
6b50eb5569 dts: rx: Add dts property for flash on RX261 MCU
Add dts for flash controller includes code and data flash region
for RX261 MCU

Signed-off-by: Hau Ho <hau.ho.xc@bp.renesas.com>
2026-01-02 09:56:54 +00:00
Keith Short
4d81bdb667 posix: c_lib_ext: fnmatch: fix llvm warning
The tolower() function takes an int parameter. LLVM compilers generate a
warning if a char is passed instead.

Signed-off-by: Keith Short <keithshort@google.com>
2026-01-02 09:56:45 +00:00
Lyle Zhu
587e8b8df0 bluetooth: at: add explicit cast to char pointer in return statements
Add explicit casts from 'uint8_t *' to 'char *' in at_get_string()
and at_get_raw_string() return statements to resolve implicit cast
warnings. The data.start field is uint8_t *, but the functions
return char *.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2026-01-01 21:30:01 +01:00
Abderrahmane JARMOUNI
32f15464fc dts: bindings: fix compatible strings missing quotes
Add quotes to compatible strings missing them.

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2026-01-01 21:29:34 +01:00
Muhammad Waleed Badar
c36b201e8d dts: bindings: add cpu bindings for cortex-a7 and cortex-a9
Add devicetree binding definitions for ARM Cortex-A7 and
Cortex-A9 CPUs.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-01-01 21:29:09 +01:00
Ha Duong Quang
4a3e4dc321 tests: drivers: enable adc test for s32k5
Enable ADC api test for S32K5

Signed-off-by: Ha Duong Quang <ha.duongquang@nxp.com>
2026-01-01 21:28:46 +01:00
Ha Duong Quang
9194a1ac7d samples: drivers: enable adc samples for s32k5
Enable adc_dt and adc_sequence samples for S32K5 ADC

Signed-off-by: Ha Duong Quang <ha.duongquang@nxp.com>
2026-01-01 21:28:46 +01:00
Ha Duong Quang
84c76c2b0e boards: nxp: s32k5xxcvb: enable support for adc
Enable support ADC for S32K5

Signed-off-by: Ha Duong Quang <ha.duongquang@nxp.com>
2026-01-01 21:28:46 +01:00
Ha Duong Quang
a1230d9efa dts: arm: nxp: add adc devicetree nodes for s32k5
Add devicetree of adc instances for s32k566.

Signed-off-by: Ha Duong Quang <ha.duongquang@nxp.com>
2026-01-01 21:28:46 +01:00
Ha Duong Quang
0056966479 soc: nxp: s32: k5: add adc base address mappings
Add macro definitions to map generic ADC instance names to hardware
specific SARADC base addresses, enabling driver portability.

Signed-off-by: Ha Duong Quang <ha.duongquang@nxp.com>
2026-01-01 21:28:46 +01:00