Commit graph

93905 commits

Author SHA1 Message Date
Grzegorz Swiderski e9562b6dcb MAINTAINERS: Update nRF Platforms with new dts paths
Files in `dts/common/nordic` and `dts/riscv/nordic` belong to this area,
now that Nordic's devicetrees span multiple architectures. Use a glob to
cover all paths.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-04-17 14:36:12 +02:00
Grzegorz Swiderski 711abcd444 boards: nordic: nrf54h20dk: Add IPC configuration for SysCtrl
Add the default `zephyr,ipc-icmsg` nodes for communication with
Application and Radiocore.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-04-17 14:36:12 +02:00
Grzegorz Swiderski 163cacbe4b dts: nordic: nrf54h20: Add SysCtrl VEVIF node
Add a VEVIF node to be used for communicating with SysCtrl (cpusys).
This is the only part of the SysCtrl VPR exposed to local domains.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-04-17 14:36:12 +02:00
Andrzej Głąbek 2f4426663a drivers: pinctrl_nrf: Configure QSPI IO3 pin as output set high
... so that the pin is kept in a defined state when the IO3 line is
not controlled by the QSPI peripheral (when the peripheral is disabled
or disconnected from the pin).

The IO3 pin in Quad SPI flash chips usually has dual functionality -
it is an I/O line when the chip is configured to work in Quad (4 I/O)
mode and it is a HOLD# or RESET# line when the chip is configured to
work in non-Quad (2 I/O) mode. In the latter case, it is important that
the line is kept in the inactive (high) state, otherwise communication
with the chip may be disrupted (and this actually happens when e.g.
the spi_flash sample is used on a brand new nRF5340 or nRF52840 DK -
the nrf_qspi_nor driver fails to initialize and the sample just ends
up with the "mx25r6435f@0: device not ready" message).

This commit addresses the problem in the same way that it was done for
the CSN line in commit 6d8172f4e9.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2024-04-17 14:34:50 +02:00
Rubin Gerritsen 1d33322ce1 bluetooth: Document periodic advertising interval unit
It was not possible to see what unit was used for periodic
advertising interval in the scan recv callback without digging
deep into the code.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2024-04-17 14:34:23 +02:00
Rubin Gerritsen 46d3bf11c9 samples: bluetooth: Increase sync timeout to allow packet loss
The periodic advertiser samples use a periodic advertising interval
in the range of 1 to 1.2 seconds.

Previously the sync timeout of 1.7 seconds would cause the sync to be
lost after failing to receive a single periodic advertising packet.
This change therefore aims to improve the user experience.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2024-04-17 14:34:23 +02:00
Andries Kruithof d96f98188c Bluetooth: CAP: Shell: Add cancel command
We didn't have a cancel command for the CAP commander, so adding this
command here.

Signed-off-by: Andries Kruithof <andries.kruithof@nordicsemi.no>
2024-04-17 14:31:56 +02:00
Daniel DeGrasse 7477636f0f drivers: mipi_dbi: allow MIPI mode to be set via devicetree
Enable MIPI mode to be set via devicetree, for displays that support
multiple MIPI DBI modes. This commit also adds new helpers for displays
that allow drivers to initialize the entire MIPI DBI configuration
structure from devicetree

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-04-17 14:30:05 +02:00
Daniel DeGrasse a6ac1e16ff drivers: mipi_dbi: add MIPI_DBI_SPI_CONFIG_DT_INST helper
Add MIPI_DBI_SPI_CONFIG_DT_INST helper, to initialize SPI config
structure for MIPI devices by DT instance number

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-04-17 14:30:05 +02:00
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