zephyr/soc/arm
Gerson Fernando Budke bc00f19724 drivers: i2c: Introduce SAM4L i2c TWIM driver
The SAM4L have a unique I2C driver.  It shares simultaneously pins for
both master and slave controllers.  Each controller have their own
instance.  This introduces the TWIM controller that handles only the
master part.

The TWIM controller uses no copy and the driver was prepared to work
with both 7 and 10 bits address.  The controller can handler up to 256
bytes for a single transfer allowing long data communication with
almost no CPU intervention.

The driver was wrote specifically to Zephyr.  It receives a transfer
list of from upper layers to a specific device on the bus.  It programs
the first and second transfer, if it exists, before start.  At end of
full read/write interrupt, will program the next data block.  This
process repeats until all transfers be executed.  The driver uses
interrupt from TWIM to check for erros or program next tranfer.

Future work can enable low power mode on the driver allowing long
transfers with low power consumption.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2020-11-19 10:52:49 -06:00
..
arm
atmel_sam drivers: i2c: Introduce SAM4L i2c TWIM driver 2020-11-19 10:52:49 -06:00
atmel_sam0
bcm_vk
common/cortex_m
cypress
infineon_xmc
microchip_mec soc: mec1501: don't enable SoC timing funcs if CORTEX_M_DWT 2020-11-12 16:07:22 -06:00
nordic_nrf Bluetooth: controller: Fix TX power dependencies 2020-11-17 11:52:06 +02:00
nuvoton
nuvoton_npcx
nxp_imx soc: RT600: Update the core speed 2020-11-13 12:03:47 -06:00
nxp_kinetis
nxp_lpc
qemu_cortex_a53
quicklogic_eos_s3
silabs_exx32
st_stm32 drivers: spi: spi_ll_stm32: Add support for STM32H7xx SoC 2020-11-19 12:35:12 +01:00
ti_lm3s6965
ti_simplelink drivers: ieee802154: cc13xx_cc26xx: sub-ghz support 2020-11-09 10:25:24 +02:00
xilinx_zynqmp
CMakeLists.txt
Kconfig