Commit graph

136,983 commits

Author SHA1 Message Date
Khoa Tran
4d61652415 samples: drivers: counter: Add sample support for Renesas mck_ra4t1
Add support for sample app on Renesas mck_ra4t1:
- samples/drivers/counter/alarm

Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
2025-11-27 11:30:12 +01:00
Khoa Tran
8fbfe4fad5 boards: renesas: Add board support for Renesas mck_ra4t1
Add board layer support for Renesas mck_ra4t1 board

Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
2025-11-27 11:30:12 +01:00
Khoa Tran
70eaa271f6 dts: arm: renesas: Add dts support for Renesas RA4T1 SoC series
Add dts support for Renesas RA4T1 SoC series

Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
2025-11-27 11:30:12 +01:00
Khoa Tran
60fccde40e dt-bindings: misc: Add ELC enum dts bindings for RA4T1 SoC
Add RA4T1 SoC's ELC signal enums for devicetree bindings

Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
2025-11-27 11:30:12 +01:00
Khoa Tran
8a86e9bbf9 soc: renesas: ra: Add support for Renesas RA4T1 SoC series
Add support for Renesas RA4T1 SoC series

Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
2025-11-27 11:30:12 +01:00
Khoa Tran
e1689f7fe7 manifest: update revision of hal_renesas to latest
Update revision of hal_renesas to get RA4T1 support

Signed-off-by: Khoa Tran <khoa.tran.yj@bp.renesas.com>
2025-11-27 11:30:12 +01:00
Johann Fischer
0d515e777f drivers: udc_dwc2: avoid register read on disabled controller
The VBUS bounces when the USB connector is plugged in. This can lead to
events VBUS removed and Suspended occurring in that order. With
hibernation support enabled, hibernation request, as result of the
suspend interrupt, will be delegated to the driver thread. Once the
driver thread is scheduled to process hibernation request, the
controller may be already disabled and controller/phy clocks be off. On
nRF54LM20 this leads to CPU crash and a hang.

To avoid this happening, cancel the possible hibernation request after
interrupts are disabled. Although the thread could be still waked up
because of USBSUSP interrupt raised and event posted, this is considered
to be harmless, as there would be a second check in the thread whether
the event is still valid or is cleared in between.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-11-27 11:29:43 +01:00
Qiang Zhao
413414a550 tests: arm_irq_advanced_features: Use first-level IRQ for direct ISR test
CONFIG_NUM_IRQS - 1 may be a second-level interrupt number on platforms
with multi-level interrupt support. Second-level interrupts cannot be
used for direct ISR testing.

Use CONFIG_2ND_LVL_ISR_TBL_OFFSET - 1 when available to ensure we test
with a first-level interrupt that supports direct ISR functionality.

Signed-off-by: Qiang Zhao <qiang.zhao@nxp.com>
2025-11-27 11:29:34 +01:00
Camille BAUD
a92b122c4a boards: bflb: Add SPI tests support to some boards
Adds SPI tests running

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-11-27 11:27:45 +01:00
Camille BAUD
2c8912e223 drivers: spi: Introduce Basic BFLB SPI driver
Introduce spi driver with basic features

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-11-27 11:27:45 +01:00
Camille BAUD
ba2a602ff9 dts: bflb: Add spi nodes
Adds Node for SPI driver to bl61x and bl70x

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-11-27 11:27:45 +01:00
Camille BAUD
b46ce633dd drivers: clock_control: bflb: Add SPI elements
Add clock elements to enable using SPI

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-11-27 11:27:45 +01:00
Camille BAUD
b257655da3 west.yml: Update hal_bouffalolab to latest
Updates hal version to have spi defines fixes.

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-11-27 11:27:45 +01:00
Vinayak Kariappa Chettimada
61a8648c2c Bluetooth: Controller: Replace Kconfig select with depends
Replace use of `select` with `depends on` in the LL_SW_SPLIT
Kconfig options.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2025-11-26 12:17:47 -05:00
Qingsong Gou
6e2b729cad samples: subsys: fs: fs_sample: add board sf32lb52_devkit_lcd support
Add board sf32lb52_devkit_lcd support

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2025-11-26 12:17:32 -05:00
Qingsong Gou
9874f7c451 boards: sifli: sf32lb52_devkit_lcd: enable spi1
Enable spi1 on sf32lb52_devkit_lcd board

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2025-11-26 12:17:32 -05:00
Qingsong Gou
d3037c6361 drivers: spi: add spi driver for sf32lb platform
Add spi driver for sifli sf32lb platform

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2025-11-26 12:17:32 -05:00
Qingsong Gou
615c35549e dts: arm: sifli: sf32lb: add spi definition
Add spi for sf32lb platform

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2025-11-26 12:17:32 -05:00
Qingsong Gou
26c0acb7c4 dts: bingdings: spi: sf32lb: add spi bingdings
Add spi controller bingdings

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2025-11-26 12:17:32 -05:00
Aleksander Wasaznik
04b8dbae4b Bluetooth: Host: Disable bt_hci_cmd_send_sync workaround
The workaround in bt_cmd_send_sync should no longer by needed when
tx_processor is not on the system work queue.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2025-11-26 12:16:43 -05:00
Aleksander Wasaznik
f101976e31 Bluetooth: Host: Run tx processor on its own thread
When thread that TX processor is used to send commands and data to
Controller is also used for sync commands sending and command buffer
allocation, a deadlock happens.

