summary refs log tree commit diff
path: root/arch/arm/boot/dts/tegra30-cardhu.dtsi
diff options
context:
space:
mode:
authorJon Hunter <jonathanh@nvidia.com>2018-07-03 09:59:47 +0100
committerThierry Reding <treding@nvidia.com>2018-07-09 15:58:05 +0200
commit6e1811900b6fe6f2b4665dba6bd6ed32c6b98575 (patch)
tree3e92cfe19ed0f151b3ff3e6280596d4831123dfb /arch/arm/boot/dts/tegra30-cardhu.dtsi
parentd072094b0d4e96a55661f07c0b56077162b38927 (diff)
downloadlinux-6e1811900b6fe6f2b4665dba6bd6ed32c6b98575.tar.gz
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>
Diffstat (limited to 'arch/arm/boot/dts/tegra30-cardhu.dtsi')
-rw-r--r--arch/arm/boot/dts/tegra30-cardhu.dtsi1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/tegra30-cardhu.dtsi b/arch/arm/boot/dts/tegra30-cardhu.dtsi
index 92a9740c533f..3b1db7b9ec50 100644
--- a/arch/arm/boot/dts/tegra30-cardhu.dtsi
+++ b/arch/arm/boot/dts/tegra30-cardhu.dtsi
@@ -206,6 +206,7 @@
 			#address-cells = <1>;
 			#size-cells = <0>;
 			reg = <0x70>;
+			reset-gpio = <&gpio TEGRA_GPIO(BB, 0) GPIO_ACTIVE_LOW>;
 		};
 	};