Commit graph

15409 commits

Author SHA1 Message Date
Henrik Brix Andersen
0c13f3888d dts: bindings: can: remove deprecated properties for initial timing
Remove the deprecated properties for setting the initial timing parameters
of a CAN controller.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-03-01 09:00:49 +01:00
Maochen Wang
eda7dd1460 net: zperf: Fix wrong throughput in long-duration traffic test
The zperf received or sent bytes length and duration are in 32bits,
if running long-duration zperf test more than 20min, the value will
overflow, and the test result is wrong. Change it to 64bits can fix
this issue.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-02-29 11:54:07 +00:00
Tom Burdick
01c5b8d6ac i2c: Last message in transfer implies STOP
The last message in an i2c_transfer msg array implies a STOP. This
documents the expected behavior of the i2c_transfer command a bit more
in that every i2c_transfer() call is expected to leave the bus in a
useful state for the next subsequent call to i2c_transfer().

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-02-29 11:53:12 +00:00
Daniel DeGrasse
3d7b058358 include: mipi_dbi: fix initialization statement for SPI operation field
SPI configuration "operation" field is a bitmask of several
configuration settings for the SPI interface when using SPI controllers
with the MIPI DBI API. The initialization statement for this
configuration structure had a comma after the "duplex" property where a
binary or should be present. correct this issue

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-02-29 11:52:42 +00:00
Christopher Friedt
3593720080 posix: syslog: add support for syslog
This is just a simple wrapper around Zephyr's native log api.

Note: the standard LOG_ERR syslog priority does conflict with
Zephyr's LOG_ERR() macro. This will need to be worked-around on
a case-by-case basis.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-02-29 02:45:01 -05:00
Pieter De Gendt
d9d710e6d3 net: ip: Add iface IPv4/IPv6 multicast foreach handlers
Add helper functions to iterate IPv4/IPv6 multicast addresses.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-02-28 13:18:06 -06:00
Fin Maaß
3be6557078 net: dhcpv4: set sntp ip via option
Adds the option to set the ntp address ip via
dhcpv4 option 42 (Network Time Protocol Servers).

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-02-28 18:03:53 +00:00
Fin Maaß
2140a4af6a net: lib: sntp_simple: add a function to use with ip address
This adds a function to use sntp_simple with a
ip address directly.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-02-28 18:03:53 +00:00
Fin Maaß
78813fa3ad net: ip: add function to set default port
This adds a function, to set the default port
of a sockaddr, if the port had not been set.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-02-28 18:03:53 +00:00
Tomi Fontanilles
c7c4c80fff modem: pipe: add warning to synchronous pipe open/close functions
This might be useful to those not familiar with how they work.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2024-02-28 18:02:17 +00:00
Jukka Rissanen
1df8aaeec2 net: ipv6: Allow user to configure the IPv6 MTU size
This makes it possible to set the minimum IPv6 packet size that
can be sent without fragmentation. The default value is 1280 bytes.
This commit allows user to set the IPv6 MTU value within reasonable
limits [1280, 1500].

Fixes #61587

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-02-28 09:41:53 +01:00
Emil Gydesen
689e3216fc Bluetooth: BAP: Add bt_bap_base_subgroup_get_bis_indexes
Add bt_bap_base_subgroup_get_bis_indexes that gets the BIS indexes
of a subgroup. This work very similar to
bt_bap_base_get_bis_indexes, except that it works for subgroups
rather than BASEs.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-27 14:46:33 +01:00
Herman Berget
9135de7a66 Bluetooth: hci: Add hw variant definitions for nrf54H/L
Assign new numbers for new soc series and update string
conversion function.

Signed-off-by: Herman Berget <herman.berget@nordicsemi.no>
2024-02-27 14:43:07 +01:00
Christopher Friedt
ec27e8875d posix: mutexattr: improvements for pthread_mutexattr_t
Previously, pthread_mutexattr_gettype() and
pthread_mutexattr_settype() were non-conformant and also
less safe, as they would not check whether a pthread_mutexattr_t
had been initialized prior to manipulating them. Furthermore,
they would potentially dereference NULL pointers.

Additionally, move the pthread_mutexattr_init() and
pthread_mutexattr_destroy() functions to the library, and add
some level of checking to them so that they are more than simply
static inline / no-op calls.

Lastly, reduce the size of struct pthread_mutexattr to only
what is necessary (one byte should suffice).

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-02-27 06:11:03 -05:00
Matthias Alleman
4a72cb16cf net: mgmt: Fix for wrong IPV6 DHCP event code
Fix wrong net event base for ipv6 dhcp events

