zephyr/drivers/i2c
Guilherme Casa Nova 583f24e7e8 i2c_mcux_flexcomm: add transaction timeout option
With the device_sync_sem semaphore, there is the possibility of
the code not returning to give it back
(mcux_flexcomm_master_transfer_callback is never called),
causing it to get stuck in k_sem_take(&data->device_sync_sem, K_FOREVER)
in subsequent calls.

The i2c driver recovers by other means
(enabling FSL_FEATURE_I2C_TIMEOUT_RECOVERY)
but the callback might not return.

Adding a timeout option allows for this occurrence to be avoided.

Signed-off-by: Guilherme Casa Nova <guilherme.casa_nova@dell.com>
2024-02-02 15:24:26 -06:00
..
target
CMakeLists.txt rtio: Fix i2c implementation 2023-12-11 10:10:59 +01:00
gpio_i2c_switch.c drivers: i2c: set 'i2c_driver_api' as 'static const' 2024-01-17 16:09:01 +00:00
i2c_ambiq.c drivers: i2c: set 'i2c_driver_api' as 'static const' 2024-01-17 16:09:01 +00:00
i2c_andes_atciic100.c
i2c_andes_atciic100.h drivers: i2c: andes: Remove the inclusion of soc.h 2024-01-30 17:56:07 +01:00
i2c_b91.c
i2c_bitbang.c
i2c_bitbang.h
i2c_cc13xx_cc26xx.c
i2c_cc32xx.c
i2c_common.c
i2c_dw_registers.h drivers: i2c: i2c_dw: Added intel lpss dma support for I2C 2023-09-26 12:02:23 +02:00
i2c_dw.c drivers: i2c: correct spelling 2024-01-15 09:59:17 +01:00
i2c_dw.h drivers: i2c: i2c_dw: update DMA node access in I2C dw 2023-12-22 09:52:59 +01:00
i2c_emul.c drivers: i2c: set 'i2c_driver_api' as 'static const' 2024-01-17 16:09:01 +00:00
i2c_esp32.c drivers: i2c: esp32: check busy line before transfer 2023-10-02 16:57:39 +01:00
i2c_gd32.c drivers: i2c: set 'i2c_driver_api' as 'static const' 2024-01-17 16:09:01 +00:00
i2c_gecko.c i2c: silabs: Fix I2C target crash on long ISR execution 2023-10-09 10:15:37 +02:00
i2c_gpio.c drivers: i2c: set 'i2c_driver_api' as 'static const' 2024-01-17 16:09:01 +00:00
i2c_handlers.c syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
i2c_ifx_cat1.c
i2c_ifx_xmc4.c drivers: i2c: correct spelling 2024-01-15 09:59:17 +01:00
i2c_imx.c
i2c_ite_enhance.c ITE: drivers/i2c: Adjust the prescale of I2C SCL low and high period 2024-01-18 07:22:55 -05:00
i2c_ite_it8xxx2.c soc/it8xxx2: add support for raising EC bus to 24MHz 2024-01-31 16:43:46 +00:00
i2c_litex.c drivers: i2c: litex: add missing include 2024-01-19 15:13:53 +00:00
i2c_ll_stm32_v1.c drivers: i2c: correct spelling 2024-01-15 09:59:17 +01:00
i2c_ll_stm32_v2.c drivers: smbus: implement SMBus driver for STM32 2023-12-12 10:57:41 +01:00
i2c_ll_stm32.c drivers: i2c: stm32: Disable suspend to idle during transaction 2024-02-02 10:07:59 +01:00
i2c_ll_stm32.h drivers: smbus: implement SMBus driver for STM32 2023-12-12 10:57:41 +01:00
i2c_lpc11u6x.c
i2c_lpc11u6x.h
i2c_mchp_mss.c drivers: i2c: mchp_mss: remove redundant include 2024-01-19 15:13:53 +00:00
i2c_mchp_xec_v2.c
i2c_mchp_xec.c
i2c_mcux_flexcomm.c i2c_mcux_flexcomm: add transaction timeout option 2024-02-02 15:24:26 -06:00
i2c_mcux_lpi2c.c drivers: i2c: i2c_mcux_lpi2c: fix unused variable warning 2024-01-10 09:22:54 -06:00
i2c_mcux.c
i2c_nios2.c drivers: i2c: set 'i2c_driver_api' as 'static const' 2024-01-17 16:09:01 +00:00
i2c_npcx_controller.c driver: I2C: npcx: re-enable interrupts after bus error 2024-01-18 10:54:25 +01:00
i2c_npcx_controller.h drivers: i2c: correct spelling 2024-01-15 09:59:17 +01:00
i2c_npcx_port.c
i2c_nrfx_twi.c drivers: i2c: i2c_nrfx_twi*: don't print errors in case of transfer failure 2023-10-27 12:29:29 +02:00
i2c_nrfx_twim.c drivers: i2c: i2c_nrfx_twi*: don't print errors in case of transfer failure 2023-10-27 12:29:29 +02:00
i2c_numaker.c drivers: i2c: support for Nuvoton numaker series 2023-11-27 14:34:15 +00:00
i2c_rcar.c drivers/i2c: remove unnecessary includes 2023-10-13 09:46:34 +01:00
i2c_rtio.c rtio: Fix i2c implementation 2023-12-11 10:10:59 +01:00
i2c_rv32m1_lpi2c.c drivers: i2c: rv32m1: Fix build error 2024-01-23 18:14:16 +00:00
i2c_sam0.c
i2c_sam4l_twim.c
i2c_sam_twi.c
i2c_sam_twihs_rtio.c
i2c_sam_twihs.c
i2c_sbcon.c drivers: i2c: set 'i2c_driver_api' as 'static const' 2024-01-17 16:09:01 +00:00
i2c_sc18im704.c
i2c_sc18im704.h
i2c_sedi.c drivers: i2c: set 'i2c_driver_api' as 'static const' 2024-01-17 16:09:01 +00:00
i2c_shell.c
i2c_sifive.c drivers: i2c: set 'i2c_driver_api' as 'static const' 2024-01-17 16:09:01 +00:00
i2c_smartbond.c
i2c_tca954x.c drivers: i2c: set 'i2c_driver_api' as 'static const' 2024-01-17 16:09:01 +00:00
i2c_test.c
i2c_xilinx_axi.c
i2c_xilinx_axi.h
i2c-priv.h
Kconfig i2c_mcux_flexcomm: add transaction timeout option 2024-02-02 15:24:26 -06:00
Kconfig.ambiq
Kconfig.andes_atciic100
Kconfig.b91
Kconfig.cc13xx_cc26xx
Kconfig.dw drivers: i2c: correct spelling 2024-01-15 09:59:17 +01:00
Kconfig.esp32
Kconfig.gd32
Kconfig.gpio
Kconfig.i2c_emul
Kconfig.ifx_cat1
Kconfig.ifx_xmc4
Kconfig.it8xxx2
Kconfig.litex
Kconfig.lpc11u6x
Kconfig.mchp_mss
Kconfig.mcux i2c_mcux_flexcomm: add transaction timeout option 2024-02-02 15:24:26 -06:00
Kconfig.npcx
Kconfig.nrfx drivers: i2c: i2c_nrfx_twim: Add support for new instances 2023-10-20 15:04:10 +02:00
Kconfig.numaker drivers: i2c: support for Nuvoton numaker series 2023-11-27 14:34:15 +00:00
Kconfig.rcar
Kconfig.sam0
Kconfig.sam_twihs
Kconfig.sbcon
Kconfig.sc18im704 drivers: i2c: sc18im704: Add dependency to UART runtime config 2023-11-15 10:02:18 +01:00
Kconfig.sedi
Kconfig.sifive
Kconfig.smartbond
Kconfig.stm32
Kconfig.tca954x
Kconfig.test
Kconfig.xec
Kconfig.xilinx_axi