Commit Graph

3211 Commits

Author SHA1 Message Date
Ioannis Glaropoulos
3e0251297e doc: release notes: add notes for board/SoC removals
Add entries in the release notes for ARM Musca-A
and nRF5340 PDK board and SoC removals.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2021-02-16 08:33:12 -05:00
Anas Nashif
acf42a22fd doc: add draft for 2.6 release notes
Add draft for the 2.6 release notes.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-02-15 16:46:04 -06:00
Daniel Leung
ce44048d46 x86: rename CONFIG_SSE* to CONFIG_X86_SSE*
This adds X86 keyword to the kconfigs to indicate these are
for x86. The old options are still there marked as
deprecated.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-02-15 08:21:15 -05:00
Ioannis Glaropoulos
2573f4b99c tests: remove nrf5340 PDK boards from test .yml files
Remove references to the nRF5340 PDK boards
from samples and tests .yml files.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2021-02-15 07:59:43 -05:00
Anas Nashif
39d7d34710 release: add more fixes issues to notes
Add more resolved issues to notes.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-02-14 09:58:55 -05:00
Anas Nashif
554fca0e5c release: make release notes final
Remove "Working Draft" from title.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-02-14 09:58:55 -05:00
Anas Nashif
ccc185be63 doc: add 2.5.0 to pick list
Add 2.5 to release list to be shown on documentation side bar.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-02-14 09:58:55 -05:00
Andrzej Głąbek
c2b5e68953 doc: release-notes-2.5: Add notes for ADC and PWM
Plus one note about the nrf_qspi_nor driver.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2021-02-12 11:06:40 -05:00
Jennifer Williams
af81648a18 doc: releases: 2.5: add misc x86 to boards and socs
Add misc changes still needed in release notes for
x86 Boards and SoCs after checking their history:
- zefi.py: Use cross compiler while building zephyr
- boards: x86: ehl_crb: Add board variant for Slim Bootloader
- tests: enable the code coverage report for qemu_x86_64
- drivers/timer: Remove legacy APIC driver
- x86: add common memory.ld
- x86: reserve the first megabyte

Signed-off-by: Jennifer Williams <jennifer.m.williams@intel.com>
2021-02-11 16:57:12 -05:00
Jennifer Williams
54b7439cae doc: releases: fix format issue in Boards & SoCs
Remove extra space character which is causing wrong format for
the bulleted list.

Signed-off-by: Jennifer Williams <jennifer.m.williams@intel.com>
2021-02-11 14:38:48 -05:00
Anas Nashif
e8317920b1 release notes: add top level bullets, misc. changes
Add top level bullets and misc. changes to other areas.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-02-11 12:55:18 -05:00
Anas Nashif
5a605778f8 release: add resolved issues
Add list of all resolved issues since 2.4.0.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-02-11 12:55:18 -05:00
Johann Fischer
902dd26908 doc: release-notes-2.5: add release notes for USB
Add release notes for USB.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2021-02-11 08:53:00 -05:00
Anas Nashif
5d1c535fc8 license: add missing SPDX headers
Add SPDX header to files with existing license.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-02-11 08:05:16 -05:00
Lauren Murphy
2620cefc8e doc: fix typo in modules
Fixes typo in modules documentation.

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2021-02-10 20:34:23 -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
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
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
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
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
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
Daniel Leung
c1a41a4490 doc: release-notes-2.5: kernel: add info on thread local storage
This adds a few lines about thread local storage that is being
introduced in this release.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-02-08 16:24:40 -05:00
Martin Jäger
adfd947fc7 doc: release: Add DAC release notes for v2.5.0
Adding notes regarding new TI driver and enabled support for some
more STM32 series.

