Commit graph

17,121 commits

Author SHA1 Message Date
Goh Shun Jing
9ecfa4decc drivers: serial: uart_altera: add driver
Add driver for altera avalon uart core.

Signed-off-by: Goh Shun Jing <shun.jing.goh@intel.com>
2023-02-23 09:26:33 +01:00
Henrik Brix Andersen
eb9bbf4490 drivers: can: sja1000: move public header file to public include path
Move the can_sja1000.h header file to the public
include/zephyr/drivers/can/ include path. This allows writing out-of-tree
SJA1000 based driver front-ends.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-02-23 09:00:34 +01:00
Henrik Brix Andersen
36bffb20ae drivers: can: move CAN utility function to public header
Rename the can_utils_filter_match() utility function to
can_frame_matches_filter(), move it to the public
include/zephyr/drivers/can.h header file, and add a missing mismatch for
standard (11-bit) ID frames passing extended (29-bit) filters.

This allows using the utility function in out-of-tree CAN drivers.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-02-23 09:00:12 +01:00
Marcin Niestroj
2b4cbe9e29 kernel: remove init_abort from _static_thread_data
Commit d823f88e3b ("kernel: move _static_thread_data to ROM") intended to
remove init_abort member from `struct _static_thread_data`, but instead it
just removed it from Z_THREAD_INITIALIZER() initializer.

Remove init_abort, which is a leftover.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2023-02-23 08:47:53 +01:00
Peter Mitsis
4ab9be98df canbus: isotp: Fix typo in function descriptions
Fixes the return value descriptions for functions isotp_recv() and
isotp_recv_net() as they mistakenly referred to ISOTP_WAIT_TIMEOUT
instead of ISOTP_RECV_TIMEOUT.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-02-22 15:09:58 -05:00
Chris Friedt
0bda7b30df lib: os: add hashmap support
* Add a flexible Hashmap API
* Add a Separate-Chaining Hashmap Implementation
* Add a Open-Addressing Linear Probe Hashmap Implementation
* Add a C-Wrapper for `std::unordered_map` for benchmarking

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-02-22 19:14:05 +01:00
Chris Friedt
b75df60f0b lib: os: add hash function specification and implementation
Hash functions are necessary for Hashmaps (a.k.a. Hash Tables).

* Create a flexible hash function interface
* Implementation 1. Murmur3
* Implementation 2. djb2
* Kconfig option for system-wide 32-bit hash

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-02-22 19:14:05 +01:00
Chris Friedt
c26fc959e6 sys: util: Power-of-Two utilities
* remove previous `LOG2CEIL()` from `<zephyr/toolchain/common.h>`
  - `LOG2CEIL()` is not used in-tree by any C or C++ source
  - only used are in `.ld` files
  - however, it is built-in to both GNU and LLVM linkers
* sys: util: provide LOG2() and LOG2CEIL() macros
  - calculate `log(x)` and `ceil(log(x))`, respectively
  - both are compile-time `const` / ok for `constexpr`
  - also runtime efficient with `__builtin_clz()`
  - `LOG2()`, `NUMBITS()`, and `IS_POWER_OF_TWO()` macros
    contributed by @JordanYates
  - `LOG2CEIL()` contributed by @oyvindronningstad
* sys: util: provide Next-Highest Power-of-Two macro `NHPOT()`
  - calculate `next = pow(2, ceil(log(x)/log(2)))`
  - leverages `LOG2CEIL()`

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-02-22 19:14:05 +01:00
Seppo Takalo
bf49540a8d net: lwm2m: Add const qualifier to many pointers
Various functions, mostly concerning time-series cache, were not
using const pointer while they still did not modify the content.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2023-02-22 14:26:20 +01:00
Aaron Massey
6cdef0894f drivers: fuel_gauge: kernel drivers use syscalls
The fuel gauge API doesn't make use of syscalls with device drivers, which
is not congruent with Zephyr's security model.

Correct the fuel gauge API to only allow access to fuel gauge device
drivers functionality via syscalls to keep with Zephyr's security model.

Signed-off-by: Aaron Massey <aaronmassey@google.com>
2023-02-22 08:51:55 +01:00
Aaron Massey
7d83bf7d54 drivers: fuel_gauge: Rename API struct
Fuel gauge API struct type is currently named battery_driver_api, this is
inaccurate as the API struct represents functions for interacting with fuel
gauge drivers in particular.

