AnsweredAssumed Answered

i2c-imx slave mode. detect stop condition

Question asked by Ktulhu Uchiha on Dec 22, 2015
Latest reply on Jan 26, 2016 by Fabio Estevam



We want to make an ipmb BMC, based on the imx6 processor.

To support ipmb protocol we need i2c-imx controller to support master and slave mode.

We work with Linux kernel 4.1 ( Freescale/linux-fslc · GitHub  ).


There is a realisation of slave mode from 2.6 kernel ( linux-2.6-imx.git - Freescale i.MX Linux Tree ), and we are porting it to "i2c-imx.c" from 4.1 kernel, using new i2c slave subsystem ( linux-fslc/slave-interface at patches-4.1 · Freescale/linux-fslc · GitHub )


But "mxc_i2c_slave.c" is not able to detect stop condition from master. Thus, for instance, if master sends us two 15 bytes packages, the driver will not able to divide these packages, and just receive 30 bytes. We also can`t find a way to detect the stop condition in the datasheet on the i2c-imx controller.


How can we detect the stop condition in the slave mode?