zephyr/drivers/i2c
Jun Lin 8ab712a235 drivers: i2c: npcx: prevent unexpected target address match ISR
This commit prevents the hardware from generating an unexpected
target slave address match ISR by the following change:
1. Enable the New Match Interrupt Enable bit (NMINTEN) only when
   necessary.
2. Explicitly clear all SMBnADDRx registers because they are not
   cleared when the I2C hardware is disabled. It will cause the
   asynchrinization between SMBnADDRx and registered_target_mask if the
   system jumps from the RO image to the RW image.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
Signed-off-by: Alvis Sun <yfsun@nuvoton.com>
2025-06-17 08:20:39 +02:00
..
target
CMakeLists.txt drivers: i2c: rts5912 i2c dirver 2025-05-29 20:17:05 +02:00
gpio_i2c_switch.c
i2c_ambiq.c drivers: i2c: ambiq: optimize ambiq i2c device pm 2025-06-17 07:22:44 +02:00
i2c_andes_atciic100.c
i2c_andes_atciic100.h
i2c_b91.c
i2c_bcm_iproc.c
i2c_bitbang.c drivers: i2c: Add support for clock stretching in the i2c-gpio module. 2025-05-31 06:55:10 -04:00
i2c_bitbang.h drivers: i2c: Add support for clock stretching in the i2c-gpio module. 2025-05-31 06:55:10 -04:00
i2c_cc13xx_cc26xx.c
i2c_cc32xx.c
i2c_cdns.c drivers: i2c: Add Cadence I2C support 2025-03-12 19:02:04 +01:00
i2c_common.c
i2c_dw_registers.h drivers: i2c: rts5912 i2c dirver 2025-05-29 20:17:05 +02:00
i2c_dw.c drivers: i2c: i2c_dw: only includ cmsis_core on ARM platforms 2025-06-11 08:20:40 +02:00
i2c_dw.h drivers: i2c: rts5912 i2c dirver 2025-05-29 20:17:05 +02:00
i2c_emul.c
i2c_ene_kb1200.c driver: i2c: ene_kb1200 i2c slave address 2025-04-22 09:58:32 +02:00
i2c_esp32.c
i2c_gd32.c
i2c_gecko.c
i2c_gpio.c drivers: i2c: Add support for clock stretching in the i2c-gpio module. 2025-05-31 06:55:10 -04:00
i2c_handlers.c
i2c_ifx_cat1.c
i2c_ifx_xmc4.c
i2c_imx.c
i2c_ite_enhance.c drivers/i2c: ite: Add handling for read operation with 0-byte length 2025-05-29 10:46:47 +02:00
i2c_ite_it8xxx2.c drivers/i2c: ite: Use i2c_bitbang API for bus recovery 2025-04-17 09:06:29 +02:00
i2c_ite_it51xxx.c drivers/i2c: Add I2C driver of it51xxx 2025-04-29 16:48:06 +02:00
i2c_litex_litei2c.c drivers: i2c: litex: add mutex in litei2c 2025-03-27 14:01:11 +01:00
i2c_litex.c
i2c_ll_stm32_common.c drivers: i2c: move functions to a common file 2025-05-22 20:56:28 +02:00
i2c_ll_stm32_rtio.c drivers: stm32: i2c rtio: Fix 'timings' array size 2025-06-06 10:11:59 +02:00
i2c_ll_stm32_v1_rtio.c drivers: i2c: stm32 i2cv1 controller driver using rtio 2025-05-22 20:56:28 +02:00
i2c_ll_stm32_v1.c drivers: i2c: move functions to a common file 2025-05-22 20:56:28 +02:00
i2c_ll_stm32_v2_rtio.c drivers: i2c: stm32 i2cv2 controller driver using rtio 2025-05-22 20:56:28 +02:00
i2c_ll_stm32_v2.c drivers: i2c: stm32: fix some macro name 2025-06-12 11:33:48 +02:00
i2c_ll_stm32.c drivers: i2c: stm32: Fix size calculation of n_timings 2025-05-27 17:55:36 +02:00
i2c_ll_stm32.h drivers: i2c: stm32: fix some macro name 2025-06-12 11:33:48 +02:00
i2c_lpc11u6x.c
i2c_lpc11u6x.h
i2c_max32_rtio.c drivers: i2c_rtio: max32: Inform the rtio executor on errors 2025-04-22 12:10:12 +02:00
i2c_max32.c drivers: i2c: Update driver to enable I2C for MAX32650 SoC 2025-05-14 11:03:22 +01:00
i2c_mchp_mss.c
i2c_mchp_xec_v2.c
i2c_mchp_xec.c
i2c_mcux_flexcomm.c pm: policy: remove redundant ifdef exclusion of device_power_lock 2025-06-05 09:34:31 +02:00
i2c_mcux_lpi2c_rtio.c drivers: i2c_rtio: MCUX LPflexcomm determine by inst 2025-04-14 23:06:53 +02:00
i2c_mcux_lpi2c.c
i2c_mcux.c
i2c_nios2.c
i2c_npcx_controller.c drivers: i2c: npcx: prevent unexpected target address match ISR 2025-06-17 08:20:39 +02:00
i2c_npcx_controller.h
i2c_npcx_port.c drivers: i2c: npcx: add support for multi-address in target mode 2025-03-25 08:43:52 +01:00
i2c_nrfx_twi_common.c
i2c_nrfx_twi_common.h
i2c_nrfx_twi_rtio.c drivers: i2c: nrfx_twi_rtio: support RTIO_OP_AWAIT 2025-04-29 16:47:26 +02:00
i2c_nrfx_twi.c
i2c_nrfx_twim_common.c
i2c_nrfx_twim_common.h
i2c_nrfx_twim_rtio.c drivers: i2c: nrfx_twim_rtio: support RTIO_OP_AWAIT 2025-04-29 16:47:26 +02:00
i2c_nrfx_twim.c drivers: i2c_nrfx_twim: add exclusive access API 2025-03-27 17:17:32 +01:00
i2c_nrfx_twis.c
i2c_numaker.c
i2c_nxp_ii2c.c
i2c_omap.c drivers: i2c: omap: Make reg pointers volatile 2025-06-02 17:37:43 +02:00
i2c_rcar.c
i2c_realtek_rts5912.c drivers: i2c: rts5912 i2c dirver 2025-05-29 20:17:05 +02:00
i2c_realtek_rts5912.h drivers: i2c: rts5912 i2c dirver 2025-05-29 20:17:05 +02:00
i2c_renesas_ra_iic.c
i2c_renesas_ra_sci_b.c drivers: Update dtc transfer info alignment 2025-05-30 10:26:34 +02:00
i2c_renesas_rz_riic.c drivers: i2c: Initial support for RZ/G3S 2025-03-07 19:45:11 +01:00
i2c_rtio_default.c
i2c_rtio.c
i2c_rv32m1_lpi2c.c
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: add pinctrl support to Arm sbcon driver 2025-04-07 15:18:10 +02:00
i2c_sc18im704.c
i2c_sc18im704.h
i2c_sedi.c
i2c_shell.c i2c: Add target related commands to the shell module 2025-06-16 14:13:13 +02:00
i2c_sifive.c
i2c_smartbond.c
i2c_sy1xx.c drivers: i2c: sy1xx add support for i2c 2025-03-14 14:39:55 +01:00
i2c_tca954x.c drivers: i2c: tca954x: add support for idle disconnect 2025-04-04 18:17:07 +02:00
i2c_test.c
i2c_wch.c drivers: wch: fix the ch32vfun.h path after the recent HAL update 2025-05-28 05:54:28 +02:00
i2c_xilinx_axi.c drivers: i2c: xilinx_axi: Remove nested spinlock 2025-03-17 02:20:20 +01:00
i2c_xilinx_axi.h
i2c-priv.h
Kconfig drivers: i2c: rts5912 i2c dirver 2025-05-29 20:17:05 +02:00
Kconfig.ambiq drivers: iom: define ambiq spi/i2c dma mode as a binding property 2025-05-13 16:23:26 +02:00
Kconfig.andes_atciic100
Kconfig.b91
Kconfig.bcm_iproc
Kconfig.cc13xx_cc26xx
Kconfig.cdns drivers: i2c: Add Cadence I2C support 2025-03-12 19:02:04 +01:00
Kconfig.dw drivers: i2c: rts5912 i2c dirver 2025-05-29 20:17:05 +02:00
Kconfig.ene
Kconfig.esp32
Kconfig.gd32
Kconfig.gpio drivers: i2c: Add support for clock stretching in the i2c-gpio module. 2025-05-31 06:55:10 -04:00
Kconfig.i2c_emul
Kconfig.ifx_cat1
Kconfig.ifx_xmc4
Kconfig.it8xxx2 drivers/i2c: ite: Use i2c_bitbang API for bus recovery 2025-04-17 09:06:29 +02:00
Kconfig.it51xxx drivers/i2c: Add I2C driver of it51xxx 2025-04-29 16:48:06 +02:00
Kconfig.litex drivers: i2c: litex: add driver for litei2c 2025-03-27 14:01:11 +01:00
Kconfig.lpc11u6x
Kconfig.max32
Kconfig.mchp_mss
Kconfig.mcux
Kconfig.npcx
Kconfig.nrfx
Kconfig.numaker
Kconfig.omap
Kconfig.rcar
Kconfig.renesas_ra drivers: i2c: initial support for i2c sci-b driver on Renesas RA family 2025-03-24 19:22:18 +01:00
Kconfig.renesas_rz drivers: i2c: Initial support for RZ/G3S 2025-03-07 19:45:11 +01:00
Kconfig.rts5912 drivers: i2c: rts5912 i2c dirver 2025-05-29 20:17:05 +02:00
Kconfig.sam0
Kconfig.sam_twihs
Kconfig.sbcon drivers: i2c: add pinctrl support to Arm sbcon driver 2025-04-07 15:18:10 +02:00
Kconfig.sc18im704
Kconfig.sedi
Kconfig.sifive
Kconfig.smartbond
Kconfig.stm32 i2c: stm32: Add config option to enable DMA support 2025-03-20 12:17:50 +01:00
Kconfig.sy1xx drivers: i2c: sy1xx add support for i2c 2025-03-14 14:39:55 +01:00
Kconfig.tca954x
Kconfig.test
Kconfig.wch drivers: i2c: added wch i2c driver 2025-04-17 21:17:06 +02:00
Kconfig.xec
Kconfig.xilinx_axi