Commit graph

94046 commits

Author SHA1 Message Date
Daniel DeGrasse 1c5a66f99c drivers: mipi_dbi: add mipi_dbi_release API
Some SPI based displays expect the ability to lock the SPI bus after a
transaction completes, or to hold CS low. In order to accommodate this
within the MIPI DBI layer, add the mipi_dbi_release API, which allows
SPI displays to hold then release the SPI bus used by the MIPI
abstraction layer.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-04-17 14:30:05 +02:00
Tianshuang Ke 8ffefab29f dts: arm: st: Fix incorrect memory mapping and size for STM32L475Xe
This commit updates the SRAM configuration in the STM32L475 device tree:

- `sram0` size reduced from 128K to 96K.
- `sram1` added with 32K.

These changes correct memory settings to prevent initialization failures.

Signed-off-by: Tianshuang Ke <qinyun575@gmail.com>
2024-04-17 14:29:22 +02:00
Ben Wolsieffer 72cdbcbbba logging: consistently retrieve source ID from remote messages
The log message header "source" field for messages received from a
remote domain contains the source ID, rather than a pointer to the
source data (which would not be valid in the local domain).

msg_filter_check() did not handle this case and obtained a garbage source
ID for remote log messages. This caused an assertion failure in
filter_get().

Consistently handle this by adding a log_msg_get_source_id() function
that returns the source ID for both local and remote messages. This
function was implemented based on code factored out of
log_output_msg_process().

Signed-off-by: Ben Wolsieffer <benwolsieffer@gmail.com>
2024-04-17 14:28:59 +02:00
Jukka Rissanen 03c5c0f818 samples: net: Disable native_posix target in more samples
The native_posix compilations fail with various socket
errors like this:

samples/net/sockets/can/src/main.c:65:9: error: implicit \
     declaration of function ‘send’ [-Werror=implicit-function-declaration]
     65 |   ret = send(fd, &sframe, sizeof(sframe), 0);
        |         ^~~~

So disable the native_posix board from networking samples as
native_posix board is not compatible with CONFIG_POSIX_API