This thread is used to avoid such deadlocks by moving TX processor to
its own dedicated thread exclusively used by tx processor only.

Co-authored-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2025-11-26 12:16:43 -05:00
Aleksander Wasaznik
0ee5d70f38 Bluetooth: Samples: Reduce RAM requirement of peripheral_identity
Reduce BT_MAX_CONN from 62 to 61 to make it build on integration
platform qemu_cortex_m3/ti_lm3s6965 when we add bt_taskq in subsequent
commit.

The number 62 seems arbitrary here, so reducing it by one should not
have any practical impact.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2025-11-26 12:16:43 -05:00
Aleksander Wasaznik
6889042d96 Bluetooth: Host: Don't call user callback from TX thread
ATT is invoking user callbacks in its net_buf destroy function. It is
common practice that these callbacks can block on bt_hci_cmd_alloc().
This is a deadlock when the net_buf_unref() happens inside the HCI
driver, invoked from tx_processor.

Blocking callbacks like this appear in our own samples. See further down
about how this problem was detected.

tx_processor not protect against blocking callbacks so it is de-facto
forbidden. The Host should not equip net_bufs with dangerous destroy
callbacks.

This commit makes ATT defer its net_buf destruction and user callback
invocation to the system workqueue, so that net_buf_unref is safe to
call from non-blocking threads. In the case of the deadlock, the
net_buf_unref() was below the tx_processor in the call stack, which (at
the time of this commit) is on the system work queue, so defering it to
the system work queue is preserving the existing behavior.

Future improvement may be to allow the user to provide their own
workqueue for ATT callbacks.

This deadlock was detected because the following test was failing while
moving tx_processor to the bt_taskq:

    tests/bsim/bluetooth/ll/throughput/tests_scripts/gatt_write.sh

The above test has an ATT callback `write_cmd_cb` invokes
`bt_conn_le_param_update` can block waiting for `tx_processor`.

The reason it was not failing while tx_processor was on the system work
queue is that the GATT API has a special non-blocking behavior when
called from the system work queue.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2025-11-26 12:16:43 -05:00
Pieter De Gendt
8439d0d917 doc: releases: 4.4: Add NVMEM entry for flash device support
Add an entry with Kconfig options for NVMEM on flash devices.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-11-26 12:16:08 -05:00
Pieter De Gendt
f704a832ff tests: nvmem: Add flash testcase
Add an overlay/config to test the NVMEM subsystem with a flash driver.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-11-26 12:16:08 -05:00
Pieter De Gendt
a85f73386d nvmem: Add flash support
Allow flash devices to be accessed using the NVMEM API. Note that it simply
uses the read/write API functions. Erasing should be handled by the
application.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-11-26 12:16:08 -05:00
Mathieu Choplain
e784a030f2 scripts: runners: stlink_gdbserver: add support for --no-load
Add support for the --load/--no-load argument from the base runner class.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-11-26 12:15:53 -05:00
Mathieu Choplain
2240f10f16 scripts: runners: generalize --no-load argument
Move the existing "--no-load" argument from the OpenOCD and Intel Cyclone V
runners into an argument in the runners base class such that it can be used
by all runners. Also update the existing runners to work with the common
option instead of their own.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-11-26 12:15:53 -05:00
Zhaoxiang Jin
bcb1813f5c drivers: systick: Add prompt for CORTEX_M_SYSTICK_RESET_BY_LPM
This commit adds a prompt to the Kconfig file to make
CORTEX_M_SYSTICK_RESET_BY_LPM option more visible to users
configuring the driver.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-11-26 12:15:26 -05:00
Zhaoxiang Jin
3e5320192b drivers: cortex_m_systick: add stub callback for idle timer alarm
When low-power mode timer is enabled, a counter alarm is set on the
idle timer before entering low-power mode. The counter API requires
a non-NULL callback function for the alarm. This commit adds a stub
callback function to satisfy the API requirement.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-11-26 12:15:26 -05:00
Ilan Costa
26316742f0 boards: heltec: add support for heltec_wireless_tracker
Add support for heltec_wireless_tracker