Rename the API struct type to fuel_gauge_driver_api to clearly signal its
functionality.

Signed-off-by: Aaron Massey <aaronmassey@google.com>
2023-02-22 08:51:55 +01:00
Andriy Gelman
8a97da056b drivers: dma: Add infineon xmc4xxx dma support
Adds dma drivers for xmc4xxx SoCs.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2023-02-21 21:15:53 +01:00
Fabio Baltieri
9b30667c77 build: drop LEGACY_INCLUDE_PATH support
LEGACY_INCLUDE_PATH has been defaulting to "n" and marked as deprecated
in both v3.2 and v3.3. Drop the option entirely for v3.4.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-02-21 15:06:48 +01:00
Siyuan Cheng
b475e1fcbf zdsp: add ARC DSPLIB backend for zdsp
Introduce ARC DSPLIB backend zdsp library for ARC target.
Add agu and restrict attributes to map with ARC DSPLIB

Signed-off-by: Siyuan Cheng <siyuanc@synopsys.com>
2023-02-21 15:06:06 +01:00
Siyuan Cheng
a0db069978 zdsp: Introduce attribute marco for third-party backend
Introduce DSP_DATA and DSP_STATIC_DATA attribute marco
to support third-party backend

Signed-off-by: Siyuan Cheng <siyuanc@synopsys.com>
2023-02-21 15:06:06 +01:00
Andrzej Głąbek
22b17e490b arch: arm: aarch32: Introduce z_arm_on_enter_cpu_idle() hook
Introduce an optional hook to be called when the CPU is made idle.
If needed, this hook can be used to prevent the CPU from actually
entering sleep by skipping the WFE/WFI instruction.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2023-02-21 15:03:30 +01:00
Ajay Parida
c69731a281 net: wifi_mgmt: Display TWT setup response status
Display the TWT setup response status.

Signed-off-by: Ajay Parida <ajay.parida@nordicsemi.no>
2023-02-21 10:58:40 +01:00
Emil Gydesen
928e5bbcf0 Bluetooth: Audio: CAP inittiator broadcast stop procedure
Implemented support for stopping and deleting a
CAP broadcast source.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-02-20 13:24:34 +01:00
Emil Gydesen
9d0ec99315 Bluetooth: Audio: CAP initiator broadcast metadata update
Add support for the update metadata for broadcast audio
procedure.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-02-20 13:24:34 +01:00
Emil Gydesen
6f1bb59b26 Bluetooth: Audio: Implement bt_cap_initiator_broadcast_audio_start
Implement the CAP initiator broadcast audio start procedure.

This basically just verifies that the stream context
is set in the metadata, and then calls the BAP
procedure.

We define a new opaque struct, bt_cap_broadcast_source,
that is just an abstraction of the bt_audio_broadcast_source
but is used to indicate that these functions require a
broadcast source created by the CAP function (and not the
BAP) function.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-02-20 13:24:34 +01:00
Maximilian Deubel
408f157e27 net: mgmt: add NET_REQUEST_WIFI_CMD_MAX
This patch adds an end-of-list marker to net_request_wifi_cmd to make it
easier to expand on it.

