1. 14 Dec, 2018 1 commit
    • Jon Hunter's avatar
      clk: tegra: Fix maximum audio sync clock for Tegra124/210 · 845d782d
      Jon Hunter authored
      
      The maximum frequency supported for I2S on Tegra124 and Tegra210 is
      24.576MHz (as stated in the Tegra TK1 data sheet for Tegra124 and the
      Jetson TX1 module data sheet for Tegra210). However, the maximum I2S
      frequency is limited to 24MHz because that is the maximum frequency of
      the audio sync clock. Increase the maximum audio sync clock frequency
      to 24.576MHz for Tegra124 and Tegra210 in order to support 24.576MHz
      for I2S.
      
      Update the tegra_clk_register_sync_source() function so that it does
      not set the initial rate for the sync clocks and use the clock init
      tables to set the initial rate instead.
      Signed-off-by: default avatarJon Hunter <jonathanh@nvidia.com>
      Acked-by: default avatarThierry Reding <treding@nvidia.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
      845d782d
  2. 25 Jul, 2018 3 commits
  3. 18 May, 2018 1 commit
  4. 08 Mar, 2018 1 commit
  5. 19 Oct, 2017 1 commit
  6. 23 Aug, 2017 1 commit
  7. 20 Mar, 2017 4 commits
  8. 30 Jun, 2016 1 commit
    • Andrew Bresticker's avatar
      clk: tegra: Initialize UTMI PLL when enabling PLLU · 15d68e8c
      Andrew Bresticker authored
      
      Move the UTMI PLL initialization code form clk-tegra<chip>.c files into
      clk-pll.c. UTMI PLL was being configured and set in HW control right
      after registration. However, when the clock init_table is processed and
      child clks of PLLU are enabled, it will call in and enable PLLU as
      well, and initiate SW enabling sequence even though PLLU is already in
      HW control. This leads to getting UTMIPLL stuck with a SEQ_BUSY status.
      
      Doing the initialization once during pllu_enable means we configure it
      properly into HW control.
      
      A side effect of the commonization/localization of the UTMI PLL init
      code, is that it corrects some errors that were present for earlier
      generations. For instance, in clk-tegra124.c, it used to have:
      
          #define UTMIP_PLL_CFG1_ENABLE_DLY_COUNT(x) (((x) & 0x1f) << 6)
      
      when the correct shift to use is present in the new version:
      
          #define UTMIP_PLL_CFG1_ENABLE_DLY_COUNT(x) (((x) & 0x1f) << 27)
      
      which matches the Tegra124 TRM register definition.
      Signed-off-by: default avatarAndrew Bresticker <abrestic@chromium.org>
      [rklein: Merged in some later fixes for potential deadlocks]
      Signed-off-by: default avatarRhyland Klein <rklein@nvidia.com>
      [treding: coding style bike-shedding, remove unused variable]
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      15d68e8c
  9. 28 Apr, 2016 3 commits
  10. 17 Dec, 2015 8 commits
  11. 20 Nov, 2015 6 commits
  12. 20 Oct, 2015 3 commits
  13. 16 Jul, 2015 1 commit
  14. 13 May, 2015 2 commits
  15. 10 Apr, 2015 2 commits
    • Thierry Reding's avatar
      clk: tegra: Model oscillator as clock · 63cc5a4d
      Thierry Reding authored
      
      Currently the Tegra clock driver simplifies the clock tree somewhat by
      taking advantage of the fact that clk_m runs at the same frequency as
      the oscillator. While that's true on all currently supported SoCs, it
      does not apply to Tegra210 anymore. On Tegra210 clk_m is typically
      divided down from the oscillator frequency. To support that setup, add
      a separate clock for the oscillator that both clk_m and pll_ref derive
      from.
      
      Modify the tegra_osc_clk_init() function to take an additional divider
      parameter for clk_m. Existing SoCs always pass in 1, whereas Tegra210
      will read the divider from a register in the clock & reset controller.
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      63cc5a4d
    • Thierry Reding's avatar
      clk: tegra: Fix typo tabel -> table · 8106462f
      Thierry Reding authored
      
      The clock initialization structure is named struct clk_init_table.
      Update the kerneldoc comment to use the correct name.
      Reviewed-by: default avatarPaul Walmsley <paul@pwsan.com>
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      8106462f
  16. 26 Nov, 2014 1 commit
  17. 11 Dec, 2013 1 commit