• Jon Hunter's avatar
    ARM: tegra: Fix Tegra30 Cardhu PCA954x reset · ddcb9270
    Jon Hunter authored
    commit 6e181190 upstream.
    
    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: 40431d16 ("ARM: tegra: enable PCA9546 on Cardhu")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarJon Hunter <jonathanh@nvidia.com>
    Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    ddcb9270
tegra30-cardhu.dtsi 15.5 KB