Commit graph

106454 commits

Author SHA1 Message Date
Pieter De Gendt
7feaf29e7c drivers: i2s: Place API into iterable section
Add wrapper DEVICE_API macro to all i2s_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 14:24:07 +01:00
Alberto Escolar Piedras
8bc8ded0b4 manifest: Update nRF hw models to latest
Update the HW models module to:
fbc6e614686b69dfa56f9694350b9488cf83d3f7

Including the following:
fbc6e61 HW models: Fix a few Wextra warnings
b164f15 nrfx replacements: Fix a few Wextra warnings
1f02d3b UART 54: Correct UART22 name
3172fdb UART(E): Add new pty backend
3015405 UARTE FIFO backend: Fix comment and typos
c29727a doc: UARTE is now implemented for 54L
64d9cdf 54 UARTE: Add support for Address bit and configurable data size
3745647 UART: FIFO backend ignore irrelevant CONFIG bits
3a20c98 54 UARTE: Add MATCH functionality
bceda1b Int controller: Provide logic similar to SEVONPEND bit
e66584f Makefile: Add variable to pass arbitrary build options

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-12-02 14:23:55 +01:00
Patryk Koscik
3efa3506c1 samples: dumb_http_server: Fix dead "Zephyr About page" href
Update href for 'Zephyr About page' in the `dumb_http_server` sample to the
correct URL.

Signed-off-by: Patryk Koscik <pkoscik@antmicro.com>
2024-12-02 14:23:43 +01:00
Alberto Escolar Piedras
3bf9de12a9 doc: release-notes-4.1: Mention removal of deprecated HWMv1 board names
Mention we are removing all HWMv1 board name aliases

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-12-02 14:23:33 +01:00
Alberto Escolar Piedras
93d60ecdb0 boards: Remove all deprecated HWMv1 board aliases
They have been there for 2 releases. Users must now use the HWMv2 names

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-12-02 14:23:33 +01:00
Krzysztof Chruściński
51b6f66fce tests: kernel: timer: timer_behavior: Reduce tick frequency(nrf54l20pdk)
Test test_one_tick_timer_train was failing due not being able to
execute enough 1 tick timeouts. Decrease system ticks frequency
to make the test pass.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-12-02 14:23:22 +01:00
Kapil Bhatt
302683ef7f wifi: nrf_wifi: Remove duplicate Kconfig option
Remove NRF_WIFI_RPU_RECOVERY_PROPAGATION_DELAY_MS Kconfig
which was defined twice with different values.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2024-12-02 11:14:46 +01:00
Mario Paja
70f8b5d094 boards: seeed: add XIAO ESP32C6 support
This PR adds supports for XIAO ESP32C6

Signed-off-by: Mario Paja <mariopaja@hotmail.com>
2024-12-02 11:14:32 +01:00
Pieter De Gendt
c1bccb156b drivers: hwspinlock: Place API into iterable section
Add wrapper DEVICE_API macro to all hwspinlock_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 11:14:21 +01:00
Torsten Rasmussen
35625c146a boards: samples: remove CONFIG_BUILD_NO_GAP_FILL=y and similar
Gap filling in hex files are now disabled per default, and therefore
there is no reason to explicitly disable gap filling.

It has never been possible to disable gap filling in binary files.
Disabling gap filling would just result in the binary file to be gap
filled with the tool's default value, objcopy=0x00.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2024-12-02 11:14:09 +01:00
Torsten Rasmussen
71fd4d9c98 cmake: clear llvm bintool gapfill property
The llvm-objcopy doesn't support a gap-fill argument, therefore clear
the property to remove the error:
> llvm-objcopy: error: unknown argument '--gap-fill'

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2024-12-02 11:14:09 +01:00
Torsten Rasmussen
2e8868c16e cmake: deprecate BUILD_NO_GAP_FILL and introduce type specific gap fill
Deprecate BUILD_NO_GAP_FILL as it gives a false impression that gap
filling can be disabled in binary files.
Binary files are always gap filled due to the fact they contain no
address information. Only option for binary files is to control the gap
fill pattern. When no gap fill is enabled in binary files, then a
default pattern is used by the tool, which usually is 0x00.

Generally the pattern 0x00 leads to unnecessary flash writes, as a
flash generally contains 0xFF after an erase.
Therefore provide a gap fill pattern Kconfig setting instead, with
default value of 0xFF.

