OSDN Git Service

ARM: tegra: Fix Tegra30 Cardhu PCA954x reset
authorJon Hunter <jonathanh@nvidia.com>
Tue, 3 Jul 2018 08:59:47 +0000 (09:59 +0100)
committerThierry Reding <treding@nvidia.com>
Mon, 9 Jul 2018 13:58:05 +0000 (15:58 +0200)
commit6e1811900b6fe6f2b4665dba6bd6ed32c6b98575
tree3e92cfe19ed0f151b3ff3e6280596d4831123dfb
parentd072094b0d4e96a55661f07c0b56077162b38927
ARM: tegra: Fix Tegra30 Cardhu PCA954x reset

On all versions of Tegra30 Cardhu, the reset signal to the NXP PCA9546
I2C mux is connected to the Tegra GPIO BB0. Currently, this pin on the
Tegra is not configured as a GPIO but as a special-function IO (SFIO)
that is multiplexing the pin to an I2S controller. On exiting system
suspend, I2C commands sent to the PCA9546 are failing because there is
no ACK. Although it is not possible to see exactly what is happening
to the reset during suspend, by ensuring it is configured as a GPIO
and driven high, to de-assert the reset, the failures are no longer
seen.

Please note that this GPIO is also used to drive the reset signal
going to the camera connector on the board. However, given that there
is no camera support currently for Cardhu, this should not have any
impact.

Fixes: 40431d16ff11 ("ARM: tegra: enable PCA9546 on Cardhu")
Cc: stable@vger.kernel.org
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
arch/arm/boot/dts/tegra30-cardhu.dtsi