• Thierry Reding's avatar
    clk: tegra: Always program PLL_E when enabled · 5105660e
    Thierry Reding authored
    Commit bff1cef5 ("clk: tegra: Don't enable already enabled PLLs")
    added checks to avoid enabling PLLs that have already been enabled by
    the bootloader. However, the PLL_E configuration inherited from the
    bootloader isn't necessarily the one that is needed for the kernel.
    
    This can cause SATA to fail like this:
    
        [    5.310270] phy phy-sata.6: phy poweron failed --> -110
        [    5.315604] tegra-ahci 70027000.sata: failed to power on AHCI controller: -110
        [    5.323022] tegra-ahci: probe of 70027000.sata failed with error -110
    
    Fix this by always programming the PLL_E. This ensures that any mis-
    configuration by the bootloader will be overwritten by the kernel.
    
    Fixes: bff1cef5 ("clk: tegra: Don't enable already enabled PLLs")
    Reported-by: default avatarLABBE Corentin <clabbe@baylibre.com>
    Tested-by: default avatarCorentin Labbe <clabbe@baylibre.com>
    Reviewed-by: default avatarDmitry Osipenko <digetx@gmail.com>
    Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
    5105660e
clk-pll.c 70.1 KB