Commit graph

56,357 commits

Author SHA1 Message Date
Kumar Gala
651898e13d drivers: sensor: icm42605: Fix build issues
There are several different issues when trying to build the icm42605
sensor driver:

* Missing entry in drivers/sensor/CMakeLists.txt
* Issues with #ifndef in header files
* Issues with const usage
* Missing function prototypes in headers
* Fix use of LOG_MODULE_REGISTER v LOG_MODULE_DECLARE
* Add missing dts node to tests/drivers/build_all/spi.dtsi

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-02-10 18:21:20 -05:00
Alex Martens
f183d6492f doc: fix typo in condvar documentation
Fixes a typo in the condition variable documentation.
Also fixes two numbered lists not rendering correctly.

Signed-off-by: Alex Martens <alexander.martens@intel.com>
2021-02-10 11:57:59 -05:00
Keith Short
5ece02d5dd npcx: fix NPCX PWM driver with PWM_POLARITY_INVERTED
Update NPCX PWM driver so PWM can be turned off as the first call when
PWM_POLARITY_INVERTED is used.

Signed-off-by: Keith Short <keithshort@google.com>
2021-02-10 10:51:55 -05:00
Carlo Caione
d6316aae27 aarch64: Fix corrupted IRQ state when tracing enabled
The call to sys_trace_idle() is potentially clobbering x0 resulting in a
wrong value being used by the following code. Save and restore x0 before
and after the call to sys_trace_idle() to avoid any issue.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Suggested-by: James Harris <james.harris@intel.com>
2021-02-10 10:16:03 -05:00
Martí Bolívar
b88bfde84b boards: nrf: fix incorrect debug docs
All of these boards can be debugged with west debug via settings in
board.cmake, but the docs say they can't be. This is being copy/pasted
around; fix it.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-02-10 10:14:59 -05:00
Trond Einar Snekvik
512444d863 Bluetooth: Mesh: Update seqnum when re-encrypting for friend
Sets the sequence number when re-encrypting messages from the friend to
the lpn.

This is a regression from #28511.

Signed-off-by: Trond Einar Snekvik <Trond.Einar.Snekvik@nordicsemi.no>
2021-02-10 08:55:40 -05:00
Trond Einar Snekvik
48526b6925 Bluetooth: Mesh: Initialize msg_ctx when re-encrypting friend msg
Set app_idx and net_idx in the msg_ctx before calling
bt_mesh_keys_resolve when re-encrypting friend messages, as they'll be
referenced inside the function.

Signed-off-by: Trond Einar Snekvik <Trond.Einar.Snekvik@nordicsemi.no>
2021-02-10 08:55:40 -05:00
Jordan Yates
ddc595b662 lorawan: move public network request
Move the public network request command from the end of `lorawan_start`
to the start of `lorawan_join`. This MAC command interacts with the
radio driver, bringing it out of sleep mode, and doesn't put it back.

The public network setting is only needed when joining a network, and
`lorawan_start` can be called well before `lorawan_join`. By moving the
command we save ~600uA before joining (for sx1262).

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2021-02-10 08:55:15 -05:00
Jordan Yates
e756ad6c0f lora: sx126x: disable DIO1 in sleep mode
Disable the DIO1 interrupt when the sx126x modem is in sleep mode.
On nRF hardware, this lets the `GPIOTE` hardware be switched off, saving
15uA.

Fixes #31569.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2021-02-10 08:55:15 -05:00
Jordan Yates
6776535322 lora: sx126x: update modem state on transitions
Update the global state of the modem on calls to `SX126xReset` and
`SX126xWakeup`. This stops `SX126xCheckDeviceReady` sending spurious SPI
commands on every transieve before `SX126xSetOperatingMode` is called.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2021-02-10 08:55:15 -05:00
Martí Bolívar
b9ae1f6718 doc: west: improve troubleshooting for west update
Recommend curl -v or ssh -v.

