zephyr/drivers/i2c
Andre Guedes 959632684c i2c: Introduce QMSI I2C driver
This patch introduces the QMSI I2C driver which is simply a shim driver
based on I2C driver provided by QMSI BSP.

This initial version supports only I2C_0 controller in 'master' mode.
Due to some issues with qm_i2c_master_irq_transfer API, the driver uses
the polling APIs from QMSI. This means that the current thread doesn't
sleep (i.e. is not scheduled out) while the I2C transfer is carried out.
The qm_i2c_master_irq_transfer() issue is under investigation.

Below follows the missing features which will be addressed by a new
version of this patch or by upcoming patches.
  * Block the current thread until the I2C operation has actually
    completed.
  * Add support for multiple controllers.
  * Add support for slave mode.
  * Add support for suspend() and resume() APIs.

In order to enable this driver, the following options should be set:
CONFIG_QMSI_DRIVERS=y
CONFIG_QMSI_INSTALL_PATH="/path/to/libqmsi/directory"
CONFIG_I2C=y
CONFIG_I2C_QMSI=y

Finally, due to the lack of proper support for Quark SE in QMSI 1.0.0,
this driver requires QMSI version greater than 1.0.0.

This driver has been tested only with Quark SE based boards.

Change-Id: I369992c7b5fe37f7e0b45be7f19e667ad1fca9ac
Signed-off-by: Andre Guedes <andre.guedes@intel.com>
2016-02-05 20:25:21 -05:00
..
Kconfig i2c: Introduce QMSI I2C driver 2016-02-05 20:25:21 -05:00
Makefile i2c: Introduce QMSI I2C driver 2016-02-05 20:25:21 -05:00
i2c_dw.c interrupts: new static IRQ API 2016-02-05 20:25:17 -05:00
i2c_dw.h i2c/i2c_dw: extends to do multi-byte read requests 2016-02-05 20:25:16 -05:00
i2c_dw_registers.h i2c: changing file names to be consistent 2016-02-05 20:24:31 -05:00
i2c_qmsi.c i2c: Introduce QMSI I2C driver 2016-02-05 20:25:21 -05:00
i2c_quark_se_ss.c i2c/i2c_quark_se_ss: convert to using static IRQ API 2016-02-05 20:25:20 -05:00
i2c_quark_se_ss.h i2c/i2c_quark_se_ss: convert to using static IRQ API 2016-02-05 20:25:20 -05:00
i2c_quark_se_ss_registers.h i2c/i2c_quark_se_ss: extends to do multi-byte read requests 2016-02-05 20:25:16 -05:00