zephyr/doc/hardware/peripherals
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
..
audio
can drivers: can: rework support for manual bus-off recovery 2024-03-02 18:26:48 +01:00
display
edac
1-Wire_bus_topology.drawio.svg
adc.rst
auxdisplay.rst
bbram.rst
bc12.rst
charger.rst
clock_control.rst
coredump.rst
counter.rst
dac.rst
dma.rst
eeprom.rst
entropy.rst
espi.rst
flash.rst
fuel_gauge.rst
gnss.rst
gpio.rst
hwinfo.rst
i2c.rst
i2c_eeprom_target.rst
i3c.rst
index.rst doc: hardware: add peripheral documentation for MIPI DBI 2024-01-31 16:01:45 +00:00
ipm.rst
kscan.rst
led.rst
mbox.rst
mdio.rst
mipi_dbi.rst doc: hardware: add peripheral documentation for MIPI DBI 2024-01-31 16:01:45 +00:00
mipi_dsi.rst
pcie.rst
peci.rst
ps2.rst
pwm.rst
regulators.rst
reset.rst
retained_mem.rst
rtc.rst
sdhc.rst
sensor.rst
smbus.rst
spi.rst
tcpc.rst
tgpio.rst
uart.rst doc: peripherals: Document limitation 2024-01-30 08:28:57 -05:00
usbc_vbus.rst
video.rst
w1.rst
watchdog.rst