Signed-off-by: Matthias Alleman <matthias.alleman@basalte.be>
2024-02-26 15:13:15 +01:00
Pavel Vasilyev
4c9ee14572 Bluetooth: Mesh: Allow to suspend mesh from bt_mesh_send_cb callbacks
This commit allows to suspend the mesh stack from `bt_mesh_send_cb`
callbacks by removing the deadlock caused by `k_work_flush` in the
extended advertiser.

In case of the extended advertiser there are 2 cases:
- when the `bt_mesh_adv_disable` is called from any of `bt_mesh_send_cb`
  callbacks which are called from the advertiser work item, or
- when it is called from any other context.

When it is called from `bt_mesh_send_cb` callbacks, since these
callbacks are called from the delayable work which is running on the
system workqueue, the advertiser can check the current context and its
work state. If the function is called from the advertiser work, it can
disable the advertising set straight away because all ble host APIs have
already been called in `adv_start` function. Before sending anything
else, the advertiser checks the `instance` value in `adv_start`
function, which is also reset to NULL in `bt_mesh_adv_disable` call, and
aborts all next advertisements. The `ADV_FLAG_SUSPENDING` tells the
advertiser work to abort processing while `bt_mesh_adv_disable` function
didn't finish stopping advertising set. This can happen if the work has
been already scheduled and the schedler ran it while sleeping inside
the `bt_le_ext_adv_stop` or `bt_le_ext_adv_disable` functions.

When `bt_mesh_adv_disable` is called from any other context or from the
system workqueue but not from the advertiser work, then `k_work_flush`
can be called safely as it won't cause any deadlocks.

The `adv_sent` function is inside the `bt_mesh_adv_disable` function to
schedule the advertiser work (`send_pending_adv`) and abort all pending
advertisements that have been already added to the pool.

In case of the legacy advertiser, if the `bt_mesh_adv_disable` is called
form the advertiser thread (this happens when it is called from
`bt_mesh_send_cb.start` or `bt_mesh_send_cb.end` callbacks), then
`k_thread_join` returns `-EDEADLK`. But the `enabled` flag is set to
false and the thread will abort the current advertisement and the
pending advertisements.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-02-26 14:34:58 +01:00
Juha Ylinen
f38ecb7a09 net: lwm2m: Add API to set multiple resource values
Add new API lwm2m_set_bulk() to set multiple resource values in
one function call.

Signed-off-by: Juha Ylinen <juha.ylinen@nordicsemi.no>
2024-02-26 11:53:29 +00:00
Łukasz Duda
6e31820f4c net: ipv6: nbr: Expose API for reporting neighbor reachability
This commit extends Zephyr's networking API to allow higher layers to
report on neighbor reachability.

Signed-off-by: Łukasz Duda <lukasz.duda@nordicsemi.no>
2024-02-26 11:51:42 +00:00
Jukka Rissanen
c1731c7740 net: ipv6: Add function to check private address
Add an utility function to check if the supplied IPv6 address
is one of the possible private IPv6 address range.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-02-26 11:41:55 +00:00
Jukka Rissanen
fce7497269 net: ipv4: Add function to check private address
Add an utility function to check if the supplied IPv4 address
is one of the possible private IPv4 address range.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-02-26 11:41:55 +00:00
Fabio Baltieri
5bb9b129de sys: util: add a sign_extend and sign_extend_64 functions
Add a sign_extend and sign_extend_64 functions, same as the Linux
sign_extend32 and sign_extend64 one. This is useful for sign extending
values smaller than 32 bits.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-02-26 11:41:20 +00:00
Agata Figiel
4302cd1e4d Bluetooth: TMAP: Move role definitions from shell/tmap.c to tmap.h
These role definition are also used in bttester, so it could be globally
available.

Signed-off-by: Agata Figiel <agata.figiel@codecoup.pl>
2024-02-26 11:39:41 +00:00
Gaetan Perrot
cd060f6cd3 posix: Implement fdetach and fattach
`fdetach()` and `fattach()` are required
as part of _XOPEN_STREAMS Option Group.

signed-off-by: Gaetan Perrot <gaetanperrotpro@gmail.com>
2024-02-26 11:36:04 +00:00
Tomi Fontanilles
825b676568 modem: small improvements
Changes include:
- Improving handling of frames for unconfigured DLCIs.
- Adding logs and outputting error codes in failure cases.
- Adding warnings to not reuse buffers.
- Fixing comments.

Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
2024-02-26 11:34:32 +00:00
Ricardo Rivera-Matos
942595879e drivers: charger: Adds CHARGER_PROP_SYSTEM_VOLTAGE_NOTIFICATION_UV
Adds a CHARGER_PROP_SYSTEM_VOLTAGE_NOTIFICATION_UV property to
issue a notification to the system when the system voltage falls.

