Commit Graph

2953 Commits

Author SHA1 Message Date
Daniel Schaupp
d04c328d69 doc: getting_started: updated reel board blinky gif
Fixes: #28095

Signed-off-by: Daniel Schaupp <daniel.schaupp@online.de>
2020-09-14 16:13:58 +02:00
Krzysztof Chruscinski
dbf0c9507f doc: releases: Update release notes for 2.4 with shell changes
Added note about fixed/changed behavior when too many arguments are
provided.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2020-09-14 16:05:11 +02:00
Torsten Rasmussen
fb16a3deb0 cmake: ensure consistent behavior between x_ROOT settings
Fixes: #23825

Today, BOARD, SOC, ARCH, DTS, KCONFIG, and TOOLCHAIN_ROOT can be
specified by users or through other CMake files.

It is not clear if relative paths are permitted and/or from where a
relative path is constructed.

Inside CMake, it is very easy to specify `${ZEPHYR_BASE}`,
`${CMAKE_CURRENT_SOURCE_DIR}`, or similar, thus there is no reason to
use relative path inside CMake, as it easy can lead to discussion on
relative to what.

For users manually invoking CMake using, `cmake ... <app-dir>` it is
nice to have to possibility to specify a relative path.
For this purpose, relative path are considered relative to the
`APPLICATION_SOURCE_DIR`.

This commit updates:
- BOARD_ROOT
- SOC_ROOT
- ARCH_ROOT
- DTS_ROOT
- KCONFIG_ROOT
- TOOLCHAIN_ROOT

