zephyr/drivers/i2c
Andrzej Głąbek 5601805695 drivers: i2c_nrfx_twim: Add handling of buffers located in flash
TWIM peripherals cannot perform write transactions from buffers
located in flash. The content of such buffers needs to be copied
to RAM before the actual transfer can be requested.
This commits adds a new property (zephyr,flash-buf-max-size) that
informs the driver how much space in RAM needs to be reserved for
such copying and adds proper handling of buffers located in flash.
This fixes an issue that caused that e.g. the DPS310 sensor driver
did not work on nRF SoCs that only have TWIM, not TWI peripherals.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2021-09-21 13:44:06 +02:00
..
slave drivers: i2c: slave: group into i2c static library 2021-08-17 06:06:03 -04:00
CMakeLists.txt drivers: i2c: introduce new Telink B91 I2C driver 2021-09-01 06:36:56 -04:00
i2c_b91.c drivers: i2c: introduce new Telink B91 I2C driver 2021-09-01 06:36:56 -04:00
i2c_bitbang.c
i2c_bitbang.h
i2c_cc13xx_cc26xx.c pm: use actions for device PM control 2021-08-04 08:23:01 -04:00
i2c_cc32xx.c drivers: i2c: remove usage of device_pm_control_nop 2021-04-28 10:55:49 -04:00
i2c_common.c
i2c_dw_registers.h drivers: i2c_dw: Convert to use register for RX/TX buffer depth 2021-03-09 14:16:35 +01:00
i2c_dw.c drivers/pcie: Improve and fix MBAR retrieval depending on use cases 2021-08-20 06:30:20 -04:00
i2c_dw.h drivers: i2c_dw: Convert to use register for RX/TX buffer depth 2021-03-09 14:16:35 +01:00
i2c_emul.c drivers: i2c: emul: Link emulators to correct bus 2021-07-06 15:19:40 -05:00
i2c_esp32.c esp32: drivers: interrupt_controller: review I2C interrupt usage 2021-07-16 07:19:28 -04:00
i2c_gecko.c drivers: i2c: remove usage of device_pm_control_nop 2021-04-28 10:55:49 -04:00
i2c_gpio.c drivers: i2c: gpio: fix compilation 2021-06-01 07:27:27 -05:00
i2c_handlers.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
i2c_imx.c drivers: i2c: remove usage of device_pm_control_nop 2021-04-28 10:55:49 -04:00
i2c_ite_it8xxx2.c pwm: it8xxx2: use new DT pinctrl accessors 2021-08-25 18:09:00 -04:00
i2c_litex.c drivers: i2c: remove usage of device_pm_control_nop 2021-04-28 10:55:49 -04:00
i2c_ll_stm32_v1.c drivers/i2c: stm32_v1: remove unused variable 2021-02-15 16:35:30 +03:00
i2c_ll_stm32_v2.c drivers: i2c_ll_stm32_v2: Add timeout on transfer 2021-03-17 11:34:08 +01:00
i2c_ll_stm32.c drivers/pinmux: stm32: Move stm32 driver from stm32/ 2021-06-11 08:04:39 -05:00
i2c_ll_stm32.h drivers/i2c: stm32: Add pinctrl configuration at driver init 2020-10-09 11:52:59 +02:00
i2c_lpc11u6x.c drivers: i2c: remove usage of device_pm_control_nop 2021-04-28 10:55:49 -04:00
i2c_lpc11u6x.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
i2c_mchp_xec_v2.c Microchip: MEC172x: I2C driver 2021-08-25 13:07:45 -04:00
i2c_mchp_xec.c drivers: i2c: remove usage of device_pm_control_nop 2021-04-28 10:55:49 -04:00
i2c_mcux_flexcomm.c drivers: i2c: remove usage of device_pm_control_nop 2021-04-28 10:55:49 -04:00
i2c_mcux_lpi2c.c drivers: i2c: remove usage of device_pm_control_nop 2021-04-28 10:55:49 -04:00
i2c_mcux.c drivers: i2c: remove usage of device_pm_control_nop 2021-04-28 10:55:49 -04:00
i2c_nios2.c dts: rename 'nios2,i2c' compatible to 'altr,nios2-i2c' 2021-08-17 17:51:57 -04:00
i2c_npcx_controller.c drivers: npcx: convert NPCX drivers clock client to DEVICE_DT_GET 2021-06-27 23:02:39 -04:00
i2c_npcx_controller.h driver: i2c: add i2c support in npcx series. 2020-12-27 18:15:14 +01:00
i2c_npcx_port.c drivers: i2c_npcx_port: convert the driver to use DEVICE_DT_GET 2021-06-27 23:02:39 -04:00
i2c_nrfx_twi.c pm: use actions for device PM control 2021-08-04 08:23:01 -04:00
i2c_nrfx_twim.c drivers: i2c_nrfx_twim: Add handling of buffers located in flash 2021-09-21 13:44:06 +02:00
i2c_rcar.c drivers: i2c: rcar: Fix possible compiler warning 2021-07-19 17:54:38 +02:00
i2c_rv32m1_lpi2c.c drivers: i2c: remove usage of device_pm_control_nop 2021-04-28 10:55:49 -04:00
i2c_sam0.c drivers: i2c: remove usage of device_pm_control_nop 2021-04-28 10:55:49 -04:00
i2c_sam4l_twim.c soc: atmel_sam: Add _INST to ATMEL_SAM_DT_PIN* macros 2021-06-14 09:50:41 -05:00
i2c_sam_twi.c soc: atmel_sam: Add _INST to ATMEL_SAM_DT_PIN* macros 2021-06-14 09:50:41 -05:00
i2c_sam_twihs.c soc: atmel_sam: Add _INST to ATMEL_SAM_DT_PIN* macros 2021-06-14 09:50:41 -05:00
i2c_sbcon.c drivers: i2c: remove usage of device_pm_control_nop 2021-04-28 10:55:49 -04:00
i2c_shell.c i2c_shell: restore documentation on scan technique 2020-09-03 08:52:19 -04:00
i2c_sifive.c drivers: i2c: remove usage of device_pm_control_nop 2021-04-28 10:55:49 -04:00
i2c_tca9546a.c drivers: i2c: tca9546a: fix mutex initializer 2021-09-02 06:42:31 -04:00
i2c_test.c drivers: i2c: remove usage of device_pm_control_nop 2021-04-28 10:55:49 -04:00
i2c-priv.h
Kconfig drivers: i2c: introduce new Telink B91 I2C driver 2021-09-01 06:36:56 -04:00
Kconfig.b91 drivers: i2c: introduce new Telink B91 I2C driver 2021-09-01 06:36:56 -04:00
Kconfig.cc13xx_cc26xx
Kconfig.dw drivers: i2c_dw: Remove CMake-based templating 2021-04-21 20:40:52 -04:00
Kconfig.esp32 esp32: drivers: interrupt_controller: review I2C interrupt usage 2021-07-16 07:19:28 -04:00
Kconfig.gpio
Kconfig.i2c_emul emul: i2c: Add support for I2C emulators 2020-09-01 14:30:46 -04:00
Kconfig.it8xxx2 drivers: i2c: Add some Kconfig depends 2021-02-14 18:31:55 -05:00
Kconfig.litex
Kconfig.lpc11u6x
Kconfig.npcx driver: i2c: add i2c support in npcx series. 2020-12-27 18:15:14 +01:00
Kconfig.nrfx
Kconfig.rcar drivers: i2c: add Renesas R-Car driver 2021-07-14 20:58:50 -04:00
Kconfig.sam0
Kconfig.sbcon
Kconfig.sifive
Kconfig.stm32 drivers: i2c: add support of STM32WL 2021-02-19 22:39:24 -05:00
Kconfig.tca9546a driver: i2c: Add TCA9546a I2C switch driver 2021-08-05 11:48:30 +02:00
Kconfig.test drivers: i2c: add dummy driver for vnd,i2c 2021-02-23 10:34:19 -05:00
Kconfig.xec Microchip: MEC172x: I2C driver 2021-08-25 13:07:45 -04:00