1. 16 7月, 2015 1 次提交
  2. 10 4月, 2015 2 次提交
    • T
      clk: tegra: Add peripheral registers for bank Y · 699b477a
      Thierry Reding 提交于
      Tegra210 has an extra bank of peripheral clock registers. Add it to the
      generic peripheral clock code.
      
      Cc: Peter De Schrijver <pdeschrijver@nvidia.com>
      Cc: Prashant Gaikwad <pgaikwad@nvidia.com>
      Reviewed-by: NPaul Walmsley <paul@pwsan.com>
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      699b477a
    • T
      clk: tegra: Register the proper number of resets · 5e43e259
      Thierry Reding 提交于
      The number of resets controls is 32 times the number of peripheral
      register banks rather than 32 times the number of clocks. This reduces
      (drastically) the number of reset controls registered from 10080 (315
      clocks * 32) to 224 (6 peripheral register banks * 32).
      
      This also fixes a potential crash because trying to use any of the
      excess reset controls (224-10079) would have caused accesses beyond
      the array bounds of the peripheral register banks definition array.
      
      Cc: Peter De Schrijver <pdeschrijver@nvidia.com>
      Cc: Prashant Gaikwad <pgaikwad@nvidia.com>
      Fixes: 6d5b988e ("clk: tegra: implement a reset driver")
      Cc: stable@vger.kernel.org # 3.14+
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      5e43e259
  3. 02 2月, 2015 1 次提交
    • P
      clk: tegra: make tegra_clocks_apply_init_table() arch_initcall · d0a57bd5
      Peter De Schrijver 提交于
      tegra_clocks_apply_init_table() needs to be called after the udelay
      loop has been calibrated (see commit
      441f199a ("clk: tegra: defer
      application of init table") for why that is).  On existing Tegra SoCs
      this was done by calling tegra_clocks_apply_init_table() from
      tegra_dt_init(). To make this also work on ARM64, we need to change
      this into an initcall. tegra_dt_init() is called from
      customize_machine which is an arch_initcall. Therefore this should
      also work on existing 32bit Tegra SoCs.
      
      Tested on Tegra20 (ventana), Tegra30 (beaverboard), Tegra124 (jetson TK1) and
      Tegra132.
      Signed-off-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
      [paul@pwsan.com: tweaked the commit message]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Signed-off-by: NPaul Walmsley <pwalmsley@nvidia.com>
      Cc: Thierry Reding <treding@nvidia.com>
      Cc: Prashant Gaikwad <pgaikwad@nvidia.com>
      Cc: Mike Turquette <mturquette@linaro.org>
      Cc: Stephen Boyd <sboyd@codeaurora.org>
      Cc: Stephen Warren <swarren@wwwdotorg.org>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Alexandre Courbot <gnurou@gmail.com>
      d0a57bd5
  4. 18 9月, 2014 1 次提交
  5. 17 7月, 2014 1 次提交
  6. 30 6月, 2014 1 次提交
  7. 12 12月, 2013 1 次提交
  8. 27 11月, 2013 5 次提交
  9. 01 6月, 2013 1 次提交
  10. 05 4月, 2013 3 次提交
  11. 29 1月, 2013 2 次提交
    • P
      ARM: tegra: migrate to new clock code · 61fd290d
      Prashant Gaikwad 提交于
      Migrate Tegra clock support to drivers/clk/tegra, this involves
      moving:
      1. definition of tegra_cpu_car_ops to clk.c
      2. definition of reset functions to clk-peripheral.c
      3. change parent of cpu clock.
      4. Remove legacy clock initialization.
      5. Initialize clocks using DT.
      6. Remove all instance of mach/clk.h
      Signed-off-by: NPrashant Gaikwad <pgaikwad@nvidia.com>
      [swarren: use to_clk_periph_gate().]
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      61fd290d
    • P
      clk: tegra: add Tegra specific clocks · 8f8f484b
      Prashant Gaikwad 提交于
      Add Tegra specific clocks, pll, pll_out, peripheral, frac_divider, super.
      Signed-off-by: NPrashant Gaikwad <pgaikwad@nvidia.com>
      [swarren: alloc sizeof(*foo) not sizeof(struct foo), add comments re:
      storing pointers to stack variables, make a timeout loop more idiomatic,
      use _clk_pll_disable() not clk_disable_pll() from _program_pll() to
      avoid redundant lock operations, unified tegra_clk_periph() and
      tegra_clk_periph_nodiv(), unified tegra_clk_pll{,e}, rename all clock
      registration functions so they don't have the same name as the clock
      structs, return -EINVAL from clk_plle_enable when matching table rate
      not found, pass ops to _tegra_clk_register_pll rather than a bool.]
      Acked-by: NMike Turquette <mturquette@linaro.org>
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      8f8f484b