Signed-off-by: Ilan Costa <ilan.costa@gmail.com>
2025-11-26 12:14:06 -05:00
John Batch
2ec1a8d734 tests: spi: Removing references to infineon,cat1-spi-pdl
Removing references to infineon,cat1-spi-pdl.  Differentiation between
PDL and HAL drivers have been changed to use Kconfig options.

Signed-off-by: John Batch <john.batch@infineon.com>
2025-11-26 12:13:48 -05:00
John Batch
5c2332c7d4 drivers: spi: Removing devicetree references to cat1-spi-pdl
Removing references to infineon,cat1-spi-pdl from the device tree files.
Updates the driver bindings and driver file to look at the
infineon,cat1-spi binding and uses a Kconfig option to select Legacy HAL
implementation instead.

See https://github.com/zephyrproject-rtos/zephyr/pull/98035 for context.

Signed-off-by: John Batch <john.batch@infineon.com>
2025-11-26 12:13:48 -05:00
Tomasz Moń
152844a7e0 usb: device_next: msc: Do not leak SCSI buffer on dequeue
Multiple submitted requests are getting merged to single cancelled
net_buf on endpoint dequeue. While MSC class was correctly decrementing
the usage counters, it was not freeing SCSI buffer pointed to by frags.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-11-26 12:11:59 -05:00
Erwan Gouriou
6b6018e969 drivers: interrupt_controller: stm32: Fix discontinuous index in n6/mp1x
Similarly to what was present on L0, GPIO port indexes are not continuous
in EXTI configuration register and a dedicated treatment is required.
Deal with it case by case.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2025-11-26 12:11:48 -05:00
Qingsong Gou
0278e67afa drivers: rtc: sf32lb: fix nsec error
Fix nsec set and get

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2025-11-26 12:11:39 -05:00
Anas Nashif
d1170f668a doc: various fixes for include path
Many include paths missing the zephyr namespace.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-11-26 12:11:27 -05:00
Anas Nashif
5f91f5fb38 doc: fix reference to kernel.h
Fix reference to kernel.h and add zephyr namespace where it was missing.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2025-11-26 12:11:27 -05:00
Aksel Skauge Mellbye
ad867a1264 drivers: entropy: gecko_trng: Fix blocking behavior
entropy_get_entropy() is allowed to block while waiting for
entropy. Don't exit with an error if entropy is exhausted,
wait instead. Move clock enable out of the inner loop to avoid
unnecessarily calling it multiple times.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-11-26 11:09:19 +00:00
Sebastian Bøe
e0ad51e375 soc: nordic: gen_uicr: Enable IS_GEN_UICR_IMAGE by default
Enable IS_GEN_UICR_IMAGE by default for the gen_uicr image.

A recent change accidentally made this default n, and broke a bunch of
users.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2025-11-26 11:08:09 +00:00
Andrew Kontra
c47de21db3 net: Using const char * in net_hostname_set()
When calling net_hostname_set() from C++, you will hit compile
errors if you attempt to use a const char *. Since the internals
of net_hostname_set() just uses memcpy(), we should pass in the
new hostname as a const char * to better support C++.

Tested using samples/cpp/hello_world, with an added call to
net_hostname_set().

