Commit Graph

108 Commits

Author SHA1 Message Date
Stefan Gloor
1d8c3c013b doc: update MIPI DBI API compatibility
The MIPI DBI API supports MIPI DBI controllers type A, B, and C
(except with 16 write clocks). Update the documentation accordingly.

Signed-off-by: Stefan Gloor <code@stefan-gloor.ch>
2024-09-20 11:56:22 -05:00
Balaji Kulkarni
beb733919d docs: i3c: fix incorrect detail for SETDASA I3C CCC usage
Fix the recommended usage for SETDASA I3C CCC

Signed-off-by: Balaji Kulkarni <quic_bkulkarn@quicinc.com>
2024-09-19 03:53:17 -04:00
Arrel Neumiller
9bba5141f5 doc: i2c, i3c: remove unnecessary preposition 'in'
This commit removes the preposition "in" from the phrase
"in particularly"in the I2C and I3C Controller API sections
to improve readability.

Signed-off-by: Arrel Neumiller <rlneumiller@gmail.com>
2024-09-17 20:07:09 -04:00
Fabio Baltieri
f7c0a643df kscan: mark the kscan driver class as deprecated
All kscan drivers have been moved over to input, Mark the kscan driver
class as deprecated so it can be removed in the 4.2 release.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-09-17 14:52:50 -04:00
Benjamin Cabé
9a16b93868 samples: hello_world: use zephyr:code-sample directive
Adds missing code-sample directive to the Hello World sample in
preparation for upcoming changes to the Zephyr documentation that will
be leveraging the provided description and metadata.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-09-16 10:05:18 +02:00
Benjamin Cabé
df294e34e1 doc: sphinx-lint: fix bad usage of "default role"
Fixes bad usage of single backticks in lieu of double backticks for
rendering inline literals, or simple '*' for italics.

When appropriate, a better construct than double backticks has been
selected (ex. :file:, :kconfig:option:, :c:func:, ...), or proper :ref:
have been used if the original intention was to have a link.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-09-13 11:42:51 -05:00
Fabian Blatz
32390d55ab doc: stepper: Add Stepper motor controller documentation
Added stepper motor controller documentation entry to peripherals.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Signed-off-by: Jilay Pandya <jilay.pandya@zeiss.com>
2024-08-27 12:43:39 +02:00
Benjamin Cabé
385f8e127d doc: Use basic ..doxygengroup syntax
Do not pass options to doxygengroup to rationalize
usage and be less dependent on Breathe.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-08-13 09:49:21 +01:00
Ricardo Rivera-Matos
977c70a6c0 haptics: Introduces a haptics API
Introduces a haptics API for use with LRA driver ICs to
create haptic feedback events.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2024-08-08 15:57:12 +02:00
Tom Burdick
9f85a70a04 doc: Revamp sensor docs
Docs now start at a high level, discussing sensors, attributes,
channels, and reading data from them.

Followed by more detailed usage guides in how to solve common problems
sensor users may run into.

