The purpose of this change is to allow to enable more than one
backend at once by removing choice from ipc-service backend Kconfig
and depending backend Kconfig option on existing of correct compatible.
Overwriting IPC_SERVICE_BACKEND option in some places is removes
as no longer needed.
Signed-off-by: Emil Obalski <emil.obalski@nordicsemi.no>
The unicast client takes a reference to the ACL, but did
not return the reference when the ACL disconnected, but
rather just reset everything.
Modified to detach the stream, ensuring
a bt_conn_unref on ACL disconnect.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
f4df23c9 added dependency on ASSERT to some options prefixed
with ASSERT_ assuming that they are no used elsewhere. Turned
out that there are subsystem specific assert macros (e.g. BT_ASSERT)
which relies on those options. Removing the dependency.
Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
Ports the SOF DesignWare DMA code to Zephyr.
Effectively replaces much of what was the designware driver as this
driver enables scatter gather which the older driver did not.
* Enables cyclic transfer description lists when the cyclic config
param is given.
* Enables linear link position usage with cAVS GPDMA.
* Passes suspend/resume, scatter/gather tests.
* Provides status updates of the transfer through dma_get_status()
* Enables reloading a cyclic transfer with dma_reload()
* Enables dma handshakes using the dma_slot config param.
* cAVS specifics remain in the dma_cavs_gpdma driver.
Co-authored-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
Co-authored-by: Tom Burdick <thomas.burdick@intel.com>
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Adds to the dma_status struct the number of free bytes available
in the current transfer buffer.
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
Adds a bit flag config option for cyclic transfer lists, where the
transfer list tail may link to its head creating a never ending
loop of transfer descriptors.
DesignWare DMA supports such cyclic transfers.
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
Fix all syscon dt bindings clock constants to avoid any overlap, to
prevent case statement in mcux syscon clock driver from failing to
build.
Fixes#44216
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
SMP support might not work if esp_mp.c initialization code
is placed in ROM area. This fix that scenario.
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
Don't use the old gpio_dev spi_cs_control's member
since it's been deprecated in favor of gpio_dt_spec.
Signed-off-by: Bartosz Bilas <bartosz.bilas@hotmail.com>
When the application requests `CONFIG_FLASH`, then automatically
enable the flash driver using `CONFIG_SPI_NOR`.
Signed-off-by: Casper Meijn <casper@meijn.net>
Considering that in most scenarios, bt_rand will not be called
frequently, but the current implementation of tinycrypt will
occupy more than 300 bytes of RAM space. Its existence is to
optimize the frequent call of bt_rand.
Therefore, it is considered to put it into a config
(`BT_HOST_CRYPTO_RANDOM`), when this config has been selected,
will use tinycrypt library for random. Otherwise will call bt random
hci command.
Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
Since Zephyr SDK is now supported on all major operating systems, there
is no need to restrict it to "on Linux."
This commit also removes an endorsement of the GNU Arm Embedded
toolchain because there is no need to recommend and/or use it anymore
for the aforementioned reason.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit adds the Linux, macOS and Windows instructions for
installing the new multi-platform Zephyr SDK.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit adds the instruction for installing the `wget` application
for macOS and Windows hosts, such that it is available on all three
host platforms when the Getting Started Guide is followed.
The rationale behind this is as follows:
* The Zephyr documentations, including the Getting Started Guide,
makes extensive use of the wget command.
* wget is a purpose-made tool for get/download requests and is more
user-friendly than curl for the purpose of downloading files.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
The commit add checks whether frame received from BT transport
will really fit into allocated net_buf form mcumgr.
Fixes: #44271
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Only cAVS15 is different in terms of definitions, so the ifdef logic can
be simplified quite a bit. Also reorder some of the definitions to
improve readability. No functional change.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
NSEC_PER_SEC is an unsigned integer macro. Thus, -NSEC_PER_SEC will be
treated as unsigned integer as well which lead to calculation error on
64bits integer variables. Added the correct type casting into the formula
to fix the calculation error.
Signed-off-by: Kweh Hock Leong <hock.leong.kweh@intel.com>
Fix TF-M nonsecure interface dispatch handling when calling secure
service before the kernel is fully active.
This fixes crash in nordicsemi_nrf53_init, which is called with
PRE_KERNEL_1, when calling soc_secure_gpio_pin_mcu_select.
Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
A user previously reported that `qsort_r()` did not have test
coverage. Prior to 845a200c1b
`qsort()` was actually just calling `qsort_r()` inline.
There is still virtually no difference between the two
sorting routines, but it would be good to add coverage.
Relates-to #44218
Signed-off-by: Christopher Friedt <chrisfriedt@gmail.com>
Truncate strings being notified to fit the ATT_MTU, to prevent
notifications from not being delivered due to being too long.
For now uses the minimum ATT_MTU, as the MCS does not yet track
connections.
Signed-off-by: Asbjørn Sæbø <asbjorn.sabo@nordicsemi.no>
Adds a scatter gather test against memory to memory transfers. Initially
excludes all platforms as they are all failing.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Enabled the Shared Memory Reset feature for nRF5340 Application Core
when the RPMsg backend for IPC Service is enabled.
Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
Added a code for initializing shared memory to zero. This operation
normalizes the memory state so that the IPC service is no longer
prone to reading status bits from the previous reset session.
Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
Instead of having one single WQ per backend, move to one WQ per
instance instead and add a new "zephyr,priority" property in the DT to
set the WQ priority of the instance. Fix the sample as well.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Allocating a buffer to hold the entire directory listing consumes a very
large sum of memory when a large number of OTS objects are supported.
This implementation minimizes the memory footprint of the directory
listing by only allocating the minimum necessary buffer size to allow
for efficient over the air transfer. The contents of the transferred
buffer are built incrementally and upon request.
The directory listing manipulation upon object creation and deletion can
be removed since the directory listing content is never constructed
until it is requested.
Signed-off-by: Abe Kohandel <abe.kohandel@gmail.com>
Add the telephone bearer service server implementation.
This support multiple service instances as well as the
generic telephone bearer service, but is still a work in
progress and should be treated as such.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Fixup a command where dnf should be invoked with sudo.
If this command is ran without sudo, dnf will return:
`Error: This command has to be run with superuser
privileges (under the root user on most systems).`
Signed-off-by: Wilfred Mallawa <thulith.mallawa@uqconnect.edu.au>
To identify the flash partition id, the macro DT_FIXED_PARTITION_ID()
was used previously.
Now the macro FLASH_AREA_ID() is used. This also supports the usecase
when a different flash map implementation is used that redefines the
macros in include/storage/flash_map.h, e.g. the nordic partition
manager.
Signed-off-by: Christian Taedcke <christian.taedcke@lemonbeat.com>