zephyr/drivers/i2c
Xavier Chapron cecea7b536 drivers: i2c_nrfx_{twi, twim}: Remove potential I2C deadlock
Remove K_FOREVER wait on completion_sync.
In some situations (a short on I2C SDA line for example), this
semaphore will never be released and therefore we should not wait
it forever.
Instead we wait for a maximum of 100msec and return an error if we
weren't able to retrieve the semaphore.
In such situation, the program is not stuck anymore, but the I2C
driver must be uninit then init again to work again.

Fixes #25076.

Signed-off-by: Xavier Chapron <xavier.chapron@stimio.fr>
2020-07-02 08:48:24 -04:00
..
slave zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
CMakeLists.txt drivers: i2c: i2c_dw: Move to devicetree detection 2020-05-05 14:44:25 -05:00
i2c_bitbang.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_bitbang.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_cc13xx_cc26xx.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_cc32xx.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_dw_port_x.h global: Replace BUILD_ASSERT_MSG() with BUILD_ASSERT() 2020-03-31 07:18:06 +02:00
i2c_dw_registers.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_dw.c drivers: i2c_dw: remove inappropriate assignment of API pointer 2020-06-16 10:46:39 -05:00
i2c_dw.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_esp32.c drivers: esp32/clock_control: support UART, I2C 2020-06-16 09:00:51 -05:00
i2c_gecko.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_gpio.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_handlers.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_imx.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_litex.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_ll_stm32_v1.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_ll_stm32_v2.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_ll_stm32.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_ll_stm32.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_mchp_xec.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_mcux_flexcomm.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_mcux_lpi2c.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_mcux.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_nios2.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_nrfx_twi.c drivers: i2c_nrfx_{twi, twim}: Remove potential I2C deadlock 2020-07-02 08:48:24 -04:00
i2c_nrfx_twim.c drivers: i2c_nrfx_{twi, twim}: Remove potential I2C deadlock 2020-07-02 08:48:24 -04:00
i2c_rv32m1_lpi2c.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_sam_twi.c drivers: use macro to define device structures 2020-06-08 15:01:52 -04:00
i2c_sam_twihs.c drivers: use macro to define device structures 2020-06-08 15:01:52 -04:00
i2c_sam0.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_sbcon.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c_shell.c drivers: Remove useless device start/end pointers 2020-06-26 11:09:28 -05:00
i2c_sifive.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
i2c-priv.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
Kconfig drivers: i2c: shell: add I2C bus recovery shell command 2020-05-09 01:15:30 +02:00
Kconfig.cc13xx_cc26xx
Kconfig.dw
Kconfig.esp32
Kconfig.gpio drivers: i2c: gpio: convert to using devicetree for instances 2020-05-05 10:17:23 -05:00
Kconfig.litex drivers: i2c: cleanup select HAS_DTS_I2C 2020-04-03 22:48:31 -04:00
Kconfig.nrfx drivers: nrf: Remove no longer suitable dependencies on Kconfig options 2020-04-03 14:47:32 +02:00
Kconfig.sam0
Kconfig.sbcon
Kconfig.sifive
Kconfig.stm32 drivers/i2c: stm32: Configure driver by compatible 2020-04-15 08:21:30 -05:00
Kconfig.xec