Commit graph

71162 commits

Author SHA1 Message Date
Florian Grandel f1e9dd2930 drivers: ieee802154: properly announce promisc mode
Most IEEE 802.15.4 drivers do not support promiscuous mode, some do.
There is a dedicated L2 flag to signal this capability to clients.

Unfortunately the IEEE 802.15.4 L2 stack does not announce this flag
even for drivers that correctly expose it in their HW capabilities.
Some clients (notably the OpenThread L2) even uses promiscuous mode
without checking whether the driver actually supports it.

This change lets the vanilla IEEE 802.15.4 L2 check the driver's
HW capabilities to announce promiscuous mode on its 'get_flags()'
interface if supported.

The OpenThread L2 uses a constant (potentially incorrect) response
to 'get_flags()'. Fixing the OpenThread L2 is out of scope of this
change. This change just introduces TODO messages to the OpenThread code
so that the OpenThread team may fix the issue (or delete the TODO if they
deem it irrelevant).

Fixes: #51263

Signed-off-by: Florian Grandel <jerico.dev@gmail.com>
2022-10-17 16:54:37 +02:00
Florian Grandel 62ed153a86 drivers: ieee802154: don't allocate rx pkt from tx pool
Several IEEE 802154 drivers allocated RX packets from the TX pool.

This may seem like a minor problem at first sight but it may become
problematic if the pool is used to distinguish package types as is the
case in some code paths, e.g. for packet priority or determination of
the packet buffer pool.

This bug also has the potential of starving the TX pool capacity which
even may make devices vulnerable to DoS attacks as sending may be
prohibited by addressing enough RX packets to a device to let it run out
of TX capacity.

Fixes: #51261

Signed-off-by: Florian Grandel <jerico.dev@gmail.com>
2022-10-17 16:54:37 +02:00
Florian Grandel 5bc6b157f1 net: fix minor typos
This change just fixes some insignificant typos.

Signed-off-by: Florian Grandel <jerico.dev@gmail.com>
2022-10-17 16:54:37 +02:00
Gerard Marull-Paretas 178bdc4afc include: add missing zephyr/irq.h include
Change automated searching for files using "IRQ_CONNECT()" API not
including <zephyr/irq.h>.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-10-17 22:57:39 +09:00
Gerard Marull-Paretas c109491f1a device: restore init_res bit field
After b5f3cf8006 some platforms
(qemu_riscv32_xip) are not able to boot. Re-introduce the bit field for
init_res, using `unsigned int` (valids are signed/unsigned int, and
bool).

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-10-17 15:12:16 +02:00
Emil Obalski 2230857a44 samples: ipc: icmsg: Add usage of endpoint deregister
Expand the sample to show deregister functionality
for IPC service with icmsg backend.

Signed-off-by: Emil Obalski <Emil.Obalski@nordicsemi.no>
2022-10-17 14:49:42 +02:00
Emil Obalski e25ca9f757 samples: ipc: icsmg: Clean up the sample
Make the sample exchange the data between cores
for predefined time. Clean up logging messages
and do not print transfer speed on each side.

This sample is now used to demonstrate functionalities
of ipc service with icmsg backend.

Signed-off-by: Emil Obalski <Emil.Obalski@nordicsemi.no>
2022-10-17 14:49:42 +02:00
Emil Obalski 45f0fb1970 ipc: Add deregister API support for icmsg backend
Add support for deregister_endpoint IPC service API
in icmsg backend.