Signed-off-by: Martin Jäger <martin@libre.solar>
2021-02-08 16:24:22 -05:00
Carlo Caione
484abf51f2 doc: release: v2.5.0 release notes for ARM AArch64
Zephyr v2.5.0 release notes for AArch64 architecture.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2021-02-08 14:39:11 -05:00
Ioannis Glaropoulos
7e42108890 doc: release: v2.5.0 release notes for ARM AARCH32
Zephyr v2.5.0 release notes for AARCH32 architecture.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2021-02-08 14:38:53 -05:00
Peter Bigot
a00740995b doc: release-notes-2.5: I2C
High-level changes in I2C subsystem since 2.4.0.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-02-08 12:26:18 -05:00
Eugeniy Paltsev
b9ec64b448 doc: release notes: ARC
2.5 release notes for ARC related changes

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
2021-02-08 11:49:21 -05:00
Martí Bolívar
df2980acfe doc: release-notes-2.5: devicetree
New macros etc.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-02-08 08:26:42 -05:00
Martí Bolívar
78ec3223e7 doc: release-notes-2.5: s/device tree/devicetree/
This is the preferred way to write it.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-02-08 08:26:42 -05:00
Maureen Helm
46d6a73f91 doc: release: Add NXP-related changes to v2.5.0 release notes
Adds v2.5.0 release notes for NXP boards and drivers.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2021-02-05 17:19:26 -05:00
Maureen Helm
59074044d9 doc: release: Add sensor changes to v2.5.0 release notes
Fills in the sensor drivers section of the v2.5.0 release notes.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2021-02-05 17:19:26 -05:00
Martí Bolívar
1d439efbb3 doc: make it clear when DT properties are deprecated
Devicetree properties may be deprecated. Make deprecated properties
more prominent in the generated bindings documentation as follows:

  1. For deprecated node-specific properties, make a new tab which
     only contains the deprecated properties

  2. For deprecated child-binding properties, ensure a line
     mentioning derpecation is in the property details

  3. For deprecated 'base' binding properties, do the same thing as
     child-bindings. Note that there aren't any such properties,
     but they'd fall in this bucket if we add any later on.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-02-04 13:11:01 -05:00
Peter Bigot
76ebe71fcb doc: data structures: fix description of sflist
Fix a confusing type and clarify what the alternative data structure
adds.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-02-04 11:57:55 -05:00
Lauren Murphy
ca742c76a9 doc: fix typos in mutex
Fixes typos in mutex documentation accidentally introduced by #31855.

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2021-02-04 10:32:56 -05:00
Jukka Rissanen
599f21da62 doc: net: Add networking changes to 2.5 release note
Initial set of networking related changes in 2.5 release.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2021-02-04 09:37:18 -05:00
Torsten Rasmussen
2bf26ecf4d cmake: modules: remove Zephyr module duplicates from ZEPHYR_MODULE_NAMES
This allows users to overrule a module from command line.
As example, the Zephyr build system loads the module FOO from
`modules/FOO`, but user has a custom FOO locally at `custom/FOO` and
would like to use this module instead of manifest specified.

If user does `-DZEPHYR_EXTRA_MODULES=custom/FOO` the following error
will be seen:
```
The binary directory

  build/modules/FOO

is already used to build a source directory.  It cannot be used to build
source directory

  custom/FOO

Specify a unique binary directory name.
```

Removing duplicates from the list allows a user to use
`-DZEPHYR_EXTRA_MODULES=custom/FOO` and thus replace `modules/FOO` for
the current build.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2021-02-03 16:58:28 -05:00
Carles Cufi
8ea91311fa doc: gsg: Update Homebrew installation for macOS
Homebrew now uses bash instead of Ruby to install itself. Use the
recommended command instead of the old one.

Fixes #30037.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2021-02-03 11:06:33 -05:00
Anas Nashif
2e9e241f29 ci: add action to create release
Action to create release when tag is pushed. This will additionally
create an SPDX file and the changelog since the last tag.

The release is created as a draft and will have to be modified by the
release engineer and published when ready.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-02-03 09:55:18 -06:00
Carles Cufi
cf946d3365 doc: extensions: Fix generator being ignored in west
The generator option was being ignored in the west build instructions.
Include it now for the case of Makefiles, since west defaults to ninja
on all platforms.

Fixes #29790.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2021-02-03 09:46:13 -05:00
Maureen Helm
3b4d2fcab9 doc: Add inclusive language coding guideline
Adds a new inclusive language coding guideline that prohibits
introducing new usage of offensive terms like master/slave and
blacklist/whitelist.

Adds a skeleton table that documents existing usage of offensive terms
and conversion status in affected subsystems. This table is incomplete
and needs to be filled in by subsystem maintainers.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2021-02-02 22:53:54 -05:00
Ioannis Glaropoulos
7471729273 doc: release notes: a note for changing the default FP mode in ARM
Adding a note in the v2.5.0 release notes to reflect
that we have changed the default FP services mode from
unshared to shared, for ARM Cortex-M.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2021-02-02 17:58:58 -05:00
Ioannis Glaropoulos
099e9216d4 arm: cortex_m: update docs to reflect the lazy stacking functionality
Update the documentation for Lazy Stacking in Cortex-M, to
reflect the functionality changes (activate the lazy stacking
dynamically when building with MPU stack guards).

