Commit Graph

513 Commits

Author SHA1 Message Date
Flavio Ceolin
1c6507afa8 doc: pm: Add wakeup information
Add documentation for wakeup sources.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-08-11 19:39:13 -04:00
Lingao Meng
23a9594944 Bluetooth: Add connect event structure to zsector
Add an optional version for connection events
to save some memory.

Signed-off-by: Lingao Meng <menglingao@xiaomi.com>
2021-08-11 13:42:28 +02:00
Jordan Yates
fdeaa9103e random: deprecate XOROSHIRO_RANDOM_GENERATOR
Deprecate the xoroshiro128+ PRNG algorithm in favour of xoshiro128++.
xoshiro128++ is a drop-in replacement which is invisible from the user
perspective.

xoroshiro128+ is unsuitable because it is explicitly a floating-point
PRNG, not a general-purpose PRNG. This means that the lower 4 bits of
the output are actually linear, not random (from the designers,
https://prng.di.unimi.it/). This means 1/8th of the generated data is
not random.

Additionally, xoroshiro128+ is not a 32bit algorithm, it operates on
64bit numbers. For the vast majority of Zephyr devices, this makes the
PRNG slower than it needs to be. The replacement (xoshiro128++) is
32bit, with no loss in state space (still 128 bit).

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2021-08-05 11:24:44 +02:00
Gerard Marull-Paretas
d41dadc569 pm: rename PM_DEVICE_STATE_SUSPEND to PM_DEVICE_STATE_SUSPENDED
The verb tense for the suspended state was not consistent with other
states. The likely reason: state was being used as a command/action.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-08-04 08:23:01 -04:00
Gerard Marull-Paretas
59f0e73522 doc: pm: update documentation
Update documentation so that latest changes are reflected.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-08-04 08:23:01 -04:00
Fabio Baltieri
94711f1ced doc: reference: add a page for iterable sections
Group together the iterable section functions and add a corresponding
documentation page.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2021-08-03 19:02:43 -04:00
Guennadi Liakhovetski
cf92031b9b doc: add a missing ':c:func:' prefix
Fix one instance of a missing C function prefix in an RST document.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2021-07-23 16:06:54 -04:00
Jose Alberto Meza
28e214b315 doc: reference: peripherals: Add eSPI interface to peripherals list
Add missing eSPI driver interface under peripheral list.

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
Co-authored-by: Gerard Marull-Paretas <gerard@teslabs.com>
2021-07-21 18:21:29 -04:00
Jian Kang
a3ec9b0ebd Fix: document: Fix there is no API Reference in clock
Add the doxygen group in clock rst file to add the API Reference
chapter. Fix: #37032

Signed-off-by: Jian Kang <jianx.kang@intel.com>
2021-07-21 05:33:25 -04:00
Yasushi SHOJI
ab7f07dc4a doc: reference: memory_domain: Update minimal libc
The global variables in the Minimal C library are now placed in
z_libc_partition, update the document accordingly.

Signed-off-by: Yasushi SHOJI <yashi@spacecubics.com>
2021-07-20 13:32:36 -04:00
Yasushi SHOJI
cc19558f57 doc: reference: memory_domain: Markup variables in sentences
Mark variables up if used in plain sentences for easier reading.

Signed-off-by: Yasushi SHOJI <yashi@spacecubics.com>
2021-07-20 13:32:36 -04:00
Yasushi SHOJI
49d003a925 doc: Markup kconfig options with :kconfig: role
Some Kconfig options are left marked as inline literals.  But in
Zephyr document, we use the "kconfig" role provided by Sphinx.

Signed-off-by: Yasushi SHOJI <yashi@spacecubics.com>
2021-07-20 13:32:36 -04:00
Henrik Brix Andersen
946ad14073 drivers: can: mark the CAN API as unstable
Mark the Controller Area Network (CAN) driver API as unstable. The CAN
API was introduced in Zephyr v1.14 and has since gained support for many
different hardware platforms.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2021-07-17 10:47:53 -04:00
Anas Nashif
9960dac090 doc: move kconfig to indices and table
Right now the kconfig index is randomly placed in the guides. This is a
table similar to other indeces we have and should be considered as part
of an appendix rather than place it in the middle of the documentation.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-07-15 07:07:21 -04:00
Ingar Kulbrandstad
3ec6411c7f Bluetooth: Mesh: Align capitalization for BT mesh
Align the capitalization of the term "Bluetooth Mesh" to Bluetooth mesh"
in the documentation. This is done to to match the new updated naming
convention done in Bluetooth SIG. In the upcoming spec versions, it its
used "Bluetooth mesh" with the lower case convention.

Signed-off-by: Ingar Kulbrandstad <ingar.kulbrandstad@nordicsemi.no>
2021-07-13 11:23:54 -04:00
Lauren Murphy
ab2ede428a doc, cpp: Update CXX support to show exception support
Updates CXX support documentation to reflect exception support
added in fixes for #32448 and #35772.

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2021-07-12 23:35:45 +03:00
Gerard Marull-Paretas
9dfbdf1997 doc: use kconfig role and directive
Stop using :option: for Kconfig options.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-06-29 10:26:28 -04:00
Martí Bolívar
2b2f2c94a7 api: devicetree.h is stable
This API meets the requirements for marking an API stable:

- Test cases for the new API with 100% coverage: yes;
  we have had coverage for every API macro since the beginning.

- Complete documentation in code. All public interfaces shall be
  documented and available in online documentation.: yes, in the
  reference documentation:
  https://docs.zephyrproject.org/latest/reference/devicetree/api.html

- The API has been in-use and was available in at least 2 development
  releases: yes; this API ws introduced in v2.3.

The basic design involving node identifiers and the macros that create
and operate on them has not changed since the API was introduced, and
it is in widespread use throughout the tree. As we head into a new
LTS, it's time to mark it stable.

This is more of an acknowledgement of reality than a big change, as I
don't see any backwards incompatible changes since the API was first
introduced in v2.3. (We have deprecated a lot of label related macros
that are no longer required now that we have DEVICE_DT_GET and
friends, but they're still there, and we're still testing them, just
as if this were a stable API.)

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-06-14 15:18:11 +02:00
Martí Bolívar
73443088ba doc: api: fix devicetree modification version
This was modified in 2.6.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-06-11 17:59:35 -04:00
Kumar Gala
6d51863e0d toolchain: remove deprecated BUILD_ASSERT_MSG macro
The macros have been deprecated for 2 releases so remove the code
associated with them.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-06-11 16:35:19 -05:00
Pavel Vasilyev
65f798a00a Bluetooth: Mesh: Add API to manually store pending RPL entries
The current approach with storing RPL by timeout doesn't solve all
issues as the node may loss power before the timer is fired.
In addition to that this may wear out flash quickly if short timeout is
used.

This change adds an API to store the pending RPL entry upon user
request. Additional Kconfig option allows to completely disable timer
so that the whole storing relies on the user.

The mesh stack still stays responsible for outdating RPL entries in case
of IV Index update as this happens implicitly for the user.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2021-06-11 15:47:09 +02:00
Anas Nashif
8b34495bd0 doc: move TLS to the kernel section
Move TLS docs into the 'Others' section of the kernel chapter.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-06-11 08:50:39 -04:00
Pavel Vasilyev
0335d5fb01 Bluetooth: Mesh: Add OOB Public Key support for provisionee role
This commit allows an unprovisioned device to exchange its public key
using out-of-band techology (see MeshPRFv1.0.1, table 5.19 and section
5.4.2.3).

For in-band public key exchange, the mesh stack uses HCI commands to
generate public and private keys, and DH key. This, however, doesn't
work for OOB public key exchange since there is no command to generate
DH key with a private key provided by an application. Therefore, this
commit adds direct usage of TinyCrypto into the mesh stack for DH key
generation for OOB public key support.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2021-06-10 17:14:03 -04:00
Arvin Farahmand
98a0ccd5c5 drivers: hwinfo: Add reset cause support
Add `hwinfo_get_reset_cause` and `hwinfo_clear_reset_cause` to retrieve
and to clear cause of system reset on supported platforms.

Different platforms can provide different causes of reset, however
there is a great deal of overlap. `enum reset_cause` can be expanded in
the future to support additional reasons, as additional platforms are
supported.

Signed-off-by: Arvin Farahmand <arvinf@ip-logix.com>
2021-06-08 10:16:17 +02:00
Kumar Gala
36a24329f8 doc/ref/api: Update API Version Modified
Update API Version Modified field for things that changed
for the 2.6.0 release.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-06-04 15:04:53 -05:00
Flavio Ceolin
b06d084488 docs: pm: System power management diagram
Add a diagram for system power management.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-06-03 14:12:52 -05:00
Daniel Leung
b2b4a010a0 doc: add some bits about demand paging
This adds some information about demand paging in Zephyr.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-05-28 11:33:22 -04:00
Omkar Kulkarni
d6db9abd9d Bluetooth: Mesh: Add information about secure provisioning
This clarification helps implementers to choose provisioning process
parameters.

Signed-off-by: Omkar Kulkarni <omkar.kulkarni@nordicsemi.no>
2021-05-26 10:55:07 -05:00
Flavio Ceolin
d67a5786bc pm: device_runtime: Change API behavior s/_sync/_async
Most APIs have the default synchronous and an asynchronous version
with the sufix _async because that is the most common use.

All devices in tree right now are using the synchronous version, so
just change it to be consistent with the rest of the system.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-05-26 10:56:55 -04:00
Flavio Ceolin
452890628a docs: pm: Add samples and tests links
Add some applications samples to the documentation.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-05-26 10:56:55 -04:00
Flavio Ceolin
7c5ce5ba51 docs: pm: Improve residency policy documentation
Add information about exit latency time.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-05-26 10:56:55 -04:00
Flavio Ceolin
eba2dc7e9b docs: pm: Add link to application defined policy
Add a link for the sample that defines its own policy manager.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-05-26 10:56:55 -04:00
Flavio Ceolin
7f667680f4 docs: pm: Fix device busy information
Remove invalid information about device busy API.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-05-26 10:56:55 -04:00
Flavio Ceolin
ffcba96b1a docs: pm: Add missing device states
Adding documentation about two new device states, SUSPENDING and
RESUMING.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-05-26 10:56:55 -04:00
Flavio Ceolin
62e2952a5a docs: pm: Device pm fixes and enhancements
- idle/runtime
- Information about asynchronous calls and how to use the condition
  variable
- More details about usage count

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-05-26 10:56:55 -04:00
Flavio Ceolin
90be4b67cf docs: pm: Fix invalid API reference
s/device_set_power_state/pm_device_state_set/g

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-05-26 10:56:55 -04:00
Flavio Ceolin
659c1371fc docs: pm: Fix doxygen tag
Uses tag "option" for CONFIG_PM_DEVICE_RUNTIME to make it
linkable. Just like is done for all others build options.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-05-26 10:56:55 -04:00
Flavio Ceolin
4b628341e5 docs: pm: Fix typo
s/Enbles/Enables/g

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-05-26 10:56:55 -04:00
Flavio Ceolin
1d364c1701 docs: pm: Add device runtime definition
Add a brief definition about device runtime.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-05-26 10:56:55 -04:00
Henrik Brix Andersen
27a738853e doc: reference: drivers: fix struct member names in svg
Fix the names of struct device members shown in the device driver model
example SVG.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2021-05-25 22:37:57 -04:00
Anas Nashif
ae4fb20f67 doc: kernel: add documentation for queues
Add missing introduction to queues which are basically FIFOs and in
zephyr are used to implement both FIFO and LIFO objects.

Fixes #35199

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-05-24 14:20:01 -04:00
Gerard Marull-Paretas
8c4b757fd4 doc: remove redundant breathe project
The default breathe project is `Zephyr`, so there is no need to specify
it.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-20 20:04:51 +02:00
Gerard Marull-Paretas
db4359cfd2 doc: remove redundant usage of :members: in breathe directives
:members: is now enabled by default.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-19 06:21:53 -04:00
Mark-PK Tsai
fa836cc00d doc: reference: fix typo
Fix typo.

Signed-off-by: Mark-PK Tsai <mark-pk.tsai@mediatek.com>
2021-05-18 10:59:37 -04:00
Anas Nashif
9440a1c2b8 doc: kernel: thread stack is not the same as stack object
Fix mixup of stack objects and thread stacks.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-05-17 17:32:12 -04:00
Carles Cufi
04325086ef doc: reference: Add a section for the C standard library
In order to document the error codes, introduce a new reference section
describing the C standard library options available in Zephyr, along
with the definitions of the error codes.

At the same time move (most of) the content from the existing user guide
to the new API reference section, removing the need for a separate user
guide for it.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2021-05-17 09:11:15 -04:00
Anas Nashif
cc0cb3d0f9 doc: clock: link macros and struct to doxygen
link some function, macros and structs to doxygen docs.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-05-11 12:59:15 -05:00
Flavio Ceolin
0c607adb63 pm: device: Align state names with system states
Change device pm states to the same pattern used by system power
management.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-05-07 18:35:12 -04:00
Peter Bigot
c42eb823ce doc: kernel: interrupts: correct description of irq lock behavior
Contrary to the documentation giving a semaphore while an IRQ lock is
held does not release the lock and give control to another thread.
The release-lock behavior is observed only if the lock-holding thread
sleeps.

However the opportunity to reschedule will have been lost so it may be
necessary to explicitly yield to allow the higher-priority thread to
be serviced.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-05-07 09:28:13 -04:00
Anas Nashif
52398df7b6 doc: integrate dict logging into main logging section
This belong alongside other logging related documentation. No for this
to exist on its own.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-05-05 19:07:24 -04:00