For hex-files, intel hex and s19, then gap filling is generally not
needed but in order to still support cases where gap filling is required
then this commit introduces BUILD_OUTPUT_HEX_GAP_FILL and
BUILD_OUTPUT_S19_GAP_FILL. Both settings are disabled per default.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2024-12-02 11:14:09 +01:00
Jordan Yates
d9f45a986d doc: releases: document DT_ANY_INST_HAS_BOOL_STATUS_OKAY
Add a note for the addition of `DT_ANY_INST_HAS_BOOL_STATUS_OKAY`.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-12-02 11:13:52 +01:00
Jordan Yates
3a9e693087 tests: lib: devicetree: api: test DT_ANY_INST_HAS_BOOL_STATUS_OKAY
Add tests for the new `DT_ANY_INST_HAS_BOOL_STATUS_OKAY` macro.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-12-02 11:13:52 +01:00
Jordan Yates
feabe003ba devicetree: add DT_ANY_INST_HAS_BOOL_STATUS_OKAY
Add `DT_ANY_INST_HAS_BOOL_STATUS_OKAY` as a complement to
`DT_ANY_INST_HAS_PROP_STATUS_OKAY`. This macro exists because boolean
properties not present on a node are still generated with a value of 0,
and therefore cannot be used with `DT_ANY_INST_HAS_PROP_STATUS_OKAY`.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-12-02 11:13:52 +01:00
Georgios Vasilakis
8a190e82ba boards: nordic: nrf54h20: Increase default MAX_THREAD_BYTES
The mechanism for communication between domains requires
extra threads. So change the default value MAX_THREAD_BYTES
to allow usage of more threads.

Signed-off-by: Georgios Vasilakis <georgios.vasilakis@nordicsemi.no>
2024-12-02 09:43:23 +01:00
Tobias Kässer
887f210153 boards: "Lilygo TTGO T7 V1.5" initial support
Add support for board "Lilygo TTGO T7 V1.5"

Signed-off-by: Tobias Kässer <t.kaesser@gmail.com>
2024-12-02 09:43:12 +01:00
Dominik Ermel
3cd862e62d tests/storage/flash_map: Support for no flash_area_open
The commit removes flash_area_open usage from tests, where it is not tested
and only used to obtain area.
The commit adds tests for flash_area_device_is_ready.
The commit adds test for flash_area_sectors, which is equivalent
of flash_area_get_sectors but takes flash area object instead of flash
area index.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2024-12-02 09:43:00 +01:00
Dominik Ermel
55c12f2c40 storage: flash map: Add flash_area_sectors
The commit adds flash_area_sectors function that allows to get information
on sector/erase page layout by flash_area object pointer instead of
index.
The only difference between flash_area_sectors and flash_area_get_sectors
is that the later calls flash_area_open internally and as such requires
flash map to be compiled in.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2024-12-02 09:43:00 +01:00
Dominik Ermel
984be5eb65 storage: flash map: Add FIXED_PARTITION(label) macro
The commit adds FIXED_PARTITION(label) macro that allows to obtain
struct flash_area object for partition of given label.
The macro allows instantiation of partition at point of usage
and will be replacing need for defining flash map with all partition
entries.
Area obtained with the macro should not be passed to open, instead
flash_area_device_is_ready, basically equivalent of device_is_ready
should be called on the obtained pointer to check if area is ready
for use.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2024-12-02 09:43:00 +01:00
Håvard Reierstad
5a02aaa47e Bluetooth: Mesh: Trim _USES_MBEDTLS_PSA selects
Removes legacy configuration options. The same coverage is provided by
existing PSA_WANT_... selects.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2024-12-02 09:42:45 +01:00
Kamil Kasperczyk
0b98834424 modules: openthread: Add of Kconfigs to change child timeouts
Introduced few Kconfigs that allow to change default values
of MLE child timeout and child supervision timeouts.

Signed-off-by: Kamil Kasperczyk <kamil.kasperczyk@nordicsemi.no>
2024-12-02 09:42:35 +01:00
Haiyue Wang
6f26952828 drivers: display: stm32_ltdc: Use local device variable
Similar to `stm32_ltdc_display_blanking_off()`, use local device variable
instead of accessing the config's structure member again.

Signed-off-by: Haiyue Wang <haiyuewa@163.com>
2024-12-02 06:09:38 +01:00
david burke
ab29e6a057 samples: drivers: led: led_strip: esp32s3-devkitc led uses GPIO38
Change `GPIO39` to `GPIO38` in overlay.
The esp32s3_devkitc rgb led is connected to GPIO38, not 39.
Tested change on board and verified to function as intended.

Signed-off-by: david burke <david@aheng.io>
2024-12-02 06:09:26 +01:00
Tomi Fontanilles
8547add5ae modules: mbedtls: fix ITS configuration on POSIX architecture
Make sure that `MBEDTLS_PSA_ITS_FILE_C` is not defined when
`CONFIG_SECURE_STORAGE` is enabled as the former takes precedence over
the latter in Mbed TLS (`psa_crypto_storage.c`).