Signed-off-by: Emil Obalski <Emil.Obalski@nordicsemi.no>
2022-10-17 14:49:42 +02:00
Pavel Vasilyev 93e6f73d62 Bluetooth: Mesh: Change linkage for ctx_shell and default_key in shell
Change linkage for ctx_shell and default_key in shell.c to external to
share their usage in other places.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2022-10-17 14:39:58 +02:00
Pavel Vasilyev 73c5568b5c Bluetooth: Mesh: Remove _cli postfix from models shell files
This commits renames `health_cli.c` and `cfg_cli.c` under `mesh/shell`
folder to `health.c` and `cfg.c` accordingly. This is to create a
generic pattern for the future, when not only clients, but server models
will also expose some API through shell commands. This means that server
models' shell commands should be located in the same file as client
commands to avoid cluttering `mesh models` subcommand.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2022-10-17 14:39:58 +02:00
Pavel Vasilyev f93ab2769c Bluetooth: Mesh: Add macro for instance set/get-all mesh shell cmds
This code is a boulerplate that will be needed for many models in mesh
shell module. This commit adds a special macro designed to improve
readability of the code and helps to avoid potential bugs when
copy-pasting identical code.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2022-10-17 14:39:58 +02:00
Pavel Vasilyev 8e5ff49118 Bluetooth: Mesh: Make mesh features pluggable in shell
Not all shell commands may be needed for an end application even if a
certain feature is enabled. In that case they will just occupy flash
space without being used. This commit adds a separate Kconfig for each
feature to make possible to selectively disable some mesh shell commands.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2022-10-17 14:39:58 +02:00
Pavel Vasilyev 559e526708 Bluetooth: Mesh: Add options to disable health and cfg clients shell
Add Kconfig options to be able to disable Health and Config Client
models shell commands.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2022-10-17 14:39:58 +02:00
Pavel Vasilyev f9c4872ce4 Bluetooth: Mesh: Move mesh shell Kconfig options to a separate file
Move mesh shell related options to a new file to avoid cluttering of
the main Bluetooth Mesh Kconfig file when extending it with new options.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2022-10-17 14:39:58 +02:00
Francois Ramu f37ebf48ec include: add missing kernel.h for lorawan subsys
Header lora.h and lorawan.c files make use of types defined
in kernel.h without including it.
The types.h is no more relevant with inclusion of kernel.h
Explicitely including <stdint.h>, even if the kernel.h includes
the stdint.h, this is an implementation detail. "If Kernel
decides one day to drop usage of stdint.h (unlikely),
lora.h users be in trouble."

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-10-17 18:10:10 +09:00
Krzysztof Chruscinski 7e71bb7089 samples: subsys: logging: Add multidomain logging sample
Add sample which demonstrates multidomain logging.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-10-17 10:16:53 +02:00
Krzysztof Chruscinski 72306f095d soc: arm: nordic_nrf: nrf53: Add default logging domain name
Add default log domain name for net core.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-10-17 10:16:53 +02:00
Krzysztof Chruscinski 042e233284 tests: logging: Add test for processing order with links
Added test which validates that messages are processed in
expected order. Order depends on link configuration. If link
is using dedicated mpsc_pbuf then processing order is
based on timestamp. When single mpsc_pbuf is used then order
is derived from message arrival order.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-10-17 10:16:53 +02:00
Krzysztof Chruscinski 2f12445e2b tests: logging: Add test for log_link
Added test for log_links which are used in multidomain logging.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-10-17 10:16:53 +02:00
Krzysztof Chruscinski 5cdbd95875 doc: reference: logging: Add multidomain section
Add documentation for multidomain logging.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
Signed-off-by: Francesco Domenico Servidio <francesco.servidio@nordicsemi.no>
2022-10-17 10:16:53 +02:00
Krzysztof Chruscinski af573dbffb logging: Add ipc_service log link
Added link that sends messages over ipc_service. It uses
log_link_remote and will talk to log_backend_ipc_service based
on log_link_backend.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-10-17 10:16:53 +02:00
Krzysztof Chruscinski b01867812e logging: Add ipc_service log backend
Added backend that sends messages over ipc_service. It uses
log_backend_remote and will talk to log_link_ipc_service based
on log_link_remote.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-10-17 10:16:53 +02:00
Krzysztof Chruscinski 6c785b5677 logging: Add remote link and backend
Added implementation of link and backend that are intended to
complement each other. Both requires transport function hooks
to be provided.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-10-17 10:16:53 +02:00
Krzysztof Chruscinski 050378ab39 logging: log_output: Adapt to multidomain support
Add support to multidomain case where source field contains
ID and not address of the source structure.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-10-17 10:16:53 +02:00
Krzysztof Chruscinski e322447109 logging: Initial multidomain support
Adding multidomain support by introducing log_link module which
acts as a receiver of log messages created by another domain.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-10-17 10:16:53 +02:00
Krzysztof Chruscinski 7fb54e221b tests: logging: Add test for log_cache
Test suite for log_cache module.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-10-17 10:16:53 +02:00
Krzysztof Chruscinski 1b3a12ce8e logging: Add log_cache module for caching remote names
log_cache is capable of storing fixed length byte arrays
identified by a generic ID. If entry identified by given ID
is not found in cache, the least recently used entry is evicted
from cache.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-10-17 10:16:53 +02:00
Krzysztof Chruscinski 54a64edb0e tests: logging: log_stack: Adjust thresholds
Adjust threshold for failing tests.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-10-17 10:16:53 +02:00
Maureen Helm 4daf67f594 dts: bindings: Migrate Winsen sensors to inherit base sensor properties
Migrates all Winsen sensors to inherit base sensor device properties.
This will allow us to define properties shared by multiple sensors in
one place.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-10-17 10:15:13 +02:00
Maureen Helm f4044aeea5 dts: bindings: Migrate WE sensors to inherit base sensor properties
Migrates all WE sensors to inherit base sensor device properties. This
will allow us to define properties shared by multiple sensors in one
place.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-10-17 10:15:13 +02:00
Maureen Helm 225b5c2def dts: bindings: Migrate Vishay sensors to inherit base sensor properties
Migrates all Vishay sensors to inherit base sensor device properties.
This will allow us to define properties shared by multiple sensors in
one place.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-10-17 10:15:13 +02:00
Maureen Helm 3a89c3adec dts: bindings: Migrate TI sensors to inherit base sensor properties
Migrates all TI sensors to inherit base sensor device properties. This
will allow us to define properties shared by multiple sensors in one
place.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-10-17 10:15:13 +02:00
Maureen Helm fd26b53fdc dts: bindings: Migrate ST sensors to inherit base sensor properties
Migrates all ST sensors to inherit base sensor device properties. This
will allow us to define properties shared by multiple sensors in one
place.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-10-17 10:15:13 +02:00
Maureen Helm c1b1bb84a3 dts: bindings: Migrate Silabs sensors to inherit base sensor properties
Migrates all Silabs sensors to inherit base sensor device properties.
This will allow us to define properties shared by multiple sensors in
one place.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-10-17 10:15:13 +02:00
Maureen Helm e39a200eb1 dts: bindings: Migrate Sensirion sensors to inherit base sensor props
Migrates all Sensirion sensors to inherit base sensor device properties.
This will allow us to define properties shared by multiple sensors in
one place.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-10-17 10:15:13 +02:00
Maureen Helm ddaf0d6502 dts: bindings: Migrate Semtech sensors to inherit base sensor properties
Migrates all Semtech sensors to inherit base sensor device properties.
This will allow us to define properties shared by multiple sensors in
one place.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-10-17 10:15:13 +02:00
Maureen Helm 36945aaf4d dts: bindings: Migrate Seeed sensors to inherit base sensor properties
Migrates all Seeed sensors to inherit base sensor device properties.
This will allow us to define properties shared by multiple sensors in
one place.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-10-17 10:15:13 +02:00
Maureen Helm 653d0f56fe dts: bindings: Migrate SBS sensors to inherit base sensor properties
Migrates all SBS sensors to inherit base sensor device properties. This
will allow us to define properties shared by multiple sensors in one
place.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-10-17 10:15:13 +02:00
Maureen Helm 7fd34d4591 dts: bindings: Migrate Plantower sensors to inherit base sensor props
Migrates all Plantower sensors to inherit base sensor device properties.
This will allow us to define properties shared by multiple sensors in
one place.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-10-17 10:15:13 +02:00
Maureen Helm e768c4cfff dts: bindings: Migrate Panasonic sensors to inherit base sensor props
Migrates all Panasonic sensors to inherit base sensor device properties.
This will allow us to define properties shared by multiple sensors in
one place.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-10-17 10:15:13 +02:00
Maureen Helm 286dc70b14 dts: bindings: Migrate NXP sensors to inherit base sensor properties
Migrates all NXP sensors to inherit base sensor device properties. This
will allow us to define properties shared by multiple sensors in one
place.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-10-17 10:15:13 +02:00
Maureen Helm 58515c3818 dts: bindings: Migrate Nuvoton sensors to inherit base sensor properties
Migrates all Nuvoton sensors to inherit base sensor device properties.
This will allow us to define properties shared by multiple sensors in
one place.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-10-17 10:15:13 +02:00
Maureen Helm d2373eb93d dts: bindings: Migrate Nordic sensors to inherit base sensor properties
Migrates all Nordic sensors to inherit base sensor device properties.
This will allow us to define properties shared by multiple sensors in
one place.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-10-17 10:15:13 +02:00
Maureen Helm c5dd5864aa dts: bindings: Migrate Microchip sensors to inherit base sensor props
Migrates all Microchip sensors to inherit base sensor device properties.
This will allow us to define properties shared by multiple sensors in
one place.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-10-17 10:15:13 +02:00
Maureen Helm 1c36b2555c dts: bindings: Migrate MEAS sensors to inherit base sensor properties
Migrates all Measurement Specialties sensors to inherit base sensor
device properties. This will allow us to define properties shared by
multiple sensors in one place.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-10-17 10:15:13 +02:00
Maureen Helm 61f4c52380 dts: bindings: Migrate Maxim sensors to inherit base sensor properties
Migrates all Maxim sensors to inherit base sensor device properties.
This will allow us to define properties shared by multiple sensors in
one place.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-10-17 10:15:13 +02:00
Maureen Helm 86cbe5dee6 dts: bindings: Migrate LM sensors to inherit base sensor properties
Migrates all LM sensors to inherit base sensor device properties. This
will allow us to define properties shared by multiple sensors in one
place.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-10-17 10:15:13 +02:00
Maureen Helm 45ffc2397a dts: bindings: Migrate ITE sensors to inherit base sensor properties
Migrates all ITE sensors to inherit base sensor device properties. This
will allow us to define properties shared by multiple sensors in one
place.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-10-17 10:15:13 +02:00
Maureen Helm f6940b8c8b dts: bindings: Migrate Intersil sensors to inherit base sensor props
Migrates all Intersil sensors to inherit base sensor device properties.
This will allow us to define properties shared by multiple sensors in
one place.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-10-17 10:15:13 +02:00
Maureen Helm b6d6610f57 dts: bindings: Migrate Invensense sensors to inherit base sensor props
Migrates all Invensense sensors to inherit base sensor device
properties. This will allow us to define properties shared by multiple
sensors in one place.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-10-17 10:15:13 +02:00