Additionally renames the sensor_api sphinx tag to sensor

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-07-16 16:49:24 -04:00
Henrik Brix Andersen
370787a227 doc: hardware: peripherals: eeprom: reorganize and add EEPROM shell page
Reorganize the EEPROM periheral documentation to make room for subpages
with additional details. Add a page describing the EEPROM shell module.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-07-08 15:52:21 +02:00
Swift Tian
a86bbd3ebf doc: Add MSPI API documentation
Add the mspi.rst doc and related things for document generation.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2024-06-14 21:07:00 -04:00
Tom Burdick
753f8ff0c7 docs: Move sensor.rst to sensor/index.rst
Looking to expand the sensor docs and break out significant sections.
First though to move this to a directory to allow for multiple sensor
related rst docs.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-06-05 17:38:56 -05:00
Henrik Brix Andersen
695e704b5d dts: bindings: can: rename bus-speed/bus-speed-data properties
Deprecate the CAN controller bus-speed/bus-speed-data properties and rename
them to bitrate/bitrate-data to match the terminology used in other CAN
devicetree properties and the CAN subsystem API.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-06-05 14:43:00 +01:00
Ricardo Rivera-Matos
d929fc513c doc: charger: Adds introductory context to documentation
Adds some introductory context to the charger documentation. This
is being aided to help developers understand what a charger device
is and how the charger_driver_api is relevant to system operation.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2024-05-31 08:07:25 +02:00
Henrik Brix Andersen
88fb5e2edb drivers: can: shell: print device name in RX path
Include the device name when printing received CAN frames. This improves
the user experience when working with multiple CAN controllers via the CAN
shell.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-05-29 11:58:54 +02:00
Jose Alberto Meza
33f905009d doc: eSPI: Update link to eSPI spec
Add link to eSPI spec 1.5
Update coding guidelines for eSPI bus

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2024-05-02 13:56:46 -04:00
Dmytro Yaskov
fc68d26e9c doc: hardware: peripherals: mipi_dbi: Added a newline to fix a typo
Added a newline to display the list correctly

The list is displayed like:
MIPI DBI defines 3 interface types: * Type A: Motorola 6800 parallel bus
 * Type B: Intel 8080 parallel bus

But it should be like:
MIPI DBI defines 3 interface types:
 * Type A: Motorola 6800 parallel bus
 * Type B: Intel 8080 parallel bus

This was fixed by an example from another doc:
doc/hardware/peripherals/i3c.rst

Signed-off-by: Dmytro Yaskov <dmytro.v.yaskov@gmail.com>
2024-04-18 11:16:09 +02:00
Henrik Brix Andersen
a57db0ddcb drivers: can: rework support for manual bus-off recovery
Since all CAN controllers drivers seem to support automatic recovery (for
any future drivers for hardware without this hardware capability this can
easily be implemented in the driver), change the Zephyr CAN controller API
policy to:

- Always enable automatic bus recovery upon driver initialization,
  regardless of Kconfig options. Since CAN controllers are initialized in
  "stopped" state, no unwanted bus-off recovery will be started at this
  point.

- Invert and rename the Kconfig CONFIG_CAN_AUTO_BUS_OFF_RECOVERY, which is
  enabled by default, to CONFIG_CAN_MANUAL_RECOVERY_MODE, which is disabled
  by default. Enabling CONFIG_CAN_MANUAL_RECOVERY_MODE=y enables support
  for the can_recover() API function and a new manual recovery mode (see
  next bullet). Keeping this guarded by Kconfig allows keeping the flash
  footprint down for applications not using manual bus-off recovery.

- Introduce a new CAN controller operational mode
  CAN_MODE_MANUAL_RECOVERY. Support for this is only enabled if
  CONFIG_CAN_MANUAL_RECOVERY_MODE=y. Having this as a mode allows
  applications to inquire whether the CAN controller supports manual
  recovery mode via the can_get_capabilities() API function and either fail
  or rely on automatic recovery - and it allows CAN controller drivers not
  supporting manual recovery mode to fail early in can_set_mode() during
  application startup instead of failing when can_recover() is called at a
  later point in time.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-03-02 18:26:48 +01:00
Daniel DeGrasse
1074fbd91e doc: hardware: add peripheral documentation for MIPI DBI
Add documentation for MIPI DBI peripheral class

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2024-01-31 16:01:45 +00:00
Johan Stridkvist
8943025471 doc: peripherals: Document limitation
Asynchronous and interrupt driven APIs can be used at the same time for
different hardware peripherals.