This system voltage is provided by the charger to the system and can
suddenly dip during peak loads.

Signed-off-by: Ricardo Rivera-Matos <rriveram@opensource.cirrus.com>
2024-02-26 11:33:24 +00:00
Ricardo Rivera-Matos
2f5328fd2b drivers: charger: Adds CHARGER_PROP_DISCHARGE_CURRENT_NOTIFICATION
Adds CHARGER_PROP_DISCHARGE_CURRENT_NOTIFICATION property
to notify the system of a excess battery discharge event.

Signed-off-by: Ricardo Rivera-Matos <rriveram@opensource.cirrus.com>
2024-02-26 11:33:24 +00:00
Ricardo Rivera-Matos
c58dbcd9cc drivers: charger: Corrects typo in property documentation
Corrects expected type mentioned in the documentation of the
CHARGER_PROP_INPUT_CURRENT_NOTIFICATION.

Signed-off-by: Ricardo Rivera-Matos <rriveram@opensource.cirrus.com>
2024-02-26 11:33:24 +00:00
Yonatan Schachter
4ef0e1221d sys/util.h: Add IS_ALIGNED macro
Added IS_ALIGNED macro to check if a pointer is aligned to
a given alignment. Additionally, removed a macro with a
conflicting name in drivers/crypto_intel.

Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
2024-02-26 11:46:30 +01:00
Peter Mitsis
ee9c44fee6 linker: Round TLS sizes up in linker script
Instead of rounding up both __tdata_size and __tbss_size at runtime,
perform the calculation when the image is built.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2024-02-25 22:28:56 -05:00
Emil Gydesen
25416b86e9 Bluetooth: CSIP: remove print_sirk
The print_sirk function that simply logs the SIRK has been removed,
as the SIRK is now directly accessible to the application via the
get_sirk function.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-25 22:28:26 -05:00
Emil Gydesen
41a589c5fa Bluetooth: CSIP: Add support for dynamic SIRKs
Add support for dynamically change the SIRK in a CSIS.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-25 22:28:26 -05:00
Gustavo Silva
3850f4ca64 drivers: sensor: add ScioSense ENS160 driver
Add driver for ScioSense ENS160 multi-gas sensor. The driver includes
support for I2C and SPI, attributes for setting temperature and
humidity compensation and data ready trigger.
Also add ScioSense to the list of vendor prefixes.