Suggested-by: Marc Herbert <marc.herbert@intel.com>
Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-02-10 08:53:39 -05:00
Martí Bolívar
1803ddf54e doc: west: clean up example workspace
Suggested-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-02-10 08:53:39 -05:00
Martí Bolívar
0d0e472b8f doc: improve docs on building without west
Make it more obvious what needs to happen by spelling out the
commands.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-02-10 08:53:39 -05:00
Martí Bolívar
2f6c315f4f doc: improve manifest key docs
Create tables and Sphinx sections for the sub-keys of a manifest.

List the subsections in the same order they are documented.

This makes it easier to jump around in the document from the table of
contents and see what's in each subkey.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-02-10 08:53:39 -05:00
Martí Bolívar
f6958322cc doc: add missing docs for 'west zephyr-export'
Something should have been added to zephyr-cmds.rst when this
extension was added.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-02-10 08:53:39 -05:00
Martí Bolívar
e795a2bcaf doc: update west's workspaces.rst for 2.5
We haven't updated the example revisions in the alternate topologies
sections in a while. Update these for the upcoming 2.5 release.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-02-10 08:53:39 -05:00
Martí Bolívar
353efd04b1 doc: west: move advanced content out of 'basics'
With the documentation for west 0.9, the 'basics' page is completely
out of control. Reorganize it so it fits in a few pages, moving many
details out into other pages for the truly curious.

As part of this, create new pages for built-in commands (built-in.rst)
and esoteric details about workspaces (workspaces.rst).

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-02-10 08:53:39 -05:00
Martí Bolívar
fbcdc82067 doc: glossary: update west terms
We've got some obsolete 'west installation' usages kicking around
still.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-02-10 08:53:39 -05:00
Martí Bolívar
673474b020 doc: clean up west index
Rename the 'basics' page to basics.rst, adding a redirect for the old
title.

Rearrange some other index pages to improve the flow:

- Put relatively stale content in moving-to-west.rst to the bottom. I
  expect pepole have either moved west or are choosing not to.

- Promote the release notes page higher up, since that seems more
  important.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-02-10 08:53:39 -05:00
Martí Bolívar
e36fc11100 doc: sort redirects
Just to keep things easier to find.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-02-10 08:53:39 -05:00
Andrzej Puzdrowski
c7f1f2c269 doc: releasenotes 2.5: Add notes on addition fs_dir_t_init
The commit adds notes on addition on fs_dir_t_init function and its
impact on File system API.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2021-02-10 08:53:17 -05:00
Andy Ross
604f0f44b6 kernel/sched: Add missing lock around waitq unpend calls
The two calls to unpend a thread from a wait queue were inexplicably*
unsynchronized, as James Harris discovered.  Rework them to call the
lowest level primities so we can wrap the process inside the scheduler
lock.

Fixes #32136

* I took a brief look.  What seems to have happened here is that these
  were originally synchronized via an implicit from an outer caller
  (remember the original Uniprocessor irq_lock() API is a recursive
  lock), and they were mostly implemented in terms of middle-level
  calls that were themselves locked.  So those got ported over to the
  newer spinlock but the outer wrapper layer got forgotten.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2021-02-10 07:43:18 -05:00
Vinayak Kariappa Chettimada
b365ab06a7 Bluetooth: controller: Fix missing advertising PDU len initialization
Fix missing advertising PDU length initialization which
prevented advertising PDU to be transmitted by Radio. This
issue was reproduced when connectable undirected advertising
was enabled without setting an advertising data.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2021-02-10 07:17:48 -05:00
Kumar Gala
937dad2cb7 drivers: dma: iProc PAX: Fix use of deprecated APIs
Drivers are using DEVICE_AND_API_INIT which is deprecated so convert
the iproc_pax dma drivers over to using DEVICE_DT_INST_DEFINE and
DEVICE_DT_INST_GET.