This fixes usage of the secure storage subsystem by Mbed TLS on platforms
such as `native_sim`.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2024-12-02 06:09:13 +01:00
Pieter De Gendt
90ccb28fe9 drivers: entropy: Place API into iterable section
Add wrapper DEVICE_API macro to all entropy_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 06:08:59 +01:00
Arrel Neumiller
a519150362 doc: boards: esp32s3_touch_lcd_1_28: Add missing image
Add the missing image for the Waveshare ESP32S3 Touch
LCD 1.28 board documentation.

Signed-off-by: Arrel Neumiller <rlneumiller@gmail.com>
2024-12-02 06:08:30 +01:00
Maximilian Werner
66df541d6c drivers: pwm: mcux_tpm: allow configuring the clock prescaler
Allow configuring the clock prescaler divider for the NXP Kinetis
Timer/PWM Module (TPM). Setting the prescaler to a lower value
allows for higher resolution for the generated PWM waveforms.
This change is inspired from the pwm_mcux_ftm driver:

Link: https://github.com/zephyrproject-rtos/zephyr/pull/25396

Signed-off-by: Maximilian Werner <maximilian.werner96@gmail.com>
2024-12-02 01:33:59 +01:00
Steve Boylan
48b70cf180 net: ipv6: Fix unaligned access to IPv6 address
Add UNALIGNED_GET() to prevent alignment fault when
reading parts of the IPv6 address.

Signed-off-by: Steve Boylan <stephen.boylan@beechwoods.com>
2024-12-02 01:33:45 +01:00
Ian Morris
f80de97c26 dts: arm: renesas: ra: fixed ioport2 irq assigments
Only IRQ's 0-3 are available on ioport2.

Signed-off-by: Ian Morris <ian.d.morris@outlook.com>
2024-12-02 01:33:29 +01:00
Piotr Kosycarz
91dfe8f076 tests: drivers: gpio: gpio_basic_api: restore support for nrf54l15 flpr
Missing after PDK->DK.

Signed-off-by: Piotr Kosycarz <piotr.kosycarz@nordicsemi.no>
2024-12-02 01:33:15 +01:00
Stefan Schwendeler
baa49f6f32 drivers: led_strip: ws2812_i2s: code cleanup, runtime optimization
Runtime improvements
- bitstream calculation saves ~12% of runtime (Cortex M33)

Code cleanup
- unused include removed
- use of util macro

Signed-off-by: Stefan Schwendeler <Stefan.Schwendeler@husqvarnagroup.com>
2024-11-30 18:33:21 +01:00
Anas Nashif
d0bc95cf57 samples: sensors: add min_ram filter
override the default of 16k in this sample.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-11-30 18:33:10 +01:00
Anas Nashif
00f620870e twister: config: increase min_ram to 16k
Increase default to 16k, this can be overidden in the test configuration
where needed.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-11-30 18:33:10 +01:00
Fabio Baltieri
092e559366 twister: add an explicit path before import Domains
This is line is breaking in some CI setups since the recent ruff fixup
with:

ModuleNotFoundError: No module named 'domains'

Try and fixit by explicitly adding the path before the include, all
other instances have it already.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-11-30 10:33:29 +00:00
Kai Vehmanen
c2f02533a6 drivers: dma: intel_adsp_hda: change L1_EXIT defaults
Enumerate explicitly on which SoC's DMA_INTEL_ADSP_HDA_TIMING_L1_EXIT
should be set by default. For new platforms in the ACE series, the
default should be disabled.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-11-30 09:36:29 +01:00
Tomasz Moń
a26d3c2f2e drivers: udc_dwc2: Workaround endpoint disable race condition
Endpoint disable function is racing against bus traffic. If the bus
traffic leads to transfer completion immediately before the endpoint
disable is executed, then the transfer complete interrupt will remain
set when the endpoint is disabled. For OUT endpoints this leads to "No
buffer for ep" errors, while for IN endpoint this can lead to double
buffer pull which causes assertion failure.

The proper solution would be to change endpoint disable to not actually
wait for the individual events (and accept that the endpoint may not
need to be disabled because the transfer can just finish). For the time
being workaround the issue by clearing XferCompl bit on endpoint
disable.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-11-30 09:36:17 +01:00
Tomasz Moń
c19d34c5d3 usb: device_next: uac2: Double buffering on IN data endpoints
Application is expected to call usbd_uac2_send() on each enabled USB
Streaming Output Terminal (isochronous IN data endpoint) exactly once
every SOF. The class is bookkeeping queued transfers to make it easier
to determine component at fault when things go wrong. However, this
approach only works fine if the underlying USB device controller buffers
the data to be sent on next SOF and reports the transfer completion
immediately after data is buffered (e.g. nRF52 USBD).