Make a note that the FP sharing mode is now default in Cortex-M.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2021-02-02 17:58:58 -05:00
Torsten Rasmussen
562717422d doc: dts: improve the DTS overlay file description for board revisions
Improve the DTS overlay description by adding information that a
`boards/<BOARD>_<REVISION>.overlay` will be merged with
`boards/<BOARD>.overlay` if both files exists.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2021-02-02 14:02:13 -05:00
Lauren Murphy
d922fed7f7 doc: Fix sys_mutex and futex missing documentation
Adds API reference for sys_mutex and futex to mutex documentation,
adds Doxygen documentation for SYS_MUTEX_DEFINE and fixes typo in
futex documentation.

Fixes #27829

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2021-02-02 14:01:57 -05:00
Erwan Gouriou
e36aece07e doc: release-notes-2.5: Shields Additions
Add mention for Sharp generic shield addition.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-02-02 12:30:08 -05:00
Erwan Gouriou
5be45d827d doc: release-notes-2.5: STM32 Additions
STM32 additions for V2.5.0 release.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-02-02 12:30:08 -05:00
Peter Bigot
067530e453 doc: kernel: add sleep as a defined term
The scheduler documentation was updated before to define a reschedule
point, but the related term sleep was not clearly described.  Add a
definition, and link to it from the API terminology.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-02-02 12:05:29 -05:00
Joakim Andersson
b20b5c0d44 Bluetooth: host: Deprecate the bt_set_id_addr API function
Deprecate the bt_set_id_addr API function. This is merely a wrapper
for the bt_id_create function now, except an IRK cannot be given.
When CONFIG_BT_PRIVACY is enabled an IRK has to be given by the
application because the bt_rand function cannot be called before
bt_enable.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2021-02-02 08:46:17 -05:00
Dominik Ermel
c8d1c3ba2c doc: releasenotes 2.5: Add notes on addition fs_file_t_init
The commit adds notes on addition on fs_file_t_init function and its
impact on File system API.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2021-02-02 07:36:44 -05:00
Henrik Brix Andersen
e9f386a62c doc: releases: 2.5: add EEPROM release notes for v2.5
Add EEPROM release notes for v2.5.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2021-02-02 07:17:49 -05:00
Peter Bigot
d91fd612a1 doc: release: 2.5: document deprecated littlefs Kconfig options
Note that Kconfig options related to the filecache memory pool have been
deprecated and replaced by a Kconfig option for configuring the
filecache heap size.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-02-02 07:15:17 -05:00
Peter Bigot
1ee82a1c9b doc: release: 2.5: note build-time resolution of device pointers
Document the existence of new API to retrieve device pointers at build
time.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-02-01 22:10:51 -05:00
Andy Ross
eb52f98305 release-notes-2.5: Note k_mem_pool removal
This is a removed API, should be called out here.  Also include a
behavioral note, as I don't think we did in release notes this when
k_heap was introduced.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2021-02-01 21:41:19 -05:00
Alexander Wachter
681173c9ed doc: releasenotes 2.5: Add CAN driver release notes
This commit adds the release notes for the 2.5 releas for
the CAN driver.

Signed-off-by: Alexander Wachter <alexander@wachter.cloud>
2021-01-31 10:21:15 -05:00
Joakim Andersson
c14da53772 Bluetooth: host: Remove the deprecated bt_conn_create_slave_le function
Remove the deprecated bt_conn_create_slave_le function.
This was deprecated in the 2.3.0 release.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2021-01-29 12:53:10 -05:00
Joakim Andersson
016b580beb Bluetooth: host: remove deprecated bt_conn_security function
Remove the deprecated bt_conn_security function.
This has been deprecated in the 2.3.0 release.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2021-01-29 12:53:10 -05:00
Joakim Andersson
58e4263efb Bluetooth: host: Remove deprecated connection create API functions.
Remove the deprecated connection create API functions.
These have been deprecated in the 2.3.0 release.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2021-01-29 12:53:10 -05:00
Joakim Andersson
6485a660fe Bluetooth: host: Remove the deprecated Advertising Types definitions
Remove the deprecated Advertising Types definitions.
These have been deprecated in the 2.3.0 release.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2021-01-29 12:53:10 -05:00
Joakim Andersson
5f2a9ba8e4 Bluetooth: host: Remove deprecated security defines
Remove the deprecated security level define and the HCI error
code for authentication failure.
These have been deprecated since the 2.0.0 release.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2021-01-29 12:53:10 -05:00
Joakim Andersson
a0d62f03a0 Bluetooth: host: Remove deprecated scan filter duplicate params
Remove the deprecated scan filter duplicate enum values and parameter.
This was deprecated for the 2.3.0 release.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2021-01-29 12:53:10 -05:00
Peter Bigot
dfd8e7522d doc: release: 2.5: add regulators API
Document the existence of the new API that allows constrol of power
management infrastructure, and support for associating power management
dependencies in devicetree.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-01-28 17:46:15 -05:00
Martí Bolívar
ac9fde5be6 doc: west reserves refs/west/
These Git refs are used by west as a scratch space. Let that be known,
but don't make any other guarantees.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-01-28 08:23:52 -05:00
Martí Bolívar
ed4d218abe doc: west: release notes for 0.9.0
The main new features are submodule support and project groups.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-01-28 08:23:52 -05:00
Martí Bolívar
fbcdb7e554 doc: west: API changes for 0.9.0
These are minimal.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-01-28 08:23:52 -05:00
Martí Bolívar
43a7f71332 doc: west: update schema version
West 0.9 has a new schema version; document it and fix a missed update
from 0.8. Whoops.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-01-28 08:23:52 -05:00
Martí Bolívar
8725ba8ae3 doc: west: add submodules
West 0.9, now with submodules!

