[PATCH linux dev-4.10 0/6] drivers: i2c: FSI-attached I2C master algorithm

Eddie James eajames at linux.vnet.ibm.com
Fri May 5 06:52:59 AEST 2017


On 05/04/2017 03:08 PM, Eddie James wrote:
> 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 for 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.
>
> This patchset also adds the latest in FSI dt bindings from Jeremy Kerr. This
> describes the entire FSI tree structure (master -> slaves -> engines ->
> engine data (such as i2c master ports)). These bindings are required for the
> I2C driver in order to enumerate the ports off each I2C master.
>
> Edward A. James (6):
>    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 I2C master under FSI masters
>
>   arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts | 156 ++++++
>   drivers/Makefile                                 |   2 +-
>   drivers/i2c/busses/Kconfig                       |  11 +
>   drivers/i2c/busses/Makefile                      |   1 +
>   drivers/i2c/busses/i2c-fsi.c                     | 681 +++++++++++++++++++++++
>   5 files changed, 850 insertions(+), 1 deletion(-)
>   create mode 100644 drivers/i2c/busses/i2c-fsi.c
>

I also have a new debug tool for this driver. The old iicmaster doesn't 
work, and i2cset/i2cget don't work either, mainly because they don't 
support 10 bit addresses.

https://github.com/eddiejames/iicmaster

Eddie



More information about the openbmc mailing list