Signed-off-by: Andrew Kontra <andrew@legatoxp.com>
2025-11-26 11:06:34 +00:00
Andrzej Głąbek
15dabaa595 drivers: uart_nrfx_uarte: Fix runtime device PM for interrupt driven API
Add missing getting/putting of the device when the RX interrupt is
enabled/disabled. Also fix enabling and disabling of the TX interrupt
so that the device is got/put only if the interrupt wasn't already
enabled/disabled and device PM reference counting is done correctly.

This fixes `console_getchar()` that would hang when used with
`CONFIG_PM_DEVICE_RUNTIME=y`.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-11-26 11:06:18 +00:00
Matthias Alleman
1feafdbef7 tests: drivers: build_all: ethernet: add testing of ethernet-phy
Add build test for ethernet-phy compatible

Signed-off-by: Matthias Alleman <matthias.alleman@basalte.be>
2025-11-26 11:05:52 +00:00
Matthias Alleman
60fd112806 drivers: ethernet: phy: phy_mii: add gpio reset
Add support for hardware reset to the phy_mii driver

Signed-off-by: Matthias Alleman <matthias.alleman@basalte.be>
2025-11-26 11:05:52 +00:00
Etienne Carriere
6b2e014292 tests: drivers: memc: test full SDRAM on a few stm32 boards
Add an overlay for some STM32 boards that embed an SDRAM connected
through FMC interface to better cover their accessibility. Despite
each SDRAM is a few MByte large test are not too long lasting:
- stm32f429i_disc1 .... 8MByte: <1s
- stm32f469i_disco ... 16MByte: <1.5s
- stm32f746g_disco .... 8MByte: <1s
- stm32f7508_dk ......  8MByte: not tested
- stm32f769i_disco ... 16MByte: ~2s
- stm32h745i_disco .... 8MByte: <0.2s
- stm32h747i_disco ... 32MByte: <0.6s
- stm32h750b_dk ....... 8Mbyte: <0.2s
- stm32h757i_eval .... 32MByte: not tested
- stm32h7b31i_dk ..... 16MByte: not tested

Adding these test ensures non-regression on SDRAM support.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-11-26 11:05:35 +00:00
Etienne Carriere
b88d259b5c tests: drivers: memc: fix minor inconsistencies in offsets
Correct memc driver test application to allocated only the required
size for the tests and print valid information instead of byte
offset that was actually a 32bit cell pointer offset.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-11-26 11:05:35 +00:00
Etienne Carriere
2b858a4c6b boards: st: stm32f7508_dk: Fix sdram available size
According to UM2470 Rev 2 section 4.13 "SDRAM memory" [1], the
available SDRAM size is only 8MB since only the lowest 64-Mbit
are accessible despite the SDRAM capacity is 16MByte (128MBit).

Link: https://www.st.com/resource/en/user_manual/um2470-discovery-kit-for-stm32f7-series-with-stm32f750n8-mcu-stmicroelectronics.pdf [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-11-26 11:05:35 +00:00
Etienne Carriere
6240bdcbe5 boards: st: stm32f746g_disco: Fix sdram available size
According to UM1907 Rev 6 section 5.13 "SDRAM Memory" [1], the
available SDRAM size is only 8MByte since only the lowest 64Mbit are
accessible despite the SDRAM capacity is 16MByte (128MBit).

Link: https://www.st.com/resource/en/user_manual/um1907-discovery-kit-for-stm32f7-series-with-stm32f746ng-mcu-stmicroelectronics.pdf [1]
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-11-26 11:05:35 +00:00
Etienne Carriere
c4df2dbcc4 boards: st: stm32h750b_dk: increase FMC SDRAM clock period
Testing full SDRAM access on stm32h750b_disco showed instabilities
and corrupted accessed. Increasing the FMC SDRAM clock period fixes
the issue.

This change ensures stability of transactions with the SDRAM but
may be sub-optimized regarding performances. An alternate correction
would need further investigations in the FMC interface timings
and clocks configuration.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-11-26 11:05:35 +00:00
Etienne Carriere
68cd3ad30d boards: st: stm32h745i_disco: increase FMC SDRAM clock period
Testing full SDRAM access on stm32h745i_disco showed instabilities
and corrupted accessed. Increasing the FMC SDRAM clock period fixes
the issue.

This change ensures stability of transactions with the SDRAM but
may be sub-optimized regarding performances. An alternate correction
would need further investigations in the FMC interface timings
and clocks configuration.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-11-26 11:05:35 +00:00