1. 07 9月, 2012 2 次提交
    • P
      ARM: tegra: Port tegra to generic clock framework · 92fe58f0
      Prashant Gaikwad 提交于
      This patch converts tegra clock code to generic clock framework in following way:
       - Implement clk_ops as required by generic clk framework. (tegraXX_clocks.c)
       - Use platform specific struct clk_tegra in clk_ops implementation instead of struct clk.
       - Initialize all clock data statically. (tegraXX_clocks_data.c)
      
      Legacy framework did not have recalc_rate and is_enabled functions. Implemented these functions.
      Removed init function. It's functionality is splitted into recalc_rate and is_enabled.
      
      Static initialization is used since slab is not up in .init_early and clock
      is needed to be initialized before clockevent/clocksource initialization.
      Macros redefined for clk_tegra.
      
      Also, single struct clk_tegra is used for all type of clocks (PLL, peripheral etc.). This
      is to move quickly to generic common clock framework so that other dependent features will
      not be blocked (such as DT binding).
      
      Enabling COMMON_CLOCK config moved to ARCH_TEGRA since it is enabled for both Tegra20
      and Tegra30.
      Signed-off-by: NPrashant Gaikwad <pgaikwad@nvidia.com>
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      92fe58f0
    • P
      ARM: tegra: Add clk_tegra structure and helper functions · 96a1bd1e
      Prashant Gaikwad 提交于
      Add Tegra platform specific clock structure clk_tegra and
      some helper functions for generic clock framework.
      
      struct clk_tegra is the single strcture used for all types of
      clocks. reset and cfg_ex ops moved to clk_tegra from clk_ops.
      Signed-off-by: NPrashant Gaikwad <pgaikwad@nvidia.com>
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      96a1bd1e
  2. 07 2月, 2012 2 次提交
  3. 18 12月, 2011 2 次提交
  4. 21 2月, 2011 8 次提交
  5. 26 11月, 2010 1 次提交
  6. 22 10月, 2010 1 次提交
    • C
      [ARM] tegra: clock: Add dvfs support, bug fixes, and cleanups · 71fc84cc
      Colin Cross 提交于
      - Add drivers to clock lookup table
      - Add new pll_m entries
      - Support I2C U16 divider
      - Fix rate reporting on 32.768kHz clock
      - Call propagate rate only if set_rate succeeds
      - Add support for audio_sync clock
      - Add 24MHz to PLLA frequency list
      - Correct i2s1/2/spdifout mux
      - Add suspend support
      - Fix enable/disable parent clocks in set_parent
      - Add max_rate parameter to all clocks
      - DVFS support
      - Add virtual cpu clock with dvfs
      - Support clk_round_rate
      - Fix requesting very high periph frequencies
      - Add quirks for PLLU:
         PLLU is slightly different from the rest of the PLLs.  The
         lock enable bit is at bit 22 instead of 18 in the MISC
         register, and the post divider field is a single bit with
         reversed values from other PLLs.
      - Simplify recalculating clock rates
      - Fix UART divider flags
      - Remove unused clock ops
      Signed-off-by: NColin Cross <ccross@android.com>
      71fc84cc
  7. 06 8月, 2010 1 次提交
    • C
      [ARM] tegra: Add clock support · d8611961
      Colin Cross 提交于
      v2: fixes from Russell King:
      	- include linux/io.h instead of asm/io.h
      	- fix whitespace in Kconfig
      	- Use spin_lock_init to initialize lock
      	- Return -ENOSYS instead of BUG for unimplemented clock ops
      	- Use proper return values in tegra2 clock ops
          additional changes:
      	- Rename some clocks to match dev_ids
      	- add rate propagation
      	- add debugfs entries
      	- add support for clock listed in clk_lookup under multiple dev_ids
      v3:
      	- Replace per-clock locking with global clock lock
      	- Autodetect clock state on init
      	- Let clock dividers pick next lower possible frequency
      	- Add support for clock init tables
      	- Minor bug fixes
      	- Fix checkpatch issues
      Signed-off-by: NColin Cross <ccross@android.com>
      d8611961