Fixes #32153

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-02-10 07:16:11 -05:00
Flavio Ceolin
f270e17b32 doc: security: Update vulnerabilities information
Update CVEs information

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-02-10 07:14:53 -05:00
Flavio Ceolin
81315757cf doc: release-notes-2.5: crypto libraries
Add information about mbedTLS.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-02-10 07:14:53 -05:00
Flavio Ceolin
9d7457a586 doc: release-notes-2.5: Vulnerabilities addressed
Add information about vulnerabilities addressed during this release
cycle.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-02-10 07:14:53 -05:00
Martí Bolívar
8f8ec5f0d0 device.h: remove incorrect docstring
This appears to be leftovers from when DEVICE_DT_DECLARE() was briefly
around.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-02-09 23:07:49 -05:00
Adam Jeliński
9919c14175 m2gl025_miv: Double the test timeouts
The `m2gl025_miv` board needs more time to complete these tests with
Renode.

Signed-off-by: Adam Jeliński <ajelinski@antmicro.com>
2021-02-09 19:41:27 -05:00
Adam Jeliński
86ca5ff562 m2gl025_miv: Adjust frequencies and performance
The default frequency for this board in Renode is 66 MHz. This needs to
be even with `SYS_CLOCK_HW_CYCLES_PER_SEC` to avoid such problems as in
the #31726 issue.

Unfortunately, the difference in these values was helpful for some tests
that are failing with 66 MHz set in both places. It created artificial
boost in certain circumstances.

The frequencies in the default Renode platform description (`.repl`)
file for MI-V were overridden with 4 MHz value that seems to be better
tolerated based on testing. The `SYS_CLOCK_HW_CYCLES_PER_SEC` was
adjusted as well.

To solve the rest of the issues, `cpu PerformanceInMips` was set to 4.
It seems tests are completed faster with such a value.

This commit fixes #31726.

Signed-off-by: Adam Jeliński <ajelinski@antmicro.com>
2021-02-09 19:41:27 -05:00
Peter Bigot
d0be253081 power: add missing dependency
Inline functions reference a __fallthrough macro that is toolchain
specific.  Include the header that provides that macro.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-02-09 13:59:38 -05:00
Peter Bigot
a31b3c410e doc: drivers: i2c: provide more information on I2C APIs
Although the master API is stable, the slave API has never been
documented and has only two in-tree implementations with no uses
outside of a single test application.  It is marked experimental in
this commit.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-02-09 13:59:17 -05:00
Peter Bigot
d983ad193b drivers: i2c: document slave API
The I2C slave API has been present since 1.12 but lacked documentation
on the behavior of its functions.  Provide that, and revise existing
documentation to make clear the type and mode of the device passed to
each API call.

Documented behavior is derived primarily from the LPC11U6X
implementation, as the STM32 implementation generally ignores return
values.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-02-09 13:59:17 -05:00
Peter Bigot
90d8c8d9cd drivers: i2c: litex: remove redundant null pointers
The callback pointers for uninitiated operations are implicitly null;
making them explicit only confuses maintainers searching for drivers
that implement the API.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-02-09 13:59:17 -05:00
Peter Bigot
2a9b9b74bc tests: i2c_slave_api: update to current standard terminology
Zephyr does not currently allow deviation from standard terminology
for a technology even if it is non-inclusive, until the corresponding
standards body has confirmed intent to change that terminology.  The
terms used in a previous attempt to be inclusive do not match the
expected forthcoming standard terms.

Revert to standard terms until the new ones have been announced and
the switch made throughout Zephyr.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-02-09 13:59:17 -05:00
Peter Bigot
b7da2e258f doc: inclusive language: reference I2C status issue
Status of addressing inclusive language concerns is embedded into the
coding guidelines.  Add a link to the corresponding issue for I2C.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-02-09 13:59:17 -05:00
Peter Bigot
0866cbcd6c doc: coding guidelines: add an anchor for inclusive language guideline
Documentation for subsystems that use offensive terms by standard may
need to reference this section as justification for their continued
and new use.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-02-09 13:59:17 -05:00
Laczen JMS
79a833ca31 boards: correct dts for bl654_dvk and bl652_dvk
i2c0 and spi0 cannot be enabled at the same time, corrects dts error.