This is related to commit b8fc1c4c3e ("samples: net: Disable
native_posix target in samples") but disables more network samples
for native_posix board.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-04-17 14:28:08 +02:00
Henrik Brix Andersen 8261a4bf9e kconfig: fix Kconfig documentation references to the CHECKIF() macro
Fix the references to the CHECKIF() from the Kconfig help documentation
strings.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-04-17 14:26:36 +02:00
Grzegorz Swiderski 35e418f469 modules: hal_nordic: Fix NRF_GRTC_HAS_EXTENDED
This definition is used in nrfx header files, so it shouldn't be added
using `zephyr_library_compile_definitions()`. This would cause the GRTC
driver to fail the build when CONFIG_NRF_GRTC_START_SYSCOUNTER=y.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-04-17 14:26:02 +02:00
Omkar Kulkarni b94799e051 MAINTAINERS: Add Omkar as BT Mesh collaborator
Add Omkar Kulkarni (omkar3141) as BT Mesh collaborator.

Signed-off-by: Omkar Kulkarni <omkar.kulkarni@nordicsemi.no>
2024-04-17 14:25:20 +02:00
Nicolas Lebedenco 6a42ede43b cmake: Normalize GNULD_LINKER variable
Some toolchains may generate convoluted paths when reporting accessory
tools. This is the case with GCC in the Zephyr SDK toolchain. For
example, for a Zephyr SDK installed under `C:\Portable\Zephyr` a call to
`gcc --print-prog-name=ld.bfd` should normally return something like
`c:/portable/zephyr/zephyr-sdk-0.16.5/arm-zephyr-eabi/arm-zephyr-eabi/bin/ld.bfd.exe`
but because of how the toolchain was created the path reported gets all
messed up with relative fragments. In above case, the actual path reported
was `c:/portable/zephyr/zephyr-sdk-0.16.5/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe`
One might argue that this should be fixed in the toolchain which could be
possible for the Zephyr SDK but not for other toolchains (definitely not
for proprietary ones).

Signed-off-by: Nicolas Lebedenco <nicolas@lebedenco.net>
2024-04-16 16:38:35 -07:00
Jakub Zymelka bec4faebb9 snippets: Add nRF54L15 FLPR core snippets
Add snippets to boot nRF54L15 FLPR from application core.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2024-04-16 18:36:58 +01:00
Jakub Zymelka 65f743619d drivers: nordic: Align VPR launcher for nRF54L15 FLPR core
Add nRF54L15 FLPR support for nordic_vpr_launcher.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2024-04-16 18:36:58 +01:00
Jakub Zymelka aa1690f8c6 boards: nordic: add nRF54L15 FLPR for nRF54L15PDK
Add nRF54L15 FLPR core to nRF54L15PDK board configuration.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2024-04-16 18:36:58 +01:00
Jakub Zymelka d907986b5d modules: hal_nordic: nrfx: add nRF54L15 FLPR core support
Add support for nRF54L15 FLPR core.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2024-04-16 18:36:58 +01:00
Jakub Zymelka c386c66483 soc: add nRF54L15 FLPR core support
Add support for nRF54L15 FLPR core.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2024-04-16 18:36:58 +01:00
Jakub Zymelka bce52c8057 dts: add nRF54L15 FLPR core
Add nRF54L15 FLPR core support.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2024-04-16 18:36:58 +01:00
Benjamin Cabé 9ebf341977 west: spdx: introduce support for SPDX 2.3
Minor update to existing zspdx implementation to add support for
PrimaryPackagePurpose introduced in SPDX 2.3.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-04-16 10:07:49 -07:00
Emil Gydesen b4eac67b8b Bluetooth: BAP: Shell: Add support for decoding LC3 data
Add support for decoding incoming LC3 data. At this point
we only instantiate a single LC3 decoder, so only one frequency
and duration is supported.

To accomodate for the increased RAM usage, the number of unicast
streams support have been decreased.

Further more, the LC3 handling in the shell has overall been
improved, also for encoding.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-04-16 09:12:47 +02:00
Daniel Schultz 91fdf590d2 MAINTAINERS: Add boards/phytec/phyboard_lyra to TI K3
We dropped the am62x from the phyboard_lyra_am62x name. Afterwards,
the files section for the TI K3 Platforms doesn't fit anymore.
Add the phyboard_lyra directly as all kits for this carrier-boards
use a K3 SOC.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
2024-04-16 09:10:39 +02:00
Daniel Schultz cdb5a29460 boards: deprecated: Update PHYTEC phyBOARD-Lyra AM62x
The PHYTEC phyboard_lyra_am62x board was renamed to phyboard_lyra
to simplify the board name.

The PHYTEC phycore_am62x board was renamed and moved into
phyboard_lyra as phyboard_lyra/am6234/a53.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
2024-04-16 09:10:39 +02:00
Daniel Schultz 5f0f7003cd boards: phytec: Remove am62x from phyboard_lyra_am62x
Both phyBOARD-Lyra AM62x boards were called
phyboard_lyra_am62x/am6234/a53 or phyboard_lyra_am62x/am6234/m4.
Since the AM62x SOC part number is now included in the board name
as am6234, there is no need to have am62x in the board name itself.

Moreover, PHYTEC also has an AM62Ax SOM which comes with the same
carrier-board. Integration of this kit would be easier later.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
2024-04-16 09:10:39 +02:00
Daniel Schultz 74f6ca71de boards: phytec: Merge AM62 A53 into phyboard_lyra_am62x
phyBOARD-Lyra AM62x is the official name for our kit, which we
use to develop our reference software. This kit includes the
phyCORE-AM62x with TI's AM62x SoC.

Rename the phycore_am62x_am6234_a53 board to phyboard_lyra_am62x_am6234_a53
and move all code into the phyboard_lyra_am62x directory. Thereby, the
A53 and M4 boards are located in the same directory and both named
correctly.

This is also a good chance to update documentation for both cores and
use links to our latest BSPs as well as our official AM62x Yocto machine
name for the AM62x HS-FS SOM.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
2024-04-16 09:10:39 +02:00
Daniel Schultz b96b91c965 MAINTAINERS: Add myself as collaborator to TI K3
PHYTEC has support for the TI AM62x M4/A53 cores and we
plan to extend this support further in the future.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
2024-04-16 09:10:39 +02:00
Jun Lin 011b730b4c driver: reset: npcx: add driver support for reset controller
Nuvoton NPCX chips have reset registers which allow to reset the
peripheral hardware modules. This commit adds the support by
implementing the reset driver. Note that only the reset_line_toggle API
is supported because of the nature of the reset controller's design.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2024-04-16 09:09:13 +02:00
Krzysztof Chruściński e10ed057e8 drivers: serial: uart_async_to_irq: Move resetting to disabling function
Move resetting of the receiver state to disabling function so that once
uart is disabled there is no data pending in the module.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-04-16 09:07:55 +02:00
Krzysztof Chruściński 8f89013789 drivers: serial: uart_async_rx: Fix uart_async_rx_reset function
Add missing fields clearing to the resetting function.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-04-16 09:07:55 +02:00
Marc Herbert 01a8202135 llext: fix llext_find_sym() not to return a "const" value
Returned values are copies, so trying to "const" return values cannot
have any effect.

Fixes the following compiler warning:
```
llext.h:165: warning: type qualifiers ignored on function return type
```

Fixes commit 41e0a4a371 ("llext: Linkable loadable extensions")

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-04-16 09:06:49 +02:00
Tim Lin 36f1092ed7 ITE: dts: it82xx2: Add missing extend setting of alternate function
If I2C3 switches from GPH1/GPH2 to GPB2/GPB5, extend setting
is required.

Test: Accessing I2C is normal if I2C2, I2C3, I2C5 are switched.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2024-04-16 09:05:38 +02:00
Armin Brauns 2c8ea07b34 tests: add test for loopback disk access
This sets up a backing device, creates a FAT file system, then opens a file
as a loopback device and runs the disk_access tests on that.

Signed-off-by: Armin Brauns <armin.brauns@embedded-solutions.at>
2024-04-15 10:55:29 -07:00
Armin Brauns 3116970516 drivers: disk: add loopback disk driver
This driver creates a disk_access that transparently reads from and writes
to a file in a file system.

Signed-off-by: Armin Brauns <armin.brauns@embedded-solutions.at>
2024-04-15 10:55:29 -07:00
Emil Gydesen 2314a2ca64 docs: Bluetooth: Add additional notes about LE Audio
LE Audio sticks out in a few ways that's worth knowing
not only as a contributor, but also as an application
developer. These things have been documented, and may be
expanded upon later.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-04-15 10:55:14 -07:00
Chaitanya Tata c091c944b6 boards: nrf54h20dk: Enable shell input
This enables typing commands in shell over UART.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-04-15 10:54:59 -07:00
Karthikeyan Krishnasamy 8c8868c51e tests: posix: fs: add test suite for ftruncate
Add test suite support for posix ftruncate

Signed-off-by: Karthikeyan Krishnasamy <karthikeyan@linumiz.com>
2024-04-15 13:23:37 -04:00
Karthikeyan Krishnasamy cd1ed1cdbf lib: posix: fs: add ftruncate support
Add support for ftruncate in posix implementation

Signed-off-by: Karthikeyan Krishnasamy <karthikeyan@linumiz.com>
2024-04-15 13:23:37 -04:00
Karthikeyan Krishnasamy feae0a229b tests: posix: fs: add test suite for fsync
Add test suite for posix fsync

Signed-off-by: Karthikeyan Krishnasamy <karthikeyan@linumiz.com>
2024-04-15 13:23:37 -04:00
Karthikeyan Krishnasamy 65ad32b3ca lib: os: fdtable: add support for fsync
Add support for fsync in existing posix ioctl call

Signed-off-by: Karthikeyan Krishnasamy <karthikeyan@linumiz.com>
2024-04-15 13:23:37 -04:00
Wilfried Chauveau 42036cdbca arch: arm: cortex_m: Only trigger context switch if thread is preemptible
This is a fix for #61761 where a cooperative task is switched from at the
end of an exception. A cooperative thread should only be switched from if
the thread exists the ready state.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2024-04-15 09:09:28 -07:00
Wilfried Chauveau 773739a52a arch: arm: cortex_m: move part of swap_helper to C
Asm is notoriously harder to maintain than C and requires core specific
adaptation which impairs even more the readability of the code.

This change significantly enhances the maintainability & portability of the
code at the expanse of an indirection (1 outlined function).

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2024-04-15 09:09:28 -07:00
Wilfried Chauveau d55ea8dba9 arch: arm: cortex_m: Use arch_irq_lock instead of a bespoke asm impl
This change is another step in unifying the use of irq_locks on arch arm
targets.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2024-04-15 09:09:28 -07:00
Wilfried Chauveau 65ec07fe33 arch: arm: cortex_m: use cmsis API rather than assembly
Asm is notoriously harder to maintain than C and requires core specific
adaptation which impairs even more the readability of the code.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2024-04-15 09:09:28 -07:00
Wilfried Chauveau 4760aad353 arch: arm: cortex_m: Convert cpu_idle from ASM to C
Asm is notoriously harder to maintain than C and requires core specific
adaptation which impairs even more the readability of the code.

This change reduces the need for core specific conditional compilation and
unifies irq locking code.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>

# Conflicts:
#	soc/arm/nordic_nrf/nrf53/soc_cpu_idle.h
2024-04-15 09:09:28 -07:00
Wilfried Chauveau f11027df80 arch: arm: cortex_m: Use outlined arch_irq_(un)lock in assembly
Asm is notoriously harder to maintain than C and requires core specific
adaptation which impairs even more the readability of the code.

This change reduces the need for core specific conditional compilation.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2024-04-15 09:09:28 -07:00
Wilfried Chauveau 72312feead arch: arm: cortex_m: Use cmsis api instead of inline asm in arch_irq_*
Asm is notoriously harder to maintain than C and requires core specific
adaptation which impairs even more the readability of the code.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2024-04-15 09:09:28 -07:00
Wilfried Chauveau 8e55468af2 arch: arm: cortex_m: use C rather than asm in isr_wrapper & exc_exit
Asm is notoriously harder to maintain than C and requires core specific
adaptation which impairs even more the readability of the code.

This is a first step in reducing the amount of ASM in arch/arm/cortex_m

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2024-04-15 09:09:28 -07:00
Wilfried Chauveau 85feaa60e2 arch: arm: cortex_m: Use r* register names rather than v*
v* register aliases are uncommon and it can be surprising to find them.
This change makes use of r* register names for a more consistent
experience of reading assembly.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2024-04-15 09:09:28 -07:00
Wilfried Chauveau 4c3f6ea5b2 arch: arm: cortex_m: Document why __aeabi_read_tp impl requires ASM impl
This method has special ABI requirement that requires the use of ASM.
This change documents why this is required & adds reference to the
related specification.

Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com>
2024-04-15 09:09:28 -07:00
Jamie McCrae a2ed8162c8 cmake: modules: boards: Add normalised variables
Adds a new variable NORMALIZED_BOARD_QUALIFIERS which contains
the board qualifiers in file-name format, this allows for
constructing strings in applications (e.g. for folder names) prior
to Zephyr being found for things like APPLICATION_CONFIG_DIR. Also
adds NORMALIZED_BOARD_TARGET.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-04-15 08:31:55 -07:00
Kai Vehmanen 7fd0a7a5eb soc: intel_adsp: replace icache ISR workaround with custom idle solution
A workaround to avoid icache corruption was added in commit be881d4cf2
("arch: xtensa: add isync to interrupt vector").

This patch implements a different workaround by adding custom logic to
idle entry on affected Intel ADSP platforms. To safely enter "waiti"
when clock gating is enabled, we need to ensure icache is both unlocked
and invalidated upon entry.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-04-15 16:26:39 +02:00
Marek Matej 213bad1de0 soc: espressif: add missing linker symbols
Provide missing symbols to the default linker scripts.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2024-04-15 16:26:20 +02:00
Lukasz Mrugala a0d1b778a4 scripts: twister: Fix overbroad Mock in environment unit tests
os.path.abspath was mocked too broadly, leading to errors for some users,
while being undetected in the CI.
This change narrows down the mock effect, fixing the problem.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-04-15 16:25:51 +02:00
Jonathan Rico 0794b22c9c Bluetooth: l2cap: Fix SDU buffer leak
`ret` is the amount sent from the current buffer. `sent` contains the
total amount that was transferred in the while loop.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-04-15 16:24:12 +02:00
Alberto Escolar Piedras becf4c1c81 tests/bsim: Fix not detecting failures
b0339136c1
Broke the check for failed bsim tests.
Let's fix it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-04-15 16:24:12 +02:00