Commit graph

85,247 commits

Author SHA1 Message Date
Jamie McCrae
a41f44b8db cmake: extensions: Fix missing quotes for zephyr_get function
Fixes a string comparison which is missing quotes, this works
on the first invocation but fails on the second if quotes are
not present.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-05-15 09:17:01 +02:00
Dawid Niedzwiecki
65bd27246f mgmt: ec_host_cmd: fix node chosen strings
Update the backend device node chosen strings.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
2023-05-15 09:16:53 +02:00
Grant Ramsay
58d41373cd arch: arm64: cache: Add ARG_UNUSED to unused arguments
The unused arguments were causing warnings

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2023-05-14 18:17:33 -04:00
Grant Ramsay
83928aaab7 samples: drivers: ethernet: Add Jailhouse IVSHMEM Ethernet sample
Add an IVSHMEM Ethernet sample to communicate between Zephyr
and Linux root cell within the Jailhouse hypervisor.

The supported configuration runs the Jailhouse hypervisor
within QEMU Cortex-A53.

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2023-05-14 18:17:33 -04:00
Grant Ramsay
82dd4efc66 tests: drivers: ethernet: Add eth_ivshmem_queue unit tests
These tests were useful during development,
and may be useful to find/fix bugs.

OpenAMP does not currently support native_posix
boards so qemu_cortex_a53 is used.

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2023-05-14 18:17:33 -04:00
Grant Ramsay
6b5a994068 drivers: ethernet: Add Jailhouse IVSHMEM Ethernet support
Allows Ethernet communication between "cells"
in the Jailhouse hypervisor.

