RE: [PATCH V1] i2c: tegra: fix tegra186 hw supported features
From: Sowjanya Komatineni
Date: Mon Feb 18 2019 - 11:13:58 EST
> > On 18/02/2019 08:42, Thierry Reding wrote:
> > > On Sat, Feb 16, 2019 at 08:33:07AM -0800, Sowjanya Komatineni wrote:
> > >> Tegra186 does not support multi-master mode and also there is no
> > >> master fifo control register.
> > >>
> > >> This patch fixes supported features of Tegra186 and prevents
> > >> crashing during boot as master fifo control register are not
> > >> present on Tegra186 and prior.
> > >>
> > >> Signed-off-by: Sowjanya Komatineni <skomatineni@xxxxxxxxxx>
> > >> ---
> > >> drivers/i2c/busses/i2c-tegra.c | 4 ++--
> > >> 1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > We really should've caught this earlier. Jon, let's think about ways
> > > to make it easier to catch these things in the future on our test system.
> > Indeed. This has fixed the boot regression I was seeing over the
> > weekend on -next for Tegra186. However, I am bit confused here,
> > because when I look at the Tegra186 TRM it states that the I2C
> > supports multi-master mode which disagrees with this patch.
> > Furthermore, it seems odd that
> > Tegra210 and Tegra194 would support multi-master mode but Tegra186
> > does not. So is this really correct?
> > I would expect at least the missing master FIFO registers to cause a crash on Tegra186. The internal architecture specification also says that multi-master is supported.
> > Sowjanya: do you have other documents that suggest we don't support multi-master on Tegra186 specifically? Or is this to work around an issue specific to Tegra186?
> > As it is this contradicts documentation, so we need to either fix the commit to remove only master FIFO support or we need to fix the docs to reflect reality.
> > Thierry
Design wise we support but due to known hw bugs we defeatured multi-master mode. TRM docs also says no multi master support for T210, T186 and multi-master is supported only on T194.
T210 also has multi master enabled in driver. We should disable that also.