Commit graph

85,247 commits

Author SHA1 Message Date
Francois Ramu
5aedd860f5 tests: drivers: adc stm32wb and stm32l5 start on channel1
Start testing adc_api on channel 1
for stm32w55 nucleo and stm32l562 disco boards
since the VREFINT on channel 0

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-09-14 09:30:43 +00:00
Jeremy Bettis
878edeb6ff cmake: Add -gdwarf-4 at link time for gcc
Add a linker option for gcc to force dwarf symbols to be version 4.

Fixes #50106

Signed-off-by: Jeremy Bettis <jbettis@google.com>
2022-09-13 17:05:57 -05:00
Pavel Vasilyev
cf953de484 Bluetooth: Mesh: Check pending_buf in bt_mesh_send_cb in friend.c
When friend entry is cleared by `friend_clear` after an adv buffer has
been sent to that friend in `friend_timeout`, another friend request
coming after this may reuse the same entry. It is possible that
`friend_timeout` will be scheduled twice: once by the friend request
and once by `buf_send_end` of the previously sent buffer.
In that case, the code will assert on line friend.c:1234. It is not
possible to cancel an adv buffer for the friendship that is to be
cleared, therefore, we need to ensure in correctness of the pending_buf
value in start and end callbacks.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2022-09-13 16:26:39 +00:00
Lingao Meng
fcbe88d598 Bluetooth: Mesh: Fix iv recovery unable clear replay list
When local node enter iv recovery procedure, should clear
replay list at first due to avoid possible wrong replay attack.

At present, `bt_mesh_rpl_clear` schedule a timer to clear rpl,
this would cause local node unable precess mesh message(IV Updated).

Also, in `bt_mesh_rpl_pending_store` also not clear rpl, which check
`BT_MESH_VALID` flag, always valid for iv recovery.

So, Add `rpl_clear_pending` work handler process rpl clear.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2022-09-13 16:24:46 +00:00
Henrik Brix Andersen
8a2b26a004 doc: hardware: peripherals: canbus: controller: add start/stop calls
Add calls to can_stop()/can_start() to the CAN controller documentation
code snippet.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-09-13 16:06:50 +00:00
Henrik Brix Andersen
b4af14600a tests: drivers: can: shell: add tests for start/stop shell commands
Add tests for the CAN controller start/stop shell commands.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-09-13 16:06:50 +00:00
Henrik Brix Andersen
6f1ff5ea83 drivers: can: shell: add CAN start/stop shell commands
Add shell commands for starting/stopping a CAN controller.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-09-13 16:06:50 +00:00
Henrik Brix Andersen
6cdb418e5d tests: drivers: can: fd: test returned error codes when started/stopped
Add tests for the required error return codes when the CAN controller is
started/stopped.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-09-13 16:06:50 +00:00
Henrik Brix Andersen
94d37023c6 tests: drivers: can: api: test returned error codes when started/stopped
Add tests for the required error return codes when the CAN controller is
started/stopped.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-09-13 16:06:50 +00:00
Henrik Brix Andersen
180cdc105e drivers: can: add start and stop CAN controller API functions
Up until now, the Zephyr CAN controller drivers set a default bitrate (or
timing) specified via devicetree and start the CAN controller in their
respective driver initialization functions.

This is fine for CAN nodes using only one fixed bitrate, but if the bitrate
is set by the user (e.g. via a DIP-switch or other HMI which is very
common), the CAN driver will still initialise with the default
bitrate/timing at boot and use this until the application has determined
the requested bitrate/timing and set it using
can_set_bitrate()/can_set_timing().

During this period, the CAN node will potentially destroy valid CAN frames
on the CAN bus (which is using the soon-to-be-set-by-the-application
bitrate) by sending error frames. This causes interruptions to the ongoing
CAN bus traffic when a Zephyr-based CAN node connected to the bus is
(re-)booted.

Instead, require all configuration (setting bitrate, timing, or mode) to
take place when the CAN controller is stopped. This maps nicely to entering
"reset mode" (called "configuration mode" or "freeze mode" for some CAN
controller implementations) when stopping and exiting this mode when
starting the CAN controller.