This is a new feature which allows you to incorporate a project's Git
submodules into the workspace.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-01-28 08:23:52 -05:00
Martí Bolívar
a4bb1faec5 doc: west: add project groups
This is a new feature that allows you to associate projects with
groups, then force west to ignore a subset of the projects list by
disabling project groups. This can be selectively overridden via
configuration file to make west stop ignoring the projects within an
individual workspace.

An example use case is to define a project whose Git repository
requires credentials to pull. Putting such a project in a group named
"foo" and disabling group "foo" would make "west update" ignore the
project unless the user specifically configures the workspace to allow
"foo". After that, "west update" will pull the project as usual.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-01-28 08:23:52 -05:00
Martí Bolívar
560f685213 doc: west has moved to allowlist/blocklist
The west manifest import feature now uses the terms "allowlist" and
"blocklist" instead of "whitelist" and "blacklist", respectively.

The old terms are still supported by the tool for compatibility, but
the docs for this feature are going to use the new terms exclusively.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-01-28 08:23:52 -05:00
Martí Bolívar
3262b09b05 doc: re-work west update to prep for new features
The west update docs mix together the steps for updating a project
with the set of projects that are being updated. This is inconvenient
now that west 0.9 has a concept of inactive projects.

Split the content into a part that describes *which* projects are
updated, and a separate part that describes how *each* project is
updated.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-01-28 08:23:52 -05:00
Martí Bolívar
04f8bb7e78 doc: west: add manifest.file config option
I never added documentation for this option; whoops.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-01-28 08:23:52 -05:00
Martí Bolívar
7fe7695d01 doc: west update can create loose commits
Try to spell out the implications of that a bit more clearly.

Suggested-by: Marc Herbert <marc.herbert@intel.com>
Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-01-28 08:23:52 -05:00
Flavio Ceolin
e58024b45a doc: scheduling: Remove ambiguous sentence
The documentation example was giving the impression that time slices are
not reset when a thread is scheduled.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-01-27 16:55:58 -05:00
Andrzej Puzdrowski
830eb58290 manifest: fix MCUboot build after #31404
MCUboot version with bugfix for following issue:
CONFIG_LOG_MINIMAL was replaced by
CONFIG_LOG_MODE_MINIMAL by
zephyrproject-rtos/zephyr#31404 which
broke MCUboot default build.

fixes #31640

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2021-01-27 13:35:13 -05:00
Peter Bigot
8528e45897 lib: cbprintf: add libc f/printf substitutes
This allows applications that may not use minimal libc avoid the cost
of a second printf-like formatting infrastructure by using printfcb()
instead of printf() for output.  It also helps make sure that the
formatting support (e.g. floats) is consistent between user-directed
output and the logging infrastructure.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-01-27 13:34:06 -05:00
Peter Bigot
8f682bf9ef doc: fix sorting of predefined
Put the PM-related defines together, in the correct position.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-01-27 13:34:06 -05:00
Eugeniy Paltsev
664a7894a8 doc: ARC: add info page with Zephyr support status on ARC
As of today, Zephyr misses any kind of info page with overall
support status of ARC processors, their HW features and SW tools.

Fix that.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
2021-01-27 11:45:24 -05:00
Carles Cufi
520154dbd0 doc: west: Fix config overrides
Fix the documentation of the usage of --*-file, which were renamed from
--kernel-*.

