> From: Stephen Warren <swar...@wwwdotorg.org> > To: u-boot@lists.denx.de, Heiko Schocher <h...@denx.de>, > Cc: Stephen Warren <swar...@nvidia.com>, Tom Warren <twar...@nvidia.com> > Date: 2014/06/25 19:05 > Subject: [U-Boot] [PATCH 1/3] i2c: tegra: use repeated start for reads > Sent by: u-boot-boun...@lists.denx.de > > From: Stephen Warren <swar...@nvidia.com> > > I2C read transactions are typically implemented as follows: > > START(write) address REPEATED_START(read) data... STOP > > However, Tegra's I2C driver currently implements reads as follows: > > START(write) address STOP START(read) data... STOP > > This sequence confuses at least the AS3722 PMIC on the Jetson TK1 board, > leading to corrupted read data in some cases. Fix the driver to chain > the transactions together using repeated starts to solve this.
While I agree to use Repeated START I just wanted to share this: A common reason for STOP START(read) sequence not working sometimes is that the driver initializes STOP but does not wait for the STOP to complete before issuing a START. Jocke _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot