zephyr/samples/drivers
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
..
adc tests: adc: cleanup test tags 2023-11-15 07:51:08 -05:00
audio/dmic boards: arm: mimxrt595_evk_cm33: enable DMIC0 channels 0 and 1 2024-01-17 14:43:52 +01:00
auxdisplay doc: driver: samples: Update driver samples to use new Sphinx extension 2023-09-22 09:21:43 +02:00
can drivers: can: rework support for manual bus-off recovery 2024-03-02 18:26:48 +01:00
charger samples: charger: Demos new output limit properties 2024-02-26 11:33:24 +00:00
clock_control_litex tests: clock_control: cleanup test tags and unify them 2023-11-15 07:51:08 -05:00
clock_control_xec Samples: Fix XEC clock control sample code for MEC172x using new GPIOs. 2023-08-23 10:06:13 +02:00
counter tf-m: Change NS include path for TF-M 2.0.0 2024-01-17 16:52:52 +01:00
crypto samples: Switch integration_platforms from native_posix to native_sim 2023-11-20 12:02:48 +01:00
dac doc: samples: Fix typos introduced by f6a4217a 2023-09-26 08:38:42 +02:00
display samples: drivers: display: add a general test case 2024-01-30 10:27:57 -06:00
eeprom samples drivers eeprom: Switch from native_posix to native_sim 2023-11-14 13:06:01 +01:00
espi samples: drivers: espi: Fix compile errors 2023-12-06 21:35:29 -05:00
ethernet/eth_ivshmem doc: driver: samples: Update driver samples to use new Sphinx extension 2023-09-22 09:21:43 +02:00
flash_shell samples: flash_shell: remove sample code and use FLASH_SHELL 2023-10-20 15:01:17 +02:00
fpga/fpga_controller doc: driver: samples: Update driver samples to use new Sphinx extension 2023-09-22 09:21:43 +02:00
gnss samples: gnss: Add GNSS sample application 2023-10-30 11:43:19 -04:00
ht16k33 doc: driver: samples: Update driver samples to use new Sphinx extension 2023-09-22 09:21:43 +02:00
i2s samples: drivers: i2s: add output sample 2024-01-29 10:59:24 +00:00
ipm samples: drivers: ipm: esp32: Add ESP32S3 support 2024-01-13 00:22:24 +00:00
jesd216 samples: drivers: jesd216: support NXP FlexSPI NOR driver 2024-02-01 10:57:35 +01:00
kscan doc: driver: samples: Update driver samples to use new Sphinx extension 2023-09-22 09:21:43 +02:00
lcd_cyclonev_socdk samples, tests, boards: Switch main return type from void to int 2023-04-14 07:49:41 +09:00
lcd_hd44780 doc: driver: samples: Update driver samples to use new Sphinx extension 2023-09-22 09:21:43 +02:00
led_apa102 doc: driver: samples: Update driver samples to use new Sphinx extension 2023-09-22 09:21:43 +02:00
led_apa102c_bitbang samples, tests, boards: Switch main return type from void to int 2023-04-14 07:49:41 +09:00
led_is31fl3216a doc: driver: samples: Update driver samples to use new Sphinx extension 2023-09-22 09:21:43 +02:00
led_is31fl3733 doc: driver: samples: Update driver samples to use new Sphinx extension 2023-09-22 09:21:43 +02:00
led_lp50xx doc: driver: samples: Update driver samples to use new Sphinx extension 2023-09-22 09:21:43 +02:00
led_lp3943 doc: driver: samples: Update driver samples to use new Sphinx extension 2023-09-22 09:21:43 +02:00
led_lp5562 doc: driver: samples: Update driver samples to use new Sphinx extension 2023-09-22 09:21:43 +02:00
led_lp5569 doc: driver: samples: Update driver samples to use new Sphinx extension 2023-09-22 09:21:43 +02:00
led_lpd8806 doc: driver: samples: Update driver samples to use new Sphinx extension 2023-09-22 09:21:43 +02:00
led_pca9633 doc: driver: samples: Update driver samples to use new Sphinx extension 2023-09-22 09:21:43 +02:00
led_pwm doc: driver: samples: Update driver samples to use new Sphinx extension 2023-09-22 09:21:43 +02:00
led_sx1509b_intensity doc: driver: samples: Update driver samples to use new Sphinx extension 2023-09-22 09:21:43 +02:00
led_ws2812 boards: Enabling neopixel on Adafruit Qt Py RP2040 2024-01-18 10:54:55 +01:00
led_xec doc: driver: samples: Update driver samples to use new Sphinx extension 2023-09-22 09:21:43 +02:00
lora doc: README updated for lora driver send sample 2023-11-01 11:00:29 +00:00
mbox samples: drivers: mbox: remove mimxrt595_evk_cm33 2024-02-17 14:19:06 +01:00
mbox_data samples: tests: mbox: Add lpcpresso55s69 support 2024-02-02 09:31:33 -06:00
memc samples: drivers: memc: get AHB address dynamically 2023-10-20 14:53:10 +02:00
misc samples: drivers: misc: Added sample application for timeaware-gpio 2023-09-29 16:28:09 +02:00
peci doc: driver: samples: Update driver samples to use new Sphinx extension 2023-09-22 09:21:43 +02:00
ps2 soc: microchip_mec: do not enable PM in soc 2023-10-26 12:28:18 -05:00
smbus shell: do not enable subsystem/driver shell modules by default 2023-11-20 09:21:40 +01:00
soc_flash_nand samples: drivers: Added Nand Test Application 2024-01-30 18:01:31 +01:00
soc_flash_nrf samples: soc_flash_nrf: Make sure that the flash partition is valid 2023-12-11 09:56:55 +01:00
spi_bitbang doc: driver: samples: Update driver samples to use new Sphinx extension 2023-09-22 09:21:43 +02:00
spi_flash samples: drivers: spi_flash: Extend requirements description 2023-12-08 20:21:07 +00:00
spi_flash_at45 doc: driver: samples: Update driver samples to use new Sphinx extension 2023-09-22 09:21:43 +02:00
spi_fujitsu_fram samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
uart samples: drivers: uart: Add a 'passthrough' example 2024-01-27 15:33:29 +01:00
virtualization/ivshmem/doorbell doc: driver: samples: Update driver samples to use new Sphinx extension 2023-09-22 09:21:43 +02:00
w1/scanner boards: nucleo_g0b1re: add arduino_serial as supported 2023-09-25 18:42:05 -04:00
watchdog samples: add overlay files for nRF54L15 2024-01-30 21:00:44 +00:00
drivers.rst samples: drivers: Change drivers.rst to find all samples readme file 2020-05-15 17:18:56 +02:00