Added helper functions to set and get assisted listening
stream values for codec capabilities and codec configs.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Add generic functions that will be common to all TCPCI compliant
drivers like registers reading, writing and updating.
Signed-off-by: Michał Barnaś <barnas@google.com>
Add header file with registers and fields definitions compliant
to the Type-C Port Controller Interface Specification
Revision 2.0, Version 1.3.
Signed-off-by: Michał Barnaś <barnas@google.com>
The QoS preference defined by ASCS has some specified
limits and values that we should enforce.
Given the current API we cannot return an error to the
unicast server if it supplies invalid values, so we have
to resort to a LOG_ERR.
For the unicast client we treat invalid QoS preferences
similar to other invalid data in the notifications.
This also adds additional documentation in the
bt_audio_codec_qos_pref struct.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
In the case that a broadcast sync fails for any reason, we need to
set the BIS_Sync value for all subgroups to 0xFFFFFFFF
(BT_BAP_BIS_SYNC_FAILED) as per the BAP spec.
This commit adds a new define for this and modifies
both the scan delegator and broadcast sink to support this.
The change is validated by a modification to the broadcast
assistant test that verifies that the value is set in the
case of an invalid broadcast code (which indicates a
failed BIG sync).
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Up until now, the `__thread` keyword has been used for declaring
variables as Thread local storage. However, `__thread` is a GNU
specific keyword which thus limits compatibility with other
toolchains (for instance IAR).
This PR intoduces a new macro `Z_THREAD_LOCAL` which expands to the
corresponding C11, C23 or C++11 standard keyword based on the standard
that is specified during compilation, else it uses the old `__thread`
keyword.
Signed-off-by: Daniel Flodin <daniel.flodin@iar.com>
Changed the scan option type from uint32_t to
uint8_t.
There are 2 reasons for this:
1) This reduces the size of the struct bt_le_scan_param.
Since we are now storing two copies of scan parameters
statically in the host, this is not insignficant.
2) This fixes a "hole" in the struct. There are no longer
3 empty octets between the `type` and the `options`, which
caused valgrind warnings when using `memcpy` and `memcmp`
of the struct.
Currently we only need 8 bits for the options available.
If additional options are added later, the field need
to be increased. For the above reasons some additional
refactoring my be required to avoid significant size
increases and the valgrind issue.
Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
Introduce GPIO-based driver for MIPI DBI class that allows MIPI DBI
type A and B displays to be used on general platforms.
Since each data pin GPIO can be selected individually, the bus pins are
set in a loop, which has a significant negative impact on performance.
When using 8-bit mode and all the data GPIO pins are on the same port,
a look-up table is generated to set the whole port at once as a
performance optimization. This creates a ROM overhead of about 1 kiB.
Tested 8-bit 8080 mode with ILI9486 display on nRF52840-DK board.
Signed-off-by: Stefan Gloor <code@stefan-gloor.ch>
The MIPI DBI API supports MIPI DBI controllers type A, B, and C
(except with 16 write clocks). Update the documentation accordingly.
Signed-off-by: Stefan Gloor <code@stefan-gloor.ch>
For code clarity, remove unnecessary `return` statements
in functions with a void return type they don't affect control flow.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Adds HCI support for:
- LE CS Read Remote Supported Capabilities
- LE CS Read Remote FAE Table
Callbacks have been added to the conn object to allow upper layers to
make use of the cache commands, with which it will be possible to store
this information and provide it again in the case of a disconnect
and reconnect to the same device.
Signed-off-by: Olivier Lesage <olivier.lesage@nordicsemi.no>
Rather than testing each bit until the lowest set bit is found, we can
massage the input parameter to easily clear all bits except the lowest
set bit. When only one bit is set, both find_lsb_set() and find_msb_set()
return the same value.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
For code clarity, this commit adjusts the use of `return` statements
in functions with a void return type as follows:
- Transform `return foo();` into separate statements:
`foo();`
`return;`
- Remove unnecessary `return` statements when
they don't affect control flow.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
Add the function, i3c_device_is_controller_capable, to determine if
a target is controller capable.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
The dev argument was missing for the doxygen for the function
i3c_bus_deftgts. Add a comment for it.
Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
Do not use SYS_INIT for initializing irq_offload when enabled, instead
using a new interface that is called during the boot process for all
architectures.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Add a new call for initializing cache on architectures that need that.
Avoid using SYS_INIT for this and instead call the hook in a fixed place
and run if implemented.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
All kscan drivers have been moved over to input, Mark the kscan driver
class as deprecated so it can be removed in the 4.2 release.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Adds an optional hook that allows for appending additional
responses to the bootloader info command
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Fix warnings caught by running west build. Another fix will have to go
in to see why twister was missing these.
#78348
Signed-off-by: Yuval Peress <peress@google.com>
Removed deprecated native_posix as test platform.
Added unique sim_ids for tests with the psa as a overlay.
Fixed clang-format issues.
Signed-off-by: Ingar Kulbrandstad <ingar.kulbrandstad@nordicsemi.no>
Adds subnet bridging functionality to the network layer.
Also fixes brg_cfg_srv for minor issues to get it working.
Signed-off-by: Omkar Kulkarni <omkar.kulkarni@nordicsemi.no>
Implements the Bridge Configuration Client model.
Adds opcodes for all Bridge messages to `foundation.h`. Adds client-side
support for these messages.
Adds a new Kconfig option for the Bridge Configuration Client model to
configure the waiting time for respones for acked messages.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
Change the parameters of the bridge table add function to take an
entry struct rather than the fields of an entry.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
Changes status type to be status codes defined in Mesh Protocol 4.3.14
as defined for the `BRIDGING_TABLE_STATUS` message.
Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
Adding documentation and function calles for the API's
in Bridge Configuration Client model and Bridge
Configuration Server model.
Signed-off-by: Ingar Kulbrandstad <ingar.kulbrandstad@nordicsemi.no>
Add macro for encoding MCO bit values into the CFGR register
of RCC. Add macros for decoding and extracting the different fields.
Signed-off-by: Joakim Andersson <joerchan@gmail.com>
Add MCO select and prescaler macros to set bits in the RCC CFGRx
register.
The set of supported boards are chosen to replace what is currently
supported in Kconfig.
Signed-off-by: Joakim Andersson <joerchan@gmail.com>
Add clock sources that can be output by the MCO on the stm32f1x and
stm32f10 connectivity line devices.
Signed-off-by: Joakim Andersson <joerchan@gmail.com>
Extracted common SPI RTIO operations from the spi_mcux_lpspi driver
into spi_rtio, which should be common across RTIO drivers.
Tested with spi_loopback with and without CONFIG_SPI_RTIO. Ran on
mimxrt1010_evk.
Also, verified the other SPI RTIO driver (spi_sam) is not broken by
these changes (tested building for target: robokit1 with the same
conditions as above).
Signed-off-by: Luis Ubieda <luisf@croxel.com>
Picolibc's sys/_timeval.h (which Zephyr shouldn't be using) needs
sys/types.h to be included first so that __suseconds_t is defined.
Signed-off-by: Keith Packard <keithp@keithp.com>
struct itimerspec is only required to be available when building with
_POSIX_C_SOURCE defined. Applications including posix/time.h without
defining _POSIX_C_SOURCE will need to have a forward declaration of struct
itimerspec even if they don't use the functions requiring that type.
Signed-off-by: Keith Packard <keithp@keithp.com>
When _POSIX_C_SOURCE is defined by a source file, a POSIX-conforming C
library will define TZNAME_MAX in limits.h. Avoid redefining this
in Zephyr's posix_features.h.
Signed-off-by: Keith Packard <keithp@keithp.com>
picolibc sets _CLOCKID_T_DECLARED and _TIMER_T_DECLARED, not
__clockid_t_defined and __timer_t_defined.
Signed-off-by: Keith Packard <keithp@keithp.com>