Backport a useful CSS rule from Godot that allows to have *all* cells of
a table to wrap. This can be useful for list-tables in particular,
where otherwise the first column don't wrap.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Passing arguments to west flash is needed in many cases
but there was no way to properly generate documentation
with such examples.
With this new "flash-args" option we can now.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The figure and table related to the VDED notification sequence were wrong.
It fixes that by changing the image and adjusting the table content.
Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
Since samples are starting to leverage the new :zephyr:code-sample
directive, let's use the available meta data to expose that structured
information to search engines.
This commit adds JSON-LD markup to the HTML output of code sample pages
and sets the meta description to the samples' description.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
CodeSample node is meant to be a temporary node that's transformed into
standard docutils nodes. While the node might contain children useful
for the transformation, they're not meant to be included in the result
of the transform.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
According to the UART API documentation, implementation must block when
the transceiver is full. For CDC ACM UART, TX ringbuffer can be
considered as transceiver buffer/FIFO. Blocking when the USB subsystem
is not ready is considered highly undesirable behavior. Blocking may
also be undesirable when CDC ACM UART is used as a logging backend.
Change the behavior of CDC ACM poll out to:
- Block if the TX ring buffer is full, hw_flow_control property is
enabled, and called from a non-ISR context.
- Do not block if the USB subsystem is not ready, poll out
implementation is called from an ISR context, or hw_flow_control
property is disabled.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The main new features are a 'west grep' command and a new
'description:' field in the manifest file's 'projects:' elements.
Rather than try to keep the version number in index.rst up to
date, which it frequently is not, just delete the paragraph.
Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
These are backwards compatible extensions in keeping with
our promise to adhere to semantic versioning from now on.
Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
The main documentation for the command itself is in the 'west help
grep' output, so just add an entry in the list of built-in commands.
Document the extra config options as well.
Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
Add a note about requirements for specialized drivers, clarifying the
requirements about using Zephyr APIs.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Since there are multiple static analysis tools being used
now, it is better to change references for a particular one
and just point to static analysis section in the documentation.
JIRA is no longer used for tracking security issues. Update it
to Github.
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
Remove gdbstub sample (samples/subsys/debug/gdbstub) as duplicated
by a test (tests/subsys/debug/gdbstub).
Update the GDB stub documentation.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Add new configuration value CONFIG_LWM2M_UPDATE_PERIOD
that allows calculating update period from last update,
instead of calculating it from the lifetime.
In runtime, server is allowed to change the lifetime of the
registration which causes update perdiod to be effected.
When fixed update period is preferred, UPDATE_PERIOD
config is then used.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Add Zephyr 3.5 as a supported release until July 26th 2024, i.e. when
3.7 is planned to be released.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Use Noto as baseline font and Inconsolata Nerd Font for source code.
These are both esthetically pleasing and have good Unicode coverage.
NOTE: Unsupported characters (i.e. emojis, at the time of this commit)
are rendered as tofu (i.e. a square).
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
XeLaTeX is a TeX typesetting engine that extends LaTeX with support for
Unicode and modern font technologies such as OpenType.
It is included in all the LaTeX distro recommended for Zephyr so it is
safe to assume it is available to the user interested in building the
PDF documentation locally
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add note to migration guide describing how to instantiate a ramdisk
using devicetree, and calling out Kconfig options that have been removed
with this change
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Add migration guide notes for i.MX RT boards, including the following
changes:
- i.MX RT boards must now manually enable
CONFIG_DEVICE_CONFIGURATION_DATA and CONFIG_NXP_IMX_EXTERNAL_SDRAM
when required
- SNVS pin names have changed for i.MX RT11xx series boards
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Reorder the sections so that the core/wide impact ones come first (e.g.
Kernel and C-Library) and more specific ones (e.g. architectures) come
last.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Add sections to the migration guide to make it easier to spot and follow
suggestions of specific areas.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Reword VPX part as was requested by @abrodkin
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
Added explicit code blocks throughout the document.
Removed several incorrect uses of "console" language where it should have
been shell or bat.
"console" is only for _bash_ sessions that include a prompt.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The 'console' language in pygments is for Bash shell session, i.e code
snippets were commands MUST start with a prompt.
The commands rendered by the ZephyrAppCommandsDirective do not include
a prompt, and should therefore be set as "shell".
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add required settings for telling the copybutton Sphinx extension to
ignore prompts when copying a code block.
Both bash prompt and Zephyr UART prompt are ignored.
Examples of the new behavior:
.. code-block:: console
$ echo "Hello World"
Hello World
The copied text will be: 'echo "Hello World"'.
.. code-block:: console
uart:~$ l2cap connect 29
Chan sec: 1
L2CAP connection pending
Channel 0x20000210 connected
Channel 0x20000210 status 1
uart:~$ l2cap send 3 14
Rem 2
Rem 1
Rem 0
Outgoing data channel 0x20000210 transmitted
Outgoing data channel 0x20000210 transmitted
Outgoing data channel 0x20000210 transmitted
The copied text will be: 'l2cap connect 29\nl2cap send 3 14'.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Make sure devicetree code blocks all have proper pygments language set.
Fixed a few other "none" code blocks as well.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This commit fixes syntax higlighting of all the reStructuredText
snippets in the documentation guidelines by setting default
higlighting language to rst.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
* add mention of ext2 as a supported file system.
* remove unnecessary mention to configurability and logging since it's
not unique to VFS.
* capitalize FatFS properly
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add proper pygments settings to make Kconfig snippets look pretty.
Also fixed a few config and devicetree code blocks.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
- Added language info to code-blocks when relevant (ex. for yaml
snippets)
- Formatted grammar for expression language as antlr and added
syntax highlighting
- Fixed various formatting issues with lists, definition lists...
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The inclusion of this note in the migration guide
explains the clocking change that occured in the
LPC55XXX soc as well as the added Kconfig that toggles
the PLL1 from being initialized. Also updated the
lpc board docs to state the correct System
Clock Value.
Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
Fixed a few occurrences of incorrect references to Kconfig options
(missing the CONFIG_ prefix)
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The contents of the Release notes section was partly outdated and partly
misplaced. Moved the relevant bits to the actual intro of the doc.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The ever growing list of release notes for past releases was making it
too easy to miss the migration guide for the latest release. This commit
moves the release notes for EOL releases to a dedicated page.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Attempting to run the memory slab docs snippets will
result in build issues. This PR is an attempt to fix
those.
Signed-off-by: Andrei Hutanu <andrei.hutanu.i@gmail.com>
Adds release notes for the RTIO subsystem for 3.5 with notable bug
fixes, changes, and feature additions.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Adds notable bug fixes, driver additions, and feature additions to the
DMA API and drivers in 3.5.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Fixed an incorrect mention of buffer size being expressed in 32-byte
words for data item mode when it's in fact 32-bit.
Fixed a few broken references to C functions and structs.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Include in migration guide about how the meaning of dma-channels
to the LPC DMA driver has been changed/fixed, which will
affect downstream boards, and information about the new Kconfig
achieving the old functionality of dma-channels.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Added comments about new drivers, bug fixes, and enhancements made to
sensor drivers since the last release.
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
The macro K_THREAD_STACK_MEMBER has actually been deprecated
since v2.4.0 in the macro doxygen description, but it was
never marked with __DEPRECATED_MACRO. Since this was being
used in various drivers, make it follow the deprecation
process.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
ZBus had one break change related to the runtime observers'
configuration, and the VDED delivery sequence has changed. This commit
adds entries on the migration guide about the mentioned changes.
Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
Add documentation for the new way to storage observers, the message
subscribers, and the confirmed message sample.
Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
In commit commit c19c6fb438
("Revert "scripts: west build: default build.pristine to auto""),
we set the default --pristine value back to 'never', but the
documentation never got updated. Fix it.
Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
Fixes a typo in the release notes where two 'Arm' entries were
present, and the first should have been 'Arc'.
Signed-off-by: Kevin Townsend <kevin.townsend@analog.com>
Adds a note on how to configure and what to beware of when
disabling mutex support in a multithreading application
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds a note on how to configure and what to beware of when
disabling mutex support in a multithreading application
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
This adds bits about partially enabling warnings on shadow
variables for a subset of in-tree code.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This adds some bits on added Xtensa MMU support, refactoring of
ESP32 folder, and various board additions/removals.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Add changes to Ethernet and Wi-Fi drivers for v3.5.
Also add information about generic Ethernet and Wi-Fi changes.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Add CAN related release notes for Zephyr v3.5.0. API changes are already
described in the migration guide for v3.5.0.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
Some SSD1306 Kconfig options replaced by dts to make able to
configure per device.
Add the description how to migrate it.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Two references to the integration of object cores with threads were
missing from the documentation. This fixes that.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
The "Contributing to Zephyr" page used to be a simple table of contents
with pointers to sub-pages. This bland page was not very inviting to new
contributors, and provided little to no context as to what to expect in
each sub-section. This commit improves the landing page by implenmenting
the following changes:
- Remove auto toctree and replace with manually curated entries that
provide more context about each sub-section.
- Add a section about the Zephyr Contributor Badge.
- Add a section about getting help, with links to Discord and dev
mailing list.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The intro of this document was starting to show its age. Simplified
some of the wording and added a reference to the documentation build
instructions.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Few channels of this driver were using the wrong units, add a note
pointing out that this needs a matching change in any application using
them.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Add a migration note entry about CONTAINER_OF type checking for the
k_work use case. This was common enough that it's probably worth a note
pointing at the conversion function.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
"Numbered steps" were dropped a long time ago in a previous revamp of
the stylesheet, so dropping instructions related to them in the
documentation guidelines.
Also remove unecessary mention to "how to build the doc" as it's
already mentioned as a note at the top of the document.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
There used to be a dedicated style to number headings in a .rst document
but there is currently no actual stylesheet for it, and the added value
is somewhat limited: dropping the associated directive from the GSG.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Zephyr's code base uses MP_MAX_NUM_CPUS to
know how many cores exists in the target. It is
also expected that both symbols MP_MAX_NUM_CPUS
and MP_NUM_CPUS have the same value, so lets
just use MP_MAX_NUM_CPUS and simplify it.
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
Adds a note about required changed for Zephyr 3.4 SMP version 2
error translation handlers in Zephyr 3.5 (or newer)
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Add a required change in the migration guide to document the changes
to the accept() callback in struct bt_l2cap_server.
Signed-off-by: Donatien Garnier <donatien.garnier@blecon.net>
Generate index of west projects and information about them.
Based on an extension from sdk-nrf repo.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
As of Sphinx 6.1, sphinx.util.progress_message is deprecated and
sphinx.util.display.progress_message should be used instead.
See https://www.sphinx-doc.org/en/master/changes.html#id165
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Tweak a few sentences and add a basic example, to fit in with the
overall document a little better. Also, fix an invalid cross-reference.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
It was awkwardly placed in the middle of the "Write your devicetree"
section, breaking up the flow of the guide. A more natural placement
would be underneath "Contributing your board", considering that this
feature deals with boards already submitted to Zephyr.
Let's relocate this part and swap two of its paragraphs in the process,
to motivate the feature before describing it.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
Added a new event for LWM2M_RD_CLIENT_EVENT_DEREGISTER for
indicate LwM2M client dereistartion.
Updated unit test and sample for new event type
Signed-off-by: Juha Heiskanen <juha.heiskanen@nordicsemi.no>
Updates Ethernet PHY devicetree bindings to be more consistent with
Linux by using the standard `reg` property for the PHY address instead
of a custom `address` property. As a result, MDIO controller bindings
now require standard `#address-cells` and `#size-cells` properties.
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
Specification for MCUmgr OS group command allowing to query
for bootloader information.
Provide information on supported MCUboot parameters query by MCUmgr
group OS.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Alignment of the message queue's ring buffer is not necessary.
The underlying implementation uses memcpy (which is
alignment-agnostic) and does not expose any internal pointers
Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
Hides types in the IEEE 802.15.4 net_mgmt sub-API that are of no public
interest and improves documentation of the remainder.
All constants that are not meant to be used by applications have been
hidden. Only the API actually being of relevance to application
developers is now publicly visible and documented.
Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
Integrates and cross-references OpenThread and native IEEE 802.15.4 docs
as they share a common driver layer.
While OpenThread is of course not an IEEE 802.15.4 subsystem API it is
still included in the ieee802154 documentation group, purely for
convenience to the documentation readers.
For organizational purposes OT is considered a separate area of
maintenance and therefore keeps its dedicated documentation page - but
the two subsystems now cross-reference each other for convenience.
Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
Improves the API documentation including it's structure and integration
into the Zephyr documentation.
Previously the API status of the IEEE 802.15.4 API (and its sub-APIs)
was unclear.
This change adds three APIs in an "unstable" state:
- IEEE 802.15.4 L2 for subsystem developers
- IEEE 802.15.4 drivers for driver developers
- IEEE 802.15.4 net_mgmt for application developers
The corresponding APIs are documented at a group level.
These sub-APIs need to be separately versioned as they have different
audiences, change velocities and levels of stability.
Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
Write documentation for conn_mgr and its subsystems, especially
guidelines for writing connectivity implementations
Signed-off-by: Georges Oates_Larsen <georges.larsen@nordicsemi.no>
Replaces the previous approach to define bands via hardware capabilities
by the standard conforming concept of channel pages.
In the short term this allows us to correctly calculate the PHY specific
symbol rate and several parameters that directly depend from the symbol
rate and were previously not being correctly calculated for some of the
drivers whose channel pages could not be represented previously:
* We now support sub-nanosecond precision symbol rates for UWB. Rounding
errors are being minimized by switching from a divide-then-multiply
approach to a multiply-then-divide approach.
* UWB HRP: symbol rate depends on channel page specific preamble symbol
rate which again requires the pulse repetition value to be known
* Several MAC timings are being corrected based on the now correctly
calculated symbol rates, namely aTurnaroundTime, aUnitBackoffPeriod,
aBaseSuperframeDuration.
In the long term, this change unlocks such highly promising functional
areas as UWB ranging and SUN-PHY channel hopping in the SubG area (plus
of course any other PHY specific feature).
Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
Based on review of the similar charger driver API, it's been demonstrated
from the community that embedding a per value property type when fetching
properties. Separating off the property types from the property values
themselves also allow an array of property types to declared as static
const.
Break up fuel_gauge_property struct into a fuel_gauge_prop_val union and a
fuel_gauge_prop_t property type as inputs into fuel gauge API functions.
Signed-off-by: Aaron Massey <aaronmassey@google.com>
The fuel_gauge_get_prop() function prototype declares a function that
retrieves multiple fuel gauge properties at once. The naming suggests it
ought to fetch a singular property at a time. Moreso, some clients may just
want to fetch properties one at a time and may feel uncomfortable using a
prototype for fetching multiple properties when wanting to fetch them one
at a time.
Modify fuel_gauge_get_prop() to fetch a single property and add
fuel_gauge_get_props() to support fetching multiple properties. Modify
existing tests/drivers/samples.
This is part of #61818 work.
Signed-off-by: Aaron Massey <aaronmassey@google.com>
Move commands that require parameters first into the list.
Move syntax line first, command documentation second,
flags last. This is much like Unix commands do
❯ /bin/ls --help
Usage: /bin/ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Compared to:
uart:~$ lwm2m
lwm2m - LwM2M commands
Subcommands:
read :read PATH [OPTIONS]
Read value from LwM2M resource
-x Read value as hex stream (default)
-s Read value as string
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Adds note on addition of
MCUBOOT_BOOTLOADER_MODE_WITH_DOWNGRADE_PREVENTION
to MCUboot Kconfig module.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
This adds a note on the changes related to the device
initialization macros and removal of two kconfigs.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
After having migrated a bunch of apps to the new default C library we
have realized that some of the caveats described in the existing
picolibc section of the migration guide do require action on the user
more often than previously thought. In order to ensure that all users
see those and can act upon them, move the picolibc migration info to the
required changes section.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Correct DFU and BLOB models specs names. Also mentioning that they are
experimental yet (under BT_MESH_V1d1 option).
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
While it doesn't seem to be an issue for HTML rendering, the use of
\verb is not allowed within LaTeX equations and breaks the PDF build.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The list of user-defined functions in "User-Defined Tracing" section was
not properly formatted (missing blank line).
Switched the (broken) list to a code block to now provide C syntax
highlighting.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
In Zephyr, this is let to the disk access API user. There is nothing the
driver can do about it.
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
Because devices share the same underlying infrastructure with SYS_INIT,
the same levels have always been available. However, not all of them are
needed, and some are not even usable. For example, `EARLY` can't be used
because when initialized `z_device_state_init` has not been called yet.
`SMP` has never been used by device drivers, and it is now in question,
likely to be moved to SMP specific hooks. Finally, `APPLICATION` does
not make much sense in the context of Kernel devices. Note that of the 3
levels just mentioned, only one was actively tested (`APPLICATION`) by
Kernel tests, meaning others were likely never considered in the context
of devices.
This patch leaves `PRE_KERNEL_1`, `PRE_KERNEL_2` and `POST_KERNEL`
available to devices. Others have been deprecated, and will generate a
compiler warning if used.
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
This migrates the subsys code samples to the new Sphinx code-sample
extension, making it easier to find relevant samples when browsing
API reference.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
A link to a code-sample should have its "text" attribute set to the text
description of the sample, not the description _node_.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Sphinx will now issue a warning when a code-sample role points to a
sample that does not exist.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The MQTT-SN publisher sample is referred to as mqtt-sn-publisher, not
mqtt-sn-publisher-sample.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
MODEM_GSM_PPP is deprecated in favor of using the new
MODEM_CELLULAR driver.
Directly related to this are UART_MUX and GSM_MUX. These are also
being deprecated.
Signed-off-by: Ryan Erickson <ryan.erickson@lairdconnect.com>
Use the new code-sample directive and roles to document the networking
samples so that they show up as "Related samples" when browsing the
various relevant networking APIs.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Clarified the impact of CONFIG_NET_INTERFACE_NAME Kconfig option
as it can change how SO_BINDTODEVICE BSD socket option behaves.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Use the defined(__DOXYGEN__) more specifically in the header to better
match i2c.h and make things more explicit. Removes the define being
setup in zephyr.doxyfile.in.
Fixes some of the deprecation notes and what to look for instead. Fixes
some typos.
The async, signal, and rtio APIs for SPI are now shown in the built docs
as would be expected.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Rework RAM disk driver to be configured using devicetree and
support multiple instances.
This patch also removes a copy of the RAM disk driver,
tests/subsys/fs/fat_fs_dual_drive/src/disk_access_test_drv.c,
that was there for testing multiple disk drivers support.
Bonus: one SYS_INIT() less and a memory region can be exported to the
host.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
This adds a link for convenience. Many times before I struggled to
find the date for the next feature freeze. This is to help others,
and myself, to find it easier in the future.
Signed-off-by: Hein Wessels <heinwessels93@gmail.com>
Document how to use pytest_root keyword. Update docs
with changes in pytest-twister-harness plugin.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
This adds support for the Upload OOB Start message to the DFD server, by
providing callbacks that the application can use to hook any OOB scheme
into the model behavior.
There are also extensive changes to the dfu_slot module, to accomodate
the new needs that appeared with the support for OOB transfer (mainly,
fwid, size and metadata are no longer available when the slot is
allocated, they appear later in the handling).
Signed-off-by: Ludvig Samuelsen Jordet <ludvig.jordet@nordicsemi.no>
The fuel gauge API uses separate get/set property structs to indicate what
properties are readable or writable. This lead to duplication in property
names and potential confusion for new users of the API. See issue #61818.
In addition to above, drivers already determine at runtime if a property is
supported for read or write actions.
Join the get/set fuel gauge property structs as a single struct.
Signed-off-by: Aaron Massey <aaronmassey@google.com>
This reverts commit 3127d7b54c which
was forgotten when switching back to breathe from docleaf and causing
unecessary "here's a warning about something that's not actually
a warning" :)
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Doxygen gets confused by the macro expansion in
include/zephyr/xen/public/domctl.h as that is only defined if
CONFIG_ARM64=y, add a no-op expansion of that macro when building the
documention so it has something to work on.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
This is the final step in making the `zephyr,memory-attr` property
actually useful.
The problem with the current implementation is that `zephyr,memory-attr`
is an enum type, this is making very difficult to use that to actually
describe the memory capabilities. The solution proposed in this PR is to
use the `zephyr,memory-attr` property as an OR-ed bitmask of memory
attributes.
With the change proposed in this PR it is possible in the DeviceTree to
mark the memory regions with a bitmask of attributes by using the
`zephyr,memory-attr` property. This property and the related memory
region can then be retrieved at run-time by leveraging a provided helper
library or the usual DT helpers.
The set of general attributes that can be specified in the property are
defined and explained in
`include/zephyr/dt-bindings/memory-attr/memory-attr.h` (the list can be
extended when needed).
For example, to mark a memory region in the DeviceTree as volatile,
non-cacheable, out-of-order:
mem: memory@10000000 {
compatible = "mmio-sram";
reg = <0x10000000 0x1000>;
zephyr,memory-attr = <( DT_MEM_VOLATILE |
DT_MEM_NON_CACHEABLE |
DT_MEM_OOO )>;
};
The `zephyr,memory-attr` property can also be used to set
architecture-specific custom attributes that can be interpreted at run
time. This is leveraged, among other things, to create MPU regions out
of DeviceTree defined memory regions on ARM, for example:
mem: memory@10000000 {
compatible = "mmio-sram";
reg = <0x10000000 0x1000>;
zephyr,memory-region = "NOCACHE_REGION";
zephyr,memory-attr = <( DT_ARM_MPU(ATTR_MPU_RAM_NOCACHE) )>;
};
See `include/zephyr/dt-bindings/memory-attr/memory-attr-mpu.h` to see
how an architecture can define its own special memory attributes (in
this case ARM MPU).
The property can also be used to set custom software-specific
attributes. For example we can think of marking a memory region as
available to be used for memory allocation (not yet implemented):
mem: memory@10000000 {
compatible = "mmio-sram";
reg = <0x10000000 0x1000>;
zephyr,memory-attr = <( DT_MEM_NON_CACHEABLE |
DT_MEM_SW_ALLOCATABLE )>;
};
Or maybe we can leverage the property to specify some alignment
requirements for the region:
mem: memory@10000000 {
compatible = "mmio-sram";
reg = <0x10000000 0x1000>;
zephyr,memory-attr = <( DT_MEM_CACHEABLE |
DT_MEM_SW_ALIGN(32) )>;
};
The conventional and recommended way to deal and manage with memory
regions marked with attributes is by using the provided `mem-attr`
helper library by enabling `CONFIG_MEM_ATTR` (or by using the usual DT
helpers).
When this option is enabled the list of memory regions and their
attributes are compiled in a user-accessible array and a set of
functions is made available that can be used to query, probe and act on
regions and attributes, see `include/zephyr/mem_mgmt/mem_attr.h`
Note that the `zephyr,memory-attr` property is only a descriptive
property of the capabilities of the associated memory region, but it
does not result in any actual setting for the memory to be set. The
user, code or subsystem willing to use this information to do some work
(for example creating an MPU region out of the property) must use either
the provided `mem-attr` library or the usual DeviceTree helpers to
perform the required work / setting.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
According to https://github.com/zephyrproject-rtos/zephyr/pull/61886#issuecomment-1713302331
we need to use "must only" for models that spec states:
`If supported, ... shall be supported by the primary element and shall
not be supported by any secondary element`.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
This adds a few words about using Picolibc without native support
from toolchain, and how to enable this behavior for toolchain.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Key combinations described using the sphinx :kbd: role should not have
a white space around + sign
i.e. should be :kbd:`Ctrl+d` not :kbd:`Ctrl + d`
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>