Signed-off-by: Johan Stridkvist <johan.stridkvist@nordicsemi.no>
2024-01-30 08:28:57 -05:00
Henrik Brix Andersen
bde074714e drivers: can: shell: print name of associated CAN transceiver if present
Print the name of the associated CAN transceiver in the "can show" shell
subcommand.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-26 14:27:57 +01:00
Henrik Brix Andersen
336d7ef7b4 drivers: can: shell: print current operation mode in show subcommand
Print the current operation mode in the "can show" shell subcommand.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-26 14:27:57 +01:00
Pisit Sawangvonganan
512dc9ff38 doc: fix typo in multiple directories (build, hardware, kernel, project)
Utilize a code spell-checking tool to scan for and correct spelling errors
in all files within the doc/build, hardware, kernel, project directory.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-01-26 13:16:18 +01:00
Henrik Brix Andersen
3436c93387 drivers: can: remove run-time RTR filtering, add build-time RTR filter
A growing number of CAN controllers do not have support for individual RX
hardware filters based on the Remote Transmission Request (RTR) bit. This
leads to various work-arounds on the driver level mixing hardware and
software filtering.

As the use of RTR frames is discouraged by CAN in Automation (CiA) - and
not even supported by newer standards, e.g. CAN FD - this often leads to
unnecessary overhead, added complexity, and worst-case to non-portable
behavior between various CAN controller drivers.

Instead, move to a simpler approach where the ability to accept/reject RTR
frames is globally configured via Kconfig. By default, all incoming RTR
frames are rejected at the driver level, a setting which can be supported
in hardware by most in-tree CAN controllers drivers.

Legacy applications or protocol implementations, where RTR reception is
required, can now select CONFIG_CAN_ACCEPT_RTR to accept incoming RTR
frames matching added CAN filters. These applications or protocols will
need to distinguish between RTR and data frames in their respective CAN RX
frame handling routines.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-21 11:00:31 +01:00
Bjarki Arge Andreasen
5f4545d9dd doc: peripherals: Add emulated RTC doc to docs
Adds documentation of emulated RTC behavior.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-01-08 10:10:13 +01:00
Henrik Brix Andersen
7940c728ab doc: hardware: peripherals: can: add CAN shell documentation
Add documentation for the CAN shell module.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-08 10:09:53 +01:00
Ricardo Rivera-Matos
d4ed6bacf0 drivers: charger: Adds charge_enable handler
Adds a charge_enable handler to facilitate enabling and disabling
a charge cycle. This deprecates enabling and disable the charge
cycle via the CHARGER_PROP_STATUS property.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2023-12-12 10:49:39 -06:00
Benjamin Cabé
155420522b doc: Fix occurrences of repeated words
Another round of repeated words cleanup. This commit tries to keep the
diff minimal and line wrapping was mostly left intact in the touched
files, as having them consistent across the documentation is probably
the topic of a future tree-wide cleanup (or not)

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-15 17:34:39 -05:00
Alberto Escolar Piedras
8366c1adb4 doc/hardware: Replace references to native_posix w native_sim
Replace the references to native_posix with native_sim.

Background: during this release native_sim is replacing
native_posix as the main host test/development platform.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 11:11:53 +01:00
Tom Burdick
344d24bcb7 docs: Better document the DMA API and expectations
The DMA API has several expectations for drivers and callers that were
underdocumented or undocumented. Better clarify the driver expectations
and caller expectations.

The DMA API from the caller side is not a portable API and really cannot
be as each DMA has unique properties and expectations of memory,
peripheral interaction, and features. The API in effect provides a union
of all useful DMA functionality drivers have needed in the tree. It can
still be a good abstraction, with care, for peripheral devices for
vendors where the DMA IP might be very similar but have slight
variances.