to allow paths relative to `APPLICATION_SOURCE_DIR` when specified with
`-D<type>_ROOT=<relative-path>`

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-09-10 21:30:24 +02:00
Peter Bigot
87fdee2920 doc: release: 2.4: summarize I2C changes
One new driver, one new capability.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-09-09 11:48:00 -05:00
Peter Bigot
6dde16d9f8 doc: release: 2.4: note behavior change in device_get_binding
Document that some initialization orders that used to work (and
shouldn't have) will no longer work.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-09-09 13:06:34 +02:00
Jukka Rissanen
8c3efc7be5 doc: net: Add networking changes to 2.4 release note
Initial set of networking related changes in 2.4 release.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-09-08 11:47:58 +02:00
Ioannis Glaropoulos
2e87e33dd1 doc: release: v2.4.0 release notes draft for Cortex-A
Initial draft of release notes for AARCH64 (Cortex-A)
for the Zephyr v2.4.0 release.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-09-07 17:04:10 +02:00
Ioannis Glaropoulos
d378a1b0e6 doc: release: v2.4.0 release notes draft for Cortex-M
Initial draft for Release notes for ARM (Cortex-M)
for the Zephyr v2.4.0 release.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-09-07 17:04:10 +02:00
Anas Nashif
01bcd0d7e5 doc: remove benchmarking section from docs
This section does not exist anymore.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-09-05 13:28:38 -05:00
Anas Nashif
6e27478c3d benchmarking: remove execution benchmarking code
This code had one purpose only, feed timing information into a test and
was not used by anything else. The custom trace points unfortunatly were
not accurate and this test was delivering informatin that conflicted
with other tests we have due to placement of such trace points in the
architecture and kernel code.

For such measurements we are planning to use the tracing functionality
in a special mode that would be used for metrics without polluting the
architecture and kernel code with additional tracing and timing code.

Furthermore, much of the assembly code used had issues.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2020-09-05 13:28:38 -05:00
Henrik Brix Andersen
2f95794b29 doc: releases: 2.4: add EEPROM release notes for v2.4
Add EEPROM release notes for v2.4.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2020-09-05 10:26:58 -05:00
Luiz Augusto von Dentz
5c4bde55d0 Bluetooth: GATT: Rework bt_gatt_attr_func_t
Make it actually give the original pointer to the attribute and its
resolved handle so static attributes don't need an extra lookup.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2020-09-05 11:06:21 +02:00
Torsten Rasmussen
212c336400 cmake: extend support for conf file and board overlays
Fixes: #27934

This commit introduces additional naming support of config files.

It is now possible to create a config file of the form
`prj_<build>.conf` and automatically have a corresponding
`boards/<BOARD>_<build>.conf` config file merged.

As example, one can create a structure as:
|-- prj.conf
|-- prj_debug.conf
|-- boards
      |-- nrf52840dk_nrf52840.conf
      |-- nrf52840dk_nrf52840_debug.conf

when building: (existing behavior)
cmake -DBOARD=nrf52840dk_nrf52840 ...
prj.conf is merged with nrf52840dk_nrf52840.conf

when building: (new behavior)
cmake -DBOARD=nrf52840dk_nrf52840 -DCONF_FILE=prj_debug.conf ...
prj_debug.conf is merged with nrf52840dk_nrf52840_debug.conf

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-09-04 17:52:27 +02:00
Emil Gydesen
05b0ba01d6 doc: Add HRS/DIS/BAS API change entry in 2.4 release-notes
Adds the API and Kconfig change to the release notes for 2.4.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2020-09-04 15:38:44 +02:00
Peter Bigot
13576962b8 doc: guides: dts: document inferred bindings for /zephyr,user
Identify the special case of /zephyr,user as a node for which property
values are generated without having to define a binding.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-09-04 07:41:19 -05:00
Emil Obalski
0d8bd579a5 usb: hid: All hid_ops callbacks get device pointer.
This commit extends USB hid API callbacks by adding
'const struct device *dev' parameter. If the application
configured more than one HID device then it must specify
separate hid_ops for each device as its unable to determine
for which device the callback was called.

This patch makes it possible to have only one hid_ops within
the application and the application is aware for which device
the callback was called because of explicit device pointer.

Signed-off-by: Emil Obalski <emil.obalski@nordicsemi.no>
2020-09-04 12:27:44 +02:00
YanBiao Hao
e877ee6088 Bluetooth: Mesh: Adds three Config Client API.
Those APIs are used for deleting appkey, unbinding an application
from SIG model, unbinding an application from vendor model on the
target node, with matching shell command.

Signed-off-by: YanBiao Hao <haoyanbiao@126.com>
2020-09-04 11:47:52 +02:00
Martí Bolívar
c4deb9ebde doc: west: update west sign documentation
Update the documentation to reflect the easier flow.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-09-03 16:49:09 -05:00
Trond Einar Snekvik
3004975765 Bluetooth: Mesh: Fix Health model shell doc
The Health models' shell documentation was mistakenly labeled Heartbeat
Client and Heartbeat Server, and the Heartbeat configuration commands
were mistakenly categorized under these sections.

Signed-off-by: Trond Einar Snekvik <Trond.Einar.Snekvik@nordicsemi.no>
2020-09-03 21:50:41 +02:00
Peter A. Bigot
d0d3c4a3a7 fs: allow external file system implementations
The documentation claims that Zephyr supports external file system
implementations, and there's no reason not to do so.  Rework the API
to allow this.

Note that the file system type cannot legally be an enum anymore,
since we need to support file system types that don't have an
identifier assigned in that enum.  Rely on the implicit conversion of
enum values to int to preserve backwards compatibility.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2020-09-03 21:49:34 +02:00
Peter A. Bigot
353336d632 fs: make file system description const
There's no reason the table of pointers to file system functions needs
to be mutable at runtime.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2020-09-03 21:49:34 +02:00
Peter A. Bigot
0950b2549e dts: support specifying preprocessor flags for devicetree
In some cases it is useful to use the C preprocessor to control the
content of a devicetree file.  A specific use case is in testing,
where different combinations of node properties must be checked.
Provide a mechanism to allow arbitrary preprocessor flags to be passed
through CMake to affect the devicetree content.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2020-09-03 14:02:36 -05:00
Peter A. Bigot
b7ce0a2c90 doc: fix capitalization of devicetree
The capitalized spelling is Devicetree, not DeviceTree.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2020-09-03 14:02:36 -05:00
Flavio Ceolin
49f7e2411e doc: debugging: Add information about gdbstub
An overview about gdbstub and available features.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2020-09-02 20:54:57 -04:00
Tomasz Bursztyka
dcf89f4990 doc: Add a device qualifier change entry to release-notes for 2.4 version
Documenting the change.

Fixes #27399

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-09-02 13:48:13 +02:00
Tomasz Bursztyka
c0bcfd2a77 doc: Apply constant qualifier on device instance where relevant
s/struct device */const struct device *

Fixes #27399

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-09-02 13:48:13 +02:00
Tomasz Bursztyka
e18fcbba5a device: Const-ify all device driver instance pointers
Now that device_api attribute is unmodified at runtime, as well as all
the other attributes, it is possible to switch all device driver
instance to be constant.

A coccinelle rule is used for this:

@r_const_dev_1
  disable optional_qualifier
@
@@
-struct device *
+const struct device *

@r_const_dev_2
 disable optional_qualifier
@
@@
-struct device * const
+const struct device *

Fixes #27399

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-09-02 13:48:13 +02:00
Trond Einar Snekvik
18ace841d8 Bluetooth: Mesh: Config client net_key_del
Adds a Config Client API for deleting netkeys on the target node, with
matching shell command.

Signed-off-by: Trond Einar Snekvik <Trond.Einar.Snekvik@nordicsemi.no>
2020-09-01 14:49:20 +03:00
Henrik Brix Andersen
d92b199173 doc: update list of architectures in introduction
List ARMv6-M (Cortex-M) as a supported architecture.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2020-08-31 17:37:25 -04:00
Fabio Utzig
92431e2bae doc: fix :c:macro: usage
Remove parameters in :c:macro: usage because it's invalid syntax.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Fabio Utzig
e73d3c82d8 doc: update :cpp:var: to :c:member:
Update references to struct members to use :c:member:

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Fabio Utzig
4c2f0605da doc: fix invalid usage of function to :c:macro:
Some macros were using :c:func: and :cpp:func: which forbids Breathe
from resolving those symbols. Update to :c:macro: for proper resolution.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Fabio Utzig
43133c96f4 doc: update union reference to to :c:union
Update union reference from generic :c:type: to :c:union:.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Fabio Utzig
ce12936ce1 doc: update enumerator usage to :c:enumerator:
Following the change to use the C domain for parsing, update all
existing :cpp:enumerator: references to :c:enumerator:.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Fabio Utzig
bb93b337f9 doc: update enum usage to use :c:enum:
Update enum reference usage to use C domain.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Fabio Utzig
1622b3e66b doc: do not use :c:macro: for NULL
`NULL` is not defined in the Zephyr sources, but rather a C definition
which is not resolved when building the documentation and generates a
warning. Fall back to using just emphasis.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Fabio Utzig
f635217f35 doc: add :c:macro to some symbols
Fix some C macros that are currently just emphasized in the
documentation with proper symbol resulition using :c:macro:

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Fabio Utzig
c79d2ce794 doc: update struct references to use :c:struct:
Sphinx>=3.0 includes the `struct` role in the C domain, which provides a
specific way to link to structs, while the old :c:type: role should be
primary used to typedefs. Update existing references, using :c:type:,
:cpp:type: or emphasized symbols that point to structs to use the new
role.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Fabio Utzig
53fd5ff236 doc: update function references to use :c:func:
Following the change to use the C domain for parsing, update all
existing :cpp:func: references to :c:func:. Remove the parentheses as
well, if used, because they are not needed, this is already known to be
a function, and how it is displayed in the documentation later is a
semantic decision done by the output builder.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Fabio Utzig
a56446051e doc: add __subsystem attribute and c attributes
Add __subsystem to list of attributes for the parser, and make the c
parser accept the same attributes than the cpp parser, after the change
to use the c parser for ".c" files.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Fabio Utzig
dcfe684440 doc: move tabs to spaces in Sphinx config
Sphinx's config file is a python script, so follow the standards and use
spaces for identation.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Fabio Utzig
2825f0bcac doc: switch from CPP to C domain for .c files
Older Breathe versions didn't work correctly with the C domain, so there
was a mismatch when refering to functions and #defines, using :cpp: or
:c: depending on the origin of the refered symbol. With Breathe >=4.19
the C domain works correctly so all symbols can be refered to with the
:c: role.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Fabio Utzig
6111da4481 doc: use non-deprecated CSS/JS import methods
Update methods used to include JS/CSS files, avoiding deprecated
versions the don't work on Sphinx>=3.x. The new methods work on both
Sphinx==3.x and Sphinx>=2.4.x.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Fabio Utzig
551f1789a5 doc: update versions of build tools
Update documentation build tooling:

- Sphinx>=3.2.0
- Breathe>=4.20.0
- docutil>=0.16.0

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-31 09:57:33 -04:00
Torsten Rasmussen
42d84eaacf docs: Zephyr module and CMake processing
This commit describes add a section which describes how Zephyr modules
are integrated into Zephyr build system and what Zephyr module variables
that are available during CMake and Kconfig processing.

Those variables may be used for refering other Zephyr modules or
including of additional code.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-08-31 12:15:02 +02:00
Olof Johansson
6a8c622bcc doc: update list of architectures in introduction
The list is out of date, so clarify the support a bit and add newly
added subarchitectures.

Signed-off-by: Olof Johansson <olof@lixom.net>
2020-08-27 23:38:54 -04:00
Peter Bigot
77aa89bcb5 drivers: flash: remove W25QXXDV driver
The spi_flash_w25qxxdv driver has been superseded by the generic
spi_nor driver for over a year.  The only non-refactoring change to
the W25Q driver in the last 18 months was done to support a backport
to 1.14.

All devices supported by spi_flash_w25qxxdv driver are expected to be
supported by the spi_nor driver, using the standard `jedec,spi-nor`
devicetree compatible.  No in-tree devicetree files make use of this
driver.

Remove the confusion about which driver to select by removing the
unmaintained redundant driver.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-08-27 17:39:21 +02:00
Martí Bolívar
20ca76fe17 doc: west: troubleshoot no west on PATH on windows
Depending on how people set up their Python, west might not be on
PATH.

I'd like to have a special-purpose step by step guide for how to
handle this in the documentation to save support time when this
happens. I think it's worth special casing since west is the first
runnable program that pip installs onto a new user's system when
they're following the GSG.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-08-27 16:06:01 +02:00
Carles Cufi
63f838e307 doc: bluetooth: Add a new controller listing
Add a new listing for the Zephyr BLE Controller. This applies to
the Nordic nRF52 series and Zephyr version 2.2.x.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-08-27 15:57:36 +02:00
Anas Nashif
dca317c730 sanitycheck: inclusive language
change whitelist -> allow.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-08-27 07:04:07 -04:00
Andrew Boie
46def95f51 doc: memory domain updates
Update memory domain documentation to reflect the policy, API,
and code changes in this PR.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-08-26 20:35:02 -04:00
Gerard Marull-Paretas
01a4e365b7 docs: releases: 2.4: add notes about LVGL Kconfig changes
Add notes about LVGL Kconfig options name changed after alignment
with upstream names.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2020-08-26 15:32:59 -05:00
Eug Krashtan
bb378c7201 net: coap: Use MQTT style wildcard in path description:
In 'struct coap_resource' path description:
- the plus symbol represents a single-level wild card in the path;
- the hash symbol represents the multi-level wild card in the path.

This change keeps compatibility with RFC 7252 but allows handling
multiple requests in single function.

Signed-off-by: Eug Krashtan <eug.krashtan@gmail.com>
2020-08-26 12:31:00 +02:00
Henrik Brix Andersen
7749dfc205 doc: reference: overview: bump EEPROM API to unstable
The EEPROM API, which was introduced in Zephyr v2.1.0 and has not seen
any changes since, has multiple implementations supporting a wide
variety of EEPROM backends (SPI, I2C, on-chip, simulator).

Bump the EEPROM API from "experimental" to "unstable" according to the
Zephyr API lifecycle process.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2020-08-26 12:30:48 +02:00
Peter Bigot
7410b9ed34 doc: guides: design: document how to handle conditional documentation
Various API involves functions and data that are conditionally
enabled.  Zephyr practice is to exclude data (always) and function
(sometimes) declarations at build time using the enabling preprocessor
macro.  This meets functional needs, but blocks generation of the API
documentation as Doxygen will not see the declarations.

Document the need to extend Doxygen's PREDEFINED setting to generate
the documentation.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-08-25 18:09:56 +02:00
Peter Bigot
ec507d3f03 doc: guides: add design guidelines with callback expectations
Provide a location for recommended practices that are not related to
coding style.  Initialize it with information about the expected
design for callbacks.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-08-25 18:09:56 +02:00
Peter Bigot
e69f22be54 doc: guides: dts: document expectation for devicetree driver configuration
Gaps in Kconfig flexibility make it necessary to provide
instance-specific driver configuration through devicetree properties
in certain cases.  Because these are not hardware characteristics or
configuration they should be marked as zephyr-specific.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-08-25 18:09:56 +02:00
Peter Bigot
23b34323fa doc: guides: dts: update note on enabling individual instances
The Kconfig options that formerly controlled this capability have been
removed so rework the "exception" (there is no "precedence" anymore).

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-08-25 18:09:56 +02:00
Peter A. Bigot
5c85e2c914 doc: provide guidance on recommended settings back end
Zephyr release 2.1 changed the default settings back end from FCB to
NVS in all Bluetooth samples for performance and reliability reasons.
Update the settings documentation to provide a clue to developers
trying to decide which to use.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2020-08-25 09:35:40 +02:00
Daniel Leung
49206a86ff debug/coredump: add a primitive coredump mechanism
This adds a very primitive coredump mechanism under subsys/debug
where during fatal error, register and memory content can be
dumped to coredump backend. One such backend utilizing log
module for output is included. Once the coredump log is converted
to a binary file, it can be used with the ELF output file as
inputs to an overly simplified implementation of a GDB server.
This GDB server can be attached via the target remote command of
GDB and will be serving register and memory content. This allows
using GDB to examine stack and memory where the fatal error
occurred.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2020-08-24 20:28:24 -04:00
Fabio Utzig
054a9aeec9 doc: fix typo in heap.rst
typo: stanard -> standard

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-24 20:27:30 -04:00
Fabio Utzig
a83f04ee53 doc: fix typo in fifos.rst
typo: FIF -> FIFO

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-08-24 20:27:30 -04:00
Peter A. Bigot
d75e1a8f32 doc: guides: portability: fix misspellings in POSIX C LANG table
Fix various missing letters and inconsistent parentheses.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2020-08-21 13:55:32 -04:00
Henrik Brix Andersen
b3aca735f7 doc: guides: porting: shields: fix directory layout examples
Fix the directory layout examples to use "<board>" when referring to a
board name, and "boards" when referring to the boards directory.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2020-08-21 10:27:57 +02:00
Siddharth Chandrasekaran
b5f7706009 doc: portability/posix: Indicate presence of strtok_r
Commit 0637595e added strtok_r implementation but missed updating this
document.

Signed-off-by: Siddharth Chandrasekaran <siddharth@embedjournal.com>
2020-08-20 19:40:18 -04:00
Martí Bolívar
5fac1ea7bd doc: usermode: use zephyr_file to locate syscall_handler.h
The file name can be converted into a link to the file using
zephyr_file.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-08-19 10:27:26 -07:00
Torsten Rasmussen
edde894d04 cmake: Zephyr CMake package clean-up and minor fix
Fixes: #27375

This is a cleanup of the Zephyr CMake package export.
The code has been simplified so that the export now happens through a
CMake script. This avoids several generated CMake build files compared
to previous export mode, and thus removes the need for a CMake pristine
script.

A benefit of this cleanup is that it also fixes #27375.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-08-19 12:52:33 -04:00
Martí Bolívar
15f9166386 doc: debugging: fix board runner instructions
Using ZEPHYR_BOARD_FLASH_RUNNER relies on a cache variable that
happens to work but is not a supported feature. The appropriate
variable to set is simply BOARD_FLASH_RUNNER.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-08-19 09:51:13 -04:00
Andrew Boie
fc68feea70 doc: add kernel/thread stack usage notes
This is covered in the porting guide, and we have complete docstrings
for these macros, but having discussion here helps new users understand
how to use these and why they exist.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-08-17 15:35:42 -07:00
Dominik Ermel
9dc00e45ce doc: syscalls: Minor clarifications, fixes of file paths, etc
Clarification of argument passing to system calls.
Fixes of file paths and typos.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2020-08-17 13:42:23 -04:00
Peter A. Bigot
4eb8d9dd9e drivers: flash: add API to access SFDP region of serial flash devices
Some flash drivers are capable of issuing a JESD216 READ_SFDP command
to read serial flash discoverable parameters.  Allow applications and
utilities access to that capability where it's supported.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2020-08-17 13:38:14 -04:00
Peter A. Bigot
13f96d439e sys: onoff: support clients using synchronous transitions
The on-off manager infrastructure is designed to robust asynchronous
transition between binary states where multiple clients may be
initiating a transition from any context.  The actual transition is
performed using a manager that tracks the current state and pending
operations.  Requests are initiated by passing a reference to an
onoff_client object that holds client state including the notification
mechanism.

This API may be used in subsystems where the transitions for a
particular driver are always synchronous and isr-ok, e.g. setting a
SoC-controlled GPIO.  In this situation the full on-off manager
infrastructure is wasteful.  All we need is a record of the service
state: off, active count, or error.

Add a data structure and an API that can be used to replace the onoff
manager functionality in a situation where all transitions are isr-ok
and synchronous while retaining compatible behavior from the client
perspective.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2020-08-14 17:53:39 +02:00
Andrew Boie
63c3e153d6 drivers: use node IDs for DEVICE_MMIO.*_INIT
There is nothing wrong with instance numbers and they are
recommended for use whenever possible, but this is an API
design problem because it's not always possible to get nodes
by instance number; in some cases, drivers need to get node
identifiers from node labels, for example.

Change these APIs (which are not yet in any Zephyr release)
to take node IDs instead of instance IDs.

Fixes: #26984

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-08-14 13:35:02 +02:00
Maksim Masalski
124b55a73d doc: fix incorectness in multiple overlay files description
In Github issue #27548 I found out that documentation has
incorectness. I made fix and described how correctly provide multiple
overlay files for west and cmake. For both of them necessary to use
quotations. After that, necessary to make one more change if you have
multiple files in quotations. For west necessary to separate multiple
files using spaces and for cmake to separate multiple files necessary
to use semicolons.

Signed-off-by: Maksim Masalski <maksim.masalski@intel.com>
2020-08-14 13:34:16 +02:00
Emil Obalski
ba1c2cdb88 doc: releases: 2.4: Add USB detailed changes.
Add a entry to 2.4 release notes about a need to explicitly
call usb_enable() for applications that configures specific
features.

Signed-off-by: Emil Obalski <emil.obalski@nordicsemi.no>
2020-08-13 11:49:47 +02:00
Peter Bigot
cabbd916cf drivers: move eeprom_slave driver to tests directory
This device isn't an actual hardware driver: it's a virtual EEPROM
that stores data in an instance-specific RAM buffer, with the data
exposed on an I2C bus as a I2C follower (slave) device that can be
controlled by another device acting as a leader (master) on that same
bus.

As such it's a reasonable example of how to write an I2C follower
driver, but it's not clear that it has a real use in applications.  A
Zephyr application that needs to emulate an EEPROM in a real-world
system would be unlikely to provide its data from a RAM buffer.

The sole in-tree reference is in the i2c_slave_api test, so move the
driver implementation into that test.

The Kconfig and hierarchy are being left in place until it is more
clear how this functionality should be selectable within Zephyr.  The
I2C_SLAVE symbol has been converted from menuconfig to config to
eliminate a Kconfig style diagnostic.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-08-13 11:49:12 +02:00
Dominik Ermel
3620d41916 doc: syscalls: Fix typos in syscalls documentation
Fixing typos.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2020-08-12 08:50:19 -07:00
Tomasz Bursztyka
6234a01a0a doc: Add a device structure change entry to release-notes for 2.4 version
Documenting the change.

Fixes #27394

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-08-11 19:30:53 +02:00
Tomasz Bursztyka
98d9b01322 device: Apply driver_api/data attributes rename everywhere
Via coccinelle:

@r_device_driver_api_and_data_1@
struct device *D;
@@
(
D->
-	driver_api
+	api
|
D->
-	driver_data
+	data
)

@r_device_driver_api_and_data_2@
expression E;
@@
(
net_if_get_device(E)->
-	driver_api
+	api
|
net_if_get_device(E)->
-	driver_data
+	data
)

And grep/sed rules for macros:

git grep -rlz 'dev)->driver_data' |
	xargs -0 sed -i 's/dev)->driver_data/dev)->data/g'

git grep -rlz 'dev->driver_data' |
	xargs -0 sed -i 's/dev->driver_data/dev->data/g'

git grep -rlz 'device->driver_data' |
	xargs -0 sed -i 's/device->driver_data/device->data/g'

Fixes #27397

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-08-11 19:30:53 +02:00
Tomasz Bursztyka
d86f79cbd7 doc: Update device driver documentation on driver_* attributes rename
s/driver_data/data
s/driver_api/api

Fixes #27397

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-08-11 19:30:53 +02:00
Tomasz Bursztyka
af6140cc0d device: Apply config_info rename everywhere
Via coccinelle:

@r_device_config@
struct device *D;
@@

D->
-	config_info
+	config

And 2 grep/sed rules for macros:

git grep -rlz 'dev)->config_info' |
	xargs -0 sed -i 's/dev)->config_info/dev)->config/g'

git grep -rlz 'dev->config_info' |
	xargs -0 sed -i 's/dev->config_info/dev->config/g'

Fixes #27397

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-08-11 19:30:53 +02:00
Tomasz Bursztyka
a46b4a9921 doc: Update device driver documentation on config_info attribute rename
s/config_info/config

Fixes #27397

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-08-11 19:30:53 +02:00
Torsten Rasmussen
125a4d7c21 doc: release notes: description of SOC, DTS, BOARD, and ARCH roots
This commit updates the release notes with the changes introduced
in #26715.

It also informs readers that existing use of `$(SOC_DIR)` in Kconfig
must be updated, for example to use `rsource` instead of
`source $(SOC_DIR)` in order to adopt to latest changes.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-08-10 12:12:48 +02:00
Torsten Rasmussen
650cf3c6a9 doc: soc root and kconfig description
This commit updates the description of SOC_ROOT according to the new
multiple SOC_ROOT enhancement.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-08-10 12:12:48 +02:00
Peter A. Bigot
76ed20b268 doc: releases: 2.4: note SPI gpio CS active level config change
The change to use devicetree instead of the config option will break
anybody who has a devicetree that doesn't include the proper active
level for cs-gpios (which is not zero).

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2020-08-07 06:53:12 -05:00
Jukka Rissanen
d5eb4807d6 doc: net: Add information about net_pkt processing statistics
Add a document how to get and interpret information about
network TX / RX packet processing statistics.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-08-07 10:12:51 +03:00
Joakim Andersson
091565e8d3 doc: relnotes: Document change in L2CAP RX MTU configuration
Document change in how L2CAP RX MTU is set through Kconfig options.
Document recommended new value for applications that have set
CONFIG_BT_RX_BUF_LEN.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-08-06 11:46:48 +02:00
Torsten Rasmussen
c9a78257b2 doc: Zephyr module build settings
This commit adds description of the build setting support in the
module.yml file.

It is described how additional board_root, soc_root, dts_root, and
arch_root can be appended to the build system.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-08-05 08:06:07 -04:00
Torsten Rasmussen
0a4b0bbb7c doc: zephyr module description restructure
This commit restructures the Zephyr module description.
It places the description of the module yaml file in a dedicated section
as this file is common to module inclusion both when using `west` and
without `west`.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-08-05 08:06:07 -04:00
Torsten Rasmussen
5f7cc8ded9 cmake: kconfig: support for multiple SOC_ROOT
This commit introduces support for multiple SOC_ROOT.

This means that additional SOC_ROOTs specified using -DSOC_ROOT as
argument to CMake will be forming a list together with ${ZEPHYR_BASE}.

This allows for greater flexibility, as developers can now specify
multiple out-of-tree SoCs and not worry about the SoC used for the
board they compile for.

Also it avoid code, such as:
if(BOARD STREQUAL my_board_using_out_of_tree_soc)
  set(SOC_ROOT some/out/of/tree/soc/path)
endif()
in application CMakeLists.txt.

Finally, allowing multiple SOC_ROOTs prepares for specifying SOC_ROOTs
in Zephyr modules.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-08-05 08:06:07 -04:00
Carles Cufi
244f826e3c cmake: remove _if_kconfig() functions
This set of functions seem to be there just because of historical
reasons, stemming from Kbuild. They are non-obvious and prone to errors,
so remove them in favor of the `_ifdef()` ones with an explicit
`CONFIG_` condition.

Script used:

git grep -l _if_kconfig | xargs sed -E -i
"s/_if_kconfig\(\s*(\w*)/_ifdef(CONFIG_\U\1\E \1/g"

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-08-01 12:35:20 +02:00
Andrew Boie
5bd9afe484 doc: porting: add stack object details
Explain best practices for defining stack object macros.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-07-30 21:11:14 -04:00
Dominik Ermel
d86497ebc2 doc: relnotes: Add API change note for fs_open
Update release notes API change section with information on change to
fs_open parameter list.

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2020-07-30 16:33:18 +02:00
Anas Nashif
4c67339571 doc: add documentation about --integration option
Document the --integration option.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-07-30 08:00:03 -04:00
Tomasz Bursztyka
f0743df54d doc: Add a IPM API change entry to release-notes for 2.4 version
Documenting the change.

Fixes #26923

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-07-30 09:51:51 +02:00
Tomasz Bursztyka
a4c9801c1c doc: Add a DMA API change entry to release-notes for 2.4 version
Documenting the change.

Fixes #26923

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-07-30 09:48:00 +02:00
Tomasz Bursztyka
e01c4dcceb doc: Add a UART API change entry to release-notes for 2.4 version
Documenting the change.

Fixes #26923

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-07-30 09:43:12 +02:00
Jukka Rissanen
336bcfa471 net: if: Make sure only allowed threads can access syscalls
Make sure that only those threads that have been granted access
to net_if objects, can call the functions that modify net_if data.

The CONFIG_NET_IF_USERSPACE_ACCESS config option is also removed
as it is no longer needed after this change.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-07-29 08:13:22 -04:00
Gerard Marull-Paretas
75949f470f doc: releases: 2.4: add LVGL v7 update details
Add details of the LVGL7 update (e.g. warn about higher ROM usage,
changed Kconfig defaults, ...)

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2020-07-27 15:06:22 +02:00
Anas Nashif
4b0f5ea100 doc: add documentation for tool targets
Document the following targets:
- ram_report
- rom_report
- puncover
- pahole

Fixes #26758

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-07-26 19:26:57 -04:00
Maureen Helm
52f993de11 doc: contribute: Require OSI-approved licenses
Updates the contribution guidelines to document the current board policy
of rejecting non-OSI-approved licenses.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2020-07-25 21:26:55 -04:00
Lauren Murphy
f014ba1ff1 doc: coding guidelines: fix links for other rules examples
This PR fixes the links to the example files in the Gitlab repository.
Fixes Dir 4.8 and Rule 2.1, 5.1, 5.8, 5.9, 8.5, 8.6, 13.1, and 13.5.

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2020-07-25 10:50:03 -04:00
David Leach
db36b146e1 kernel: Remove supported size comments from HEAP_MEM_POOL_SIZE
The mempool implementation doesn't require specific sizes and can
support arbitrary sizes up to the limit of available memory. The
Kconfig documentation on this configuration was confusing user.

Fixes #20418

Signed-off-by: David Leach <david.leach@nxp.com>
2020-07-24 10:19:47 +02:00
Peter Bigot
f45f72c9a4 doc: development_process: document that CI style checks can fail
The CI style checking solution can produce false positives when it's
given code that it mis-parses, or that follows conventions it doesn't
allow.  Document a couple examples, and explicitly note that
maintainers should override the -1 vote if they're encountered.

For those following along in the commit history:

   static uint8_t __aligned(PAGE_SIZE) page_pool[PAGE_SIZE * POOL_PAGES];

checkpatch sees "uint8_t __aligned(PAGE_SIZE)" and infers a prototype
for a function "__aligned" that takes an unnamed parameter of type
"PAGE_SIZE".  So it adds "PAGE_SIZE" as a known type name.

   IOPCTL_Type *base = config->base;

This is common in driver code where the vendor HAL allows typedefs for
structure types.  checkpatch was designed for an environment with
limited use of typedefs; "struct IPCTL_Type" would have been handled
properly.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-07-23 14:04:44 +02:00
Daniel Leung
8fe7fbf7ee doc: coding_guidelines: sort list in natural order
Sort the MISRA lists in a more natural ascending numeric order.
So instead of 1.1 - 1.10 - 1.11 - 1.2 - 1.3, we now have
1.1 - 1.2 - 1.3 - 1.10 - 1.11.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2020-07-22 17:36:33 -04:00
Andries Kruithof
f434beb2bf doc: Coding Guideline: correct reference for rule 18.6 examples
Rule 18.6 has the examples split in two files. This PR adds
the correct reference to the example files in the gitlab
repository

Signed-off-by: Andries Kruithof <Andries.Kruithof@nordicsemi.no>
2020-07-22 12:43:08 +02:00
Anas Nashif
e8e367ada4 sanitycheck: support only_tags for boards
Support running/building only specific tags and ignoring everything
else.

Adding this to a platform yaml file will enable tests with one of of
tags listed to be executed on the platform.

This is useful for special platform configurations used for testing
specific features for example.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-07-20 17:44:16 -04:00
Trond Einar Snekvik
f8663774de Bluetooth: Mesh: Document shell commands
Adds a high-level documentation page for the Bluetooth Mesh Shell
subsystem, documenting all available commands and their parameters.

Signed-off-by: Trond Einar Snekvik <Trond.Einar.Snekvik@nordicsemi.no>
2020-07-20 12:47:31 +02:00
Ioannis Glaropoulos
0292df5489 doc: release: add note for SW_VECTOR_RELAY feature in Mainline Cortex-M
Add a note in 2.4 release notes regarding SW_VECTOR_RELAY
feature, now supported also in Mainline Cortex-M architecture.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-07-17 13:22:17 +02:00
Andrew Boie
e33fc71d71 doc: add device MMIO details
Add some overview documentation on how to use this header.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-07-17 11:38:18 +02:00
Andrew Boie
9ff148ac83 kernel: define arch_mem_map()
This is the low-level arch function to map a region into page
tables.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-07-17 11:38:18 +02:00
Carles Cufi
b62a3692d7 doc: contribution: Add link to the coding guidelines
Add a small section that describes the existance of the coding
guidelines page and links to it, in order to raise awareness of the
effort towards complying with those.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-07-17 11:09:45 +02:00
Carles Cufi
c2df27fa0b doc: Link to guidelines from the contribution page
Link to the coding guidelines from the main contribution guidelines
page, so that users are aware of the guidelines.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-07-17 11:09:45 +02:00
Carles Cufi
e924364035 doc: guidelines: Add additional guidelines
Aside from the MISRA-C derived Coding Guidelines, add a list for
additional ones that are not a subset of a standard.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-07-17 11:09:45 +02:00
Carles Cufi
611927c49b doc: guidelines: Cleanup formatting
Cleanup formatting and a couple of instances of missing "rules".

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-07-17 11:09:45 +02:00
Anas Nashif
0ff33d1ae7 doc: fix usage of :c:type
Fixing issues with recent versions of breathe 4.19.2:

 WARNING: Unparseable C cross-reference: 'struct device'
 Invalid C declaration: Expected identifier in nested name, got keyword:
 struct [error at 6]
   struct device
     ------^

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-07-16 15:44:50 -04:00
Ruth Fuchss
81a6107343 doc: add IDs to some sections
Add documentation IDs to some sections to be able
to directly link to them.

Signed-off-by: Ruth Fuchss <ruth.fuchss@nordicsemi.no>
2020-07-16 08:22:48 -04:00
Anas Nashif
568211738d doc: replace lifo/fifo with LIFO/FIFO
Replace all occurances of lifo/fifo with LIFO/FIFO to be consistent.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-07-15 14:01:33 -04:00
Anas Nashif
1fc2e43eb3 doc: make device pm APIs show in doxygen docs
Those were not being processed due to Kconfig only exposing the noop
functions.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-07-14 19:23:15 -04:00
Uma Praseeda
ed9750a3a9 Doc: Updating ieee802154_interface Readme
Added a link to IEEE GET program web page to suggest
an option of downloading the specification to the users.

Signed-off-by: Uma Praseeda <uma.praseeda@nordicsemi.no>
2020-07-14 18:00:46 +02:00
Peter Bigot
9dc7640ede spi-device: set CS gpio flags for all devices that had none
The generic SPI GPIO chip select support now respects devicetree flags
for signal active level.  Update all cs-gpios properties to specify
active low.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-07-09 06:07:07 -05:00
Peter Bigot
a0f025995d drivers: watchdog: update API to reflect additional return code
Allow feed operations that would stall due to internal peripheral
delays to complete immediately with -EAGAIN indicating that the feed
did not occur as expected.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-07-09 06:44:59 -04:00
Anas Nashif
dc85b395b0 doc: add coding guidelines
Add the coding guidelines agreed upon by the project TSC with a
description of the staged approach needed to implement them

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-07-08 23:27:15 -04:00
Kumar Gala
6bf761fc0a dts: Remove support for deprecated DTS binding syntax
We deprecated a number of aspects of the DTS binding syntax in Zephyr
2.1.  Remove the support for the deprecated syntax.  Remove from docs
about the deprecated syntax as well.

Removed reference in release-notes-2.1.rst to legacy_binding_syntax
since that anchor doesn't exist anymore.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-07-08 22:03:24 -04:00
Flavio Ceolin
b7d27b94df doc: security: Avoid confusion with code guideline
Security documentation contains a code guideline section that is more
about security principles than code guidelines itself. Just removing
the mention do code guideline to avoid possible confusions with
upcoming project code guideline based on MISRA-C.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2020-07-07 19:29:21 -04:00
Ioannis Glaropoulos
4f297c72d3 doc: contribute/modifying_contributions: minor typo fix
Fix a typo in modifying_contributions.rst.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-07-06 10:44:18 -04:00
Joakim Andersson
4281843fd7 doc: relnotes: Add release notes for updated HCI driver event handling
Add release notes for updated HCI driver event handling for calling the
bt_recv() and bt_recv_prio() functions when delivering HCI events to
the host.

Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
2020-07-06 11:15:39 +02:00
Ioannis Glaropoulos
5487e51bb7 doc: contribute: modifying_contributions: add link to dev processes
Add a link to the page describing our development
processes, as it contains the description of how
to identify issues and pull requests as stale.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-07-02 08:15:53 -04:00
Ioannis Glaropoulos
eb005afd2c doc: contribute: Describe policies for modifying patches or others
Add a small section, clarifying the policies around modifying
contributions submitted by other developers.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-07-02 08:15:53 -04:00
Ioannis Glaropoulos
10fcb6175a doc: contribute: add paragraph about cherry-picking content
Add a small paragraph in the Contribution Guidelines
documentation to stress that cherry-picking of patches
into other pull requests is an allowed practive. Add a
link to additional documentation clarifying policies
around modifying patches of other developers.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-07-02 08:15:53 -04:00
Jukka Rissanen
4363c566ed doc: kernel: Add sys_sem APIs to kernel documentation
The kernel documentation was missing sys_sem APIs.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2020-06-24 15:38:47 -04:00
David Leach
5385d49029 doc: release: Document release quality metrics
Document the bug count metrics used to gate the release process

Signed-off-by: David Leach <david.leach@nxp.com>
2020-06-24 09:47:34 -04:00
Martí Bolívar
e2b72a0ede doc: clarify how to set $FOO_ROOT in CMakeLists.txt
I received feedback that setting e.g. BOARD_ROOT in CMakeLists.txt is
not quite well specified; in particular, it's important to do so
before pulling in the boilerplate via find_package(). Clear that up.

Reported-by: Pete Skeggs <peter.skeggs@nordicsemi.no>
Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-06-24 09:44:48 -04:00
Peter Bigot
219a3ca96d device: provide internal access to static device array
Device objects in Zephyr are currently placed into an array by linker
scripts, making it easy to iterate over all devices if the array
address and size can be obtained.  This has applications in device
power management, but the existing API for this was available only
when that feature was enabled.  It also uses a signed type to hold the
device count.

Provide a new API that is generally available, but marked as internal
since normally applications should not iterate over all devices.  Mark
the PM API approach deprecated.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-06-23 13:27:14 +02:00
Peter Bigot
72ebf70543 device: refactor to simplify maintenance
DEVICE_AND_API_INIT and DEVICE_DEFINE are identical except that
DEVICE_DEFINE adds a parameter providing the device pm control
function, while DEVICE_AND_API_INIT does not.  This requires duplicate
implementations where if CONFIG_DEVICE_POWER_MANAGEMENT is enabled
then DEVICE_AND_API_INIT delegates to DEVICE_DEFINE with a dummy pm
control function, and if it is not enabled then DEVICE_DEFINE discards
the parameter and delegates to DEVICE_AND_API_INIT.

DEVICE_INIT is like DEVICE_AND_API_INIT but doesn't provide an API.

Clean this up by refactoring so that DEVICE_DEFINE is the core
implementation, providing with and without device power management
right next to each other where they can be compared and maintained.
Redefine DEVICE_INIT and DEVICE_AND_API_INIT delegate to
DEVICE_DEFINE.

Also remove duplicate code by extracting the variations due to
enabling device power management into macros.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-06-22 13:37:07 +02:00
Fabio Utzig
3f28f69477 doc: add --no-index-modules option to genrest.py
This add a new option `--no-index-modules` which works similarly to
`--modules` but does not generated index pages, only retains the
tweaking of how paths are displayed on symbol information pages,
showing '<title>/path/within/module/Kconfig' for paths that fall
within modules.

This is required by NCS, where there are more "modules" which we don't
want to have indexes for.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-06-19 18:14:18 +02:00
Martí Bolívar
1af73a66ab sys/util.h: remove deprecated MACRO_MAP()
Since this is an experimental API and MACRO_MAP() was deprecated in
favor of FOR_EACH() in zephyr v2.3.0, we are within our rights to just
remove it without notice now. Do so and mention it in the release
notes.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-06-18 19:38:10 +02:00
Martí Bolívar
67ac768415 doc: release-notes: add sys/util.h to 2.4 release notes
Add a line item under "API Changes"

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-06-18 19:38:10 +02:00
Martí Bolívar
04df8124ac api: promote sys/util.h to experimental
This file contains definitions for macros which are integral to
significant Zephyr use cases, such as CONTAINER_OF() and various
macros used by devicetree.h internally.

As such, in practice we expect at least advanced (if not intermediate)
users to understand it, so the fact that it's not formally documented
as an API with a stability level is a problem.

Fix that by giving the docstrings a once-over and adding new ones
where they are missing. Move all the remaining non-API macros to
util_internal.h.

Add a Sphinx API page for this header, and include it in the API
overview at "experimental" stability level.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-06-18 19:38:10 +02:00
Håkon Øye Amundsen
13cf241ee6 cmake: docs: Fix 'test_relocation' -> 'code_relocation'
Incorrect name used for sample in two places.
This commit fixes these issues.

Signed-off-by: Håkon Øye Amundsen <haakon.amundsen@nordicsemi.no>
2020-06-17 09:40:47 +02:00
Johan Hedberg
2f835332eb doc: releases: Add release notes for Zephyr 2.2.1
Add the release notes for Zephyr 2.2.1.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2020-06-16 19:12:09 +02:00
Krzysztof Chruscinski
3a25c75ad9 doc: Add CONFIG_UART_ASYNC_API to the doxygen defines
Added CONFIG_UART_ASYNC_API to enable documentation generation for
asynchronous API.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2020-06-16 19:11:57 +02:00
Krzysztof Chruscinski
29cab30d46 logging: Clarify that hexdump messages have no function prefix
It was not clear that hexdump messages does not support prepending
with function name. Added clarification.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2020-06-16 19:05:51 +02:00
Peter Bigot
ccc53f9872 docs: drivers: remove suggestion to assign driver_api in init function
The driver API should be assigned at the time the device is defined.
Assigning in the init function is redundant and prevents moving the
pointer to a immutable driver structure.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-06-16 10:46:39 -05:00
Robert Lubos
bd7d6926c4 net: lwm2m: Add ObjLnk resource type support
Implement LWM2M ObjLnk resource type and plaintext, TLV and JSON
readers/writers.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2020-06-15 22:13:34 +03:00
Peter Robinson
eb85aa13d2 doc: reference: Move i2s reference to Audio section
Now there's an audio reference section move the i2s docs there
as the audio section is a better fit.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
2020-06-12 10:29:24 -04:00
Carles Cufi
a247be5ca8 doc: bluetooth: Add full name for Nordic
Add "Semiconductor" to the Nordic company name.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-06-12 15:50:11 +02:00
Carles Cufi
ac343a27ff doc: bluetooth: Add 2.2.x Host qualification listing
Add the new listing from Demant/Oticon.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-06-12 15:50:11 +02:00
Carles Cufi
b9dcc9b283 doc: release: Clarifications to tagging
Clarify a few points in the tagging section of the release
documentation.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-06-10 16:23:23 +02:00
Carles Cufi
902633c545 doc: release: Fix the EXTRAVERSION setting
The EXTRAVERSION field needs to be set to an empty string, not to 0,
once the release is cut.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-06-10 16:23:23 +02:00
Sturla Lange
31b19bf538 doc: contribution: Fix series-push-hook path
The script is located in the scripts directory, not root.

Signed-off-by: Sturla Lange <sturla22@gmail.com>
2020-06-10 05:20:54 -05:00
Peter Bigot
d6a492d8f1 doc: guides: sanity_chk: add documentation on hardware map keyword
The probe_id keyword was added to support overriding the inferred id
when determining the board-id to use when flashing.  Document the
keyword.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-06-10 12:03:17 +02:00
Peter Bigot
3c36b42d03 sanitycheck: add notes key to schema
Prior to addition of schema validation running sanitycheck
--generate-hw-map would preserve the value of any field in an existing
map that it didn't update.  These fields now cause a parsing error.
Add notes as an optional key where information relevant to the board
can be added to provide useful context (such as which serial port
corresponds to the console, or why a non-standard runner is required).

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-06-10 12:03:17 +02:00
Kumar Gala
6e9d109922 doc: api_lifecycle: Use DEPRECATED instead of LEGACY in Kconfig
Recommend that Kconfig symbols related to deprecated features use
'DEPRECATED' in the symbol name instead of 'LEGACY'.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-06-09 18:56:00 +02:00
Kumar Gala
1737bd082d zephyr: Use deprecated instead of legacy for Kconfig int types
Rename the Kconfig symbol from LEGACY_ZEPHYR_INT_TYPES to
DEPRECATED_ZEPHYR_INT_TYPES.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-06-09 06:49:56 -05:00
Kumar Gala
a2d4292a96 doc: relnotes: Add note about C99 types.
Add top line note about C99 integer types being the default

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-06-08 08:23:57 -05:00
Kumar Gala
a1b77fd589 zephyr: replace zephyr integer types with C99 types
git grep -l 'u\(8\|16\|32\|64\)_t' | \
		xargs sed -i "s/u\(8\|16\|32\|64\)_t/uint\1_t/g"
	git grep -l 's\(8\|16\|32\|64\)_t' | \
		xargs sed -i "s/s\(8\|16\|32\|64\)_t/int\1_t/g"

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-06-08 08:23:57 -05:00
Carles Cufi
964da1ca6c doc: conf: Add 2.3.0 version selector
Add the 2.3.0 release to the version selector for the documentation.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-06-05 22:03:54 +02:00
Carles Cufi
40b02ee891 doc: relnotes: Add 2.4 release notes draft
Add a working draft for the 2.4.0 release notes.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-06-05 22:03:54 +02:00
Carles Cufi
bb2bc44367 doc: relnotes: Remove draft status from 2.3 release notes
Mark the release notes as complete.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-06-05 22:03:54 +02:00
Carles Cufi
8beda01c0f doc: reference: Update overview for 2.3
Update the API overview page by looking at the changes in include/ since
the last release.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-06-05 20:36:16 +02:00
Carles Cufi
89a0bcd1cf doc: relnotes: Add a known issues section
Add a known issues section with the current high-priority bug listed in
it.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-06-05 20:35:56 +02:00
Carles Cufi
b752e05bab doc: relnotes: List all closed issues for 2.3
scripts/release/list_issues.py -o zephyrproject-rtos -r zephyr -s
2020-03-10 -f issues.txt

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-06-05 20:35:56 +02:00
Carles Cufi
3ebb5f339c doc: relnotes: Fix verb tenses
Use past tenses everywhere.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-06-05 20:35:56 +02:00
Carles Cufi
7d17c313d4 doc: relnotes: Extra 2.3 tidbits
Add a few extra tidbits related to boards and APIs.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-06-05 20:35:56 +02:00
Carles Cufi
27b38bd654 doc: relnotes: Document the random subsystem
Add the single relevant change to the random subsystem.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-06-05 20:35:56 +02:00
Anas Nashif
cab4ffcf40 doc: release-notes: add x86/kernel sections
Amend both kernel and x86 sections and remove unchanged sections in
other subsystems.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-06-05 17:12:22 +02:00
Torsten Rasmussen
61e79bb1eb doc: updated to reflect changes introduced with Zephyr CMake package
This commit updates the Zephyr documentation with changes introduced
by Zephyr CMake package.

It removes 'zephyr-env.sh/cmd' where no longer needed, and updates
boilerplate inclusion to find_package.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-06-04 22:12:03 +02:00
David Brown
b32b5e151a doc: security: Release CVEs from embargo
These CVEs have been released from embargo.  Include details in the v2.3
release notes, and in the vulnerabilities document.

Signed-off-by: David Brown <david.brown@linaro.org>
2020-06-04 22:11:31 +02:00
Wayne Ren
ea7140ba63 doc: add the ARC part for release 2.3
add the ARC processor related part for release 2.3

Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
2020-06-04 22:09:54 +02:00
Maureen Helm
afd31e9091 doc: release notes: Fixup openisa BLE changes in 2.3 release notes
Fixes up the 2.3 release notes to clarify 2 Mbps PHY support in the
openisa BLE link layer.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2020-06-04 10:29:00 +02:00
Maureen Helm
38a8f9c247 doc: release notes: Fill in 2.3 drivers section
Adds 2.3 release notes for all remaining driver classes.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2020-06-04 10:29:00 +02:00
Maureen Helm
900329ce08 doc: release notes: Use past tense in 2.3 drivers section
Edits the 2.3 release notes drivers section to use past tense instead of
present tense.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2020-06-04 10:29:00 +02:00
Torsten Rasmussen
d585cdd185 doc: release notes: add Zephyr CMake package to release notes
This commit fills the Build and Infrastructure section with the Zephyr
CMake package enhancement.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Signed-off-by: Carles Cufí <carles.cufi@nordicsemi.no>
2020-06-03 18:38:30 +02:00
Carles Cufi
3318ad3dfb doc: kernel: Fix invalid use of K_NO_WAIT
K_THREAD_DEFINE can no longer use K_NO_WAIT to specify the delay after
the timer API rework. Fix the documentation to use 0 and add a note.

Fixes #25697.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-06-02 18:03:06 +02:00
Martí Bolívar
a2391078f9 doc: release-notes-2.3: remove LED line
No significant changes, just API cleanups.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-06-02 16:41:36 +02:00
Carles Cufi
2ed17d2725 doc: release notes: Add 2.3 Bluetooth release notes
Add release notes for Bluetooth.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-06-02 16:36:00 +02:00
Carles Cufi
a43d271a70 doc: release notes: Add 2.3 release notes on documentation
Fill the Documentation section in the 2.3 release notes.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-06-02 16:36:00 +02:00
Carles Cufi
a5f9fe3e90 doc: releases: Add 2.3 release notes highlights
List the highlights of this release.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-06-02 16:36:00 +02:00
Andy Ross
567bc2638b docs/releases: Document the heap and timeout changes in 2.3
Some kernel release notes for 2.3.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2020-06-02 15:22:41 +02:00
Alberto Escolar Piedras
517d652dc7 doc: release-notes-2.3: Add POSIX ARCH section
Added POSIX ARCH section

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2020-06-02 15:22:11 +02:00
Ioannis Glaropoulos
b32c3e6f9a doc: release_notes: complete list of added ARM SoCs in v2.3 release
Complete the list of added ARM SoCs and SoC Series
in Zephyr v2.3.0 release cycle.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-06-02 15:14:45 +02:00
Ioannis Glaropoulos
b9a3aa8267 doc: release_notes: complete list of added ARM Boards in v2.3 release
Complete the list of added ARM Boards in Zephyr
v2.3.0 release cycle.

Add deprecation note for efr32_slwstk6061a.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-06-02 15:14:45 +02:00
Piotr Mienkowski
b112d5c200 doc: release-notes-2.3: Add GPIO section
Add 2.3 release notes related to GPIO drivers.

Signed-off-by: Piotr Mienkowski <piotr.mienkowski@gmail.com>
2020-06-01 12:30:24 +02:00
Carles Cufi
d29a06f8a8 doc: dev process: Add a note about deprecation mechanisms
Describe how an API can be deprecated, which is via the __deprecated
keyword or by introducing a legacy Kconfig option.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-05-29 18:06:52 +02:00
Vincent Wan
6084957fb8 doc: release-notes-2.3: add power management for CC13x2/CC26x2
Add support of power management for CC13x2/CC26x2 in release notes.

Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
2020-05-29 15:05:18 +02:00
Stephanos Ioannidis
90f18b2127 doc: Add ARM release notes for v2.3
This commit adds the ARM release notes for the v2.3 release.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2020-05-29 13:12:14 +02:00
Ioannis Glaropoulos
f0a09ac32d doc: release notes: add release notes entries for ARM Cortex-M
Zephyr v2.3 release notes content for ARM Cortex-M architecture.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2020-05-29 13:12:14 +02:00
Marc Herbert
3a04536487 doc,cmake: make find_package(Zephyr...) REQUIRED
This provides a better error message when building with CMake and
forgetting ZEPHYR_BASE or not registering Zephyr in the CMake package
registry. See parent commit for more details (split from parent for
better readability).

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2020-05-29 10:47:25 +02:00
Martí Bolívar
af40c99fac doc: release notes update for devicetree
I believe the devicetree documentation for the release is in good
enough shape now. Add a few more links to the release notes to provide
users with more hints for adapting to the new API.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-05-28 22:12:38 +02:00
Martí Bolívar
e4a761cffe devicetree: add migration guide documentation and tests
Add test cases that verify various bits and pieces of the legacy
devicetree macros match the new APIs.

Writing these test cases without giving rise to deprecated macro
warnings which might break people's CI if they build with -Werror
requires turning off the __WARN() generation in
devicetree_legacy_unfixed.h. The entire file is deprecated at this
point and must be explicitly enabled with an opt-in Kconfig option, so
there isn't any harm in doing this.

Nevertheless, take a minimally invasive approach to avoiding __WARN()
generation in gen_legacy_defines.py, to avoid the possibility of
breakage. This code is basically frozen anyway, so hacks like this
won't cause maintainability problems since it isn't being actively
maintained.

Use the new tests as fodder for a migration guide from the old API in
the documentation.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-05-28 22:12:38 +02:00
Anas Nashif
7818597da3 doc: make statement about version bold
Make that top paragraph bold to indicate the version being viewed is for
master.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-05-28 10:30:38 +02:00
Anas Nashif
517ee9172f doc: add a header to all pages about development version
Add a header to all pages indicating the documentation is for the
development version of Zephyr.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-05-28 10:30:38 +02:00
Piotr Zierhoffer
84e54ee92e doc: release-notes-2.3: Add ADXL345 mention
A 3-axis accelerometer from Analog Devices.

Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com>
2020-05-27 19:39:14 +02:00
Piotr Zierhoffer
1fcebf8057 doc: release-notes-2.3: Add RISC-V-related changes
Mostly related to rv32m1_vega updates, and some generic RISC-V
improvements.

Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com>
2020-05-27 19:39:14 +02:00
Torsten Rasmussen
9adcabe38d cmake: introduction of ZephyrBuildConfiguration package
The ZephyrBuildConfiguration package allow downstream users to control
the Zephyr build system using a cmake package.

A Zephyr Build Configuration package allows for setting of additional
DTS_ROOT, BOARD_ROOT, and similar variables without having to patch
Zephyr repo, but it also allows for inclusion of additional boilerplate
code for more advanced use cases.

The repository or folder containing the Zephyr Build Configuration
package must be on toplevel in the Zephyr workspace.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-05-27 17:58:50 +02:00
Erwan Gouriou
b9bde4ce85 doc/release: v2.3.0: Update for stm32
Update V2.3.0 release note for stm32 with:
- Added SoC series
- New boards support
- Noticeable changes in stm32 drivers and subsystems

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2020-05-27 13:48:23 +02:00
Erwan Gouriou
b13b6d92fd doc/release: v2.3.0: Update boards/shields section
Add newly supported shields for V2.3.0 release

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2020-05-27 13:48:23 +02:00
Paul Sokolovsky
e84fbfff17 doc: release-notes-2.3: Add POSIX subsys highlights
2 useful functions implemented, sample for read()/write() added
(or rather, existing sample to modified to support that).

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
2020-05-27 13:47:49 +02:00
Martí Bolívar
31a90a0e7d doc: dts: simplify DT_INST documentation
Add some introductory text to these driver helpers which makes it more
clear how they are defined in terms of the generic APIs, which allows
removing some boilerplate from doxygen. This also gives us a chance to
call out the exceptional cases and add some more documentation to those.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-05-26 22:32:34 +02:00