Signed-off-by: Gustavo Silva <gustavograzs@gmail.com>
2024-02-25 22:27:22 -05:00
Emil Gydesen
05f9440347 Bluetooth: BAP: use BT_AUDIO_CODEC_QOS_FRAMED for framed presets
The presets used BT_AUDIO_CODEC_QOS directly, but since all the
unframed presets use BT_AUDIO_CODEC_QOS_UNFRAMED, it makes sense
that the framed ones used the corresponding macro.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-25 22:26:57 -05:00
Emil Gydesen
f4d82cedb9 Bluetooth: Audio: Remove the BT_AUDIO_CODEC_LC3_QOS macros
The LC3 framed macros were unused.
The LC3 unframe macros only added the 7500/10000
parameter, but since the the 7500/10000 requirement is also
defined by BAP, it makes equally much sense to simply use the BAP
presets.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-25 22:26:57 -05:00
Emil Gydesen
d78604e690 Bluetooth: Audio: Remove the BT_AUDIO_CODEC_LC3_CONFIG_X_Y
LC3 does not define any such configurations, and they are in
fact defined by the BAP. The LC3 header file should thus not
pretend that there are these specific configurations for LC3.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-25 22:26:57 -05:00
Mahesh Mahadevan
94540a9dee drivers: gpio: Update NXP LPC GPIO driver to enable wakeup
Process the GPIO_INT_WAKEUP flag and set appropraite bits
in the SoC to wakeup the system from deep sleep mode.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-02-25 22:26:00 -05:00
Mahesh Mahadevan
21e9918260 include: gpio: Add GPIO_INT_WAKEUP flag
Add a flag to configure the GPIO pin interrupt as a
wakeup source for the system.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2024-02-25 22:26:00 -05:00
Emil Gydesen
b9360488f7 Bluetooth: CAP: Commander change volume mute procedure
Adds the CAP Commander Change Volume mute procedure.
This procedure changes the volume mute on one or more
CAP Acceptors.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-25 22:25:26 -05:00
Marcin Niestroj
6aedc06982 sys: dlist: remove toolchain.h include
This header file is not used anywhere in the implementation, so drop it.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2024-02-25 20:52:45 -05:00
Jordan Yates
6510bd248a sensing: document missing parameter
Document a missing parameter on the `sensing_data_event_t` typedef.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-02-25 20:48:16 -05:00
Marc Herbert
f91d4731af pm: use braces for .pm_base inside anonymous union initializer
Fixes commit 25173f71cd ("pm: device_runtime: Extend with synchronous
runtime PM")

Fixes compilation with gcc 4.2-based toolchain used by SOF for TGL
generation products. As seen in the error message below, that gcc
version requires braces for initialization of anonymous unions:

```
zephyr/soc/xtensa/intel_adsp/common/mem_window.c:62:
   error: unknown field ‘pm_base’ specified in initializer
   warning: missing braces around initializer
   warning: (near initialization for ‘__device_dts_ord_66.<anonymous>’)
```

This is a well-known and recurring issue, see past example(s) in #68118

As the Zephyr build is deterministic, I could easily verify that this
commit makes zero .obj difference (when using the Zephyr SDK).

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-02-21 16:57:56 +01:00
Najumon B.A
2139479722 lib: acpi: fix for build error when acpi not enabled
fix for acpi.h header file generates invalid C-code when
 CONFIG_ACPI=n

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
2024-02-15 12:28:55 +01:00
Oleksandr Grytsov
f8a74ef60c toolchain: do not use posix C code for asm language in gcc.h
Toolchain headers can be include in assembler files causing compilation
error for posix architecture. The fix involves adding
`!defined(_ASMLANGUAGE)` condition to exclude including posix C code in
this case.

Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
2024-02-14 22:27:11 +01:00
Christopher Friedt
2155a9e5f7 logging: rename log2_generic to log_generic
The log2 prefix was deprecated and changed to log some time ago,
but log2_generic() seems to have been inadvertantly left with
the old prefix.

Rename log2_generic() to log_generic() to follow suit.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-02-14 19:07:30 +01:00
Ping Wang
5ccd75b49b Bluetooth: Audio: define bt_bap_bass_subgroup struct.
The Broadcast Assistant API should be fully independent of the scan
delegator. Therefore the new struct bt_bap_bass_subgroup has been
defined to avoid a dependency.

Fixes: #68338

Signed-off-by: Ping Wang <pinw@demant.com>
2024-02-14 19:04:01 +01:00
Christopher Friedt
5c455aae88 posix: pthread: ensure pthread_exit() has noreturn attribute
The function pthread_exit() does not return. It should be declared
with the noreturn attribute.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2024-02-12 11:11:37 -06:00
Emil Gydesen
3e634268d6 Bluetooth: ISO: Introduce bt_iso_chan_send_ts
The bt_iso_chan_send function could take an optional
timestamp by using 0 as an indicator. The issue with
this approach was that a timestamp value of 0 is valid,
and could cause potential issue with syncing streams
in a group.

To fully support transmitting with and without timestamp,
bt_iso_chan_send_ts has been introduced, which is the only
function of the two (bt_iso_chan_send being the other) that
supports timestamps.

A new function, rather than adding a boolean to the existing,
was chosen as it simplifies the individual functions as well
as making it more explicit what the function does.

Since the bt_iso_chan_send function is used by LE audio, both
the BAP and CAP send functions have similarly been updated.
Likewise, all tests and samples have been updated to use the
updated function(s), and BT_ISO_TIMESTAMP_NONE has been
removed.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-02-12 13:13:10 +01:00
Fin Maaß
3c5172acac mgmt: hawkbit: Add error handling for HTTP requests
This patch adds error handling for HTTP requests in hawkbit

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-02-09 16:33:11 -06:00
Jonathan Rico
f2d6cdfc00 Bluetooth: HCI: Add full opcode to hci_types.h
Mental arithmetic shouldn't be required to analyze logs.

With this, a user can just "grep" the Bluetooth tree for the opcode
reported in an HCI error.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-02-09 16:32:24 -06:00
Kamil Piszczek
129b73ce26 bluetooth: gatt: remove operation infix from authorization callback API
Removed the "operation" infix from the bt_gatt_authorization_cb
callback structure in the Bluetooth GATT header.

Signed-off-by: Kamil Piszczek <Kamil.Piszczek@nordicsemi.no>
2024-02-07 15:36:25 +00:00