• Peter De Schrijver's avatar
    clk: tegra: Rework pll_u · e745f992
    Peter De Schrijver authored
    In normal operation pll_u is under hardware control and has a fixed rate
    of 480MHz. Hardware will turn on pll_u on whenever any of the XUSB
    powerdomains is on. From a software point of view we model this is if
    pll_u is always on using a fixed rate clock. However the bootloader
    might or might not have configured pll_u this way. So we will check the
    current state of pll_u at boot and reconfigure it if required.
    
    There are 3 possiblities at kernel boot:
    1) pll_u is under hardware control: do nothing
    2) pll_u is under hardware control and enabled: enable hardware control
    3) pll_u is disabled: enable pll_u and enable hardware control
    
    In all cases we also check if UTMIPLL is under hardware control at boot
    and configure it for hardware control if that is not the case.
    The same is done during SC7 resume.
    
    Thanks to Joseph Lo <josephl@nvidia.com> for bug fixes.
    Signed-off-by: default avatarPeter De Schrijver <pdeschrijver@nvidia.com>
    Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
    e745f992
clk-pll.c 71.1 KB