Signed-off-by: Maximilian Deubel <maximilian.deubel@nordicsemi.no>
2023-02-20 11:30:57 +01:00
Emil Gydesen
333825a97b Bluetooth: Audio: Add BT_AUDIO_BROADCAST_ID_MAX
Add BT_AUDIO_BROADCAST_ID_MAX to denote the maximum value
of the BAP broadcast ID.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-02-20 11:29:44 +01:00
Emil Gydesen
a1c0bddde1 Bluetooth: Audio: Add presentation value macros
Add BT_AUDIO_PD_MAX and BT_AUDIO_PD_PREF_NONE to
better define the value range (and unit) of the
presentation delay.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-02-20 11:29:44 +01:00
Emil Gydesen
fdc26eee78 Bluetooth: Audio: MCS reject long read if value changed
Add support for reject long read if a long value is
changed during the read.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-02-20 11:25:42 +01:00
Emil Gydesen
281d0a3fc8 Bluetooth: Audio: Add media player icon URL changed callback
Add support for notifying MCS a player icon URL change.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-02-20 11:25:42 +01:00
Emil Gydesen
4d595014ab Bluetooth: Audio: Add media player name changed callback
Add support for notifying about a player name change.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-02-20 11:25:42 +01:00
Robert Lubos
8b678e49be net: ipv4: Fix net_ipv4_is_ll_addr function
net_ipv4_is_ll_addr() did not use a proper subnet mask to filter first
two bytes, therefore it could lead to incorrect results. This commit
fixes it.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-02-20 11:19:14 +01:00
Nick Ward
9c4d73d4cf logging: log_ctrl: remove vestige strdup prototypes
The associated functions don't exist.

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-02-20 11:16:31 +01:00
Nicolas Pitre
3c440af975 riscv: pmp: provision for implementations with partial PMP support
Looks like some implementors decided not to implement the full set of
PMP range matching modes. Let's rearrange the code so that any of those
modes can be disabled.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2023-02-20 10:57:11 +01:00
Nicolas Pitre
ea34acb62c riscv: stack PMP: fix CONFIG_MPU_REQUIRES_POWER_OF_TWO_ALIGNMENT=y case
Let's honor CONFIG_MPU_REQUIRES_POWER_OF_TWO_ALIGNMENT even for kernel
stacks. This saves one global PMP slot when creating the guard area for
the IRQ stack, and some hw implementations might require that anyway.

With this changes, arch_mem_domain_max_partitions_get() becomes much
more reliable and tests/kernel/mem_protect is more likely to pass even
with the stack guard enabled.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2023-02-20 10:57:11 +01:00
Alexander Chudov
1fcce98d13 bluetooth: normative 16-bit UUIDs for GATT added
Bluetooth SIG published at
https://www.bluetooth.com/specifications/assigned-numbers/ the Assigned
Numbers Document that contains normative list of 16-bit UUID.
Missing 16-bit UUIDs for GATT Services, GATT Descriptors and GATT
Characteristics added to uuid.h according to the revision 2023-02-13
of the document.

Signed-off-by: Alexander Chudov <chudov@gmail.com>
2023-02-20 10:56:06 +01:00
Andy Sinclair
5f63fff9c2 sys: linear_range: fix return value when window is outside range
linear_range_get_win_index does not behave correctly when the
window of values is above the linear range.  It reports
-ERANGE (partial intersection) instead of -EINVAL.

Extra conditions added for edge cases and tests cases updated.

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-02-20 10:43:26 +01:00
Krzysztof Chruscinski
67a6fe9312 arch: riscv: Add ARG_UNUSED to the unused argument
When compiler is more strict it triggers a warning that
'swap' argument is not used in arch_isr_direct_footer().
Adding ARG_UNUSED.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2023-02-20 09:54:01 +01:00
Krishna T
b136676772 net: lib: zperf: Add support to disable Nagle's algorithm
This helps in benchmarking smaller packets, esp. as this is the default
behaviour of iperf.

Signed-off-by: Krishna T <krishna.t@nordicsemi.no>
2023-02-20 09:53:43 +01:00
Théo Battrel
bb5525a304 Bluetooth: Host: Update parameters doc of crypto.h
In file `include/zephyr/bluetooth/crypto.h` update the documentation for
the parameters related to the Additional Authentificated Data `aad` and
`aad_len` of functions `bt_ccm_decrypt` and `bt_ccm_encrypt`. It was using
the term `Additional input data`, it has been replaced by the term used in
the RFC linked in the functions description, `Additional authenticated
data`.

Signed-off-by: Théo Battrel <theo.battrel@nordicsemi.no>
2023-02-20 09:53:35 +01:00
Jun Qing Zou
cd79b81d4d lib: tftp_client: Add TFTP PUT function
Add tftp_put() API to support TFTP WRITE request.

Signed-off-by: Jun Qing Zou <jun.qing.zou@nordicsemi.no>
2023-02-20 09:50:23 +01:00
Jun Qing Zou
f7b0ccba0c lib: tftp_client: Receive file with arbitrary size
Add a callback for READ request to download files with arbitrary length.
Define TFTP_BLOCK_SIZE in API header for application to allocate buffer.

