On 09/16/2013 03:06 PM, York Sun wrote: > Erratum A-006037 indicates I2C controller executes the write to I2CCR only > after it sees SCL idle for 64K cycle of internal I2C controller clocks. If > during this waiting period, I2C controller is disabled (I2CCR[MEN] set to > 0), then the controller could end in bad state, and hang the future access > to I2C register. > > The mpc_i2c_fixup() function tries to recover the bus from a stalled state > where the 9th clock pulse wasn't generated. However, this workaround > disables and enables I2C controller without meeting waiting requirement of > this erratum. > > This erratum applies to some 85xx SoCs. It is safe to apply to all of them > for mpc_i2c_fixup(). > > Signed-off-by: York Sun <yorksun@xxxxxxxxxxxxx> > --- > Change log: > v2: remote reviewed-by and tested-by lines added by gerrit > send to proper mailing list Pardon my typo. I meant to type "remove", instead of "remote". York -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html