Fixes #31630.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2021-01-26 16:23:37 -05:00
Gerson Fernando Budke
a274eb17bf doc: release: 2.5: Add note about west bossac runner
Add release note about improvements in west bossac runner.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-01-26 19:00:29 +01:00
Gerson Fernando Budke
ee4d75203b doc: release: 2.5: Add note about TagoIO network cloud sample
Add 2.5.0 release note about TagoIO IoT Cloud sample.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-01-26 19:00:29 +01:00
Gerson Fernando Budke
f449481e87 doc: release: 2.5: Add notes about Atmel related changes
Adds 2.5.0 release notes for Atmel boards and drivers.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-01-26 19:00:29 +01:00
Gerson Fernando Budke
a1663fe041 doc: release: 2.5: Add notes about Inventek es-WIFI changes
Adds 2.5.0 release notes for Inventek es-WIFI driver.

Signed-off-by: Gerson Fernando Budke <gerson.budke@atl-electronics.com>
2021-01-26 19:00:29 +01:00
Gerson Fernando Budke
1a83f4836d doc: release: 2.5: Add notes about Cypress related changes
Adds 2.5.0 release notes for Cypress SoCs, boards, and drivers.

Signed-off-by: Gerson Fernando Budke <gerson.budke@atl-electronics.com>
2021-01-26 19:00:29 +01:00
Gerson Fernando Budke
61b0801b18 doc: release: 2.5: Add release notes about UpdateHub changes
Add release notes related to improvements made in UpdateHub sample.

Signed-off-by: Gerson Fernando Budke <gerson.budke@ossystems.com.br>
2021-01-26 19:00:29 +01:00
Hubert Miś
0475cd0eae net: coap: Allow encoding packets using data from constant buffers
Token and payload are appended from data buffers to a CoAP packet
being encoded. Keyword const was missing for parameters in functions
appending these parts to a packet.

Now token and paylod can be copied to CoAP packet from constant
buffers, that can be stored in ROM.

Signed-off-by: Hubert Miś <hubert.mis@nordicsemi.no>
2021-01-26 06:17:41 -05:00
Krzysztof Chruscinski
7f08061f0c logging: Revamp menuconfig
Clean up logging menuconfig by grouping configuration into
sections like: mode, processing configuration, backends.

Additionlly, removed LOG_ENABLE_FANCY_OUTPUT_FORMATTING which is no
longer in use.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-01-26 06:15:42 -05:00
Kumar Gala
536be8f005 sdk: Move to SDK 0.12.2
Update ci and docs to reference SDK 0.12.2

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-01-25 12:30:49 -05:00
Peter Bigot
affa7a1c7e Revert "device: add post-process of elf file to manage device handles"
This reverts commit 40d3653758.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-01-23 18:01:03 -05:00
Torsten Rasmussen
11016415dd doc: supporting module Kconfig code in module ext root
Fixes: #31486

Sourcing `cmake/extensions.cmake` to have Zephyr functions available
when including Zephyr CMake files into doc build system.

This is a follow up on #30904 by supporting generated Kconfig files
that might contain lines as `osource "$(ZEPHYR_<MODULE_NAME>_KCONFIG)"`
to be properly parsed for doc building.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2021-01-22 15:22:32 -05:00
Flavio Ceolin
321ce7fb77 power: Use substate-id in pm subsystem
Change subsystem to use struct pm_state with substate-id instead of
using only the power state category.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-01-22 09:31:20 -05:00
Flavio Ceolin
d21cfd5f36 power: Remove power management conditionals from code
Remove conditionals (PM_DEEP_SLEEP_STATES and PM_SLEEP_STATES) from
power management code. Now these features are always available when
power management is enabled.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-01-22 09:31:20 -05:00
Flavio Ceolin
579f7049c7 power: Move pm subsystem to new power states
Migrate the whole pm subsystem to use new power states information
from power_state.h and get states and residency properties from
device tree.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-01-22 09:31:20 -05:00
Daniel Leung
d3218ca515 debug: coredump: remove z_ prefix for stuff used outside subsys
This removes the z_ prefix those (functions, enums, etc.) that
are being used outside the coredump subsys. This aligns better
with the naming convention.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-01-21 22:08:59 -05:00
Martí Bolívar
e8f12344b0 doc: dts: improve 'get zephyr.dts' HOWTO
Tweak the language to try to be more clear in the HOWTO entry for
looking at a board's devicetree.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-01-21 17:21:13 -05:00
Flavio Ceolin
c2b2462e70 doc: build: Change a header position
The pre-build header was after its introduction paragraph.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-01-21 17:20:15 -05:00
Flavio Ceolin
2185c5b399 doc: build: Missing italic
Just using italic when referencing a script. Following this
documentation pattern.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-01-21 17:20:15 -05:00
Andy Ross
8ccd506966 doc: Clean up docs on thread termination behavior
Discussion about how to re-spawn threads led to the discovery that our
documentation on exactly when that was legal was ambiguous and
confusing.  Rewrite it to be explicit.