Signed-off-by: Jun Qing Zou <jun.qing.zou@nordicsemi.no>
2023-02-20 09:50:23 +01:00
Magdalena Kasenberg
5d2fb499af LE Audio: Allow server to initiate Codec Config procedure
Required by ASCS/SR/ACP/BV-07-C PTS test case.

Signed-off-by: Magdalena Kasenberg <magdalena.kasenberg@codecoup.pl>
2023-02-20 09:49:09 +01:00
Radosław Koppel
14a1b2ffec dts: Add _STRING_UNQUOTED string and string-array
This commit adds access to the string values without a quotes.

Signed-off-by: Radosław Koppel <r.koppel@k-el.com>
Co-authored-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
2023-02-20 09:49:00 +01:00
Peter Mitsis
87899c07f7 drivers: mm: Add module for tracking page usage
Adds a module for tracking page usage within a memory bank.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-02-20 09:48:44 +01:00
Ravi Dondaputi
1c547580e4 wifi: shell: Print beacon interval and DTIM period
Print beacon interval and DTIM period as part of Wi-Fi
status output.

Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
2023-02-20 09:46:34 +01:00
Emil Gydesen
e71460cdb8 Bluetooth: Audio: Only allow receiver to send start command
Only the receiver of the audio is allowed to send the
receiver start ready command.

Furthermore, this removes the automated transition to the
streaming state on the server, as the server now shall
call bt_audio_stream_start to put the stream into the
streaming state.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-02-20 09:45:18 +01:00
Emil Gydesen
1ff32085f8 Bluetooth: Audio: Add comment for bt_audio_stream.audio_iso
The bt_audio_stream.audio_iso is something we only use for the
unicast client, and will only be set by the unicast client
operatiosn.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2023-02-19 20:56:44 -05:00
Kumar Gala
5af7ff4558 Bluetooth: Mesh: Cfg_cli: Remove deprecated functions
Remove deprecated functions that have been deprecated for at least
two releases now.

Signed-off-by: Kumar Gala <kumar.gala@intel.com>
2023-02-19 20:48:06 -05:00
Juha Ylinen
fdffdedc41 net: lwm2m: Add event LWM2M_RD_CLIENT_EVENT_REG_UPDATE
New event LWM2M_RD_CLIENT_EVENT_REG_UPDATE to indicate
application that engine starts registration update.

Signed-off-by: Juha Ylinen <juha.ylinen@nordicsemi.no>
2023-02-19 20:44:02 -05:00
Jaska Uimonen
3b7f9c320d drivers: dai: modify dai_config_get API func
Modify dai_config_get function to have the config struct as argument.
This was not a showstopper but a request in the API review.

In the same patch modify all Intel dai drivers using the API to preserve
bisect/compile.

Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com>
2023-02-19 20:43:14 -05:00
Rajavardhan Gundi
09d8123d0a drivers: sbs_gauge: Add support for additional properties
Fuel Gauge mode, status, charge current, charge voltage, design
capacity and design voltage are added.

Signed-off-by: Rajavardhan Gundi <rajavardhan.gundi@intel.com>
2023-02-19 20:42:10 -05:00
Keith Short
db9faa30ce devicetree: Fix DT_FOREACH_PROP_ELEM_SEP example
Change the DT_FOREACH_PROP_ELEM_SEP example documented to use the
correct macro GPIO_DT_SPEC_GET_BY_IDX() instead of
GPIO_DT_SPEC_BY_IDX().

Signed-off-by: Keith Short <keithshort@google.com>
2023-02-08 07:14:47 -08:00
Ryan Erickson
d19e99b6d7 net: DHCPv4: Filter NAK during requesting state
During the requesting state, ignore NAKs from any
non-requesting server.  This gives the requesting
server a chance to ACK the request.

Signed-off-by: Ryan Erickson <ryan.erickson@lairdconnect.com>
2023-02-08 19:05:13 +09:00
Ryan Erickson
6e58ba5dd8 modem: hl7800: Improve set bands API
Change the API to not block waiting for a reboot.
Reboot asynchronously.

Signed-off-by: Ryan Erickson <ryan.erickson@lairdconnect.com>
2023-02-07 00:25:53 -08:00