The vring queue deviates from a standard virtqueue
so is implemented separately.

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2023-05-14 18:17:33 -04:00
Grant Ramsay
244f4f2034 drivers: pcie: Enable filtering PCIe devices by class-rev
This allows finding the correct PCIe device when multiple devices
have the same vendor-id/device-id but differ in the class-rev register

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2023-05-14 18:17:33 -04:00
Grant Ramsay
dc0e98c224 drivers: virtualization: Add implementation for ivshmem-v2
ivshmem-v2 is primarily used for IPC in the Jailhouse hypervisor

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2023-05-14 18:17:33 -04:00
Grant Ramsay
4ed404a27f drivers: virtualization: Add interface for ivshmem-v2
ivshmem-v2 is primarily used for IPC in the Jailhouse hypervisor

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2023-05-14 18:17:33 -04:00
Alberto Escolar Piedras
b0668cc586 lib: cpp: Do not define __cxa_atexit() for the posix arch
For the POSIX architecture we do not define an
empty __cxa_atexit() as it otherwise would
override its host libC counterpart. And this would
both disable the atexit() hooks, and prevent possible
test code global destructors from being registered.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-05-12 18:31:44 -04:00
Flavio Ceolin
c4025f026f arch: xtensa: Remove unecessary logic in backtrace
In z_xtensa_backtrace_print the parameter depth is checked for <= 0.
There is no need to check it again later, also, since the variable is
not used after the while loop we can use directly the parameter without
an additional variable.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-05-12 18:31:13 -04:00
Flavio Ceolin
15a3f8c7e7 intel_adsp: ace: Fix __rodata_region_end marker on linker
Move __rodata_region_end to after the inclusion of common-rom.ld

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-05-12 18:20:54 -04:00
Guennadi Liakhovetski
986eb6aafd xtensa: remove ELF section address rewriting
(resubmitting after it has been reverted by 0f2a352cbd ('Revert
"xtensa: remove ELF section address rewriting"')

Now rimage can handle both cached and uncached addresses correctly,
ELF rewriting isn't needed any more.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-05-12 18:19:59 -04:00
Yves Vandervennet
0f87666126 i2s : mimxrt595_evk_cm33: enablement of driver
board:

 - update device tree to use flexcomm devices to the chip design
 - enable clocks (soc init file)
 - setup connections for loopback test in system controller (board init
   file)

tests:

 - update board files (overlay, conf)

Signed-off-by: Yves Vandervennet <yves.vandervennet@nxp.com>
2023-05-12 13:50:33 -05:00
Maxin John
4281a49a16 boards: arm: mimxrt1060_evk: add pwmled
Add green_pwm_led

Tested using samples/basic/fade_led/

Updated mimxrt1060_evkb.dts as FLEXPWM not routed to LED on this EVK

Signed-off-by: Maxin John <maxin.john@gmail.com>
2023-05-12 13:39:33 -05:00
Jim Norton
a2e31220f1 boards: arm: mimxrt1050_evk_qspi: correctly set pyocd target argument
When building for mimxrt1050_evk_qspi board, runners.yaml needs
to have the pyocd arg target set to mimxrt1050_quadspi so that
west knows to access Quad SPI instead of hyperflash.

Signed-off-by: Jim Norton <notronrj@gmail.com>
2023-05-12 13:04:08 -05:00
Armin Brauns
0bc342fbbd kernel: fix buffer overflow from incorrect K_MSGQ_DEFINE definition
Without these parentheses, specifying a q_max_msgs of e.g.
`MY_DEFAULT_QUEUESIZE+1` would result in a buffer of size
(1 element + MY_DEFAULT_QUEUESIZE bytes).

This would then lead to an unbounded buffer overflow because the queue
never reaches the exact (offset by MY_DEFAULT_QUEUESIZE bytes)
`buffer_end` and just keeps writing.

Additionally, add asserts to make sure this can't happen again.

Signed-off-by: Armin Brauns <armin.brauns@embedded-solutions.at>
2023-05-12 13:39:10 -04:00
Emil Gydesen
7b3db7c15d Revert "tests: Bluetooth: Audio: Enable EATT for bsim tests"
This reverts commit f6405d993178c1d1c134981f1457347837bfd05a.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-05-13 02:29:05 +09:00
Flavio Ceolin
02ac343c18 security: hardening: Update general recommendations
Update security recommendations. That is not a
thorough list though.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-05-13 02:28:29 +09:00
Flavio Ceolin
8276658ac7 security: hardening: Update debug susbsys options
Update information for debug susbys options.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-05-13 02:28:29 +09:00
Flavio Ceolin
d74e77147b security: hardening: Update experimental features
Update all experimental features on Zephyr. Remove outadated and
added new ones.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-05-13 02:28:29 +09:00
Flavio Ceolin
a06083c3c4 security: hardening: Organize hardened file
Separate debug and experimental options in hardened.csv
file for easier maintenance.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-05-13 02:28:29 +09:00
Hisanori YAMAOKU
2ed97bc911 samples: die_temp_polling: Add nrf52840dk overlay
Adds overlay for the nrf52840dk.

Signed-off-by: Hisanori YAMAOKU <yamaoku.hisanor@fujitsu.com>
2023-05-12 10:47:20 -05:00
Mizuki Agawa
49fd55cae9 samples: die_temp_polling: Add nrf51dk overlay
Adds overlay for the nrf51dk.
Signed-off-by: Mizuki Agawa <agawa.mizuki@fujitsu.com>
2023-05-12 10:47:20 -05:00
Emil Gydesen
89bcb874db tests: Bluetooth: Add missing ASCS mocks
Add mocks for k_sem_take, k_sem_give and bt_gatt_get_mtu

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-05-12 15:29:17 +02:00
Emil Gydesen
07f32b732a Bluetooth: ASCS: Add support for long writes
Add support for long writes to the control point
to handle e.g. metadata that's larger than the MTU.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-05-12 15:29:17 +02:00
Emil Gydesen
8c4908b3f2 Bluetooth: ASCS: Add support for long read
Increase the size of the ase_buf to support
the maximum size of the Codec Configuration
and Metadata.

The ase_buf is not also guarded by a semaphore, so no
more than one thread will use it at any time. This is
needed as ase_status_changed can be called from multiple
threads.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-05-12 15:29:17 +02:00
Emil Gydesen
2fedefa237 tests: Bluetooth: Audio: Add long metadata for unicast test
Add a 128-octet long metadata for the capabilities to
test the long read functionality.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-05-12 15:29:17 +02:00
Emil Gydesen
572055e205 Bluetooth: Audio: Add long read support to BAP unicast client
Add support for long read by adding a read_buf and store
the data when long data is being read.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-05-12 15:29:17 +02:00
Emil Gydesen
892819ede8 Bluetooth: Audio: ASCS ASE discover by UUID added
Instead of using the read by UUID, we do a "proper"
discover by UUID. The reason for this is that read by
UUID is not mandatory in the BAP specs.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-05-12 15:29:17 +02:00
Emil Gydesen
be781b2a56 Bluetooth: Audio: PACS context discover by UUID added
Instead of using the read by UUID, we do a "proper"
discover by UUID. The reason for this is that read by
UUID is not mandatory in the BAP specs.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-05-12 15:29:17 +02:00
Emil Gydesen
ec1b2a1844 Bluetooth: Audio: PAC discover by UUID added
Instead of using the read by UUID, we do a "proper"
discover by UUID. The reason for this is that read by
UUID is not mandatory in the BAP specs, and that we need
to do a long read on the PAC records anyhow, and that
cannot be done with the read by type/UUID.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-05-12 15:29:17 +02:00
Emil Gydesen
ba19bf3d96 Bluetooth: Audio: Add unicast_client struct
Add a new struct unicast_client to hold all the conn-specific
data for the Unicast Client implementation.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-05-12 15:29:17 +02:00
Emil Gydesen
3ff3d8db2c Bluetooth: PACS: Set PACS read_buf size to BT_ATT_MAX_ATTRIBUTE_LEN
The maximum size of the characteristic is BT_ATT_MAX_ATTRIBUTE_LEN.
The previous size limited the size of the characteristic to
the maximum possible MTU, thus not utlizing support for the
Read Long procedure.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-05-12 15:29:17 +02:00
Emil Gydesen
3d4622b4d4 Bluetooth: PACS: Fix bad __ASSERT condition
__ASSERT(true will never be triggered.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-05-12 15:29:17 +02:00
Emil Gydesen
5a28d80893 Bluetooth: PACS: Removed unused conn arg from get_pac_records
The `conn` argument was not used.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-05-12 15:29:17 +02:00
Emil Gydesen
98adaf0811 Bluetooth: PACS: Add read_buf_sem
Add a semaphore to guard the read buf. The reason for this
is that the read buf is populated from either the BT RX
thread, or the workqueue thread. The semaphore ensures
that both threads will never have attempted to
add any data to the buffer at the same time.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-05-12 15:29:17 +02:00
Brian Juel Folkmann
07c731f8e3 dts: stm32h5: Add support for adc2
Add support for ADC2 on the stm32h5 devices that supports this

Signed-off-by: Brian Juel Folkmann <bju@trackunit.com>
2023-05-12 15:29:08 +02:00
Filip Kokosinski
093f34927b dts/arm/st: add SoC compatible strings
This commit adds compatible strings to the SoC nodes from the ST family.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2023-05-12 15:29:00 +02:00
Benjamin Cabé
909080a7a5 ci: bump zephyrproject-rtos/action-first-interaction version
Bump to v1.1.1-zephyr-3 version of the first-interaction GH action.
This fixes several issues:
- some contributors being improperly flagged as first-time contributors
- retry/throttling handling to address secondary API rate limit causing
action to sometimes fail
- first time contributor not being notified on their first merged PR

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-05-12 21:52:55 +09:00
Alberto Escolar Piedras
404ffa06bb nrf52_bsim: Add command line option to control re-sync offset
Some users use this simulated board interactively
(even though it is not recomended).
In that case, they may want to perceive a relatively smooth
time flow.
By default the maximum resynchronization offset is set at
1 second.
When running with a simulation speed close to real time,
this results in the simulated board jerking and pausing in
time 1 second at a time when there is no radio activity.
With this new option, users can set a resynchronization
offset of, for ex., 10 ms, which would give the illusion
of time progressing smoothly.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-05-12 14:19:03 +02:00
Daniel Schultz
f18c0b5ba5 boards: arm64: phycore_am62x_a53: Update documentation
The latest Yocto release, PD23.1.0, has the CACHE_CMD included.
Therefore, the default image can be used to boot Zephyr.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
2023-05-12 14:18:53 +02:00
Declan Snyder
0dafeed054 drivers: i2s_mcux_flexcomm: Fix instance macro
Driver init should be using instance based macros,
not nodelabels numbering, there is no guarantee
about which nodes will be assigned which instance numbers.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-05-12 06:21:13 -05:00
Erik Brockhoff
ccb449ba55 Bluetooth: test: removing nrf51dk_nrf51422 from init test target list
Due to increase in image size the target nrf51dk_nrf51422 no longer
supports this test.

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
2023-05-12 12:53:16 +02:00
Erik Brockhoff
3daa01c191 Bluetooth: test: adding bsim basic conn test of multiple re-connects
Adding a test that confirms ability to perform 20 (re)connections
between simple peripheral and central

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
2023-05-12 12:53:16 +02:00
Erik Brockhoff
5582c009a4 Bluetooth: test: fixing callback declaration in basic conn bsim test
Using the macro for declaring the callback struct does not make
sense in this construct, where test_connect1/2 are compiled into one
image and specific test functionality is selected via test ID

This reverts change made by #8e1682d which is incorrect for the cases
where the compile happens to include more than one declaration of the
callback struct.

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
2023-05-12 12:53:16 +02:00
Erik Brockhoff
5ca6724664 Bluetooth: controller: adding release of rx/tx nodes retained in LLCP
On connection clean-up release nodes held by LLCP. These are released
in two steps, first on LLCP terminate (in local/remote) by moving
to rx/tx_node_release chains, and then on conn_cleanup_finalize
nodes are released back to appropriate mem-pool/queue.
Rename abort functions to refer to terminate.

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
2023-05-12 12:53:16 +02:00
Erik Brockhoff
eece00e4b0 Bluetooth: controller: updating TX node pre-alloc store mechanism
Instead of using the node ref used for TX ack for storing a TX node
pre-allocated in case of NTF RX node availability delay, introduce a
separate store to TX node. This to avoid misunderstanding on clean-up
in terminate flow.

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
2023-05-12 12:53:16 +02:00
Erik Brockhoff
a53d89450a Bluetooth: controller: fixing CIS establish flow for refactored LLCP
Latest modification to LLCP removed 'monitoring' of cis->established
flag in LLCP, relying instead on signal through ULL.

For this to work properly the signal must also be generated, so this is
introduced. Note - checking of cis->established flag could be removed
if caller ensures only calling once (on establish condition)

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
2023-05-12 12:53:16 +02:00
Erik Brockhoff
998512f59b Bluetooth: controller: use RX node piggy-back for NTF when possible
When possible re-use the already allocated RX node for notifications.
Store (retain) RX node and Link element on RX if NTF could occur.
Pass link element to LLCP (ull_cp_rx()) together with RX node.
New RX node type RETAIN introduced to signal retention

When no RX node is available allocate one and hold off TX on procedures
until such time that a node is available for NTF.

In case waiting for NTF buffer avail is needed, allocate and store TX
node to use for TX once NTF becomes available.

CIS Established (incl. timeout handling) is now handled entirely as a
specific event driven by ull_conn_iso - ie removal of procedure check
of cis->established and cis->expire, as this is doubling mechanism
in the conn_iso context.

Unit test and helpers updated to handle new node type.
Function ull_cp_release_ntf() was used only in unit test, so moved to
helper context.
Updating release_ntf to handle the fact that with piggy-backing in test
context the node used for NTF can be from two different memory pools

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
2023-05-12 12:53:16 +02:00