Fixes: #45304

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-09-13 16:06:50 +00:00
Henrik Brix Andersen
6d094d0ad5 tests: drivers: can: api: add missing test case documentation
Add missing CAN controller API test case documentation.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-09-13 16:06:50 +00:00
Flavio Ceolin
b10c526352 ace: power: Only define d0i3 stack when needed
If the target is built without CONFIG_PM this stack is not
used and does not need to be defined.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2022-09-13 08:45:34 -04:00
Kai Vehmanen
1a6d868400 soc: xtensa: tools: do not interfere with IPC in logs-only mode
The tool has caused some hard to detect failures when used
concurrently with the SOF Linux driver to observe logs. This
has been rootcaused to the code to handle and send IPC messages
that has been active even in logs-only mode. In vast majority
of cases, the SOF kernel driver is faster to act and handles
the IPC interrupts. But occasionally the cavstool.py timing was
just right and it managed to ack a message before Linux driver.

Fix the problem by not handling IPC messages when the tool
is run in logs-only mode.

Reported-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2022-09-13 08:41:32 -04:00
Szymon Czapracki
85639f78bd Bluetooth: audio: Fix error message in PACS
Change error code in PACS source/sink
write operation to Write Request Rejected.

Signed-off-by: Szymon Czapracki <szymon.czapracki@codecoup.pl>
2022-09-13 08:55:39 +00:00
Hu Zhenyu
59bc1c52a5 tests: Enable the pca9555 chip on mec172xevb_assy6906
Enable the pca9555 chip on mec172xevb to test the I2C function
1. Add tests/boards/mec172xevb_assy6906/i2c_api
2. The HW connections are described in README.txt
3. Use I2C01 to connect the PCA9555, as I2C00 is for UART2

Signed-off-by: Hu Zhenyu <zhenyu.hu@intel.com>
2022-09-13 08:54:25 +00:00
Dennis Sitelew
42f9b69f50 logging: Fix signed integer cast for isprint
Casting the value byte to char may result in it being a negative
number. On some platforms this could lead to either UB, or a crash.

Signed-off-by: Dennis Sitelew <dennis.sitelew@grandcentrix.net>
2022-09-13 08:51:22 +00:00
Sjors Hettinga
452592fc9a net: websockets: Fix websocket_send_msg return code
When the websocket_prepare_and_send is called from websocket_send_msg,
the header length is subtracted to retrieve the transmitted payload length.
Make an exclutsion to prevent the return code of
websocket_prepare_and_send being modified in case of 0 or a negative
return code.
This avoid confusion with modificated error codes

Signed-off-by: Sjors Hettinga <s.a.hettinga@gmail.com>
2022-09-13 08:49:24 +00:00
Michael Laß
53af1ba59e boards: heltec_wifi_lora32_v2: improve documentation
* Document use of OLED display.
* Fix indentation in list of features.
* References are only rendered if they are used and currently most of
  them are not. Introduce a list of links in addition to the actual
  references to make them show up.

Signed-off-by: Michael Laß <bevan@bi-co.net>
2022-09-12 20:08:39 +00:00
Michael Laß
fec126f190 boards: heltec_wifi_lora32_v2: enable trng0
trng0 refers to the entropy source in the ESP32, as defined in
esp32.dtsi. It enables the configuration item ENTROPY_ESP32_RNG and
therefore offers an entropy driver, making the use of
CONFIG_TEST_RANDOM_GENERATOR unnecessary.

This change helps running the esp32_wifi_station sample.