Signed-off-by: Laczen JMS <laczenjms@gmail.com>
2021-02-09 13:45:46 -05:00
Peter Bigot
7ab81edba9 samples: driver: watchdog: rework how callback support is handled
Nordic watchdog does support a callback, but it has a time limit that
is too tight for the way this sample uses it.  Add infrastructure to
bypass using the callback in this sample.

Also add more diagnostics explaining the status of callback use in the
sample.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-02-09 13:43:55 -05:00
Andrzej Głąbek
f9c1f89109 scripts: kconfig: Fix uses of edt.compat2okay in helper functions
Check if a given 'compat' is a key in edt.compat2okay before accessing
its entry in dt_compat_on_bus() and dt_nodelabel_has_compat(), as for
a non-existing key a new entry with an empty list would be created,
and dt_compat_enabled() would then incorrectly return "y" when called
for the same 'compat'.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2021-02-09 13:33:10 -05:00
Christoph Reiter
1b5f134477 drivers: sensor: dps310 fix out of bounds write
Fixes a copy-paste error which results in an out of bounds write on the
stack.

Signed-off-by: Christoph Reiter <christoph.reiter@infineon.com>
2021-02-09 10:44:43 -05:00
Martí Bolívar
16a7465d93 scripts: zcmake: fix for prerelease cmake versions
Handle a semantic versioning case used by Kitware that is not
supported by the packaging module we're using for version comparisons.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-02-09 09:14:37 -05:00
Marc Herbert
2dfe82ed51 (docs) Makefile: re-order targets to build htmldocs-fast by default
rm -rf is not the most user-friendly default action

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-02-09 08:01:16 -05:00
Maciej Perkowski
b6a69aa820 twister: bugfix: Fix twister output
Fix twister output. "Test suite" used previously did not correspond
to what was counted (test scenarios). A test scenario is an entry from
testcase/sample.yaml under "tests:", which specify configuration used to
build a test. Changes in docs will follow later on. Also replace the
amount of preselectd platforms with the amount of platforms that
were not filtered out and actually tested.

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2021-02-09 06:55:41 -05:00
Anas Nashif
467f916860 renode: fix dependencies for renode platforms
Make renode platforms run target depend on zephyr ELF.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-02-08 21:03:48 -05:00
Flavio Ceolin
5a2f25a7c3 doc: release-notes-2.5: Power management contents
Add some high-level bullets about power management changes in 2.5.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-02-08 18:02:23 -05:00
Flavio Ceolin
6bae2d5ef0 docs: pm: Update central method diagram
Remove old information about DEEP SLEEP and SLEEP states.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-02-08 18:01:42 -05:00
Flavio Ceolin
18461fce88 docs: pm: Replace outdated documentation
Power management documentation was still using "deep sleep" and
"sleep" concepts. This commit just remove them, since they are not
longer used, and introduce the new power states defined in pm_state.

As each state has its own meaning and it is documented in the API,
lets just reference them here and avoid getting out of sync.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-02-08 18:01:42 -05:00
Daniel Leung
0b8fd86784 doc: release-notes-2.5: memory management related items
This adds a few lines about changes to memory management,
introduction of demand paging, and changes to x86 memory
management code.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-02-08 17:29:32 -05:00
Jennifer Williams
a8c91fd97c doc: release-notes-2.5: boards and SoCs: x86 ehl_crb acrn_ehl_crb
This adds a few lines for newly added board and SoC defintions
for Elkhart Lake (ehl_crb) and ACRN configurations (acrn_ehl_crb).

Signed-off-by: Jennifer Williams <jennifer.m.williams@intel.com>
2021-02-08 16:25:29 -05:00