From the driver implementation side expectations around synchronization,
state transitions, and memory management for transfer descriptors is now
described in documentation rather than solely from me in github review
comments.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-11-10 10:40:10 +01:00
Ricardo Rivera-Matos
2253ba571b docs: charger: Corrects text in the Properties section
Correct Properties subsection of the document to be accurate
to the latest implementation of the charger API.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2023-11-09 17:26:03 -05:00
Ricardo Rivera-Matos
d291ef4577 doc: charger: Removes misleading statement at introduction
Removes a statement at the introduction claiming only getting
properties is supported by the API. The charger API can get/set
properties.

Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
2023-11-09 17:26:03 -05:00
Henrik Brix Andersen
5d5249d85b drivers: can: unify spelling of CAN Flexible Data-rate abbreviation
Unify spelling of CAN Flexible Data-rate abbreviation to "CAN FD" instead
of "CAN-FD". The former aligns with the CAN in Automation (CiA)
recommendation.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-11-01 11:17:17 +00:00
Henrik Brix Andersen
435b8a25d6 doc: hardware: peripherals: can: split CAN transceiver from controller
Split out the CAN transceiver API documentation from the CAN controller API
documentation. The CAN transceiver API was introduced in Zephyr v3.1.0.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-31 09:02:00 +01:00
Bjarki Arge Andreasen
42676e322b doc: gnss: Add GNSS documentation
- Added GNSS documentation entry to peripherals
- Added GNSS API entry to the API overview as 3.6 experimental

Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
2023-10-30 11:43:19 -04:00
Henrik Brix Andersen
eddfba487d doc: can: move the documention for high-level protocols to connectivity
Move the documentation for high-level CAN protocols (for now only covering
ISO-TP) from the peripherals section to the connectivity section.

This matches the layout in code, where the CAN controllers are under the
drivers/can directory and the protocols are under the subsys/canbus/
directory.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-30 09:25:40 +01:00
Jamie McCrae
9ea9c85f00 doc: retained_mem: Add note on mutex configuration
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>
2023-10-10 16:27:10 +03:00
Anas Nashif
34e16225eb neural_net: remove unused experimental API
Experimental API is not being used anymore, remove it.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-29 20:48:33 -04:00
Anisetti Avinash Krishna
db70b8ed11 doc: hardware: peripherals: Added tgpio.rst
Added tgpio.rst file for documentation generation.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-09-29 16:28:09 +02:00
Aaron Massey
12cbfcf397 fuel_gauge: Repl property struct w/ union
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>
2023-09-27 12:07:59 +02:00
Aaron Massey
e294b16a2f fuel_gauge: Add fuel_guage_get_props()
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>
2023-09-27 12:07:59 +02:00
Anas Nashif
1640d37189 drivers: neural_net: remove obsolete driver
This driver is not being used by anything and is not being built or
tested, so remove it.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-25 07:40:07 -04:00
Benjamin Cabé
b6165e01ca doc: can: samples: fix bad reference to can-counter sample
Fixed a dangling reference that was silently ignored before.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-22 10:18:02 +01:00
Benjamin Cabé
f6a4217a88 doc: driver: samples: Update driver samples to use new Sphinx extension
Migrated existing driver samples to use the new code-sample directive
and role.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-22 09:21:43 +02:00
Benjamin Cabé
994558ef8e samples: net: doc: Use new Sphinx extension to document networking samples
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>
2023-09-19 15:22:59 +01:00
Aaron Massey
a7b25d599b fuel_gauge: Join get/set prop structs
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>
2023-09-18 10:38:59 +01:00
Ricardo Rivera-Matos
a627035290 charger: Adds basic stub API doc
Adds a short stub doc as a placeholder for future documentation in the
charger API.

Signed-off-by: Ricardo Rivera-Matos <rriveram@opensource.cirrus.com>
2023-09-07 13:03:13 -04:00
Aaron Massey
82bfb26446 fuel_gauge: Add battery cutoff support
Many fuel gauge ICs offer a battery cutoff/shipping mode functionality that
cutoff charge from the battery. This is often useful for preserving battery
charge on devices while in storage.

Add battery cutoff support to the fuel gauge API with a generic default SBS
driver showing an example of support in tests.

Signed-off-by: Aaron Massey <aaronmassey@google.com>
2023-08-22 18:05:50 +02:00
Declan Snyder
6dd8601716 doc: disk: Mention eMMC support in disk subsystem
Include mention of MMC in disk/SD/SDHC doc pages.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2023-08-18 10:14:01 +02:00