While DWC2 otg also requires the SW to arm endpoint with data for the
next SOF, unlike nRF52 USBD the transfer is only considered complete
after either the IN token for isochronous endpoint is received or after
the Periodic Frame Interval elapses without IN token. This design
inevitably requires the application to be able to have at least two
buffers for isochronous IN endpoints.

Support dual buffering on IN data endpoints to facilitate sending
isochronous IN data on every SOF regardless of the underlying USB device
controller design.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-11-30 09:36:17 +01:00
Tomasz Moń
edbb05368d drivers: udc_dwc2: Queue next packet on incomplete iso IN interrupt
When handling incomplete iso IN interrupt mark current transfer as
complete and program the endpoint with any subsequently queued packet.
Program the endpoint directly in interrupt handler because the data
must be programmed before SOF (by the time incomplete iso IN interrupt
is raised there is less than 20% * 125 us = 25 us before SOF).

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-11-30 09:36:17 +01:00
Tomasz Moń
8b212d80fd drivers: udc_dwc2: Fix isochronous endpoint disable
The NAKSts bit may be set on isochronous OUT endpoints when incomplete
ISO OUT interrupt is raised. The code would then assume that endpoint is
already disabled and would not perform the endpoint disable procedure.
This in turn was essentially halting any transmission on the isochronous
endpoint, abruptly terminating the data stream.

Fix the issue by always following full endpoint disable procedure on
isochronous endpoints.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-11-30 09:36:17 +01:00
Jamie McCrae
d7d636d1f2 soc: expressif: esp32c3: Fix wrong placement of Kconfig
Fixes a wrong placement of a Kconfig which was put into the
wrong file and was bleeding through to every board

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-11-30 09:36:07 +01:00
Ilya Tagunov
575acdc85a MAINTAINERS: make tagunil an ARC collaborator
Add myself to the ARC collaborators list, as I'm currently employed
by Synopsys to work on improving ARC support in Zephyr.

Signed-off-by: Ilya Tagunov <Ilya.Tagunov@synopsys.com>
2024-11-29 19:29:27 -05:00
Tomasz Leman
c0a01d33e3 Revert "soc: intel_adsp/ace30: do not map 0x0"
This reverts commit 3d3ffa2c05.

The original commit aimed to prevent NULL pointer accesses by moving the
MMU mapping starting point one page later. However, this change has
caused a regression on PTL. Our DSP has registers with addresses lower
than 0x1000, and the firmware uses addresses starting from 0xC40. For
instance, the HDAMLDMICL register is located at 0xCC0, which is now
inaccessible due to the change.

Reverting this commit restores access to these critical registers and
resolves the regression issue.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-11-29 19:27:53 -05:00
Martin Åberg
6ec68a0118 MAINTAINERS: Change collaborator and code owner for SPARC and LEON
- Remove @julius-barendt as collaborator and code owner for areas
  related to SPARC and LEON.
- Add myself to the same areas.

Signed-off-by: Martin Åberg <martin.aberg@gaisler.com>
2024-11-29 19:25:13 -05:00
Pieter De Gendt
190e3b9fe1 drivers: ethphy: Place API into iterable section
Add wrapper DEVICE_API macro to all ethphy_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-11-30 01:04:49 +01:00
Pieter De Gendt
0c75641c98 drivers: fpga: Place API into iterable section
Add wrapper DEVICE_API macro to all fpga_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-11-30 01:04:37 +01:00
Pieter De Gendt
b51c8cbe5b drivers: gnss: Place API into iterable section
Add wrapper DEVICE_API macro to all gnss_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-11-30 01:04:26 +01:00
Flavio Ceolin
7d023138ef samples: fuzz: Use __noinline attribute
Use Zephyr definition for noinline attribute.

Signed-off-by: Flavio Ceolin <flavio.ceolin@gmail.com>
2024-11-30 01:04:11 +01:00
Flavio Ceolin
4f33729ee0 tests: mem_protect/stackprot: Use __noinline attribute
Use Zephyr definition for noinline attribute.

Signed-off-by: Flavio Ceolin <flavio.ceolin@gmail.com>
2024-11-30 01:04:11 +01:00
Flavio Ceolin
df0dd2915d samples: pref: Use __noinline attribute
Use Zephyr definition for noinline attribute.

Signed-off-by: Flavio Ceolin <flavio.ceolin@gmail.com>
2024-11-30 01:04:11 +01:00