Fixes #28970

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2021-01-21 16:48:01 -05:00
Rubin Gerritsen
76c5707639 bluetooth: controller: Disable Coded PHY by default.
Coded PHY is only enabled by default if the application is using
BT_HCI_RAW.

Coded PHY is not needed in most applications.
By disabling Coded PHY, most applications will:

* Get smaller in terms of flash and ram usage
* Not get vurnerable to devices trying to switch to Coded and
  thereby increasing power consumption.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2021-01-21 15:57:48 -05:00
Peter Bigot
40d3653758 device: add post-process of elf file to manage device handles
Following the idiom used for system calls, add script support to read
the initial application binary to identify which devices are defined,
and to use their offset in the device array as their unique handle
rather than the externally-defined ordinal from devicetree.  The
device dependency arrays are updated to use these handles.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-01-21 14:49:04 -06:00
Andrei Emeltchenko
e18379c474 edac: doc: Include EDAC API to Zephyr API Reference
Include EDAC API to generated Zephyr API Reference.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2021-01-21 08:34:07 -05:00
Dawid Niedzwiecki
d1948dc164 emul: espi: Add support for eSPI emulators
Add an emulation controller which routes eSPI traffic to attached
emulators depending on the selected chip(mostly host).
This allows drivers for eSPI peripherals to be tested on systems
that don't have that peripheral attached, with the emulator handling
the eSPI traffic.

Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com>
2021-01-20 17:49:19 -05:00
Anas Nashif
13fdb9e73d doc: update docs with 0.12.1 SDK
Update documentation with new SDK version.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-01-20 16:45:31 -05:00
Peter Bigot
7b3dc4856a doc: add a section for timeutil APIs
Describe the role of these APIs, key concepts that they depend on, and
expose the low-level API.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-01-20 16:38:56 -05:00
Anas Nashif
c92ad609b3 MAINTAINERS: update guidelines
Update guidelines regarding updates to maintainers in the MAINTAINER
file.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-01-20 12:21:42 -05:00
Anas Nashif
ccb236f177 MAINTAINERS: replace CODEOWNERS
The Maintairs file will be used to replace the code owners file and will
be used to add reviewers (collaborators + maintainers of affected
areas).

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-01-20 12:21:42 -05:00
Andrzej Puzdrowski
2931caac7c doc/release-note: mcuboot bootutil_public library record
Added note on MCUBoot's bootutil_public library
introduction.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2021-01-20 14:49:44 +01:00
Torsten Rasmussen
3d88083bf1 cmake: zephyr modules: sanitize all module name when used as variable
The introduction of Zephyr module glue code in the Zephyr repository
introduces a Kconfig variable in the form of:
`config ZEPHYR_<MODULE_NAME>_MODULE`.

All Kconfig variables go into `autoconf.h`, therefore it is necessary
to sanitize the Kconfig variable, so that it does not contain special
characters. To ensure consistent variable name, then the module name
will be sanitized in all variable use in both Kconfig and CMake.
The sanitization is done be replacing all special characters with an
underscore, `_`.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2021-01-20 12:59:19 +01:00
Martí Bolívar
8fef65392d devicetree: add DT_SAME_NODE()
It can be useful to check if an unknown devicetree node identifier
refers to a known node. Add a helper for this. Under the hood, we take
advantage of the ordinals API, which provides the unique identifiers
we need.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-01-19 16:06:55 -05:00
Anas Nashif
f862972f35 doc: add documentation for condition variables
Add documentation for condition variables in the synchronization section
of the kernel.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-01-19 08:55:47 -05:00
Alexander Wachter
f0145f9f3e doc: CAN: Fix code in CAN API documentation
Fix code sections in the doc.

Signed-off-by: Alexander Wachter <alexander@wachter.cloud>
2021-01-18 23:26:30 -05:00
Alexander Wachter
c8cbf0177a doc: can_api: Update the CAN documentation after API update
This commit is the documentation update after the API rework.

Signed-off-by: Alexander Wachter <alexander@wachter.cloud>
2021-01-18 23:26:30 -05:00
Robert Lubos
538e19ee2e net: coap: Rework pending retransmission logic
Introduce retransmission counter to the coap_pending structure. This
allows to simplify the retransmission logic and allows to keep track of
the number of remaining retranmissions.

Additionally, extend the `coap_pending_init()` function with `retries`
parameter, which allows to set the retransmission count individually for
each confirmable transaction.

