1. 05 4月, 2013 1 次提交
    • S
      clk: tegra: defer application of init table · 441f199a
      Stephen Warren 提交于
      The Tegra clock driver is initialized during the ARM machine descriptor's
      .init_irq() hook. It can't be initialized earlier, since dynamic memory
      usage is required. It can't be initialized later, since the .init_timer()
      hook needs the clocks initialized. However, at this time, udelay()
      doesn't work.
      
      The Tegra clock initialization table may enable some PLLs. Enabling a PLL
      may require usage of udelay(). Hence, this can't happen right when the
      clock driver is initialized.
      
      To solve this, separate the clock driver initialization from the clock
      table processing, so they can execute at separate times.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      441f199a
  2. 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