Signed-off-by: Michael Laß <bevan@bi-co.net>
2022-09-12 20:08:39 +00:00
Tom Burdick
9b3a2f1938 tests: hda_log: Increase timeout for testing
The tests can take a bit of time as they try and work with real world
buffer settings and excercise wrapping the ring buffer many times. It's
important to do this as the padding and wrapping code may have sharp
edges that are better caught in a test.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2022-09-12 15:57:57 -04:00
Andrei Emeltchenko
7c50ab1f03 i3c: doc: Make documentation readable
Use @code .. @endcode blocks to make docs readable.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2022-09-12 10:25:29 -05:00
Dominik Ermel
af79689c8b CODEOWNERS: Add/change onership of mcumgr components
Add de-nordic as codeowner for:
 include/zephyr/mgmt/mcumgr/
 subsys/mgmt/mcumgr/
 tests/subsus/mgmt/mcumgr/

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-09-12 14:16:04 +00:00
Dominik Ermel
c45dbb01eb tests/subsys/mgmt/mcumgr: Move tests
Move smp_reassembly and zcbor_bulk tests under
tests/subsys/mgmt/mcumgr.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-09-12 14:15:06 +00:00
Anders Storrø
97ed0061cb Bluetooth: Mesh: Remove experimental tag from CDB
The CDB module is a mandatory part of provisioning features in BTM, and
can not be regarded as experimental anymore.

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2022-09-12 14:14:27 +00:00
Florian Grandel
2a6d82b2d8 drivers: console: rtt_console: undefined reference
Disabling PRINTK with RTT enabled caused a compile error (undefined
reference to __printk_hook_install').

Fixes: #50108

Signed-off-by: Florian Grandel <jerico.dev@gmail.com>
2022-09-12 15:08:47 +01:00
Przemyslaw Bida
2636bb4e4a net: openthread: priortize usec timer for openthread port.
This commit prioritizes usec timer over msec. Doing so improves
CSL by helping scheduling timeslots on IEEE 802.15.4 with lower miss
rate.

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2022-09-12 10:54:56 +00:00
Thomas Stranger
1c411cc7f0 tests: drviers: remove superfluous source files
During rebase two test main source files, that were removed during the
transition to the new ztest api, were accidetally added again.

First Removed in #49509 and #49554.
This commit removes them again.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2022-09-12 10:54:18 +00:00
Anders Storrø
cae98c8020 MAINTAINERS: Add Andrewpini as BTM collaborator
Add myself as a Bluetooth Mesh collaborator

Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
2022-09-12 10:54:02 +00:00
Sagar Shah
91ffbaa0fc tests: net: lib: coap: test coap_handle_request() for invalid request code.
Adding tests to test the case where an invalid request code is
received. coap_handle_request() should return with -ENOTSUP.

Signed-off-by: Sagar Shah <sagar.shah@legrand.us>
2022-09-12 10:53:34 +00:00
Sagar Shah
dfd897096d net: lib: coap: method_from_code() API change to return errors.
method_from_code() signature has changed to return error and
the method. In case of an invalid code it returns -EINVAL and
causes coap_handle_request() to return -ENOTSUP.

Fixes: #49498

Signed-off-by: Sagar Shah <sagar.shah@legrand.us>
2022-09-12 10:53:34 +00:00
Pavel Vasilyev
1357be36b0 Bluetooth: Mesh: Fix print of newly allocated node in CDB
Using the passed address is incorrect since the passed address can be
zero to find the lowest available address.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2022-09-12 10:52:50 +00:00
Pavel Vasilyev
33b9f3e361 Bluetooth: Mesh: Prevent CDB reusing address of deleted nodes
According to MshPRFv1.0.1, section 3.10.7, the Provisioner shall only
use reuse addresses of the deleted nodes after IV Index is updated.

This change prevents CDB reusing addresses of the deleted nodes until IV
Index is updated. Due to a high range of the unicast addresses, CDB only
stores the highest deleted address once a node is deleted. This creates
a limitation where allocating a node with the high primary unicast
address and then deleting it will make CDB skip big range of address
until next IV Index update.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2022-09-12 10:52:50 +00:00
Ola Tangen Kulseng
1df3de4e98 net: lwm2m: API for multiple resource writing
Used the registry lock in the functions lwm2m_registry_lock() and
lwm2m_registry_unlock() to make the registry lockable through a public
API. If writing to multiple resources that are composite-observed,
locking will halt the main thread until every resource is written to,
ensuring that only one notify message will be sent. Updated
the documentation in lwm2m to include this addition.

Signed-off-by: Ola Tangen Kulseng <ola.kulseng@nordicsemi.no>
2022-09-12 10:52:18 +00:00
Florian Grandel
0956647aaf pm: device_runtime.c: compile error
Enabling device power management together with tracing caused a compile
error.

Fixes: #50107

Signed-off-by: Florian Grandel <jerico.dev@gmail.com>
2022-09-10 17:04:20 -04:00
Dominik Ermel
32ad01bb48 MAINTAINERS: Add mcumgr tests under mcumgr area.
The tests/subsys/mgmt/mcumgr/ added to mcumgr.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2022-09-10 11:49:40 -04:00
Fabio Baltieri
ad1d6d3623 release: Zephyr 3.2.0-rc1 v3.2.0-rc1
Set version to v3.2.0-rc1.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2022-09-09 19:10:13 -05:00
Fabio Baltieri
8e1ef9c4b4 Revert "manifest: mcuboot update"
This reverts commit 95292e85aa:

It's introducing a CI failure for sample.bootloader.mcuboot on
frdm_k64f.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-09-09 18:57:48 -04:00
Daniel Leung
47bf9ee51c samples: sensors: add a new one for lsm6dso as I2C on I3C bus
This adds some skeleton files to enable using LSM6DSO on I3C bus
while still acting like a I2C device. The new files here are
simply to provide a way to have overlay for each board that
would not conflict with the pure I2C one. Also this is set to
build only because it require external hardware that is not
necessary on the board being tested.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-09-09 17:42:33 -04:00
Daniel Leung
34e353c0a8 samples: sensors: adds a new one for lps22hh on I3C bus
This adds some skeleton files to enable using LPS22HH on I3C bus.
This still uses the C source file for I2C. The new files here
are simply to provide a way to have overlay for each board that
would not conflict with the I2C one. Also this is set to build
only because it may require external hardware that is not
necessary on the board being tested.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-09-09 17:42:33 -04:00
Daniel Leung
34ccd88c12 sensor: lps22hh: extend to support being on I3C bus
This extends the lps22hh driver to support being on I3C bus.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-09-09 17:42:33 -04:00
Daniel Leung
6034714909 dts: lps22hh: extends to support being on I3C bus
This adds a new YAML file to allow LPS22HH to work on I3C bus.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-09-09 17:42:33 -04:00
Daniel Leung
eb9cd9242c sensors: stmemsc: add I3C access functions
This adds I3C access functions so that STM sensors connected
on I3C bus can utilize I3C.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-09-09 17:42:33 -04:00
Daniel Leung
4b26bd3349 boards: nxp/mimxrt685_evk: add pinctrl for I3C block
This adds the pinctrl/pinmux device tree node for the I3C
block on RT685 SoC.

Note the the drive strengths and slew rates for SCL and SDA
are recommended by the NXP application note AN12796: RT600 I3C
Simple Master, which can downloaded from the NXP website.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-09-09 17:42:33 -04:00
Daniel Leung
164a1aa95e soc: arm/nxp/imx/rt6xx: add bits to support I3C controller
This adds a few bits to the RT6xx SoC code to support the I3C
bus interface on RT600 series.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-09-09 17:42:33 -04:00
Daniel Leung
3e8f97009d i3c: add I3C controller driver for MCUX
This adds a very basic driver to utilize the I3C IP block
on MCUX (e.g. RT685). Note that, for now, this only supports
being the active controller on the bus.

Origin: NXP MCUXpresso SDK
License: BSD 3-Clause
URL: https://github.com/zephyrproject-rtos/hal_nxp
Commit: 2302a1e94f5bc00ce59db4e249b688ad2e959f58
Purpose: Enabling the I3C controller on RT685.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-09-09 17:42:33 -04:00
Daniel Leung
3c8dcb568d dts: add a binding for NXP MCUX I3C controller
This adds a binding for NXP MCUX I3C controller, with compatible
string "nxp,mcux-i3c".

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-09-09 17:42:33 -04:00
Daniel Leung
16b22fa46a doc: i3c: add a few bits about the new I3C API
This adds a fews bits about the newly introduced I3C API
for I3C controller.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-09-09 17:42:33 -04:00
Daniel Leung
66a9a15104 i3c: add a global workqueue for IBI
Adds support for a global workqueue so drivers can defer
IBI callbacks instead of doing it in interrupt context.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-09-09 17:42:33 -04:00
Daniel Leung
1493285912 i3c: add API for controller to act as target device
This adds the bits to allow an I3C controller to act as target
device. This is modelled after the I2C target model.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-09-09 17:42:33 -04:00
Daniel Leung
ce7058d2f5 drivers: i3c: introduce I3C API for controllers
This introduces the I3C API for I3C controllers. Currently,
this supports one controller per bus under Zephyr.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2022-09-09 17:42:33 -04:00