Fixes #28117

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2021-01-18 23:22:37 -05:00
Dominik Ermel
6c60414059 mgmt: mcumgr: Add support for enabling Direct-XIP app address check
The commit adds Kconfig option:
  CONFIG_IMG_MGMT_REJECT_DIRECT_XIP_MISMATCHED_SLOT
that enables verification of base address Direct-XIP binary, upon
upload, and rejects binaries that would not be able to start from
available address.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2021-01-18 16:59:29 -05:00
Peter Bigot
3e46ae1acb drivers: flash: nrf_qspi: rework handling of quad-enable bit
Kconfig allowed selecting any bit in the status register as the QE
bit, and defaulted it to 6.  Devices need not require a QE bit at all,
and where JESD216 defines QE bit location the only place in first SR
byte that it can be is bit 6.  Further, the code unconditionally wrote
the value 0x40 without respecting configuration of other bits.  Some
of those bits control write protection of block-protected areas and
should not be changed.

Remove the Kconfig, instead using the jedec,jesd216-controlled
devicetree property.  Allow the driver to recognize whether or not
setting the bit is required, and when it is only use bit 6.  Only
update if the setting does not match the configuration.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-01-18 16:58:09 -05:00
Torsten Rasmussen
2a9d803a98 doc: documenting the depends feature in Zephyr modules
Fixes: #29549

This commit documents the Zephyr module `depends` feature.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2021-01-18 21:53:20 +01:00
Torsten Rasmussen
3b57841497 doc: Zephyr modules naming
Adding documentation regarding how Zephyr modules are named.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2021-01-18 21:53:20 +01:00
Torsten Rasmussen
dc2c3ea4dd doc: documenting module_ext_root feature
This commits adds documentation on the Zephyr module ext root feature.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2021-01-18 18:02:46 +01:00
Martí Bolívar
9633d2ac61 doc: dts: add link from bindings guide to bindings index
We recently added a generated devicetree bindings index. Link to it
from the bindings page in the Guides section of the documentation so
it's easier for beginners to find.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-01-16 07:59:27 -06:00
Martí Bolívar
00ffc7e7b7 devicetree: add DT_NODE_PATH()
This macro returns a node's full path, given its node identifier.

The entire path to a node is useful information for the user which can
be added to build-time error messages.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-01-16 07:59:27 -06:00
Nicolas Pitre
7a22a4bdf6 heap: clean up some size related issues
First, the maximum heap size must fit in 31 bits worth of chunks
because the internal 32-bit field holding the size is shared with
the `used` bit.

Then the mention of a 256-byte block in the doc is no longer
relevant. That pertained to the previous allocator implementation.

And ditto for the HEAP_MEM_POOL_MIN_SIZE kconfig option.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2021-01-15 12:08:20 -05:00
Erwan Gouriou
b711028539 scripts/Kconfig: Add dt_node_has_prop Kconfig function
Add dt_node_has_prop function to query the presence of 'prop'
for given node label.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-01-15 10:29:30 -05:00
Peter Bigot
2b7a27e314 doc: clarify api design guidelines for optional API
There has been discussion about whether invocations of optional API
that has been disabled should:

1. result in a link-time error because the API implementation is not
provided; or

2. result in a run-time error by having a trivial implementation that
returns -ENOTSUP.

Clarify that the intent of the guideline is that a link-time error
should be produced.  The rationale is that it is too easy to disable
the option at build time, and not discover it because the application
fails to check for a `-ENOTSUP` return.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-01-15 09:50:40 -05:00
Maureen Helm
f63385204c linker: arm: Add cortex_m itcm section
Adds a linker section for Cortex-M instruction tightly coupled memory
(ITCM), similar to the existing section for DTCM. A new executable MPU
region is not added as there isn't currently a need to make this section
accessible to user mode. This section can be enabled by setting a device
tree chosen node zephyr,itcm.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2021-01-15 14:51:20 +01:00
Andy Ross
e956639dd6 kernel: Remove CONFIG_LEGACY_TIMEOUT_API
This was a fallback for an API change several versions ago.  It's time
for it to go.

Fixes: #30893

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2021-01-14 21:33:16 -05:00
Marc Herbert
d7ac0e08fc doc: west: add note about west update --keep-descendants option
The previous and short description wasn't enough for me to understand
the interesting trade-off of --keep-descendants, thanks to
@mbolivar-nordic for clarifying this on Slack.

For reference this option was added in west commit 11b8588303 part of
https://github.com/zephyrproject-rtos/west/pull/165/

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-01-14 16:24:53 -06:00
Henrik Brix Andersen
94ae6fcb9b manifest: update mcuboot
Synchronized up to:
e512181609

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2021-01-14 16:54:20 +01:00
Torsten Rasmussen
81746d1893 doc: Application <BOARD>_<revision>.overlay description
This commit is a follow-up to #29990 with added board adjustment files
for shields and DTS overlay description.

