zephyr/drivers/i2c
Corey Wharton 46ba5e5518 drivers: i2c: i2c_dw: add bus mutex
This change adds a mutex to protect against simultaneous access to the bus
instead of returning an error during transfers. Since most I2C code doesn't
handle retries (especially with a -EIO code) not blocking on a mutex can
cause a number of problems.

Signed-off-by: Corey Wharton <xodus7@cwharton.com>
2023-04-07 13:17:43 +02:00
..
target drivers: i2c: eeprom_target: switch to dedicated driver compatible 2023-02-21 18:03:11 -05:00
CMakeLists.txt drivers: i2c: Add NXP SC18IM704 I2C support 2023-04-03 20:02:51 +02:00
i2c_andes_atciic100.c
i2c_andes_atciic100.h
i2c_b91.c
i2c_bitbang.c
i2c_bitbang.h
i2c_cc13xx_cc26xx.c
i2c_cc32xx.c
i2c_common.c i2c: Improve formatting of i2c dump function 2023-01-26 14:55:44 -05:00
i2c_dw_registers.h
i2c_dw.c drivers: i2c: i2c_dw: add bus mutex 2023-04-07 13:17:43 +02:00
i2c_dw.h drivers: i2c: i2c_dw: add bus mutex 2023-04-07 13:17:43 +02:00
i2c_emul.c
i2c_esp32.c drivers: i2c: esp32xx: Remove direct REG access 2023-02-28 14:44:47 +01:00
i2c_gd32.c treewide: Update clock control API usage 2023-04-05 10:55:46 +02:00
i2c_gecko.c
i2c_gpio.c drivers: i2c: gpio: cast io context to void* 2023-03-10 12:20:22 -08:00
i2c_handlers.c
i2c_imx.c
i2c_ite_enhance.c ITE: drivers/i2c: Mutex issue in I2C transfer 2023-02-20 09:50:36 +01:00
i2c_ite_it8xxx2.c ITE: drivers/i2c: Mutex issue in I2C transfer 2023-02-20 09:50:36 +01:00
i2c_litex.c
i2c_ll_stm32_v1.c
i2c_ll_stm32_v2.c
i2c_ll_stm32.c treewide: Update clock control API usage 2023-04-05 10:55:46 +02:00
i2c_ll_stm32.h drivers: i2c: stm32: add bus recovery support 2023-03-03 09:18:29 +01:00
i2c_lpc11u6x.c
i2c_lpc11u6x.h
i2c_mchp_xec_v2.c
i2c_mchp_xec.c
i2c_mcux_flexcomm.c drivers: i2c_mcux_flexcomm: Add thread safe lock 2023-01-19 14:25:02 -06:00
i2c_mcux_lpi2c.c drivers: i2c: enable i2c target mode for LPI2C driver 2023-01-19 10:16:13 +01:00
i2c_mcux.c
i2c_nios2.c
i2c_npcx_controller.c treewide: Update clock control API usage 2023-04-05 10:55:46 +02:00
i2c_npcx_controller.h
i2c_npcx_port.c
i2c_nrfx_twi.c soc: arm: nordic_nrf: replace NRF_DT_CHECK_PIN_ASSIGNMENTS 2023-02-28 08:42:05 -08:00
i2c_nrfx_twim.c soc: arm: nordic_nrf: replace NRF_DT_CHECK_PIN_ASSIGNMENTS 2023-02-28 08:42:05 -08:00
i2c_rcar.c treewide: Update clock control API usage 2023-04-05 10:55:46 +02:00
i2c_rv32m1_lpi2c.c
i2c_sam0.c drivers: i2c: sam0: add support for I2C_MSG_RESTART 2023-03-09 09:22:02 +01:00
i2c_sam4l_twim.c treewide: Update clock control API usage 2023-04-05 10:55:46 +02:00
i2c_sam_twi.c treewide: Update clock control API usage 2023-04-05 10:55:46 +02:00
i2c_sam_twihs.c treewide: Update clock control API usage 2023-04-05 10:55:46 +02:00
i2c_sbcon.c
i2c_sc18im704.c drivers: i2c: Add NXP SC18IM704 I2C support 2023-04-03 20:02:51 +02:00
i2c_sc18im704.h drivers: i2c: Add NXP SC18IM704 I2C support 2023-04-03 20:02:51 +02:00
i2c_shell.c
i2c_sifive.c
i2c_tca954x.c
i2c_test.c
i2c-priv.h
Kconfig drivers: i2c: Add NXP SC18IM704 I2C support 2023-04-03 20:02:51 +02:00
Kconfig.andes_atciic100
Kconfig.b91
Kconfig.cc13xx_cc26xx
Kconfig.dw
Kconfig.esp32
Kconfig.gd32
Kconfig.gpio
Kconfig.i2c_emul
Kconfig.it8xxx2
Kconfig.litex
Kconfig.lpc11u6x
Kconfig.npcx
Kconfig.nrfx
Kconfig.rcar
Kconfig.sam0
Kconfig.sbcon
Kconfig.sc18im704 drivers: i2c: Add NXP SC18IM704 I2C support 2023-04-03 20:02:51 +02:00
Kconfig.sifive
Kconfig.stm32 drivers: i2c: stm32: add bus recovery support 2023-03-03 09:18:29 +01:00
Kconfig.tca954x
Kconfig.test
Kconfig.xec