Skip to content
  • Stephen Warren's avatar
    ARM: tegra: fix clock_get_periph_rate() for UART clocks · 74686766
    Stephen Warren authored
    
    
    Make clock_get_periph_rate() return the correct value for UART clocks.
    
    This change needs to be applied before the patches that enable CONFIG_CLK
    for Tegra SoCs before Tegra186, since enabling that option causes
    ns16550_serial_ofdata_to_platdata() to rely on clk_get_rate() for UART
    clocks, and clk_get_rate() eventually calls clock_get_periph_rate().
    
    This change is a rather horrible hack, as explained in the comment added
    to the clock driver. I've tried fixing this correctly for all clocks as
    described in that comment, but there's too much fallout elsewhere. I
    believe the clock driver has a number of bugs which all cancel each-other
    out, and unravelling that chain is too complex at present. This change is
    the smallest change that fixes clock_get_periph_rate() for UART clocks
    while guaranteeing no change in behaviour for any other clock, which
    avoids other regressions.
    
    Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
    Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
    Signed-off-by: default avatarTom Warren <twarren@nvidia.com>
    74686766