[RFC linux dev-4.7 0/7] drivers: i2c: FSI-attached I2C master algorithm

Eddie James eajames at linux.vnet.ibm.com
Fri Mar 24 08:44:32 AEDT 2017

From: "Edward A. James" <eajames at us.ibm.com>

This patch series adds an I2C bus algorithm to drive the I2C master located on
POWER CPUs. The master is accessed over FSI bus from the service processor.

The driver creates one chardev entry for each port off an I2C master by
registering one i2c adapter per port. This implementation requires locking of
the master in the driver to prevent transfers running into each other. The
master registers are shared between ports.

Edward A. James (7):
  drivers: fsi: Add function to get FSI clock rate
  drivers: i2c: Add FSI-attached I2C master algorithm
  drivers: i2c: Add port structure to FSI algorithm
  drivers: i2c: Add transfer implementation for FSI algorithm
  drivers: i2c: Add I2C master locking to FSI algorithm
  drivers: i2c: Add bus recovery for FSI algorithm
  dts: aspeed: witherspoon: Add an I2C master as FSI device child

 arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts | 134 +++++
 drivers/Makefile                                 |   2 +-
 drivers/fsi/fsi-core.c                           |  20 +
 drivers/fsi/fsi-master.h                         |   1 +
 drivers/i2c/busses/Kconfig                       |  11 +
 drivers/i2c/busses/Makefile                      |   1 +
 drivers/i2c/busses/i2c-fsi.c                     | 672 +++++++++++++++++++++++
 include/linux/fsi.h                              |   1 +
 8 files changed, 841 insertions(+), 1 deletion(-)
 create mode 100644 drivers/i2c/busses/i2c-fsi.c


More information about the openbmc mailing list