It adds `boards/<BOARD>_<revision>.overlay` and
`boards/<BOARD>_<revision>.conf` to the list of files containing board
specific adjustments.
It also adds `<BOARD>.conf` to the documentation, as this has always
been supported but not described in shield docs.

It documents the possibility of using
`boards/<BOARD>_<revision>.overlay` files for DTS adjustments to
specific board revisions.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2021-01-14 08:09:34 -06:00
Henrik Brix Andersen
77b8440fd1 drivers: pwm: add API for capturing pwm pulse width and period
Extend the PWM API with optional API functions for capturing PWM pulse
width and period cycles.

Fixes #26026.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2021-01-12 19:43:06 +01:00
Peter Bigot
92324d9a4d doc: dts: update howtos with new API
Document the use of DEVICE_DT_GET() to fetch device pointers at
compile time, and update the documentation on defining device
instances to use the devicetree macros.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-01-12 12:19:15 -06:00
Kumar Gala
86e98f0894 device: deprecate DEVICE_AND_API_INIT
Make DEVICE_AND_API_INIT deprecated in favor of DEVICE_DT_INST_DEFINE
or DEVICE_DEFINE.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-01-12 08:31:12 -06:00
Flavio Ceolin
ff0c1a48d2 doc: build: Add missing script info
gen_app_partitions.py was missing.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-01-10 15:36:57 -05:00
Krzysztof Chruscinski
712ff3298b doc: kernel: other: ring_buffers: Add Kconfig option description
Added section with configuration options.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-01-07 16:54:59 -05:00
Martí Bolívar
7097e1785d doc: improve west's repo-tool.rst
Various improvements to the west repo-tool.rst page and pages that
link to it:

Rename the page title to "Basics", since it documents, well the
basics, including built-in commands like "help" an "config" that are
not directly related to multiple repositories.

The "multi-repo" term was invented before we started using
"workspace". Drop it from the text and rework things using words like
"workspace", "basics", or "built-ins" instead, which read better.

We've been using west for a long enough time that justifying its
existence prominently at the start of this page is no longer
necessary; move that to the "dustbin of history" page (why.rst).

Try harder to clarify exactly what a "project" is, along with other
workspace related clarifications.

Improve the documentation for the west init and west update commands,
and create :ref: targets for linking directly to them for convenience
elsewhere in the docs.

Slim down the usages for other built-in commands, so we don't have to
keep those up to date as carefully each release. This is about to be
important for west 0.9, which is going to change the detailed
semantics for the "[PROJECT ...]" part of each command synopsis in a
way that will be inconvenient to duplicate for each of these.

Move the "Topologies supported" content lower down. Try to help the
reading flow by letting people get familiar with a workspace and what
you can do with it using the Zephyr GSG workspace that they probably
already have before overwhelming them with other possibilities and
choices.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-01-07 17:16:35 +01:00
Peter Bigot
acd43cbaac net: timeout: refactor to fix multiple problems
The net_timeout structure is documented to exist because of behavior
that is no longer true, i.e. that `k_delayed_work_submit()` supports
only delays up to INT32_MAX milliseconds.  Nonetheless, use of 32-bit
timestamps within the work handlers mean the restriction is still
present.

This infrastructure is currently used for two timers with long
durations:
* address for IPv6 addresses
* prefix for IPv6 prefixes

The handling of rollover was subtly different between these: address
wraps reset the start time while prefix wraps did not.

The calculation of remaining time in ipv6_nbr was incorrect when the
original requested time in seconds was a multiple of
NET_TIMEOUT_MAX_VALUE: the remainder value would be zero while the
wrap counter was positive, causing the calculation to indicate no time
remained.

The maximum value was set to allow a 100 ms latency between elapse of
the deadline and assessment of a given timer, but detection of
rollover assumed that the captured time in the work handler was
precisely the expected deadline, which is unlikely to be true.  Use of
the shared system work queue also risks observed latency exceeding 100
ms.  These calculations could produce delays to next event that
exceeded the maximum delay, which introduced special cases.

Refactor so all operations that use this structure are encapsulated
into API that is documented and has a full-coverage unit test.  Switch
to the standard mechanism of detecting completed deadlines by
calculating the signed difference between the deadline and the current
time, which eliminates some special cases.

Uniformly rely on the scanning the set of timers to determine the next
deadline, rather than assuming that the most recent update is always
next.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-01-07 11:14:38 +02:00